Shipa is open sourcing Ketch, Shipa's deployment engine, under Apache License Version 2.0.
Oracle announced the general availability of Java 15 (Oracle JDK 15).
After 25 years of innovation, Java continues to be the #1 programming language, used by over 69 percent of full-time developers worldwide. The latest Java Development Kit (JDK) delivers new functionality, including Edwards-Curve Digital Signature Algorithm (JEP 339) and Hidden Classes (JEP 371), as well as former preview features now finalized: Text Blocks (JEP 378) and ZGC (JEP 377). Java 15 includes Sealed Classes (JEP 360) as a first-time preview feature and second previews of Pattern Matching (JEP 375) and Records (JEP 384) for additional community feedback. Get started with Java 15 today.
Oracle delivered Java 15 on time on the six-month Java release cadence first established with Java 10 in 2018. The six-month release schedule provides developers with faster innovations and greater predictability and stability. Java is pervasive across organizations of all sizes and in all industries. With 51 billion active JVMs deployed globally, Java is the top choice for modern enterprise application development, including analytics, microservices, data management, social, big data, DevOps, mobile, continuous development tools, and chatbots.
"As Java celebrates its 25th birthday, we continue to make technical investments that drive Java innovation forward and help address the rapidly changing technology landscape," said Georges Saab, VP of Development, Java Platform Group, Oracle. "The availability of Java 15 and the incremental innovation that comes with the shift to a six-month release cadence gives the Java community the tools they require to build modern applications that move our world forward."
The Java 15 release is the result of industry-wide development involving open review, weekly builds and extensive collaboration between Oracle engineers and members of the worldwide Java developer community via the OpenJDK Community and the Java Community Process. The new features delivered in Java 15 are:
■ New Functionality:
- JEP 339: Edwards-Curve Digital Signature Algorithm (EdDSA) – This feature improves security and performance by implementing cryptographic signatures using the EdDSA as described by RFC 8032.
- JEP 371: Hidden Classes – This feature improves productivity by improving how Java works with frameworks that generate classes at run time and use them indirectly, via reflection.
■ Preview Features Now Finalized:
- JEP 378: Text Blocks – This feature, which was a preview feature in JDK 13 and JDK 14, improves developer productivity by adding multi-line string literals and automatically formatting strings in a predictable way.
- JEP 377: ZGC – This scalable, low-latency garbage collector moves to production after being introduced as an experimental feature in JDK 11.
■ Incubating and Preview Features:
- JEP 360: Sealed Classes – This preview feature improves developer productivity by enhancing the Java programming language with sealed classes and interfaces. Sealed classes and interfaces restrict which other classes or interfaces may extend or implement them.
- JEP 375: Pattern Matching for instanceof – This preview feature, which was first introduced in JDK 14, improves developer productivity by eliminating the need for common boilerplate code and should allow more concise type safe code.
- JEP 384: Records – This preview feature, first introduced in JDK 14, improves developer productivity by providing a compact syntax for declaring classes which hold shallowly immutable data.
- JEP 383: Foreign-Memory Access API – This incubating feature, which was first introduced in JDK 14, defines an API to allow Java programs to safely and efficiently access foreign memory outside of the Java heap.
■ Modernizing Existing Code:
- JEP 373: Reimplementation of the Legacy Datagram Socket and MulticastSocket APIs – This feature improves the maintainability and stability of the JDK by replacing the underlying implementations of the java.net.DatagramSocket and java.net.MulticastSocket APIs with simpler and more modern implementations.
A key milestone in the storied 25-year history of Java was JDK 10 with the move to the six-month feature release cadence. The new predictable release cadence allows the Java ecosystem to innovate at a much faster pace than before. Organizations that manage their Java estates by leveraging the Oracle Java SE subscription not only benefit from having the latest enhancements and direct access to Java experts at Oracle, but also receive substantial savings over a four-year period (31 percent for large enterprises and 29 percent for mid-size enterprises) when compared to alternative approaches of upgrading every six months.
Progressive Insurance, one of the largest insurance companies in the U.S., relies on the Oracle Java SE Subscription and the Java programming language to implement low latency microservices across the organization. "Java is used to run various applications, both online and offline. It addresses the need for serving business logic in a maintainable and scalable manner," said Rich Meyers, senior IT system test engineer with Progressive Insurance. "Wide industry adoption and ease of deployment make it a language of choice for adoption within the industry."
In the Java Turns 25 Omdia research report, chief analyst Bradley Shimmin states, "The success of Java and Oracle are both inexorably intertwined, as Oracle has rewritten a great deal of its internal software in Java and made Java a key component of Oracle Database and Oracle Cloud Infrastructure. The same holds true for millions of enterprises that rely on Java to drive mission-critical software. For Oracle, this extends to the company's push to the cloud. Thanks to numerous language-specific tools and ample supportive services, Oracle Cloud Infrastructure stands as the best place to run enterprise Java code." He goes on to say, "As demonstrated by the introduction of features such as multi-line text blocks and higher-level switch statements, Oracle has prioritized the 'developer experience,' making Java not just more efficient but also more delightful to use."