Releases: zowe/zowe-native-proto
Releases · zowe/zowe-native-proto
v0.2.0
VS Code Extension
- Renamed
SshConfigUtilsclass toConfigUtilsto avoid naming conflicts with SDK files #614 - Added new
defaultHandshakeTimeoutVS Code setting to allow users to customize the handshake timeout when not specified in the profile. #605 - Fixed SSH client caching to be per profile instead of per hostname, allowing multiple server instances on the same system. #558
- Updated RPC response types for data set operations to align with SDK changes. #590
- Added support for issuing TSO commands. #595
- Fixed an issue where the input validation for the deploy directory prompt would falsely detect paths as invalid. #609
CLI Plug-in
- Updated
CliPromptApiclass to gracefully handle unused functions from theAbstractConfigManagerclass. #605 - Added a
--depthoption to thezssh list usscommand for listing USS directories recursively. #575 - Added
zssh issue tso-commandcommand. #595
Client SDK
- Added unit tests for
SshConfigUtilsclass. #614 - Addressed an issue where
~was not being resolved to the home directory within ssh configuration files. #614 - Added additional error messages to the
AbstractConfigManagerclass to provide better feedback during connection attempts. #605 - Added
depthproperty to theListFilesRequesttype for listing USS directories recursively. #575 - Replaced
this.uninstallServerwith the class referenceZSshUtils.uninstallServerinZSshUtils.ts. [#586] (#586). - Added
recfmproperty to theDatasettype for listing data sets with attributes. #558 - Restructured RPC request and response types to be human-maintained rather than auto-generated to improve maintainability. #590
- Made attribute properties optional in the
DatasetandUssItemtypes. #608 - Fixed an issue where the input validation logic in the
AbstractConfigManager.promptForDeployDirectoryfunction would falsely detect paths as invalid. #609
z/OS Components
c: Fixed issue where uploading changes to a PDS member removed its ISPF stats. #556c: Streamlined argument checks and access within command handlers. Handlers can now useget,get_ifandfindto search for arguments and retrieve their values, regardless of whether the argument is a keyword or positional argument. #574c: Command handlers can now be called directly by providing anInvocationContext. The context provides helper functions for error, input, and output stream redirection. Handlers can use this context to print output and errors, as well as setting content length. #574c: Organized command handlers into separate source files and namespaces in thecommandsfolder. Reduced size of main entrypoint function by moving command registration to aregister_commandsfunction contained in each namespace. #409native: Added a--depthoption to thezowex uss listcommand for listing USS directories recursively. #575native: Addedzowex job list-proclibto list proclib concatenation.c: Fixed issue where a directory handle was leaked when runningchmod,chown,chtagordeleteUSS commands. #577c: Fixed issue where a file handle was leaked if thefldatafunction call failed when listing data set members. #577c: Fixed issue where a file handle was leaked if thefldatafunction call failed in thehandle_data_set_compresscommand handler. #577c: Fixed issue in thezut_substitute_symbolfunction where passing patterns with a length greater than the input buffer would cause a buffer overflow. #577c: Fixed undefined behavior in thezut_bpxwdynfunction by verifying that the allocated 31-bit region is valid before writing to it. #577c: The CLI parser now prints unexpected, trailing positional arguments when handling command input. #594- Rewrote the middleware (
zowed) in C++. This removes our dependency on Golang, improves performance, and allows parallel requests to be handled in a single address space. #595 c: Fixed issue where automatic codepage conversion with_BPXK_AUTOCVTwas not disabled for all USS read and write operations, which could interfere with the--encodingoption. #620
v0.1.10
VS Code Extension
- Updated the
Zowe-SSH: Connect to Host...command to prompt the user to choose a deploy directory.[#527] (#527)
CLI Plug-in
- Added a
storeServerPathfunction as placeholder for future CLI functionality to persist deploy directory paths from user input. #527
Client SDK
- Added a
promptForDeployDirectoryfunction to prompt the users to choose a deploy directory aside from the default.[#527] (#527)
z/OS Components
c: Addedzowex tool list-parmlibcommand to list parmlib concatenation data sets.- Added plug-in support to the
zowexbackend. Plug-ins can contribute commands that users invoke throughzowex. For more information on how to create and register a plug-in withzowex, please refer to theplugins.mdfile in thedoc/root-level folder. #148
v0.1.9
VS Code Extension
- Moved
showSessionInTreecall to beforeuninstallServeris called to ensure the session is displayed in the tree before the uninstall removes it. [#484] (#484) - Filtered out certain information messages to display a clear and concise error message for when creating a data set with an invalid management class. #502
- Added "Worker Count" setting to configure number of
zowexworker threads. #514 - Fixed error when using SSH profiles in Zowe Explorer 3.3.0. #540
- Fixed an issue where the
Zowe-SSH: Connect to Host...command did not prompt the user for a password if the given private key was not recognized by the host. #524 - Added a new prompt that shows if the user has an invalid private key on an existing profile when running the
Zowe-SSH: Connect to Host...command. Now, if an invalid private key is detected, it is moved to a new comment in the JSON file and the user is given options to proceed. They can undo the comment action, delete the comment entirely, or preserve the comment and succeed with setup. #524
CLI Plug-in
- Added support for the
local-encodingoption to data set, USS file, and job file commands (view, download, upload) to specify the source encoding of content (defaults to UTF-8). #511 - Added support for
--volume-serialoption when uploading/downloading data sets. #439 - Fixed an issue where the
zssh config setupcommand did not prompt the user for a password if the given private key was not recognized by the host. #524 - Added a new prompt that shows if the user has an invalid private key on an existing profile when running the
zssh config setupcommand. Now, if an invalid private key is detected, it is moved to a new comment in the JSON file and the user is given options to proceed. They can undo the comment action, delete the comment entirely, or preserve the comment and succeed with setup. #524
Client SDK
- Updated the
ZSshUtils.uninstallServerfunction to remove the deploy directory and all of its contents.[#484] (#484) - Changed default number of
zowexworker threads from 10 to 3 to reduce resource usage on z/OS. #514 - Added support for
localEncodingoption in data set, USS file, and job file operations to specify the source encoding of content (defaults to UTF-8). #511 - Added support for
volumeoption when reading/writing data sets. #439 - Added a new
ConfigFileUtilsclass with helper functions for commenting out properties, removing comments after thepropertiessection of a profile, and restoring properties from comments to their original values. #534
z/OS Components
golang: Fixed an issue where an empty response on theHandleReadFileRequestfunction would result in a panic. #550c: Fixed issue where thezowex ds lmcommand always returned non-zero exit code for warnings and ignored the--no-warnflag. #498c: Fixed issue where thezowex job submit-jclcommand submitted the given JCL contents twice, causing two jobs to be created. #508c: Implemented a logger for Metal C and C++ source code for diagnostics, debug information, and printing dumps. When enabled, log messages are written to a log file namedzowex.login a newlogsfolder, relative to the location of thezowexbinary. #107golang: Moved location of log file inside "logs" directory to be consistent withzowex. #514c: Fixed issue where thezowex ds writecommand automatically created a data set when it did not exist. #292native: Fixed issue where thezowex ds lscommand could hang when listing data sets that the system cannot open. #496c: Added--local-encodingoption for read and write operations on data sets, USS files, and job files to specify the source encoding of content (defaults to UTF-8). #511c: Fixed issue where thezowex ds createcommand did not parse--alcunitand integer arguments (e.g.,--primary). #414c: Fixed issue where listing data sets fails if theOBTAINservice fails while obtaining attributes for a data set in the list of matches. #529native: Added support forvolseroption when reading/writing data sets. #439native: Reduced number of memory allocations in vectors by reserving capacity before adding elements. #522c: Added wrappers for Web Enablement Toolkit to be invoked via Metal C as header only or from LE-C using a 64-bit wrapper.c: Added thezstd::optionalclass for handling optional values.c: Added thezstd::unique_ptrclass andzstd::make_uniquefunction for RAII-based automatic memory management.c: Added thezstd::expectedclass for error handling similar to RustResulttype.
Additional Assets
-
zowe_native_bindings-0.1.0-py3-none-any.whl
This wheel should work with Python 3.11.Feel free to use this script for testing...
import pwd import os from zowe_native_bindings import * # ------------------------------------------------------ # Testing USS Files # from zusf_py import * print("\n--- Testing list_uss_dir ---") dir_listing = zusf_py.list_uss_dir("/tmp") print(f"Directory listing for /tmp:") for file in dir_listing.splitlines()[:10]: # Show first 10 to avoid overwhelming output print(file) # ------------------------------------------------------ # Testing Jobs # from zjb_py import * job_owner = pwd.getpwuid(os.getuid())[0] print("\n--- Testing list_jobs_by_owner ---") job_list = zjb_py.list_jobs_by_owner(job_owner) print(f"Found {len(job_list)} jobs for owner {job_owner}") for job in job_list: print(f"Job: {job.jobid} {job.jobname} Status: {job.status} RetCode: {job.retcode}") # ------------------------------------------------------ # Testing Data Sets # from zds_py import * print("\n--- Testing list_data_sets (system datasets) ---") sys_dsname = "sys1.**" print(f"Listing data sets: {sys_dsname}") sys_ds_list = zds_py.list_data_sets(sys_dsname) print(f"Found {len(sys_ds_list)} system datasets") for ds in sys_ds_list[:5]: # Show first 5 to avoid overwhelming output print(f" Dataset: {ds.name} DSORG: {ds.dsorg}, RECFM: {ds.recfm} VOLSER: {ds.volser}, MIGR: {ds.migr}") # ------------------------------------------------------
v0.1.8
z/OS Components
native: Added default value for--recfmso that when no options are specified the data set will not contain errors. #493- Fixed issue where special characters were detected as invalid characters when provided to
zowexcommands. #491 native: Increase default max returned entries inzowex ds listfrom 100 to 5000. This helps with #487 but does not fix it. In the future, users should be able to specify on the Zowe Clients the max number of entries.
v0.1.7
VS Code Extension
- Fixed regression in performance where opening data sets and USS files in the editor could be slow. #488
Client SDK
- Fixed inconsistent type of the
dataproperty between theReadDatasetResponseandReadFileResponsetypes. #488
z/OS Components
- Updated CLI parser
find_kw_arg_boolfunction to take in an optional booleancheck_for_negationthat, whentrue, looks for a negated option value. #485 - Fixed issue where listing data set members did not check for the negated option value. Now, the command handler passes the
check_for_negationoption to thefind_kw_arg_boolfunction to check the value of the negated, equivalent option. #485 golang: Fixed inconsistent type of thedataproperty between theReadDatasetResponseandReadFileResponsetypes. #488
v0.1.6
VS Code Extension
- Fixed regression where USS download operations would fail because of a missing callback function. #482
Client SDK
- Fixed a TypeError in
ZSshClient.requestthat caused stream operations to fail if a callback was not provided for progress updates. #482
z/OS Components
native: Fixed regression where data set download operations would fail due to a content length mismatch, due to the content length being printed as hexadecimal rather than decimal. #482
v0.1.5
VS Code Extension
- Implemented the
getTagfunction in theSshUssApiclass to return the tag of a UNIX file. Now, the VS Code extension automatically detects the file tag before the file is opened, and the detected encoding is shown in the "Open with Encoding" menu in Zowe Explorer. #346 - Adopted streaming for API methods that upload/download data sets and USS files. #358
CLI Plug-in
- Added support for progress messages for USS files downloaded and uploaded via the CLI plug-in. #426
- Added support for listing the long format for USS files with the
longrequest option. When provided, the CLI plug-in prints additional file attributes, including permissions, file tag, file size, number of links, owner, and group. #346 - Added support for listing all USS files with the
allrequest option. When provided, the CLI plug-in includes hidden files in the list response. #421 - Added support for the
encodingoption to thezssh upload ussand thezssh upload dscommands. When theencodingoption is provided, the command uses the option value as the target encoding for the uploaded content. #427 - Added support for the
fileoption to thezssh download ussandzssh download dscommands. When thefileoption is provided, the command uses the option value as the destination file path for the downloaded content. #428 - Adopted streaming for commands that upload/download data sets and USS files. #358
Client SDK
- Added support for progress messages for USS files downloaded and uploaded via the CLI plug-in. #426
- Added support for listing the long format for USS files with the
longrequest option. When provided, the SDK returns additional file attributes, including permissions, file tag, file size, number of links, owner, and group. #346 - Added support for listing all USS files with the
allrequest option. When provided, the SDK includes hidden files in the list response. #421 - Refactored handling of RPC notifications to be managed by a separate class
RpcNotificationManager. #358 - Added content length validation for streamed requests. #358
- Removed unnecessary prompt to unlock keyring on MacOS when connecting to a new host with a private key. #453
z/OS Components
native: Added completion code forPOSTso that users of the library code may determine if a timeout has occurred.native: Addedtimeoutforzowex console issueto prevent indefinite hang when no messages are returned. #470native: AddedcontentLenproperty to RPC responses for reading/writing data sets and USS files. #358native: Fixed file tag being prioritized over user-specified codepage when reading/writing USS files. #467native: Fixed issue wheremax-entriesargument was incorrectly parsed as a string rather than an integer. #469native: Thezowexroot command now has a command handler to make adding new options easier. #468
v0.1.4
z/OS Components
c: Fixed an issue where the CLI help text showed the[options]placeholder in the usage example before the positional arguments, which is not a supported syntax. Now, the usage text shows the[options]placeholder after the positional arguments for the given command.c: Addedzowex versioncommand to print the latest build information for thezowexexecutable. The version output contains the build date and the package version. #366c: Addedfull_statusvariable from job output to the CSV output for thezowex job view-status --rfccommand. #450
v0.1.3
Client SDK
- The
modeproperty for a list files response now contains the UNIX permissions of the corresponding file/folder. #341 - Fixed an issue where a non-fatal
chdirerror (OpenSSH codeFOTS1681) prevented the clients from handling the middleware's ready message. Now, the SSH client waits for the ready message from thezowedmiddleware before returning the new client connection.
z/OS Components
c: Fixed S0C4 where supervisor state, key 4 caller invokeszcn_putwhile running in SUPERVISOR state. #392c: Fixed S0C4 where supervisor state, key 4 caller invokeszcnAPIs and several miscellaneous issues. #389c: Fixed issue where canceled jobs displayed as "CC nnnn" instead of the string "CANCELED". #169c: Fixed issue where input job SYSOUT files could not be listed or displayed". #196native: Fixed issue wherezowedfailed to process RPC requests larger than 64 KB. #364golang:zowednow returns the UNIX permissions for each item'smodeproperty in a USS list response. #341c: Added--longoption to thezowex uss listcommand to return the long format for list output, containing additional file metadata. #341c: Added--alloption to thezowex uss listcommand to show hidden files when listing a UNIX directory. #341c: AddedListOptionsparameter to thezusf_list_uss_file_pathfunction to support listing the long format and hidden files. #341c: Fixed issue where the record format (recfmattribute) was listed as unknown for a Partitioned Data Set (PDS) with no members. Now, the record format for all data sets is retrieved through the Volume Table of Contents. #351c: Added CLI parser and lexer library for use inzowex. For an example of how to use the new CLI parser library, refer to the sample CLI code inexamples/native-cli/testcli.cpp.c: Fixed an issue where the zowexds listcommand always printed data set attributes when passing the argument--response-format-csv, even if the attributes argument wasfalse.c: Fixed an issue where thezusf_chmod_uss_file_or_dirfunction did not handle invalid input before passing the mode to thechmodC standard library function. #399c: Refactored the Base64 encoder and decoder to remove external dependency. #385
v0.1.2
VS Code Extension
- Enhanced SSH profile validation to auto-deploy server when it is missing or out of date. #44
- Added keep-alive messages to keep SSH connection active. Their frequency can be controlled with the "Keep Alive Interval" option. #260
Client SDK
- Improved error handling when SSH client connects to throw
ENOTFOUNDif server binary is missing. #44 - Added
ZSshUtils.checkIfOutdatedmethod to check if deployed server is out of date. #44 - Added
keepAliveIntervaloption when creating an instance of theZSshClientclass that defaults to 30 seconds. #260 - Added support for streaming data in chunks to handle large requests and responses in the
ZSshClientclass. This allows streaming USS file contents for read and write operations (ReadDatasetRequest,ReadFileRequest,WriteDatasetRequest,WriteFileRequest). #311
z/OS Components
golang:zowednow prints a ready message once it can accept input over stdin. #221golang: Reduced startup time forzowedby initializing workers in the background. #237golang: Added verbose option to enable debug logging. #237golang: Added SHA256 checksums to the ready message to allow checks for outdated server. #236c,golang: Added support for streaming USS file contents for read and write operations (zusf_read_from_uss_file_streamed,zusf_write_to_uss_file_streamed). #311c,golang: Added support for streaming data set contents for read and write operations (zds_read_from_dsn_streamed,zds_write_to_dsn_streamed). #326c: Added support forrecfm(record format) attribute when listing data sets.c: Fixed issue where data sets were not opened with the rightrecfmfor reading/writing.