First release: Version 17.0.7.0
Learn about the new features and functions available with this release.
IBM® Semeru Runtime Certified Edition for z/OS®, 17 contains major changes from IBM SDK, Java™ Technology Edition, Version 8, and minor changes from IBM Semeru Runtime Certified Edition for z/OS, 11. These changes might affect your applications. For more information, see Migrating from earlier releases of IBM Semeru Certified Edition for z/OS.
Similar to Java 11, you can port Java 17 applications to z/OS from other operating systems. Use IBM Z® Integrated Information Processors (zIIPs) to offload eligible Java work, and use the JZOS library to run Java applications as batch jobs and to access z/OS system services.
Features from OpenJ9
This release contains features from the 0.38 releases of the Eclipse OpenJ9 project, as listed in the Version 0.38.0 OpenJ9 user documentation. The OpenJ9 items such as class data sharing, diagnostic, and dump extractor tools are included. For more information, see Features from OpenJ9 section in Java 11 First release topic.
Other new features
- All the security providers supported by Semeru Runtime Certified Edition for z/OS, Version 11, in a phased approach, are supported in the first release of Semeru Runtime Certified Edition for z/OS, Version 17. The capabilities of the security providers are detailed in the Security guide.
- Charset IBM1153's conversion table definition is changed for this release. Now, IBM1153 converts
Unicode Line Feed (LF U+000A) to 0x15 EBCDIC character instead of the default 0x25. This behavior is
valid even if system property ibm.swapLF is set to
true
. For more information aboutswapLF
, see System properties section in Running Java applications.
OpenJDK enhancements for OpenJDK 12 to 17
The following JEPs are included in this release of the SDK.
- 325: Switch Expressions (Preview)
- 334: JVM Constants API
- 353: Reimplement the Legacy Socket API
- 354: Switch Expressions (Preview)
- 355: Text Blocks (Preview)
- 305: Pattern Matching for instanceof (Preview)
- 343: Packaging Tool (Incubator)
- 352: Non-Volatile Mapped Byte Buffers
- 358: Helpful NullPointerExceptions
- 359: Records (Preview)
- 361: Switch Expressions (Standard)
- 367: Remove the Pack200 Tools and API
- 368: Text Blocks (Second Preview)
- 339: Edwards-Curve Digital Signature Algorithm (EdDSA)
- 360: Sealed Classes (Preview)
- 371: Hidden Classes
- 372: Remove the Nashorn JavaScript Engine
- 373: Reimplement the Legacy DatagramSocket API
- 375: Pattern Matching for instanceof (Second Preview)
- 378: Text Blocks
- 384: Records (Second Preview)
- 385: Deprecate RMI Activation for Removal
- 338: Vector API (Incubator)
- 380: Unix-Domain Socket Channels
- 389: Foreign Linker API (Incubator)
- 390: Warnings for Value-Based Classes
- 392: Packaging Tool
- 393: Foreign-Memory Access API (Third Incubator)
- 394: Pattern Matching for instanceof
- 395: Records
- 396: Strongly Encapsulate JDK Internals by Default
- 397: Sealed Classes (Second Preview)
- 306: Restore Always-Strict Floating-Point Semantics
- 356: Enhanced Pseudo-Random Number Generator
- 398: Deprecate the Applet API for Removal
- 403: Strongly Encapsulate JDK Internals
- 406: Pattern Matching for switch (Preview)
- 407: Remove RMI Activation
- 409: Sealed classes
- 411: Deprecate the Security Manager for Removal
- 414: Vector API (Second Incubator)
- 415: Context-Specific Deserialization Filters