IBM Z Open Editor Releases
5.0.0 - 2024/10/18
Breaking changes:
- Java 17: We are now building our language server with Java 17, which is now the minimum Java version required for Z Open Editor. The editor will not work with Java 11 anymore. We recommend IBM's Semeru Runtime or JDK. Distributions from Oracle and OpenJDK will also work.
- VS Code v1.91 or newer: As part of the upgrade to Java 17 we are able to use newer versions of language server APIs provided by the Eclipse LSP4J project and Microsoft. As a result we are also increasing the required version for VS Code for our extension to v1.91 or newer.
- Zowe v3: Zowe Explorer 3.0.0 or newer is now required. Z Open Editor v5 will now download and install Zowe Explorer v3. Zowe Explorer v2 will not work anymore. For IBM RSE API Plugin for Zowe CLI the requirement is now Zowe CLI v8.
New features and fixes:
- Localization: Z Open Editor and Zowe Explorer are now available for the VS Code display languages French, German, Japanese, Portuguese, and Spanish. This also includes syntax error messages provided by the COBOL, PL/I, JCL and REXX language servers. Download the respective language pack and switch.
- Added support for the new IBM Dependency Based Build version 3.0.0 providing a new build framework and scripting model. Use it for user build directly from Z Open Editor, which continues to support DBB v2 as well.
- Fixed the issue that user build would sometimes hang when downloading multiple log files. (Issue 446)
- Addressed issue of existing ZAPP files being overwritten by adding concurrency and file existence checks. (Issue 444)
- Added JCL Include file support to language servers and ZAPP files. It works with file level statements inside the JCL file with document links and hovers. Check the documentation for how to use ZAPP property groups for JCL.
- Added on-hover DSN resolution to JCL language support. It reveals the DSN with dereferenced values using the SET variables in the file.
- Added support for JCL command statements. The language server now recognizes the command statements with commands/shortcut (e.g SETPROG/V).
- Added user settings
zopeneditor.[cobol|jcl].enableCodeFolding
to enable/disable code folding. - Added more improvements to JCL and COBOL code folding for comment and conditional blocks.
- Fixed several issues in the HLASM language support and added a progress tracking pop-up for HLASM long-running operations such as loading remote macros.
- Added a new user setting
zopeneditor.encodings.filePatterns
which maps filename glob patterns to an EBCDIC file encoding. When editing files with double-byte characters, our langauge servers need to know the target encoding on z/OS to compute the right line length. Use this setting to specify the EBCDIC encoding to be used when it is placed back on z/OS. It only controls what encodings are passed to the language servers. To control encodings used for file conversions when uploading or downloading z/OS resources, use your ZAPP file or Zowe profile. The setting is evaluated with the following rule set:- If an RSE profile was used to access the file, Z Open Editor will first look for an encoding specified by your RSE mappings (either in your
zapp.yaml
or the location in thezopeneditor.zowe.defaultRseConversionMappingsFile
setting). - If no RSE mappings exist or if you are using a z/OSMF profile to access the file, Z Open Editor will check for any matches between the file's path and the patterns defined in
zopeneditor.encodings.filePatterns
.- These patterns should be specified as glob patterns. A single asterisk
*
matches any number of characters within a path segment, including none. A double asterisk**
matches any number of path segments, including none. For example,{ **/COBOL/*.cbl : IBM-930 }
will assign any file paths containing a directory namedCOBOL
ending with a.cbl
extension an encoding ofIBM-930
. Learn more about how to specify glob patterns.
- These patterns should be specified as glob patterns. A single asterisk
- If no matches are found, the encoding specified in the Zowe profile is used.
- Local files will only be matched against the
zopeneditor.encodings.filePatterns
setting for an encoding.
- If an RSE profile was used to access the file, Z Open Editor will first look for an encoding specified by your RSE mappings (either in your
IBM RSE API Plug-in for Zowe CLI:
- Added an encoding parameter to
submit
,download output
, andview spool-file-by-id
commands. - Added new CLI command
admin-commands cancelactivity
, to stop all of user's long-running activities in a specified service. - Fixed the issue of displaying
N/A
as the job state instead ofACTIVE
in Zowe Explorer Jobs treeview. - Fixed the issue where changing password on the host was not outputting success message when rest request was successful.
- Fixed the issue where after submitting a JCL job in Zowe Explorer the pop-up announcing the Job id with a hyperlink would throw error. (Issue 452)
- Fixed the issue where submitting multiple jobs as a batch request with via z/OS Resource Table would return 400 error inconsistently for some of the jobs submitted.
- Fixed the issue seen with copy and paste functionality of UNIX files with special characters in the path and filename returning a 400 error.
4.5.0 - 2024/09/19
- Added experimental context-menu command to expand the current COBOL program. It currently expands copybooks and opens an new editor tab with a temporary file showing the result. The expansion utilizes our language server and is currently limited, not providing evaluation of conditional compilation, yet.
- Fix the bug that caused incorrect symbol names in the COBOL outline view for code lines with trailing comments and sequence numbers.
- Fixed the issue where JCL code folding ranges were computed incorrectly for lines with trailing comments and the folding range for JCL JOB cards were missing sub-element, i.e. EXEC steps.
- Fixed the issue where JCL code completion were giving incorrect suggestions when a statement starts with
// DD
by using DD as a label name for DD, EXEC or JOB statements.
Advanced features:
- Completed the MVS search capabilities in the z/OS Resources table by adding PDS member search. You can look for strings inside all your members of the data sets currently listed in the table or qualified by a naming pattern for the members. Results will be shown in the table and allow you to navigate to file locations with a simple click. Requires RSE API Zowe profiles.
- Added UNIX System Services search capabilities in the z/OS Resources table allowing you to search files with name patterns as well as the contents of these files. Results will be shown in the table in the same ways as MVS search results allowing you to navigate to file locations with a simple click. Requires RSE API Zowe profiles.
- Added preprocessor support for PL/I in addition to COBOL. Execute a processor that transform your custom code into valid PL/I locally on your workstation or on z/OS and continue editing your original program in Z Open Editor.
- Various bug fixes for resolving HLASM custom macro definition and providing code completion in the editor.
IBM RSE API Plug-in for Zowe CLI:
- Performance improvement for retrieving all the member names of a data set with a large number of members.
- Added
--lc
local encoding option for MVS and UNIX upload and download commands. - Added new command
data-set-cross-lpar
for copying datasets from one LPAR to other. - Added new
change
sub-commandunix-file-encoding
that updates the UNIX file target encoding.
4.4.0 - 2024/08/12
- Fixed the issue where Java was not being found on Windows or Linux when Z Open Editor searched the user's system. (Issue 420)
- Added code folding to our COBOL language server, which features folding for Divisions, Sections, Paragraphs, Data-items, and EXEC SQL/CICS statements. Also added code folding range support to JCL.
- Improved the COBOL and JCL Outline views to include comments in the selection ranges when clicking an outline node.
- Fixed the issue with the resolution order for the
NAMES()
compiler option in PL/I when it was listed before include file locations. - Added the file extension
.dbd
,.mfs
, and.pcb
to the defaults for our HLASM editor. - We now provide snippet style code completion for HLASM operations and macros. Use tab to fill out or remove various parameters when the operation or macro is selected from the code completion list. The editor will then also show syntax errors when manually typing operation parameters incorrectly.
- Added Go to References support for HLASM Operations and Macros to see references within the same file for a selected operation.
- Fixed the issue in JCL where an incorrect error was shown for
DD
statement: "JCL incorrectly highlights empty DD line as error". - Fixed the issue in JCL where an incorrect error was shown for
EXEC DLI
andXOPTS(DLI)
statements. - Performance improvements for language server document requests when finding the copybooks/include files. The language server now prioritizes requesting the most recently opened documents.
- Experimental: all Z Open Editor VS Code extension strings have been localized to French and German using IBM's AI machine translation. Let us know if you like these translations.
Advanced features:
- New feature: added filter and search operations to the z/OS Resources table. You can now search within the content of sequential data sets that are currently listed in your table; search requires using IBM's RSE API. We also added new filter options to the table for RSE API and z/OSMF to help you refine the list displayed for the Zowe query directly in the table. More search and filter capabilities will be added for RSE API users soon.
- Combined "last modified" date and "last modified" time columns into "last modified" in z/OSMF PDS member views of the z/OS Resources Table.
- Fixed the issue where the z/OS Resources Table was not compatible with MVS date formats in RSE API v1.1.5.
- Various fixes, refinements and improvements for remote preprocessor support such as improved logging of the remote preprocessor execution output, better error handling, support for z/OSMF with TSO Zowe profiles, added the 'Compare preprocessor input and output files' command to remote preprocessor files as well as improvements for managing the output file.
- Added a progress bar and a Cancel button to user build operations. After clicking the Cancel button, user build will wait until any remote operation is completed and then stop.
IBM RSE API Plug-in for Zowe CLI:
- We are now providing a variant of the RSE API CLI Plug-in that can be used for installation in air gapped development environments. Find
ibm-rse-api-for-zowe-cli-airgap-4.4.0.tgz
in our IBM Wazi for VS Code Zip file at https://ibm.github.io/mainframe-downloads/downloads.html. - Fixed the issue with multiple items included in data set filter search with RSE profiles.
- Fixed the issue reported using RSE CLI for downloading files when using Nodejs v20. (Issue 427)
- Added a new
change
sub-command:clear-tag
which clears the tags of the specified UNIX System Services file.
4.3.0 - 2024/06/18
Note: Import update for the release of version 4.3.0 of IBM Z Open Editor: IBM watsonx Code Assistant for Z, which supports AI-assisted transformation of COBOL to Java for modernizing applications, has now been moved into it's own VS Code extension IBM watsonx Code Assistant for Z version 2.0.0. All functionality has been migrated into this new dedicated extension. Receive your copy of the Z Code Assistant via your Passport Advantage Online account. See the Documentation for more details.
- New advanced feature: run your custom COBOL preprocessor on z/OS directly from our editor and edit your files without any syntax errors caused by preprocessor statements. We now offer local preprocessor execution and editor integrations as well as remote execution via TSO commands on z/OS.
- All new JCL language server: with this release we add language support for z/OS MVS JCL. This first version includes the following features:
- Improved syntax highlighting
- Real-time syntax errors
- Code completion using
Ctrl/Cmd + Space
- Outline view
- On-enter rules in Textmate grammar for JCL
- Auto prefix newline with
//
if previous line prefixed with//
(except for in-stream declarations i.e.DD *
). Indentation is inherited (up to column 16 for non-empty lines). JOB declarations are automatically indented to column 16 - Auto comment continuation for lines prefixed with
//*
- Auto prefix newline with
- Vertical rulers at significant JCL column numbers (2, 10, 11, 15, 16, 72, 80)
- JCL Custom tabstops (Default tabstops are: [0, 2, 10, 15, 19, 29, 39, 49, 59, 71, 72])
- Support for commenting and uncommenting highlighted selections using
Ctrl/Cmd + /
- Completed support for PL/I v6.1 January 2024 Refresh with updated syntax highlighting, outline view, content assist, real-time syntax checking, and other language related features. See this blog post for details. Additionally, support for the new
JSONIGNORE
,JSONNULL
keywords was added. - Fixed the issue in the PL/I editor evaluating the names for include files differently than the compiler if the name includes special characters.
- Fixed the issue of false unreachable code warnings around EXEC CICS PERFORM + HANDLE statements. (Issue 52)
- Fixed the issue of false unreachable code warnings around EXEC SQL WHENEVER statements. Issue 63)
- Fixed the issue in the REXX editor showing incorrect syntax errors for
ELSE
statements in certain scenarios. - Fixed the issue in HLASM where optional operands were not correctly accounted for when evaluating the number of operands provided. (Issue 418)
- Added support for double-byte character editing. The editor will decorate double-byte character strings using guillemets icons and display a byte counter in the status bar giving users information about how many bytes they have left for the current line to avoid truncation.
- Extended the status bar information for the active Zowe profiles, making it an active button with options to change the profile selection. For RSE API profiles, it provides the option to update the z/OS password.
- Fixed the issue where renaming sequential data sets using the z/OS resources tables would temporarily show empty attributes for the renamed data set.
IBM RSE API Plug-in for Zowe:
- Added a check for Zowe CLI version compatibility that is executed by the RSE API plugin for Zowe CLI during installation.
- Uploading files to z/OS UNIX System Service using RSE API profiles can now automatically detect if the file is binary.
- Fixed the issue of showing an incorrect error message when no data sets were found that match a search pattern.
4.2.0 - 2024/05/16
- New advanced feature: custom macro resolution in HLASM programs with references to macros in local files. The HLASM editor shows hovers, document links, go to definition, and code completion for macros. This feature works with one to many macro declarations per include file, which is achieved by pre-scanning macro files if they can be found in local ZAPP property groups. For more information, see Custom Macros for HLASM.
- Improved advanced feature: the z/OS resources table is updated to also support UNIX System Services. You can browse, filter, sort, open, download, upload, create, and copy your unix folders and files with the same user experience as in our previous release for MVS and JES. In addition, you find many UX refinements and polish for all views of this table. We also fixed
- presenting and sorting numbers and dates based on the user's locale.
- presenting DSNTYPE for MVS data sets, even if the value is not provided by z/OSMF.
- Added support for COBOL User Defined Function Prototypes. See COBOL documentation for details.
- Fix the issue where formatting EXEC SQL statements resulted in incorrect syntax (Issue 400).
- Reorganized our startup and restart code to avoid problems such as Issue 403.
IBM RSE API Plug-in for Zowe:
- Fixed the issue of spool files not being correctly exported when their record length exceeded that of the destination dataset, resulting in truncation.
- Fixed typographical errors in the new common-properties commands.
- Fixed the issue that is seen downloading all members of a data set.
IBM watsonx Code Assistant for Z:
- Added editing of local variable names during class generation that will then be used during Java method generation.
- Added editing of method input parameters during class generation that will then be used during Java class and method generation.
- Improved Java method generation by sanitizing the COBOL code, such as removing comments and contents from columns 1-6 and 73-80.
- Fixed the issue where for some edge cases the Java method generation was returning an empty code block.
- Fix the issue where Java classes and methods were not appearing in the watsonx Code Assistant for Z tree view when the COBOL program was located in the top-level workspace folder.
- Fixed the issue of the editor opening the same Java file in multiple editor tabs when using the watsonx Code Assistant for Z tree view.
- Added support for proxy servers for watsonx interactions utilizing the VS Code settings
http.proxy
,http.proxyStrictSSL
,http.proxyAuthorization
whenhttp.proxySupport
is switched toon
. - Various fixes and refinements for the watsonx tree view interactions related to item and source code selection.
4.1.0 - 2024/03/28
- Fixed the issue where SETC values were causing the HLASM parser to fail in certain scenarios. (Issue 396)
- Added new options for listing additional job attributes in RSE API Plug-in for Zowe CLI.
- Added ability to search files in UNIX System Services by file name or content in RSE API Plug-in for Zowe CLI.
- Added new commands for storing and retrieving name/value pairs with RSE's Common Properties service in RSE API Plug-in for Zowe CLI.
- Fixed the issue of failed downloads from z/OS for some file types using RSE API profiles.
- Fixed the issue where downloading spool files with RSE API profiles would be stored with invalid file extensions.
IBM watsonx Code Assistant for Z updates:
- Added a walkthrough for new users to get a step-by-step guide on how to use watsonx Code Assistant for Z. You can access the walkthrough from the Z Open Editor Welcome page or from the VS Code Welcome page.
- Added a new CodeLens when editing generated Java code to view and navigate to the COBOL source that watsonx Code Assistant for Z was using to generate a Java method.
- COBOL files selected for Transformation in watsonx Code Assistant for Z will no longer open in read-only mode.
4.0.0 - 2024/03/15
IBM Z Open Editor v4.0.0 is the first release to introduce a set of all-new enterprise-level advanced capabilities. While the core Z Open Editor continues to provide full language support for COBOL, PL/I, REXX, and HLASM for free, this release adds capabilities for enterprise-level development use cases that go beyond program editing. They cover capabilities that you would typically only find in our commercial editing solutions such as IBM Developer for z/OS Enterprise Edition (IDzEE). With this release, we started adding these capabilities to Z Open Editor under the same licensing terms as IDzEE and a 60-day evaluation license. IDzEE customers can unlock the features by using RSE API or separately distributed activation kits. For more information, see IBM Documentation.
To emphasize, none of the other features that you were using in previous releases are impacted by the update. Previous features are still available for free and will still be maintained and enhanced as always. We are also still fully committed to supporting z/OSMF and RSE API for the free as well as advanced capabilities.
Only the following three new features require a license. Our goal is to provide more and more advanced features such as these to Z Open Editor in the future:
- Local preprocessor support for COBOL: run a preprocessor on your local workstation driven by a new ZAPP profile type and then continue editing with full syntax checking (except for the preprocessor statements) and automatically rerunning the preprocessor at save. Compare the preprocessor-generated code with your code side-by-side. Support for running the preprocessor on z/OS will be added in a future release.
- z/OS Resources table: an all-new feature rich view that extends Zowe Explorer with a sortable table. Gain insights into your jobs and data sets by listing, filtering, and sorting on many available properties.
- Advanced Dependency Based user build error reporting: User build logs are now automatically downloaded, parsed, and presented in the editor's Problems view with descriptions and error codes. Navigate to errors in your code with a mouse click in the Problems view to review and fix your issue and then rerun your build.
We reorganized the Z Open Editor Welcome page for you to see the status of your trial license. You can unlock the features by importing an activation kit or connecting to an RSE API server with configured IDzEE licenses.
Free languages updates:
- Added support for the COBOL v6.4 February 2024 Refresh with updated syntax highlighting, outline view, content assist, real-time syntax checking, and other language related features. See this blog post for details.
- Added support for the COBOL v6.4 October 2023 Refresh with updated syntax highlighting, outline view, content assist, real-time syntax checking, and other language related features. See this blog post for details.
- Added support for the PL/I v6.1 January 2024 Refresh with updated syntax highlighting, outline view, content assist, real-time syntax checking, and other language related features. See this blog post for details.
- Added support for the CICS v6.2 Beta Refresh with updated syntax highlighting, outline view, content assist, real-time syntax checking, and other language related features.
- Added support for the z/OS 3.1 default HLASM macros. z/OS 3.1 is now the default option. To change your z/OS level, search
zopeneditor.hlasm.zosMacrosVersion
in settings. - Fixed the issue where the HLASM Language Server did not parse non-english characters correctly. (#389)
- Added the debug scheme to our language clients, enabling full language server support providing you with features such as Outline view, Go to Definition, Find All References even when running IBM Z Open Debug sessions. (#360)
Free RSE API Plug-in for Zowe CLI updates:
- Z Open Editor extends the Zowe Explorer's Jobs view experience: open a spool file in Zowe Explorer and Z Open Editor will automatically provide JCL and messages syntax highlighting.
- Added support for changing file tags on USS for RSE API profiles in Zowe Explorer.
- Added support to show partitioned data set member attributes for RSE API profiles in Zowe Explorer.
- Added support for creating a data sets for RSE API profiles using the new templates from Zowe Explorer.
- Added support for Zowe profile encoding with DBB User Build download of log files.
- Added new command
issue unix-shell
for RSE API profiles that utilizes a streaming command output and allows users to set environment variables for the executing shell. - Added new command
export spool-file
for RSE API profiles allowing export of job spool files to a sequential data set or data set members. - Added support for refreshToken and auto-refresh-token for RSE API profiles in Zowe Explorer.
- Switched to using RSE API streaming for raw content when uploading to and downloading from MVS, UNIX System Services, and JES files.
- Fixed the issue with creating a partitioned data set of the type LIBRARY for RSE API profiles did not work correctly.
- Fixed the issue of command
issue unix
returning an incorrect exit code. - Fixed the error when submitting jobs using the
--wfo
(wait for output) option using RSE API profiles. (#385)
3.4.0 - 2024/02/29
- Fixed the issue with Embedded EXEC CICS statements where EXEC CICS GET CHANNEL was marked with the error "RESP expected instead of this input". (Issue 361)
- Fixed the issue with Embedded CICS EXCI statements where CICS EXCI was marked with the error "RESP expected instead of this input".
- Fixed the issue with Embedded SQL statements where SQLCA symbols were not resolved when an "EXEC SQL INCLUDE SQLCA" statement was inside of a conditional compilation block. (Issue 379)
- Fixed the issue of incorrectly showing an error about the absence of an end directive when the conditional compilation directive ">>define" was on the last line of a Copybook file. (Issue 374)
- Fixed the issue where COBOL COPY statements with a "." but without a whitespace were marked with an error.
- Fixed the issue where document links were not resolving correctly when multiple documents were opened in parallel that pointed to the same include files in COBOL, PL/I, and HLASM files. (Issue 363)
- Fixed an issue where document links would not remove the red underline for an include file after loading correctly in COBOL, PL/I, and HLASM files. (Issue 363)
- Fixed the issue where REXX syntax highlighting would break when an empty comment statement was present
/**/
. (Issue 384).
IBM watsonx Code Assistant for Z updates:
- Replaced the COBOL-centric class generation preview with a new Java-centric presentation for watsonx Code Assistant for Z. Users can now preview the Java classes to be generated in an expandable table view that outlines the variable and method member names next to their mapped COBOL names. They can click hyperlinks within the mapping view to navigate directly back to the COBOL source code files for comparison.
- Updated the watsonx Code Assistant for Z tree view to show a breakdown of method members per Java class that can be generated by the assistant's AI component. These methods are based on COBOL section and paragraph names and become available after the initial Java class generation step has been completed.
- Updated the watsonx Code Assistant for Z tree view to support a new workflow for reopening saved COBOL-to-Java mappings and regenerating Java code.
- Updated the watsonx Code Assistant for Z tree view with new icons and icon decorators that visualize which Java members mapped from COBOL paragraphs have already been generated and which not.
- Updated error handling, error message dialogs, and log file messages.
- Fixed the issue of the Welcome page checkbox for enabling/disabling watsonx Code Assistant for Z not being synchronized with the respective user setting.
3.3.3 - 2023/12/15
- Fixed the issue for COBOL where SKIP1, SKIP2, SKIP3, and EJECT tokens were not being handled correctly when placed within other statements to control white space. (Issue 307)
- Fixed the issue where conditional compilation statements were not being handled correctly when placed in a
>>WHEN OTHER
phrase. (Issue 366) - Fixed the issue where the COBOL parser could hang or crash when a file's final line ended with a character in column 7.
- Fixed the issue where a language server would start before all ZAPP files were processed missing settings such as compiler options. (Issue 364)
- Fixed the issue where the RSE API plugin for Zowe CLI command to upload a file to a UNIX System Services directory would show an error.
- Various bug and serviceability fixes as well as UI refinements for IBM watsonx Code Assistant for Z. Generate Java classes now by using the icon next to the COBOL program name or by using the context menu. When entering an API key you will now receive a confirmation message after a server-side validation check.
3.3.2 - 2023/11/28
- Required security updates for third party dependencies.
- Fixed the COBOL parsing issue where intermediate data names would be using an incorrect context. (Issue 362)
- Fixed multiple issues related to COBOL conditional compilation that caused incorrect syntax error messages. (Issue 154, Issue 329)
3.3.1 - 2023/11/07
- Corrected the default URL for the IBM watsonx Code Assistant for Z server setting.
3.3.0 - 2023/10/25
New: IBM watsonx Code Assistant uses generative AI to accelerate code generation and increase developer productivity for application modernization. IBM watsonx Code Assistant for Z is now enabled in IBM Z Open Editor to drive the selective and incremental transformation of COBOL business services into well-architected high-quality Java code. It uses the inventory and analysis tools of IBM Application Discovery and Delivery Intelligence (ADDI) to support development teams in refactoring business services in COBOL, transforming COBOL code to Java code, and validating the resulting outcome. Learn more and sign up for a trial at https://www.ibm.com/products/watsonx-code-assistant-zos.
Other fixes and enhancements in this release:
- Added support for CICS v6.2 Beta to COBOL and PL/I language servers.
- Added support for line and block comment shortcuts in PL/I and REXX.
- Machine instruction statements in HLASM are now identified when the number of operands is incorrect. Assembler instructions are not supported at the moment.
- Improved the parsing behavior of HLASM language servers, particularly around continuation lines. Symbols that are continued should now have that reflected when you hover over references. Symbols that are used in continuation lines now support language functionalities, such as hover, Go to Definition, and Find References.
- Fixed the bug where lowercase and mixed-case macros were not correctly displaying document links in HLASM.
- Added support for internal macros that are declared in an HLASM file. Macros that are declared in an HLASM file now support code completion, hover, and Go to Definition in the file. Note that macros declared with the same name as a default SYS1.MACLIB macro will take precedence over the default macro.
- Added
.mac
as another default file extension for HLASM program files. - Improved syntax highlighting around %INCLUDE statements in REXX.
- A ZAPP file will now be automatically generated if none can be found in any of your workspaces when a COBOL, PL/I, HLASM, or REXX file is opened for the first time. This ZAPP file will search in all your local folders for include files, such as copybooks, so you should modify it for a more specific path or remote MVS locations afterwards. This behavior can be disabled with the new user setting "zopeneditor.zapp.generateZappOnDemand". Include file statements in all of these languages now also have the Quick Fix menu entry to open ZAPP files for troubleshooting and to open the ZAPP documentation for quick reference.
- Changed the behavior of the "Run user build with full upload" command to now upload also all files that are specified with
additionalDependencies
in the ZAPP file. (Issue 297) - Fixed the issue where user build did not properly filter search results for logs. (Issue 353)
- Fixed the issue where user build related editor menu items and command palette items were displayed for COBOL and PL/I include files.
- Fixed the issue where user build menu items and command palette items were not displayed for VS Code 1.76 and earlier versions. (Issue 349)
- Fixed the issue where user build did not handle SSH keys for authentication in Zowe SSH profile. (Issue 355)
- Fixed the issue with RSE API in Zowe Explorer where the user was prompted for username and password when using a token for authentication.
- Added the ability to change owner, group, and permissions of Unix files on RSE CLI.
- Added the ability to check a user's password expiration date with RSE CLI.
- Fixed the issue where default RSE profiles were not displayed by default in Zowe Explorer's tree views when the team configuration profile did not contain z/OSMF profiles.
- Added functionalities for RSE profiles, including copying files and directories in z/OS UNIX System Services, copying data sets, and cancelling jobs.
- Added support for editing attributes in z/OS UNIX System Services for RSE profiles in Zowe Explorer.
- Fixed the issue where RSE API Plug-in for Zowe CLI returned duplicate values when executing the list all members command using wildcard pattern parameters.
- Fixed the issue where RSE API Plug-in for Zowe CLI did not return the correct error messages when executing the list or download all members command using incorrect parameters.
- Fixed the issue where the Zowe profile status bar was not updated after edits were made to the team configuration profiles for RSE API profiles.
- Added job timestamp to the output of the list jobs command for RSE API Plug-in for Zowe CLI when running commands against RSE API server v1.1.3.
3.2.3 - 2023/10/11
- Fixed the issue where Z Open Editor showed an incorrect warning about initializing secure credentials. (Issue 359)
- Fixed the issue where RSE API profiles that were using token-based authentication stored token details incorrectly in certain situations.
- Fixed the issue where building projects that were not managed with Git produced Git errors. The fix changes the behavior that when no Git repository can be found then all .gitattributes files are ignored.
3.2.2 - 2023/09/15
- Fixed the issue in COBOL where
DEFINE(compilation-variable-name)
was not applying the default valueB'1'
. (part of Issue 154) - Fixed the issue in COBOL where COBOL keywords are not able to be used as compilation-variable-name before a
>>DEFINE
statement. (part of Issue 154) - Fixed the issue where IBM User Build was not properly filtering search results for logs. (Issue 353)
- Fixed the issue where RSE API plugin for Zowe CLI returned duplicate values for list all members.
- Fixed the issue where the Zowe profile status bar field would not get updated after making edits to RSE API profiles in team configuration files.
- Security fix limiting telemetry data volumes.
3.2.1 - 2023/07/19
- Added syntax and content assist support for the
LOCATION
options (LOC24
andLOC31
) in theGETMAIN64 EXEC CICS
embedded CICS command. - Fixed the issue where the PL/I
PROCESS MAR/MARGIN
options did not accept a third parameter. (Issue 344) - Fixed issues in the HLASM outline view to correctly handle duplicate elements such as
CSECTS
andDSECTS
that are continued. Symbols that are reassigned will still point to the final declaration to prevent the outline from becoming overcrowded. - Fixed the issue in User Build where menu items and commands were not available when VS Code 1.76 or earlier versions were used. (Issue 349)
- Fixed the issue in User Build for COBOL and PL/I where a copybook or include file with a name that was a substring of another copybook or include file name was not identified as a dependency correctly.
- Fixed the issue that prevented the default RSE API Zowe CLI profiles to be displayed in Zowe Explorer's tree views at startup when Zowe team configuration profile files did not contain a z/OSMF profile.
3.2.0 - 2023/06/16
- Added support for the COBOL v6.4 April 2023 Refresh with updated syntax highlighting, outline view, content assist, real-time syntax checking, and other language related features. See this blog post for details.
- Fixed the coloring of the keyword
NOT
in COBOL. (Issue 328) - Fixed the missing syntax errors when statements (such as
COPY
) start to the left of Area A and overflowing data names (for example inUSING
statements) start to left of Area B. (Issue 340) - Fix the issue where comments were misinterpreted within a COPY statement when using an empty quoted pseudo text and the == identifier. (Issue 248)
- Removed the ability to perform Number and Unnumber actions when COBOL Language Server is not running. (Issue 189)
- Fixed certain COBOL words not highlighting correctly when placed at the end of a line. (Issue 346)
- Added support for the PL/I v6.1 March 2023 Refresh with updated syntax highlighting, outline view, content assist, real-time syntax checking, and other language related features. See this blog post for details.
- Fixed the issue that caused PL/I comments to show a report when starting in column 1. (Issue 135)
- Fixed the issue with PL/I code completion when a variable is in the same column with a DCL statement.
- Added preview hovers and clickable hyperlinks to open include files in REXX.
- Added support for jump targets as well as
RSECT
,LOCTR
, andCOM
control sections in the HLASM outline view. - Fixed the issue where preview hovers failed to load for HLASM COPY statements when the copied document was closed after previously being opened by using the hover's hyperlink.
- Added the user settings "zopeneditor.<language>.disableProblems" for each language to enable/disable the Problems view and syntax errors shown within the editor while maintaining other language features. It will allow users to continue working in the program with some language features despite parsing issues. This will not work in all circumstances as some syntax errors will also break other language features. (Issue 199 and Issue 203)
- Added the ability to define custom ZAPP variables in your personal user or workspace settings. Define variables in a new mappings table under
zopeneditor.zapp.variables
in the VS Code settings editor and then reference them in your ZAPP files with${variable-name}
. For example, define a variable here calledHLQ
with a value that represents your personal high-level qualifier on z/OS MVS. In your ZAPP file, reference it in a property group's location entry, such as${HLQ}.COBOL.COPYBOOKs
. - Fixed a copybook and include file watcher limitation about file precedence in remote and local non-syslib libraries.
- Added the user setting "zopeneditor.zowe.maximumParallelFileDownloads" to specify how many parallel downloads Z Open Editor should perform when requesting include files from MVS. This will help minimize address spaces being allocated by z/OSMF. The default value of the setting is 5, and the maximum value is 10. Set it to 1 to disable parallel downloads. (Issue 134)
- Added the user setting "zopeneditor.zowe.listBeforeDownload" to enable Z Open Editor to first search for the existence of a data set member before trying to download it when resolving include files. This will slow down performance, but will cause less logging on z/OS when using z/OSMF. The default is off to preserve performance. (Issue 134)
- Fixed the issue where COBOL copybook requests were not sent in parallel in certain cases where Unix-style line endings were used on Windows.
- Fixed the issue where COBOL and PL/I include file requests were sometimes sent twice if a document could not be found.
- Fixed the issue that language server errors and exceptions caused by a timing issue are displayed. (Issue 332)
- Fixed the issue where COPY or INCLUDE statements using custom libraries were in some cases resolved with syslib libraries.
- Improved the folder watching performance. When folders within the scope of the current ZAPP property groups are deleted or created, open program files will be re-parsed instead of a complete extension restart.
- Added the ability for User Build to automatically run the
git check-attr
command in the background to evaluate.gitattributes
in any folder of the workspace to upload files to UNIX System Services with the correct file encoding. If Git is not installed or cannot be found by the editor, Z Open Editor will continue trying to evaluate encoding itself. (Issue 331) - Fixed the issue in User Build where files specified in a ZAPP file as
additionalDependencies
were not converted and tagged correctly when being uploaded to UNIX System Services. - Fixed the issue where User Build failed to run when
dbbLogDir
does not exist on UNIX System Services. - Added a warning message to the User Build output view to inform the user when the language server is stopped, because the language server will then not be able to compute dependencies such as copybooks and cannot upload them to z/OS.
- Fixed the issue where User Build would not download any log files when the
logFilePatterns
property was not specified in the ZAPP file. Added a default that will download all files that match the pattern*.log
. - Fixed an issue where user build menu was not always hidden when user build was disabled via settings. (Issue 347)
- Fixed an issue where ZAPP and ZCodeFormat code snippets would not show when editing in multi-root workspaces.
- Updated dependencies for security audits.
- Added support for JCL symbols as a parameter for jobs on RSE CLI.
- Fixed an issue when saving files to z/OS with Zowe Explorer using RSE API and resolving conflicts with changes done by other users to the same file. VS Code will now properly show the conflicts in its differences editor allowing you to merge and save.
3.1.1 - 2023/03/30
- Fixed an issue with COBOL language code completion where code completion was not working on the first line of a COBOL file.
- Added support for
$
and<
/>
to be used as pseudo-text boundaries for the REPLACING strings in COBOL copybooks. (Issue 305) - Fixed an issue where COBOL literals were not being highlighted correctly when single quotes and double quotes were mixed. (Issue 308)
- Fixed an issue where the connection to the language server got disposed showing errors in the output view. (Issue 332)
- Fixed an issue where COBOL copybook requests did not download remote copybooks in parallel for non-syslib libraries.
- Fixed an issue with
.gitattributes
where*
could not be used as a pattern for encoding the selection of files. (Issue 331) - Fixed an issue where the Zowe team configuration's encoding property was not used when no
.gitattributes
file was present or no match was found. (Issue 331) - Fixed an issue where User Build on Windows uploaded remote copybooks to USS. (Issue 333)
- Updated Zowe and third-party dependencies addressing security scan results.
3.1.0 - 2023/03/10
- Added support for the PL/I v6.1 October 2022 Refresh with updated syntax highlighting, outline view, real-time syntax checking, and other language related features. See this blog post for details.
- Added support for using comma in the DEFINE compiler option syntax for COBOL. (Issue 278)
- Added code completion support for statements containing Unicode Strings in COBOL.
- Added code completion support for Compiler Directing statements (Compiler Options) in COBOL.
- Added code completion support for
ENABLE PROGAM
inEXEC CICS
Statements in COBOL. - Fixed an issue with COBOL where CBL or PROCESS service directive was not being recognized. (Issue 253)
- Fixed an issue with COBOL language showing false syntax errors for not correctly handling condition expressions on compilation variables in boolean format compared with the constant b'0' or b'1'. (Issue 321)
- Reverted syntax highlighting changes from last release for unsupported Boolean literals (
b
andbx
). The IBM COBOL compiler currently does not support them. (Issue 308) - Added new option
alignToClauses
tozcodeformat.yaml
files to support aligning TO clauses, aligning INTO clauses, and aligning TO clauses into column. - Added file watching support for all languages so that programs with INCLUDE and COPY statements are now automatically re-parsed when local included files or copybooks are edited, created, or deleted. (Issue 108). See Known Issues for a limitation involving file precedence in remote and local non-syslib libraries.
- Improved performance for loading PL/I include files. Include files that are being downloaded from a remote z/OS system will now resolve much faster as download requests are performed in parallel to a maximum of five files at once. (Issue 269)
- Significantly improved performance for searching for local copybooks and include files via property groups that use glob patterns that expand to many results. (Issue 315, Issue 293)
- Fixed an issue with no hover content of the copybook when COBOL source contains any errors in the COBOL program. (Issue 300)
- Fixed a bug where large copybooks and include files were not completely resolved, resulting in errors such as
Unable to resolve reference
to variables included from copybooks. (Issue 313) - Fixed a bug when editing REXX programs with remote REXX include files, which were resolved and saved with an incorrect file extension.
- Full support for all the new Zowe Explorer JES filtering options when using RSE API profiles.
- Fixed issue where user build logs in nested directories were not being found (Issue 296).
- Updated the user build output view and log file formatter to include timestamps when Z Open Editor's log level (
zopeneditor.logger
) is set toDEBUG
to help with trouble-shooting and measuring build times. (Issue 292) - Added support for path name specification for
.gitattributes
in IBM User Build. - Added new option for tagging files using
working-tree-encoding os=zos
in.gitattributes
in IBM User Build as an alternative tozos-working-tree-encoding
. - Addressed a concern that code snippets for ZAPP and ZCodeFormat files appeared in the code completion for all YAML files being edited. We therefore removed them from the Snippet Gallery and provided them as pure context-sensitive code completion items for
<ctrl-space>
. - Z Open Editor is now available to install as a web extension with limited capabilities when using Visual Studio Code in a browser, such as
vscode.dev
orgithub.dev
. Try it by going to https://vscode.dev/github/IBM/zopeneditor-sample and confirming to install the recommended extensions.
3.0.1 - 2023/01/18
- Performance improvements for loading COBOL copybooks. Copybooks that are being downloaded from a remote z/OS system will now resolve much faster as download requests are performed in parallel to a maximum of five files at once. PL/I will be updated with this capability in a later release. (Issue 269)
- Fixed invalid "REDEFINES clause must begin in Area B" error shown in COBOL editor when using the REPLACING clause with a REDEFINES. (Issue 287)
- Fixed issues with COBOL syntax highlighting when using literal delimiters. Respective language server fixes will be provided at a later date. (Issue 308)
- Fixed spelling in COBOL code snippets. (Issue 286)
- Fixed issue with
%Replace
in PL/I when using a minus sign in expression. (Issue 299) - Fixed an issue in User Build evaluating file names with special characters, such as
$
, in command shell expression. The DBB Daemon might also be effected by this problem. Remove the-DBB_PERSONAL_DAEMON
command line parameter from the ZAPP file if you still run into this problem. (Issue 288) - Fixed an issue with User Build not downloading log files for programs with lower or mixed case filenames, because dbb-zappbuild will automatically capitalize log file names. User Build will now also automatically capitalize the build file name when using the
${buildFile.basename}
variable underlogFilePatterns
in the ZAPP file. - Fixed syntax error in ZAPP code snippet for the dbb user build profile.
- Fixed issues in our RSE API support when using special characters in z/OS file or directory names.
- Fixed bugs and improved the usability of the change password command in the IBM RSE API Plug-in for Zowe CLI.
- Fixed error being thrown in Zowe Explorer when RSE API list of all members returns no members.
3.0.0 - 2022/11/22
Breaking Changes
For more details on breaking changes and the required manual migration steps see our user documentation.
- Z Open Editor now requires as a minimum a Java 11 runtime for running language servers. Users must upgrade their installed Java 8 runtime or Z Open Editor's language capabilities will not be available. See the documentation for the recommend Java Runtime Environments that you can use.
- ZAPP files are now replacing various user settings and cannot be disabled enabled anymore. The user setting "zopeneditor.zapp.enabled" has been removed.
- Property Groups have been removed from VS Code user and workspace settings. The setting
"zopeneditor.propertygroups"
is no longer available. Users must now use ZAPP files for specifying locations for include files. When only using Zowe Explorer to edit program files you need create a workspace folder with a ZAPP file as well. - Property Groups have been updated to contain references to local files as well as remote MVS files in the same property group item applying the same compiler options to each. The schema for a property group item has changed and users must update their ZAPP files. Please, check the documentation for the details and our migration page for how to upgrade.
- User Build settings have been updated to allow more configuration options such as allowing glob patterns to define files for uploading and downloading. See the IBM Wazi for VS Code User Build documentation for more details.
Other changes and fixes
- Fixed syntax of
EXEC CICS INQUIRE SYSTEM MAXOPENTCBS
. (Issue 257) - Added missing CICS v6.1
INQUIRE SYSTEM
options:SRRTASKS
,MEMLIMIT
andMQCONN
that used to cause syntax errors. - Fixed CICS v6.1
EXEC CICS CREATE DB2ENTRY ATTRIBUTES
option incorrectly flagged as an error. - Fixed CICS v6.1
EXEC CICS SET TAGS REFRESH
withNOHANDLE
andRESP
options incorrectly flagged as an error. - Fixed an issue in COBOL syntax checking for a working storage variable starting with
REMARKS
. It would be incorrectly identified as a REMARKS paragraph. (Issue 276) - Fixed an issue with COBOL Syntax Highlighting in the sequence number fields (1-6 and 73-80). (Issue 193)
- Fixed a NullPointerException caused by the PL/I Code Folding feature when opening copybook/include file from PL/I Editor. (Issue 277)
- Fixed a NullPointerException caused by the PL/I Code Folding feature when the currently selected word matches a code completion suggestion that would alter the outline view. (Issue 283)
- Fixed an issue with syntax checking for PL/I related to function parameters of type File as well as a
DEFINE ORDINAL
containing signed integers in the VALUE attribute. - Added REXX syntax highlighting for matching pairs of parenthesis. Auto-close parenthesis when typing.
- Fixed an issue with improper error logging regarding the list command in RSE CLI.
2.2.0 - 2022/09/20
- Fixed User Build and the RSE API CLI's upload command to correctly encode file names with special characters. Files such as "T@A#R$C" will now be correctly uploaded to USS. (Issue 266)
- Performance improvements for the REXX language server via parser optimizations. (Issue 256)
- Updated the REXX hover hyperlinks to point to the z/OS 2.5.0 reference.
- Improved performance and reliability for the HLASM language server by implementing cancellation support for requests that are no longer valid, as well as optimizing handling of document-link requests for macros.
- Fixed a bug where mixed case variables were not handled correctly in HLASM.
- Fixed a bug where hovers sometimes did not show the correct code snippet for SYS1.MACLIB macros in HLASM.
- Fixed a bug where document link underlines were not showing for HLASM macros when a file is first opened. Similar to a problem fixed for COBOL in (Issue 81) and (Issue 114).
- Fixed a bug where "Failed to fetch COPYBOOK" errors were causing slowdowns across the HLASM language server.
- Added initial support for code folding for control statements to the PL/I language server.
2.1.1 - 2022/08/14
- Added support for running User Builds with nested copybooks for COBOL. Issue 251
- Fixed User Build issues with credential dialogs and storing credentials for remote include file resolution using z/OSMF or RSE API. (Issue 245, Issue 255)
- Fixed User Build issues with credential dialogs and storing credentials for SSH commands when using z/OSMF.
- Fixed User Build issues when attempting to build from workspaces with spaces in the file path. (Issue 252)
- Fixed various issues when using ZAPP and User Build in a multi-root workspace. You can now use multi-root workspaces as long as you use a single ZAPP file and provide it together with the application-conf folder in the same workspace as your program. Include files such as copybooks can be in many other multi-root workspace folders. The ZAPP file needs to specify property groups with a workspace folder relative path even for include files located in other workspaces. User Build with user settings in multi-root workspaces is not supported. Please, switch to ZAPP files. See our Sample GitHub repository for more details and a examples for single-root workspaces, in the
wazi-main
branch as well as multi-root in themultiroot
folder of thewazi-main
branch. Also note, that for single as well as multi-root the value for the DBBbuildScriptArgs
parameter has changed for the--application
parameter to be now just a relative path to the application-conf directory. So in most cases you can just use--application .
, which makes it much easier as you do not have to provide the folder name of your workspace root in the ZAPP file anymore. Finally, thezopeneditor.userbuild.userSettings.localWorkspacePath
user setting has been deprecated is not used anymore. - Fixed an issue in the Z Open Editor output log not always reporting the correct Zowe profile management version in use.
- Fixed issue in the COBOL Code Formatter producing incorrect Area B alignments for USING statements.
2.1.0 - 2022/06/14
- Added language support for COBOL v6.4, PL/I v6.1, and CICS v6.1 with updated syntax highlighting, outline view, real-time syntax checking, and other language related features. See our documentation for details. (Issue 240)
- Added COBOL UTF-8-specific syntax elements in textmate grammar (Issue 241)
- Added an experimental COBOL code formatter that can be configured similar to Prettier with a yaml or json file. Find more details in our documentation (Issue 31)
- Updated HLASM Instructions to match the set that was shipped with IBM z16.
- Updated HLASM Macros to match the z/OS 2.5 SYS1.MACLIB. Switch the z/OS version back to 2.4 SYS1.MACLIB by using the user setting
zopeneditor.hlasm.zosMacrosVersion
. - Added
.macasm
and.copyasm
as default file extensions for HLASM. (Issue 220) - Added
.bms
as default file extensions for HLASM. (Issue 223) - Fixed an error in the Problems View when a custom-defined problemMatcher was used when compiling HLASM code. (Issue 230)
- Various fixes and refinements for HLASM syntax highlighting.
- Added REXX include file support consistent with the other languages using Property Groups in ZAPP files. (Issue 172)
- Added a status bar item that displays the currently active Zowe profile used by Z Open Editor for remote include file resolution and IBM User Build. (Issue 165)
- Added support to filter the information displayed in the RSE CLI plugin command
zowe rse check jobs
that displays all active job address space information. This functionality is available in RSE API v1.0.9. - Added support for use of passphrase in
change password
command with RSE API v1.0.9.
2.0.3 - 2022/05/20
- Fixed a synchronization issue that when saving syntactically correct ZAPP files the editor sometimes would still report errors.
- Fixed an issue in User Build related to file upload operations in which Z Open Editor would not evaluate the .gitattributes file correctly, not following the Git standard for precedences. (Issue 236)
- Updated how User Build parses .gitattributes files dealing with more file formats such as Windows CRLF files and added more logging for the encoding matches found or not found. (Issue 235)
- Added support for using the
ZOWE_CLI_HOME
environment variable to specify an alternative location for global team configuration files to Zowe Explorer 2.0.2 and Z Open Editor. (Issue 238) - Fixed various errors that prevented Zowe Explorer and Z Open Editor to run in Eclipse Che especially plugin containers with Nodejs 12. You can use these extensions now with secure credentials disabled as documented here.
2.0.2 - 2022/04/25
- Added full support for Zowe 2.0 in particular Zowe Explorer 2, Zowe CLI 7, Zowe API Mediation Layer 2. You can continue using your Zowe CLI 6.x profiles for backwards compatibility, but you must update Zowe Explorer to version 2 to do so. Review our Getting Started with Zowe 2.0 section in the Z Open Editor user documentation or the Zowe CLI documentation for how to migrate your 6.x profiles to the 7.x format.
- Added support for
auto-init
of Team config files to the IBM RSE API Plugin for Zowe CLI. Use it when you have you RSE API host component registered with the API Mediation Layer. - Switched the minimal required version of Node JS for IBM RSE API Plugin for Zowe CLI to version 14 as version 12 is out of support now.
- Added user setting
zopeneditor.server.startupOptions
for providing custom Java startup options for language servers. Can be used with tech support for troubleshooting.
2.0.0 - 2022/03/15
Z Open Editor is released as major version update to 2.0 to celebrate its availability in IBM Wazi Developer for Workspaces 2.0 that is now part of the IBM Z and Cloud Modernization Stack and fully supports running on OpenShift on Linux on Z. Note that because Zowe 2.0 was delayed to late April 2022, Z Open Editor has to be updated to support it once Zowe has been released. Other fixes and enhancements in this release:
- Added missing DEBUG-ITEM variables in the COBOL language server. (Issue 156)
- Added missing JNIENVPTR and JSON-STATUS variables in the COBOL TextMate grammar and the COBOL language server. (Issue 156)
- Fixed an issue in the COBOL language server not supporting a mixed case spelling of SQLCA and SQLDA. (Issue 208)
- Fixed an issue in the COBOL language server where the Rename Symbol feature was not renaming symbols that were spelled using a different character casing.
- Fixed an issue in the COBOL TextMate Grammar making the SCREEN keyword case insensitive.
- Fixed an issue in the COBOL language server where parsing failed because of period in column 72 and standard sequence numbering present in the program. (Issue 202)
- Fixed an issue in the COBOL Language Sever where parsing failed with invalid error message in COPY REPLACING statements. (Issue 181)
- Performance and reliability improvements for the COBOL and PL/I language servers by implementing cancellation support for requests that are no longer valid as well as optimizing handling of document-link requests for include files.
- Added new options to the truncation warning dialog for COBOL, PL/I, HLASM, REXX, and JCL files in Z Open Editor. Also, if only whitespaces are truncated the editor will not prompt anymore, it will just remove them automatically.
- Fixed an issue in the PL/I language server where hover content for include files were not rendering in the correct format. (Issue 211)
- Fixed an issue in the HLASM language server where NullPointerException were logged while rendering hovers after a document change.
- Fixed an issue where HLASM syntax highlighting was not correctly recognizing sequence numbers at the end of lines (Issue 192).
- Fixed an issue in the REXX language server where a trailing comma in a function parameter resulted in a syntax error.
- Improved the REXX language server performance and stability when editing large files.
- Z Open Editor and Zowe Explorer now share the profiles loaded into memory via the Zowe Explorer Extensibility API. Now if you make changes to a profile in Zowe Explorer or use the Reload button to load changes from disk done via CLI, the changes will be immediately visible to Z Open Editor without the need to run "Reload Zowe profiles" from the command palette. This command now performs the same operation as clicking the Zowe Explorer Refresh button.
- Made the Zowe connection test in Z Open Editor more robust and fixed the issue of tests timing out for slow connections. (Issue 197)
- Fixed an issue preventing submission of JCL in Zowe Explorer via command palette option "Zowe Explorer: Submit JCL" using RSE API CLI Zowe profiles.
- Fixed an issue with token and base Zowe CLI profiles support for MVS connection tests for remote file resolving.
- Added RSE API Zowe profile login and logout support for JSON Web Token authentication with the RSE API through Zowe Explorer.
- Improved working with interactive TSO commands for RSE API Zowe profiles by adding the TSO command tag
shell-id
, that can be used with RSE API server v1.0.8. - User Build now works with Zowe CLI profiles that do not store credentials. User will be prompted to provide them when the build starts.
- Adopted the latest version of dbb-zappbuild for User Build that now considers file tags for processing. The JSON dependency file will now be uploaded as a UTF-8 file. If you are using an older version of dbb-zappbuild, please update with the latest changes from its main branch on GitHub.
- Fixed an issue that would show the command
IBM User Build: Run IBM User Build
for files with unsupported languages in the command palette. - Fixed an issue that prevented recognizing ZAPP files running in Eclipse Che when workspaces folders were added or removed.
- Reviewed and revised multiple user interface strings and dialogs.
- Updated code samples in https://github.com/IBM/zopeneditor-sample/tree/wazi-main with Ansible playbooks and host variables for IBM Wazi Sandbox and the IBM Wazi as a Service tutorials.
1.4.1 - 2021/11/19
- Fixed an issue with COBOL syntax highlighting of reference modifications (Issue 177)
- Fixed the VS Code Toggle Line Comment (Cmd-/ or Ctrl-/) command for COBOL. You can now use it with the cursor being placed anywhere in the line as well as select a whole block of code and set or remove the comment symbol as a toggle. (Issue 157)
- Fixed several issues with HLASM syntax highlighting related to continuation lines, macro definitions, and substitution characters. (Issue 118, Issue 185). See our Known Issues page for problems not solved, yet.
- Fixed various inconsistencies with the HLASM outline view. It will now show the first occurrences of CSECTs, DSECTs, MACROs, Branch Targets, and Labels. (Issue 148). See our Known Issues page for problems not solved, yet.
- Enhanced HLASM outline view to now display all labels. See Customizing the outline view to change what is included in the outline view.
- Added support to use all REXX keywords as variables, excluding the 'END' keyword as well as improved the readability of keyword-related syntax error messages.
- Fixed an issue in which trying to load remote include files from MVS using an invalid Zowe CLI Profile password could lock user accounts due to too many failed attempts. Z Open Editor will now prompt for a new password to update the profile or allow canceling all requests. This fix also adds support for using Zowe CLI profiles that do not store credentials and you will be prompted when required. (Issue 142)
- Fixed an issue that prevented switching from Z Open Editor language servers to other languages. (Issue 164)
- Fixed a regression in which a ZAPP file was not found when using it in an IBM RSE API for Zowe CLI command parameter or in Z Open Editor when specifying a file with zopeneditor.zowe.defaultRseConversionMappingsFile that was not in the current workspace.
- Fixed an issue with User Build where dependencies would not upload again after making a change inside VS Code settings or ZAPP file settings.
- Fixed an issue with User Build where remote dependencies were being uploaded on Windows.
- Enhanced User Build messages to be more informative and actionable.
- Fixed security related logging issue.
1.4.0 - 2021/10/29
- You can now use User Build without SSH when using IBM RSE API for Zowe CLI profiles. SSH Zowe CLI profiles are now required by z/OSMF only.
- User Build speed is increased by sending additional dependency and metadata information to IBM Dependency Based Build on z/OS. Check the documentation for new dbb-zappbuild build script arguments.
- When you save user or workspace settings, Z Open Editor will recognize and reload all Zowe CLI profiles, which is particularly useful when you add new profile names to the
zopeneditor.zowe
setting. - Support for ZAPP files with Z Open Editor is now also available when running in Eclipse Che, Red Hat CodeReady Workspaces, and IBM Wazi Developer for Workspaces.
- Startup performance is faster with a smaller memory footprint due to significantly reduced language server sizes.
- You can use the IBM Debug for z/OS High Level Assembler debug listing files with the language ID
hlasmlst
and the default file extensionlangx
. - Fixed an issue in which a newly created ZAPP file was not recognized until the editor restarted.
- Enhanced some UI strings for effectiveness including menus and Preferences names and descriptions.
- New commands are added to IBM RSE API for Zowe CLI:
zowe rse create data-set --like
: Allocates a new data set with the same attributes as an existing data set specified by the--like
option in IBM RSE API for Zowe CLI. The allocate-like functionality can now also be used with RSE profiles in Zowe Explorer. To use this feature, RSE API server 1.0.7 or later versions are required.zowe rse check system-address-space
: Displays all active system address space information in RSE CLI plug-in. To use this feature, RSE API 1.0.5 or later versions, and IBM Explorer for z/OS 3.2.0.16 or later versions are required.zowe rse check job-address-space
: Displays all active job address space information in RSE CLI plug-in. To use this feature, RSE API 1.0.5 or later versions and IBM Explorer for z/OS 3.2.0.16 or later versions are required.
1.2.6 - 2021/08/19
- Fixed an issue with PL/I compiler options for margins not being interpreted correctly in the editor. (Issue 135)
- Fixed an issue that encoded special characters incorrectly in include file hovers for all languages. (Issue 128)
- Fixed issues with HLASM code completion not appearing correctly in continuation and empty lines. (Issue 118)
- Various fixes and improvements for REXX:
- Fixed issues with handling multi-line strings correctly for REXX.
- Made code completion in REXX case-sensitive so that it preserves the casing style the user was using before initiating completion requests with Ctrl+Space.
- Added an editor ruler at column 80 in REXX files. All editor rulers are customizable through the settings.
- Added truncation warnings for characters after column 80 in REXX files. The column number is customizable through the settings.
- Various REXX refinements that improve stability and performance of parsing and error messages.
- Fixed an issue in IBM RSE API for Zowe CLI that prevented the use of the correct encoding for file uploads to USS, which also impacted uploads via Zowe Explorer using an RSE API profile. This fix requires Zowe Explorer 1.18.0 or newer.
- Fixed an issue in User Build that prevented the use of the correct encoding as defined in
.gitattributes
to files uploaded via z/OSMF or RSE API profiles. - Addressed the user request to allow the
zopeneditor.zowe
settings to be scoped for workspace settings. This will be useful for development teams who standardize the names of their Zowe CLI profiles for their projects and use them for build automation. (Issue 143) - Adopted the new Zowe Explorer
zowe.files.temporaryDownloadsFolder.cleanup
setting to support the use of multiple VS Code windows showing the same files opened via Zowe Explorer, in order to see different parts of the same program on two different screens. Note that disabling the cleanup will result in files downloaded from z/OS not being removed when the editor is closed or restarted, so when you open a file via Zowe Explorer you may be viewing an outdated local version. Use the right-click "Pull from Mainframe" command to ensure you are working with the latest files. - Adopted new Zowe Explorer APIs that require Zowe Explorer 1.15.0 or newer to be installed. This release has been tested with Zowe Explorer 1.18.0.
1.2.5 - 2021/06/18
- Refined COBOL Renumber and Unnumber support making it configurable to work with columns 1-6 or 73-80 or both. If content other than numberic values is already present in these locations in a specific row then it will not update that location to preserve the content. (Issue 8)
- Fixed syntax highlighting for HLASM beyond column 16. There is still an issue with code completion that well be addressed in a later release. (Issue 118)
- Improved performance and reliability of downloading larger numbers of include files such as SYS1.MACLIB macros for the HLAMS editor hovers.
- Removed the performance warning dialog for property groups and replaced it with log messages (Issue 15)
- User Build now writes its output into a separate log file for users to share and analyze.
- Adoption of new Zowe Explorer API ICommand to allow issuing of TSO commands using RSE profiles via Zowe Explorer 1.14.0 and higher.
- RSE CLI plug-in updates:
- RSE CLI plug-in now prompts user for credentials for RSE profiles without user and password, during
zowe rse auth login
command to obtain JWT token, and if RSE API token is expired to obtain new token. - Fixed a regression that broke uploading a file as a sequential data set.
- RSE CLI plug-in now prompts user for credentials for RSE profiles without user and password, during
1.2.1 - 2021/04/21
- Made various improvements to our REXX language server and fixed defects:
- Added support for nested comments in REXX
- Added support for keyword instructions as variables in REXX (excludes DO, IF, PARSE, SELECT, TRACE).
- Fixed a find references bug in REXX where variables and functions with the same name matched
- Fixed a find references bug in REXX where keywords could be used to find references
- Refined the hover content and code completion detail in REXX to make the information more concise
- Updated the hover content in IBM Documentation to point to the new IBM Documentation pages for the z/OS 2.4.0 TSO/E REXX Reference.
- Standardized the syntax highlighting in REXX to color all keywords the same
- Fixed a syntax highlighting bug in REXX where "value" following "address" was not displaying in color as a keyword
- Fixed a syntax highlighting bug in REXX where the routine name following "call" was not displaying in color as a function
- Reviewed and updated all output and log messages for the IBM RSE API Plug-in for Zowe CLI to ensure consistency. Locate the log file in
~/.zowe/zowe/logs/zowe.log
. - Updated RSE API support for Zowe CLI base profiles for the Zowe API Mediation Layer (APIML) Single Sign On (SSO) for User Build and using the RSE API behind the Zowe APIML. Refer to this new blog post for an overview about how to use RSE API with the Zowe API Mediation Layer.
1.2.0 - 2021/03/19
- REXX language server: in this release we added language support for TSO/E REXX for z/OS. This first version includes syntax highlighting, syntax errors, code completion, find references, outline view, and rich documentation hover features. See our docs for all the details. (Issue 14)
- Added full support for encoding conversions to/from UTF-8 to/from international EBCDIC code pages for all our z/OS MVS interactions that use RSE API
- Introduced a new mapping file concept to ZAPP as well as standalone JSON files that allow specifying mappings to groups or individual data sets or even members.
- Added support for all RSE API CLI commands with new parameters as well as the ability to read mapping files that read and write to MVS.
- All Z Open Editor remote MVS read operations using RSE API to find include files now can use mappings defined in ZAPP or user-local mappings files.
- The Zowe Explorer integration with RSE API can also be configured to use mappings files for read and write operations of data set members.
- Added EBCDIC conversion mappings for z/OS USS to User Build. Users can provide a standard .gitattributes file that specifies the encoding the program files should be converted to when uploaded to z/OS USS for a build.
- Added context menus for COBOL with the ability to remove as well as renumber sequence numbers. (Issue 8)
- Made include file resolution case-insensitive by default to support users with lowercase filenames and property group path names on local case-sensitive file systems such as Linux. As this can lead potentially to ambiguity problems we also added a new user setting called
zopeneditor.enforceCaseSensitiveIncludeFileNames
to enable case sensitive matching, even on case-insensitive operation systems such as Windows. - The command
Reload Zowe Profiles
that you can use when you changed your Zowe profiles, which was mainly introduced for User Build, now also restarts the language servers and retries loading any remote MVS include files with the updated profile information. - Added a new Welcome page for new users that interactively checks for prerequisites and gives tips for getting started.
- Added support for APIML SSO for remote include file resolution such as COBOL Copybooks located on MVS. (Issue 107)
- Fixed an issue in which invalid Zowe CLI profile configurations could cause Z Open Editor to not activate. We now show error messages and the editor is still usable. (Issue 110)
1.1.3 - 2020/12/12
- Fixed regression when resolving copybooks/include files with property groups that have multiple syslib/library entries. (Issue 105)
1.1.2 - 2020/12/09
- Added support for
SYS1.MACLIB
macros to HLASM for code completion. If you have a valid Zowe Explorer connection, it will even retrieve the macro definition automatically and show you in rich hovers when you typed or completed the macro name. Ensure that you enable this feature in user settings before using it. - Improved the way that Z Open Editor is looking for your Java Runtime or SDK. Review our updated documentation for the search order in which it tries to locate Java, as well as how you can override it with user settings. Added official support for Java Runtimes, and an SDK is not required anymore.
- RSE CLI plug-in has added an encoding field that you can specify when creating or editing a Zowe RSE API CLI profile. You can use this field with newly added encoding tags for the commands of uploading and downloading MVS and USS files. Resolving copybooks will now use this encoding tag as well for RSE API and z/OSMF connections. (Issue 82)
- RSE CLI plug-in now supports MVS binary downloads. (Issue 58)
To update to RSE CLI plug-in 1.1.2, follow the instructions here for the optional migration.
1.1.1 - 2020/11/6
- Added full support for Zowe CLI Base Profiles with RSE API JWT tokens for CLI commands and well as Zowe Explorer 1.10.1 or newer. To use it also update the IBM RSE API Plugin for Zowe CLI 1.1.1 and follow the instructions here for the optional migration.
- Fixed issue for specifying the right PL/I margin with property groups compile option settings. Note, that the left margin must be at least 2 at the moment. (Issue 72)
- Added new documentation for the currently supported property group compile options.
- Fixed issue with using
$
,#
, or@
in HLASM and PL/I include file names. COBOL will be addressed in a future release. (Issue 86)
1.1.0 - 2020/10/23
- ZAPP (Z APPlication) file support. Instead of mixing the configuration of your application with VS Code Preferences you can now specify property groups and IBM User Build configurations in a new simple yaml (or json) file located in your workspace that you can share with your team in Git. See our docs for a tutorial.
- Added support for the Zowe CLI Secure Credentials Plugins for all Z Open Editor operations such as resolving include files or running user build (Issue 66)
- Property Groups can now be scoped to one specific language making include file resolution more efficient as well as to support compiler options. (Issue 72).
- Added the ability to provide language-specific compiler options such as
OR('!')
to property groups to configure the editor (Issue 17, Issue 61). - Include file resolution for COBOL and PL/I ignores SQLCA and SQLDA (Issue 71).
- Fixed issues with COBOL 6.3 support such as
>>if >>else >>end-if
(Issue 65). - The logger now provides more configuration information that will help in your interactions with tech support.
- Fixed issues managing Zowe Explorer favorites when using RSE API.
- Revised profile validation in Zowe Explorer when using RSE API.
We now include the IBM User Build VS Code Extension in IBM Z Open Editor. Changes since the 1.0.0 release:
- In addition to COBOL we added support for building PL/I and HLASM programs with IBM Dependency Based Build.
- Fixed an issue with corrupted DBB log files when downloaded from USS.
- User Build menus no longer appear for remote MVS or USS files opened via Zowe Explorer to avoid confusion about what can be built and what cannot.
- Added more detailed log messages in the IBM User Build Output window, such as the full ssh commands executed, as a summary of all the user and workspace settings being used for a build and more. The output will list all required and optional settings and their values before the user build script is executed. If any required settings are missing, user build will stop execution explaining which setting caused the problem.
- User Build can now run with files that contain spaces in their paths.
1.0.3 - 2020/08/07
- Added support for specifying custom include file extensions. You can now use the IBM Z Open Editor Preferences page to add and remove the file extensions to be used when searching for local include files such as COBOL copybooks. Also consistently added the Data Sets settings for remote include files to the visual editor allowing users to remove the mappings they do not want mapped in the files.association setting (Issue 16).
- Added branch targets to the HLASM Outline view.
- Fixed COBOL syntax highlighting that uses a "/" character for comments (Issue 60).
- Fixed HLASM syntax highlighting for macros starting with a "$" character (Issue 69).
- Added a support for using the
java.home
user setting for developers that install VS Code with the Microsoft Installer of VS Code for Java developer or the Java Extension Pack. - Added a Zowe Profile validation routine that is called when adding and using RSE API profiles with Zowe Explorer 1.7 or newer.
1.0.2 - 2020/06/30
- Merged v0.5.2 with v1.0.1 to publish v1.0.2 to the VS Code Marketplace that now includes the language server for IBM High-Level Assembler (HLASM) for z/OS 2.4.
- Reorganized the language server packaging to reduce the size of the extension to less than half than it was before.
1.0.1/0.5.2 - 2020/06/23
- Fixed false positives in Java compatibility check that prevented newer Java SDK versions than 8 to be used. (Issue 57)
1.0.0 - 2020/06/12
- This is our v1.0 release for which you will be able to purchase technical support from IBM.
- Added a language server for IBM High-Level Assembler (HLASM) for z/OS 2.4.
- Currently only available here, because of VS Code Marketplace size restrictions: https://ibm.github.io/mainframe-downloads/downloads.html
0.5.0 - 2020/06/12
- Added syntax error checking for COBOL Copybooks.
- Added support for CICS 5.6 syntax.
- Rewrote the algorithm for searching for remote include files using Zowe CLI profiles.
- Added user settings for specifying which Zowe CLI profile to use for finding remote include files on MVS in case you use multiple z/OSMF or RSE API CLI profiles.
- Added Logger to analyze issues. Switch it on in the IBM Z Open Editor VS Code Preferences under User Settings.
- Fixed bug with Unreachable Code Detection in COBOL EXECL SQL statements and switched default of the
"zopeneditor.cobol.enableUnreachableCodeWarnings"
Preferences setting back to true. (Issue 18) - Updated LSP4J language servers to baseline v0.9.0 and VS Code language clients to v6.1.3.
- Improved LSP startup times.
- Added more Java runtime checks to ensure you are using a valid Java SDK with the Z Open Editor extension.
- Various enhancements and fixes for RSE API support such as Get JCL from the Zowe Explorer JES view as well as Migrate/Recall from the Zowe Explorer MVS view.
- Fixed rare race condition when starting language servers. (Issue 45)
- Various stability fixes and refinements.
0.4.9 - 2020/04/23
- Fixed an issue when using RSE for the Zowe Explorer JES view.
- Fixed errors messages users saw when creating z/OSMF profiles in Zowe Explorer when Zowe CLI and/or the IBM RSE API Plugin for Zowe CLI was not installed.
0.4.7 - 2020/03/27
- Added Beta-level support for the new Remote System Explorer API (RSEAPI) REST servers that can be used as an alternative to z/OSMF for remote file operations as well as Zowe Explorer visual explorer views. If you run RSE already for IBM Developer for Z or IBM z/OS Explorer you can simply update. Go to https://ibm.github.io/zopeneditor-about for more details.
- Reduced the memory consumption of the extension by starting language servers only if a program in a specifc language is opened for the first time. This will avoid that you are wasting valuable PC memory for languages that you do not use. In addition we added two optional commands that you can run to pause the COBOL or PL/I language server once you finished with one language and want to free up its memory. When you open a program of that language again the language server will restart.
- Added code actions that provide suggestions for resolving COBOL copybooks and PL/I include files by linking to Online Help pages.
- Removed MQ code templates for now as we ran into some language compatibility issues.
0.4.5 - 2020/01/07
- Added an additional 27 code snippets for MQ development with COBOL and 27 for MQ with PL/I.
0.4.3 - 2019/12/18
- Added more code snippets for COBOL, PL/I and JCL, which brings it to a total of 186. For COBOL we now provide 27 General COBOL language support snippets, 12 Embedded SQL snippets, 29 for CICS, 12 for IMS, and 8 for VSAM. Similarly, we provide for PL/I 12 General PL/I language support snippets, 29 CICS, 11 IMS, and 7 VSAM. Finally, we have 27 code snippets for JCL.
0.4.1 - 2019/11/21
- Language server updates to support IBM Enterprise COBOL v6.3 and PL/I v5.3.
- Added all new sets of IBM field contributed code snippets for COBOL embedded SQL and CICS, PL/I embedded SQL, and various new JCL snippets. This is just the beginning of us curating a larger portfolio of high-value code snippets and incrementally releasing these in the coming months. Keep and eye out and let us know what you think of these snippets.
- Added an import command for loading Code Snippets exported by the IBM Developer from z/OS. Do you have your own set of code snippets that you managed in the Snippets view in IDz? You can now export and import these into Z Open Editor.
- Switched off COBOL Unreachable Code warnings by default as there are cases in which it can provide false positives (see here for details). If you can accept the risk of a few false reports then you can enable it again by using the
"zopeneditor.cobol.enableUnreachableCodeWarnings": true
VS Code user or workspace setting. - Fixed a code completion bug for COBOL and PL/I that would erase text to the right of the cursor.
- Fixed cases in which COBOL statements before the IDENTIFICATION DIVISION would break syntax checking. (Issue #9)
- Fixed exceptions thrown by the PL/I LSP when computing document links (Issue #13)
- Fixed issues with COBOL Unreachable Code warnings not being shown at all in some cases. (Issue #7)
- Fixed an issue in which invalid PIC clauses would not be reported as syntax errors.
0.3.11 - 2019/09/27
- "Unreachable Code" is not reported as an error anymore, but is now a warning message in the Problems View.
- Switch off "Unreachable Code" detection completely with this new setting:
"zopeneditor.cobol.enableUnreachableCodeWarnings": false
. - We implemented GLOB pattern matching in Property Group settings for finding Copybooks on the local file system as requested in this issue. Use with care as a very large search space will slow down the editor.
- We added support for VS Code Multi-root Workspaces allowing you to now specify Property Groups for finding Copybooks for a workspace comprising of many development project folders and Git repositories. To use it move your Property Groups to the Workspace File.
- We updated and revised our documentation for using Property Groups with patterns and workspaces in the Online Help. We also added examples for using it on Windows versus Mac/Linux.
- Fixed an issue with using the Tab key in Code Snippets and when using it for indentation in the editor.
0.3.9 - 2019/09/23
- Just removed Preview flag in preparation for the announcement.
- Stay tuned for more cool things to come.
0.3.7 - 2019/09/17
- Fixes to the documentation and hyperlinks.
- Renamed extension preferences configuration name.
0.3.5 - 2019/09/13
- First public release evolving out of the Wazi technology preview. See README.md for details.