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

This release contains the following other features and changes:
  • 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 about swapLF, 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.

JEPs from OpenJDK 12:
  • 325: Switch Expressions (Preview)
  • 334: JVM Constants API
JEPs from OpenJDK 13:
  • 353: Reimplement the Legacy Socket API
  • 354: Switch Expressions (Preview)
  • 355: Text Blocks (Preview)
JEPs from OpenJDK 14:
  • 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)
JEPs from OpenJDK 15:
  • 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
JEPs from OpenJDK 16:
  • 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)
JEPs from OpenJDK 17:
  • 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
For a complete list and detailed information about the JEPs, see the OpenJDK website http://openjdk.java.net/jeps/0.