Written by Joe Winchester, Member of the Zowe Community, Open Mainframe Project Ambassador and Senior Technical Lead at IBM
The Open Mainframe Project’s Zowe community has released the LTS V2! V2 contains a number of important updates for Zowe users and for Zowe extenders. This blog highlights some of the changes and features. You can also watch this episode of “Mainframe Matters” from TFIR Editor-in-Chief Swapnil Bhartiya.
Why Zowe needs a new version
As outlined in the release timeline at zowe.org/download, Zowe version 1 began its long term support (LTS) active phase back in 2020. Throughout V1 LTS updates to Zowe were made available every 4–6 weeks as non-breaking changes. This meant that an application built on Zowe 1.10 (released March 2020) would work unchanged on Zowe 1.27 (released two years later in March 2022). However, despite efforts to avoid them, critical enhancements requiring code changes that create incompatibilities when introduced are a necessity. These types of updates are known as breaking changes and are purposefully forked out of the active release.
The LTS release plan provides the timeline (every two years) in addition to the phase-defined framework (under-development, active, maintenance) for planning and carefully introducing these changes. V2 offers the Squads the ability to introduce consumer-driven enhancements that change the underlying codebase (e.g. APIs). The clock on the V1 LTS active release timeline is nearing its limit.
Zowe V2 has arrived! On April 27th, Zowe V2 LTS officially launched in the active phase and will begin its continuous delivery cycle of releasing approximately every 6 weeks. In tandem with this, Zowe V1 LTS will officially transition off of active, continuous delivery and on to the supported maintenance phase effective with release 1.28 (planned for release on May 23rd 2022). This limits V1 updates to mod fixes on a lower frequency once a quarter, with Zowe 1.28.currently planned for August 2022. If however the community becomes aware of a critical security patch needed for V1 then a 1.28.n release will be made before the planned mod release on an as-needed basis.
Ready-set-go download !
All Zowe releases are available at zowe.org/download The V2 LTS packages are listed at the top of the page. Historic V1 releases (dating back to February 2019) are still available and are listed in chronological order towards the bottom of the page. Look for any future V1 mod fixes to published at this site as well.
Tips for getting Zowe V2:
- Zowe Explorer. V2 has been published on the Visual Studio marketplace. Depending on the
extensions.autoCheckUpdates
value insettings.json
update will be automatically from the previousv1.22.1
release, or you may need to do this manually as shown below.
- Zowe CLI. If you are a Zowe CLI user working with
npmjs.com
the@latest
tag now points to@zowe-v2-lts
. To ensure you are working with V2 the recommendation is to install with a qualified tag, e.g.npm install -g @zowe/cli@zowe-v2-lts
, although you can usenpm install -g @zowe
as V2 is now the@latest
release. (Note: the CLIzowe --version
is 6 for@zowe-v1-lts
and 7 for@zowe-v2-lts
).
- Zowe z/OS server. If you are using the Zowe Desktop or Zowe API Mediation Layer the zowe.org/download page has options for:
* SMP/E FMIDAZWE002
* Convenience buildzowe-2.0.0.pax
file
* Portable Software Instance (PSWI)
* Container image for running unix components under k8s orchestration
What has changed ?
What’s changed in V2? More than you’d probably want to read about in this blog! All of the main Zowe components have introduced enhancements, which themselves have impacted Zowe Conformance. The Zowe Community felt it important to communicate the “what’s changed” release details with Zowe Extenders and Zowe Consumers in the form of “live”, open-forum style webinar sessions which were advertised and delivered throughout the preparation of the V2 release candidate (Dec 2021 — Apr 2022). These sessions, designated as “V2 Office Hours”, were hosted by squad SMEs and served several purposes:
- A means to document and vet what’s new in V2 both from a technical standpoint for Zowe extenders hoping to achieve V2 conformance, as well as from a usage standpoint for Zowe consumers excited to try the new features.
- An opportunity to receive candid feedback from a broad range of Zowe users.
- To create an archive for users wanting to see and hear the key V2 changes. For this purpose, all sessions were recorded, edited for efficiency and are accessible for replay via the Zowe V2 documentation chapter Getting Started>What’s new>Zowe V2 office hours videos available at docs.zowe.org.
What does this mean for each component ?
Zowe Command Line Interface (CLI)
For details, watch V2 Office Hours Zowe CLI.
Team configuration (V2 profiles)
- Greatly simplifies organizational access to services
- Enables profile sharing
- Centralizes and automates profiles setup and maintenance
- V1-to-V2 Profile Migration Utility facilitates the upgrade
- Reference: Zowe CLI Getting Started Made Easy
Secure by Default
- The Secure Credential Store migrated to core CLI
- Eliminates plug-in installation without compromising security
- In Zowe V1 the user’s credential information (user ID and password) are stored by default in plain text in the profile’s
.yaml
file. The Secure Credential Store (SCS) plugin is an optional V1 download that instead allows them to be stored in the PC’s password manager. The SCS plugin is no longer a separate download and is now included in the core Zowe V2 CLI. This increases the out of the box security experience.
Daemon Mode
- Improves performance / reduces CLI response time
- Reference: Zowe CLI — A Faster Experience.
- The new CLI daemon mode allows a long running process to be started which executes CLI commands in sequence, avoiding the overhead of having to start a new node process for each command. To take advantage of this feature ensure the
./zowe/bin
directory is in the path and runzowe daemon enable
. Then in all new shells just use regularzowe
syntax for improved performance of all commands, including for CLI extensions. For more information see the documentation chapter Using-daemon mode
Zowe Explorer
For details, watch V2 Office Hours Zowe Explorer
- Zowe Explorer V2 supports endpoints being either in V1
.yaml
profile files, or the new V2 team configuration file. The + button to create connections allows you to create a new configuration file as well as add and modify connection details by editing thezowe.config.json
file directly. - Reference: Team Configuration: the new sheriff in town
Zowe z/OS Component
For details, watch V2 Office Hours Zowe Systems & Installation
Zowe V2 SMP/E build will be available with an FMID of AZWE002
for SMP/E installation, and a convenience build starting number zowe-2.0.0.pax
. These should be laid down as fresh installs and are not rollup PTFs of V1. A number of changes are included with V2.
- The Zowe started task
ZWESVSTC
has been removed. To start Zowe theZWESLSTC
PROCLIB is used instead. This means that a single STC is used for Zowe in a highly available (HA) environment or just a single LPAR image. - The unpaxed contents of a convenience build is the USS runtime directory. There is no need to run a separate
zowe-install.sh
script. This helps with performing Zowe upgrades and reduces the amount of disk needed. - There is no
instance.env
file or need to create an instance directory. All configuration information is held in a singlezowe.yaml
. This simplifies setup and helps with extensibility, - A new command line utility
zwe
is available on z/OS that drives the install, configure and starting of the Zowe server. Thezwe
command is self documenting, so at every step you can add-help
to see the valid syntax, usage, and output of each step. Full documentation of the command is available in the V2 docs at Reference>ZWE Server Command Reference>zwe
API Mediation Layer
For details, watch V2 Office Hours Zowe API Mediation Layer
- The API Catalog uses Material UI component library in place of Mineral UI, which gives it a new look and feel. As a user you can now change your TSO password on the logon page, which detects when the password has expired and allows you to set a new one.
- The path pattern
api/version/serviceId
has been removed, so API routing can now be done only withserviceId/api/version
. For the/v1/api/auth/login
plugin both old and newapi/v1/auth/login
are available, allowing older Zowe V1 clients using a Zowe V2 API Gateway to still enjoy single sign-on (until those clients are upgraded to V2).
Zowe Desktop
For details, watch V2 Office Hours Zowe Application Framework
- The Zowe Desktop has simplified its configuration and reduced overhead by reducing the server count and also optimized networking and 64 bit Z System Services (ZSS) migration.
- Simplified installation & configuration: Fewer parameters — More automation — Centralized
- Increased performance: Consolidated Web Explorers / fewer servers — Optimized networking — Introduced 64-bit z System Services (ZSS)
- Upgraded Underlying Technology i.e. Desktop Libraries: Angular: Version 6 to 12 — Core-js: Version 2 to 3 — TypeScript: Version 2 to 4
What about Zowe extensions ?
The extensibility of Zowe is showcased by the 75 (and growing) variations of Zowe V1 conformant vendor and community extensions, available at the Open Mainframe Project Interactive Landscape. The Zowe conformance program offers consumers of Zowe extensions assurances associated with baseline functionality, component interoperability and consistency in user experience across Zowe core components at every release and is applicable for the duration of a Long Term Support (LTS) version.
Given that a new Zowe version is reserved for and associated with breaking changes, and every Zowe component introduced at least one breaking change in Zowe V2, it should come as no surprise that each extensible component has introduced new requirements necessary to achieve conformance. Although not expected to be officially launched for several weeks, the Zowe V2 conformance program was recently opened for pre-applications for existing Zowe V1 conformant Extenders. Extenders who were not able to test their extensions in time to attain day-1 conformance, will have an opportunity to do so when the Zowe V2 Conformance program officially launches (check the announcements banner at zowe.org). Regardless of when awarded, consumers can rest assured that extensions showcasing the Zowe V2 conformant badge will be well positioned to leverage Zowe V2 features.
Immerse yourself
So what’s the best way to get started with V2? For a short period of time (~until the V2.2 release) zowe.org/vNext will retain the details associated with Zowe V2 from the perspective of an existing Zowe V1 consumer / extender. It’s a great starting point. Going forward, Zowe Docs should be your go-to-guide for all things Zowe V2. Regardless of how the journey begins, on behalf of the Zowe Community, we look forward to engaging with you and your teams as you position your organization for success with Zowe. They say that “2 is better than 1”, in the Zowe Community we consider Zowe V1 as being “Open, Simple, Familiar” — with the introduction of V2 we have matured Zowe to “Open, Simple, Familiar, and Evolved”!
If you enjoyed this blog check out more Zowe blogs here. Or, ask a question and join the conversation on the Open Mainframe Project Slack Channel #zowe-explorer-intellij, #zowe-explorer, #zowe-cli, #zowe-dev, #zowe-user, or #zowe-onboarding. If this is your first time using the Open Mainframe Slack Channel register here.