Connect with us


Java News Roundup: Grails 6.0, PrimeFaces 13.0, JUnit 5.10, GraalVM, TornadoVM, New JEP Drafts –



This week’s Java roundup for July 24th, 2023 features news from OpenJDK, JDK 22, JDK 21, GraalVM Community Components 23.0.1, Spring Cloud 2022.0.4, Spring Security and Spring Shell point releases, Grails 6.0, TornadoVM 0.15.2, Liberica NIK 23.0.1, PrimeFaces 13.0, Quarkus 3.2.2, Hibernate Reactive 2.0.4, Micronaut 4.0.2, JBang 0.110, JHipster Lite 0.39, JUnit 5.10 and Gradle 8.3-RC2.


Maurizio Cimadamore, software architect at Oracle, has submitted JEP Draft 8310626, Foreign Function & Memory API. This JEP proposes to finalize this feature after two rounds of incubation and three rounds of preview: JEP 412, Foreign Function & Memory API (Incubator), delivered in JDK 17; JEP 419, Foreign Function & Memory API (Second Incubator), delivered in JDK 18; JEP 424, Foreign Function & Memory API (Preview), delivered in JDK 19; JEP 434, Foreign Function & Memory API (Second Preview), delivered in JDK 20; and JEP 442, Foreign Function & Memory API (Third Preview), to be delivered in the upcoming release of JDK 21. Improvements since the last release include: a new Enable-Native-Access manifest attribute that allows code in executable JARs to call restricted methods without the use of the --enable-native-access flag; allow clients to programmatically build C function descriptors, avoiding platform-specific constants; improved support for variable-length arrays in native memory; and support for multiple charsets in native strings.

Cimadamore and Per-Åke Minborg, consulting member of technical staff at Oracle, have submitted JEP Draft 8312611, Computed Constants. This JEP introduces the concept of computed constants, defined as immutable value holders that are initialized at most once. This offers the performance and safety benefits of final fields, while offering greater flexibility as to the timing of initialization. This feature will debut as a preview API.

Julian Waters, OpenJDK development team at Oracle, has submitted JEP Draft 8313278, Ahead of Time Compilation for the Java Virtual Machine. This JEP proposes to “enhance the Java Virtual Machine with the ability to load Java applications and libraries compiled to native code for faster startup and baseline execution.”

Version 7.3 of the Regression Test Harness for the JDK, jtreg, has been released and ready for integration in the JDK. Notable changes include: an updated set of default environment variables (DBUS_SESSION_BUS_ADDRESS, WAYLAND_DISPLAY, and XDG-*) set for tests on Unix-like platforms; a fix for a race-condition when running tests with a multi-module setup; and a fix in the log() method defined in the AgentServer class that did not flush the output. More details on this release may be found in the release notes.

JDK 21

Build 33 of the JDK 21 early-access builds was also made available this past week featuring updates from Build 32 that include fixes to various issues. Further details on this build may be found in the release notes.

JDK 22

Build 8 of the JDK 22 early-access builds was also made available this past week featuring updates from Build 7 that include fixes to various issues. More details on this build may be found in the release notes.

For JDK 22 and JDK 21, developers are encouraged to report bugs via the Java Bug Database.


The release of GraalVM Community Components 23.0.1, comprised of GraalVM for JDK 20 Community 20.0.2 and GraalVM for JDK 17 Community 17.0.8, provides these Native Image fixes: jvmstat performance data initialization; JDK Flight Recorder (JFR) events constant pool IDs; user experience issues; and analysis results in build reports. There was also an update to the strip mining optimization for counted loops feature in which mine overflow loops are defined as “do not strip” in the Graal compiler. These new versions are built upon JDK versions 20.0.2+9 and 17.0.8+7, respectively. Further details on these releases may be found in the release notes for version 20.0.2 and version 17.0.8.

Similarly, GraalVM Community Edition 22.3.3 was also released to align with the April 2023 Critical Patch Update (CPU) for GraalVM Community Edition. This version is built upon JDK versions 17.0.7 and 11.0.19. More details on this release may be found in the release notes.

Further details on the latest release of GraalVM may be found in this detailed news story featuring Q&A with Alina Yurenko, developer advocate for GraalVM at Oracle Labs.

Spring Framework

The release of Spring Cloud 2022.0.4, codenamed Kilburn, delivers notable changes such as: support for retry-aware load-balancing for delegates of the ServiceInstanceListSupplier interface in Spring Cloud Commons; improved exception handling for loading shared beans in Spring Cloud Stream; and dependency upgrades to Feign 12.4 and Eureka 2.0.1 for Spring Cloud OpenFeign and Spring Cloud Netflix, respectively. This latest version builds upon Spring Boot 3.0.9. It is important to note that subprojects: Spring Cloud CLI, Spring Cloud for Cloud Foundry and Spring Cloud Sleuth, have been removed from the release train. More details on this release may be found in the release notes.

