JEP 541: Deprecate The macOS/x64 Port For Removal

TL;DR

OpenJDK has introduced JEP 541, which proposes deprecating the macOS/x64 port with plans for its eventual removal. The change aims to streamline support but raises concerns for some users.

OpenJDK has officially proposed JEP 541, which aims to deprecate the macOS/x64 port for future removal, marking a significant shift in platform support for Java on Apple hardware. The proposal, currently in review, reflects a strategic move by the OpenJDK community to focus on newer architectures and operating systems.

The Java Enhancement Proposal (JEP) 541, published in March 2024, recommends deprecating the macOS/x64 port, with plans to remove it in upcoming JDK releases. This decision is based on the declining usage and the increasing focus on Apple Silicon (ARM64) architecture.

According to the OpenJDK mailing list, the proposal aims to streamline development efforts and improve performance by concentrating support on newer hardware and OS versions. The deprecation process involves marking the port as deprecated in the JDK and providing a timeline for its removal, expected to occur in JDK 21 or later.

While the proposal is supported by many in the community, some developers and organizations relying on legacy macOS/x64 setups have expressed concerns about compatibility and transition challenges. The OpenJDK project has emphasized that users will have ample time to adapt before the port is fully removed.

At a glance
updateWhen: announced March 2024
The developmentOpenJDK has announced a proposal (JEP 541) to deprecate and remove the macOS/x64 port, signaling a shift in platform support for Java on Apple hardware.

Implications for Java Developers and macOS Users

The proposed deprecation of the macOS/x64 port in JEP 541 signifies a shift away from 64-bit Intel architecture support on macOS within the Java ecosystem. This change could impact developers maintaining legacy applications and organizations relying on older hardware. It also underscores a broader industry trend toward Apple Silicon and newer operating systems, potentially accelerating migration efforts.

For the broader Java community, the move aims to improve overall platform support, security, and performance by focusing on actively developed architectures. However, it raises questions about backward compatibility and the timeline for transition for existing users.

Apple 2026 MacBook Neo 13-inch Laptop with A18 Pro chip: Built for AI and Apple Intelligence, Liquid Retina Display, 8GB Unified Memory, 256GB SSD Storage, 1080p FaceTime HD Camera; Blush

Apple 2026 MacBook Neo 13-inch Laptop with A18 Pro chip: Built for AI and Apple Intelligence, Liquid Retina Display, 8GB Unified Memory, 256GB SSD Storage, 1080p FaceTime HD Camera; Blush

AN AMAZING MAC AT A SURPRISING PRICE — With an incredibly portable and durable aluminum design, up to…

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Background on Java Support for macOS/x64

Historically, Java has supported multiple architectures, including macOS/x64, to accommodate a wide range of hardware and OS versions. Apple’s transition from Intel to Apple Silicon (ARM64) began in 2020, with Apple encouraging developers to adopt the new architecture for better performance and efficiency.

Despite this shift, the macOS/x64 port remained supported in OpenJDK, serving users on Intel-based Macs. However, as Apple’s hardware and software ecosystem evolves, support for legacy platforms has become less prioritized. The proposal for deprecation in JEP 541 is part of this ongoing transition, aligning Java support with industry standards.

Previous efforts, such as the introduction of native Apple Silicon support in JDK 17, indicate a move toward optimizing Java for newer architectures, leaving older platforms increasingly unsupported.

“The deprecation of the macOS/x64 port is a strategic step to focus on modern architectures and improve overall support and performance.”

— OpenJDK Community Member

Beginning Bazel: Building and Testing for Java, Go, and More

Beginning Bazel: Building and Testing for Java, Go, and More

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Unconfirmed Timeline and Transition Details

While JEP 541 proposes deprecation and future removal, the exact timeline remains unconfirmed. The OpenJDK community has indicated support for deprecation in JDK 21 or later, but specific release schedules are still under discussion. It is also unclear how existing applications relying on the macOS/x64 port will be supported during the transition period.

Additionally, some developers question whether the removal will be as straightforward as planned, given the potential impact on legacy systems.

Amazon

legacy Java support Mac

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Next Steps for Community Review and Implementation

The OpenJDK community will review JEP 541 over the coming months, with discussions expected to conclude by mid-2024. If approved, the deprecation will be officially announced, and development efforts will shift toward supporting Apple Silicon and newer macOS versions. Developers and organizations are advised to begin planning migration strategies to ensure compatibility.

Further updates will clarify the timeline and provide guidance on transition processes, including tools and support for legacy systems.

Amazon

macOS x64 Java runtime

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Key Questions

Why is the macOS/x64 port being deprecated?

The deprecation aims to focus development on newer architectures like Apple Silicon (ARM64), which offer better performance and are the industry standard moving forward. It also helps streamline support and improve security.

When will the macOS/x64 port be removed?

The exact timeline is not yet confirmed, but the proposal suggests removal could occur in JDK 21 or later, with deprecation happening beforehand to give users time to adapt.

Will existing applications continue to run after deprecation?

During the deprecation period, existing applications should continue to work. However, full removal will require migration to newer architectures or OS versions, and users should plan accordingly.

How does this affect developers targeting macOS?

Developers are encouraged to test their applications on Apple Silicon and newer macOS versions. Support for Intel-based Macs will diminish over time, and migration efforts should begin soon.

What alternatives are available for legacy macOS/x64 Java applications?

Developers might consider running applications on virtual machines or emulators, or migrate to supported architectures to ensure continued compatibility and performance.

Source: hn

You May Also Like

Ghostel.el: Terminal Emulator Powered By Libghostty

Ghostel.el is a new terminal emulator built on libghostty, offering enhanced performance and customization for developers. The project is now available for testing.

Clojure 1.13 Adds Support For Checked Keys

Clojure 1.13 now includes support for checked keys, enhancing data validation capabilities in the language. The update is now available for developers.

The Best Wii Remote EVER!

A new custom Wii remote has been announced, claiming to be the best ever. Details are confirmed, but full performance reviews are still pending.

I’m a USB-C Maximalist

A tech enthusiast proclaims unwavering support for USB-C, emphasizing its versatility and future-proofing in a recent online statement.