Staying true to our promise, the Go on z/OS team is proud to announce IBM Open Enterprise SDK for Go 1.23 in close alignment to the community release. This release includes multiple updates from the community and may IBM Z dedicated features such as a dedicated Db2 driver, Wharf tool and z/OS Container enhancements that extends the ability of z/OS developers to use container environments that enable flexibility, compatibility, and a modernization of the DevOps process to enable faster testing and development. The planned availability date is 6 Sep, 2024.
Here's what's new in Open Enterprise SDK for Go 1.23:
Features from the Go Community
Iterators
Go 1.23 brings a number of features related to sequence iteration including range-over function iterators, and a new iter package to make looping more convenient and efficient. Maps and Slices now have new functions to work with iterators.
Improvements in the Compiler
The build time overhead for building with Profile Guided Optimization (PGO) is reduced.
Improvements in the Runtime
The traceback printed by the runtime after an unhandled panic or other fatal error now indents the second and subsequent lines of the error message (e.g., the argument to the panic) with a single tab to distinguish it from the stack trace of the first goroutine.
Improvements in the Tools
The Go toolchain can collect telemetry such as usage and breakage statistics to help the Go team understand how the toolchain is being used. This is an opt-in feature.
The trace tool better tolerates partially broken traces by attempting to recover what trace data it can.
A "unique" package is introduced to enable comparable generics.
Features from IBM
IBM Db2 Driver
IBM Open Enterprise SDK for Go 1.23 compiler supports a dedicated driver to access Db2 natively on z/OS. This popular Db2 driver has been upstreamed to the Open Source Go project for easier access by all users.
Wharf Tool Enhancements
This innovative tool was created to automatically port Go modules to z/OS, making it easier to use the numerous open source modules available from the community. The enhanced Wharf tool for Open Enterprise SDK for Go supports a number of additional porting use cases while increasing its performance.
Support for new system calls
IBM Open Enterprise SDK for Go supports more than 50 additional Linux-like system calls which were introduced in z/OS 3.1. For example, InotifyAddWatch, Futimesat, Getxattr, Openat, etc. With the support of these additional system calls, Go applications developers can efficiently port packages and modules originally written for Linux to z/OS. Open Enterprise SDK for Go 1.23 includes support for additional new syscalls.
Open Enterprise SDK for Go 1.23 is included in the IBM z/OS Containers Platform
The z/OS Containers Platform is updated with a container that includes Open Enterprise SDK for Go 1.23. Added to this container are the IBM C/C++ for Open Enterprise Languages on z/OS and IBM Open Enterprise Foundation for z/OS elements. The addition of these elements establishes a powerful Go development container image to create Go applications for the container environment. This Go development environment streamlines the development experience for creating Go applications on z/OS native containers.
z/OS users can now use containerized IBM Open Enterprise Foundation for z/OS - a no-cost collection of vetted popular open source developer tools, including Git, Curl, GNU Make, GNU Bash, Less, Vim, Ncurses, and Perl. These tools seamlessly integrate with the platform, enhancing the development environment for both new and existing applications.
The IBM Open Enterprise Foundation for z/OS container called oeftools extends the abilities of z/OS developers to use container environments that enable flexibility, compatibility, and a modernization of the DevOps process to enable faster testing and development. Developers can look forward to extending their CI/CD pipeline, accelerate onboarding, and make development on z/OS faster. Read the latest container release blog https://community.ibm.com/community/user/ibmz-and-linuxone/blogs/igor-todorovski/2024/08/21/oef-container-release.
Explore more use cases for Open Enterprise SDK for Go: visit product page