Versions 6.1.2, 6.0.5, 5.8.5, 5.7.10 and 5.6.12 of Spring Security have been released to address two Common Vulnerabilities and Exposures: CVE-2023-34034, WebFlux Security Bypass With Un-Prefixed Double Wildcard Pattern, is a vulnerability in which using the double wildcard (**) as a pattern in Spring Security configuration for Spring WebFlux creates a mismatch in pattern matching that may result in a security bypass; and CVE-2023-34035, Authorization Rules Can Be Misconfigured When Using Multiple Servlets, a vulnerability in which using the requestMatchers(String) method and multiple servlets, one of them being the Spring MVC DispatcherServlet class, may lead to an authorization rule misconfiguration. Further details on these releases may be found in the release notes for version 6.1.2, version 6.0.5, version 5.8.5, version 5.7.10, and version 5.6.12.

Versions 3.1.3, 3.0.7 and 2.1.12 of Spring Shell have been released featuring the addition of a complete() method in the CompletionProposal class to allow for completing a single argument with multiple tab clicks, such as file paths. These versions build upon Spring Boot versions 3.1.2, 3.0.9 and 2.7.14, respectively. More details on these releases may be found in the release notes for version 3.1.3, version 3.0.7 and version 2.1.12.


The Grails Foundation has released version 6.0 of Grails delivering: a minimal JDK 11 version; support for Spring Framework 5.3.28, Spring Boot 2.7.12 and Gradle 7.6.1; the debut of Grails Forge UI, a starter project similar to Spring Initializr and others; and enhanced integration of the Micronaut Framework. Further details on this release may be found in the release notes and InfoQ will follow up with a more detailed news story.


TornadoVM, an open-source software technology company, has released version 0.15.2 of their virtual machine that ships with bug fixes and notable improvement such as: initial support for Multi-Tasks on Multiple Devices that enables the execution of multiple independent tasks on more than one hardware accelerator; support for trigonometric radian, cospi and sinpi functions for the OpenCL/PTX and SPIR-V backends; and initial integration with ComputeAorta (part of the Codeplay’s oneAPI construction kit for RISC-V) to run on RISC-V with vector instructions in emulation mode. More details on this release may be found in the release notes.

Juan Fumero, research associate, Advanced Processor Technologies Research Group at The University of Manchester, introduced TornadoVM at QCon London in March 2020 and has since contributed this more recent InfoQ technical article.


BellSoft has released version 23.0.1 of their Liberica Native Image Kit (NIK) for JDK 17.0.8 and 20.0.2 as part of Critical Patch Update (CPU) release cycle featuring: experimental support for ParallelGC on the Windows OS; a fix for the compilation of JavaFX FXML applications; and fixes for the following Common Vulnerabilities and Exposures: CVE-2023-22043; CVE-2023-22041; CVE-2023-25193; CVE-2023-22044; CVE-2023-22045; CVE-2023-22049; CVE-2023-22036; and CVE-2023-22006.


Version 13.0.0 of PrimeFaces has been released with bugs fixes, dependency upgrades and new features such as: support for columns and footer facet in the SelectCheckboxMenu class; the addition of selectOnFocus() and caretPositionOnFocus() methods in the InputNumber class; and the addition of a cache attribute in the OverlayPanel class. It is important to note that there are breaking changes. Further details on this release may be found in the release notes.


Red Hat has released version 3.2.2.Final of Quarkus to address two regressions from version 3.2.1 and improvements in documentation. Notable changes include: revert back to the openjdk-17-runtime:1.16 images due to the development branch having the version number bumped to 1.17 in anticipation of the next release scheduled for release in August 2023; remove the false positive warning about the quarkus.launch.rebuild property; and allow reauthentication if the OIDC state cookie is not matched. More details on this release may be found in the changelog.


The release of Hibernate Reactive 2.0.4.Final features: a dependency upgrade to Hibernate ORM 6.2.7.Final; start the Docker container only as requested to confirm that a remote database already started before executing the full build; and a fix for which the @SQLSelect annotation did not work on a primary entity. Further details on this release may be found in the release notes.


Micronaut Framework 4.0.2, the second maintenance release, provides bug fixes, improvements in documentation, dependency upgrades and improvements such as: add version number check to the BuildTestVerifier interface; and move Async validation to a processor module due to the AsyncTypeElementVisitor class defined as a compileOnly dependency. More details on this release may be found in the release notes.

The Micronaut Foundation has moved their chat community from Gitter to Discord effective immediately. The foundation states that Discord provides an improved desktop application experience, better-structured conversations and enhanced notifications. Developers on Gitter are encouraged to move to Discord, however the foundation will continue to monitor conversations on Gitter and provide links to Discord.


