First release: Version 21.0.4.0
Learn about the new features and functions available with this release.
IBM® Semeru Runtime Certified Edition for z/OS®, 21 (Semeru 21) contains major changes from IBM SDK, Java™ Technology Edition, Version 8, and minor changes from IBM Semeru Runtime Certified Edition for z/OS, 17. These changes might affect your applications. For more information, see Migrating from earlier releases of IBM Semeru Certified Edition for z/OS.
Similar to the other Semeru versions such as 11 and 17, you can port Semeru 21 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.46 releases of the Eclipse OpenJ9 project, as listed in the Version 0.46.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
- IBM z/OS security components, such as IBM Java Cryptography Extension Common Cryptographic
Architecture (IBMJCECCA), IBM Z Security provider (IBMZSecurity), IBM Java Cryptography Extension
Hybrid (IBMJCEHYBRID), Open Java Cryptography Extensions Plus (OpenJCEPlus), Sun Public Key
Cryptography Standards #11 (SunPKCS11), and Java Authentication and Authorization Service (JAAS) are
supported.
The capabilities of all the supported security providers are detailed in the Security guide.
- The introduction of JEP 400 starting in Java SE 18 adopted UTF-8 as the default charset for standard Java APIs across all platforms. As such, in IBM Semeru Runtime Certified Edition for z/OS 21 (Semeru 21), UTF-8 will be the default value of the file.encoding property, and the charset returned by the method java.nio.charsets.Charset.defaultCharset(), unless otherwise specified. Previous releases defaulted to an EBCDIC charset that is dependent on locale settings. For more information, see File encoding and UTF-8 as default charset.
OpenJDK enhancements for OpenJDK 18 to 21
The following JEPs are included in this release of the SDK.
- 400: UTF-8 by default
- 408: Simple Web Server
- 413: Code Snippets in Java API Documentation
- 416: Re-implement Core Reflection with Method Handles
- 417: Vector API (Third Incubator)
- 418: Internet-Address Resolution SPI
- 419: Foreign Function & Memory API (Second Incubator)
- 420: Pattern Matching for switch (Second Preview)
- 421: Deprecate Finalization for Removal
- 405: Record Patterns (Preview)
- 424: Foreign Function & Memory API (Preview)
- 425: Virtual Threads (Preview)
- 426: Vector API (Fourth Incubator)
- 427: Pattern Matching for switch (Third Preview)
- 428: Structured Concurrency (Incubator)
- 429: Scoped Values (Incubator)
- 432: Record Patterns (Second Preview)
- 433: Pattern Matching for switch (Fourth Preview)
- 434: Foreign Function & Memory API (Second Preview)
- 436: Virtual Threads (Second Preview)
- 437: Structured Concurrency (Second Incubator)
- 438: Vector API (Fifth Incubator)
- 430: String Templates (Preview)
- 431: Sequenced Collections
- 440: Record Patterns
- 441: Pattern Matching for switch
- 442: Foreign Function & Memory API (Third Preview)
- 443: Unnamed Patterns and Variables (Preview)
- 444: Virtual Threads
- 445: Unnamed Classes and Instance Main Methods (Preview)
- 446: Scoped Values (Preview)
- 448: Vector API (Sixth Incubator)
- 451: Prepare to Disallow the Dynamic Loading of Agents
- 452: Key Encapsulation Mechanism API
- 453: Structured Concurrency (Preview)