The release of JBang 0.110.0 ships with a change in its Maven Central ID from mavencentral to central for fetching dependencies to allow for better sharing of downloads between Maven- and JBang-based builds. There was also a fix for a regression in which Maven artifacts containing capital letters failed to download.


Version 0.39.0 of JHipster Lite has been released featuring bug fixes, dependency upgrades and improvements such as: enhancements to the Logback dependency with improved configuration and the elimination of having to explicitly define the shutdown hook; add a getInstantOrDefault() method to the JHipsterModuleProperties class; and a switch to a non-parallel stream in REST pagination mapping to ensure sequential processing of the stream. Further details on this release may be found in the release notes.


JUnit 5.10.0 has been released with new features such as: experimental APIs, such as ModuleSelector, EngineDiscoveryListener, EngineDiscoveryRequestResolver, LauncherSession and @Suite, have been promoted to stable; new selectors in the @SelectMethod annotation; and a new LauncherInterceptor interface for intercepting the creation of instances of the Launcher and LauncherSessionListener interfaces. More details on this release may be found in the release notes.


The second release candidate of Gradle 8.3 delivers continued improvements such as: support for JDK 20; faster Java compilation using worker processes to run the Java compiler as a compiler daemon; the ability to experiment with the Kotlin K2 compiler; and improved output from the CodeNarc plugin. Further details on this release may be found in the release notes.

About the Author

Adblock test (Why?)


Source link

Continue Reading


New photos reveal more details about Google’s Pixel 9 Pro Fold



Google’s secret new line of Pixel 9 phones isn’t that big of a secret anymore. Taiwan’s National Communications Commission (NCC) released new photos of the phones including the Pixel 9 Pro Fold from almost every conceivable angle.

Android Authority found the photos in the NCC archives and uploaded galleries of each of the four phones including the Pixel 9, 9 Pro, 9 Pro XL and 9 Pro Fold. They reveal some interesting details about the new Pixel phones.

The charging rates will be a little faster than the last generation of Pixel phones: Taiwanese authorities measured 24.12W for the base model, 25.20W for the Pro and 32.67W for the 9 Pro XL. The Pixel 9 Pro Fold, however, was the slowest of all of them at 20.25W. These numbers don’t often match up perfectly with the advertised ratings, so expect Google to be promoting higher numbers at its event.

Speaking of chargers, it looks like Google needed a bigger charger to power its new phones. Photos included in the NCC leak show each phone will come with a wall charger that’s around 45W depending on which model you purchase. The charger’s plug moved from the middle to the top of the brick.

The Google Pixel 9 Pro Fold can fully unfold.
NCC/Android Authority

The latest photo dump also shows the 9 Pro Fold unfolded for the first time. Google has moved the selfie camera to the inside screen for a wider field of view. The 9 Pro Fold also has a slimmer top and bottom, a reduced fold crease on the display and a full 180 degree unfolding angle to make a screen that’s just over 250mm or just under 10 inches.

These photos are the latest in a very long list of leaks of Google Pixel 9 photos. The last Pixel 9 leak came down yesterday showing two prototype models of the base and XL models. Google might look into buying a new combination lock for the high school locker where they apparently keep all their unreleased gear.



Source link

Continue Reading


Apple Wallet now supports Canada’s Presto card, with Express Transit



Apple Wallet now supports the Presto transit card used in Ontario, Canada. The card can be used for travel in Toronto, Hamilton, and Ottawa.

The digital version of the card includes the Express Transit Pass feature, meaning that you can tap in and out without having to authenticate …


Ontario’s Presto card

The Presto contactless smart card system was first trialled back in 2007, and started the full rollout in 2009. The card can be used across 11 different transit systems in the areas covered.

Apple Wallet support was first promised many years ago, but things went quiet until a “coming soon” announcement back in May of this year.

Although the contactless terminals allow the use of credit and debit cards for regular fares, a Presto card is needed for monthly passes and discounted travel.

Apple Wallet support now available

The company made the announcement today.

Tap to ride with PRESTO on iPhone and Apple Watch.

Traveling around town just got easy with your PRESTO in Apple Wallet. With Express Mode, you don’t need to wake or unlock your iPhone or Apple Watch or open any apps to use PRESTO in Apple Wallet. Just hold your device near the reader to pay and go.

Ride, even when your iPhone needs a charge

If your iPhone needs a charge, PRESTO Card in Apple Wallet will still work. Power Reserve provides up to five hours of support, so you can still ride.

Reload on the go. 

With your PRESTO card on your iPhone and Apple Watch, you can easily load funds, right from Apple Wallet or PRESTO App. No need to visit a customer service outlet.

Extra security. Built right in 

PRESTO in Apple Wallet can take full advantage of the privacy and security features built into iPhone and Apple Watch. Your PRESTO card is stored on the device, which means Apple does not see when you use it—helping keep your data private and secure.

If you lose your iPhone or Apple Watch, you can use the Find My app to lock and help locate the device and suspend your PRESTO card or remotely erase the device and its cards.

Mobile Syrup reports that you can choose between adding your existing card to your Wallet, or creating a new one.

There are two ways to add a Presto card to Apple Wallet. You can either buy a new card or move your old one over using the Presto app.

That being said, for simplicity’s sake, unless you have a discounted Presto agreement like a student or senior plan, I think most riders will be happy just making a new card in Apple Wallet and loading funds from that app.

As with any digital card or pass, you can use either your iPhone or Apple Watch, but because each generates a unique virtual card number, you need to use the same device at both ends of your journey.

Express Transit feature

To minimize delays, Presto offers Express Transit support. This means that you don’t need to authenticate using Face ID or Touch ID on your iPhone, and you don’t need to double-tap the side button on your Apple Watch. Simply hold your device close to the pad and you’re good (a number of clues are used to detect fraudulent use).

Express Transit also has the advantage that it continues to work in Low Power mode, so you’ll still be able to complete your journey even if your phone or Watch is almost dead.

Image: Presto


Source link

Continue Reading


The OnePlus Pad 2 Wants to Be the iPad Air of Android Tablets



The original OnePlus Pad was a decent all-around Android tablet, but it was not amazing in any one area. Now, OnePlus is back with a new tablet device that packs more power, has a better screen, more speakers, and a higher starting price. OnePlus offers an Android tablet alternative that costs less than the latest iPad Airs, though it seems like it’s hewing very close to the rendition from 2023. 

The OnePlus Pad 2 is a one-size-fits-all 12.1-inch 3K tablet. At $550 for 12 GB of RAM and 256 GB of storage, it’s $70 more than the first OnePlus Pad, though it starts with more memory and twice as much internal storage as the first go around’s paltry 128 GB. It’s bigger than the 11.6 LCD on last year’s Pad, though now it’s beefed its resolution to 3K (3000 x 2120) with a stated 600 nits typical and 900 nits peak brightness. It has a variable refresh rate between 30 and 144 Hz, though it’s still an LCD screen, the same as the 2023 OnePlus Pad.

Just like last year’s version, the new Pad supports Dolby Atmos, but it boasts a six-stereo speaker configuration on either side of the device. It may not be as specifically sound-tailored as the Lenovo Tab Plus, but what’s promised is a solid middle ground. 

Last year’s tablet used MediaTek Dimensity 9000 CPU, which was good enough for most applications but not exactly top of its class. The Pad 2 is now powered with the Qualcomm Snapdragon 8 Gen 3 mobile chip. Gizmodo has already experienced some of the chip’s capabilities in Samsung’s latest foldables, and already it’s very promising. We haven’t yet had the chance to compare a Snapdragon 8 Gen 3 tablet to Apple’s latest iPad Air with M2, though on the whole, M2 usually performs better than Qualcomm’s mobile chips in bare benchmark tests. How much that matters depends on what programs you expect to use on your tablet. 

Image: OnePlus

Every device maker thinks they need AI to compete, and OnePlus isn’t an outlier here. There are promised “AI Toolbox” features like AI text-to-speech and recording summaries. The AI Eraser 2.0 will also work like Google’s Magic Eraser to remove unwanted photo elements. 

There’s a new $99 OnePlus Stylo 2 and a $150 Oneplus Smart Keyboard to accompany the new tablet. Despite the size and price difference, there will be many similarities between last year’s and the 2024 model. The Pad 2 has the same 9,510 mAh battery as last year’s, plus the 67W “SUPERVOOC” fast charging. It promises 43 days of standby time, though in our experience, the first Pad’s lifespan and promised “one-month standby life” was far more modest in practice, lasting most of the day before needing a recharge. 

With a bigger screen, the upcoming Pad 2 is slightly heavier than last year’s rendition. It weighs about 1.3 pounds, so it’s exactly between the 11- and 13-inch iPad Airs or slightly more than the base 11-inch Galaxy Tab S9 (and far less than the humongous Tab S9 Ultra). It will be relatively thin at 6.49 mm, but it’s not beating the iPad Air’s 6.1 mm or the iPad Pro 13-inch’s holy grail 5.1 mm.

The first OnePlus Pad didn’t exactly break new ground in any one category, though it did show Android tablets had legs. We’ve seen attempts from Goole and its Pixel Tablet, though that, too, wasn’t the pioneer of Android tablets. A better chip and more speakers do seem promising, though, in its effort to be everything to everyone, we’ll need to see if it manages to stand out in any area.

The OnePlus Pad 2 is now available for preorder. It should be available on the OnePlus website starting July 30 and on Amazon starting August.



Source link

Continue Reading