Zowe Explorer
New features and enhancements
- Refactored behavior and management of Favorites in Zowe Explorer. #2026
- Renamed
isHomeProfilecontext helper function toisGlobalProfilefor clarity. #2026 - Set up POEditor project for contributing translations and cleaned up redundant localization strings. #546
- Replaced
ts-loaderwithesbuild-loaderto improve build speed for developers. #2909 - Grouped Common methods into Singleton classes. #2109
- BREAKING Moved data set templates out of data set history settings into new setting "zowe.ds.templates". #2345
- Ported the following enhancements from v2:
- Added integration and end-to-end test framework to verify extension behavior and catch issues during Zowe Explorer development. #2322
- Breaking: Removed deprecated methods: #2238
DatasetActions.copyDataSet- useDatasetActions.copyDataSetsinsteadUSSActions.pasteUssFile- useDatasetActions.pasteUssinsteadZoweUSSNode.refreshAndReopen- useZoweUSSNode.reopeninstead
- Add deprecation message to history settings explaining to users how to edit items. #2303
- Breaking: Consolidated VS Code commands:
zowe.ds.addFavorite,zowe.uss.addFavorite,zowe.jobs.addFavorite- usezowe.addFavoriteinsteadzowe.ds.disableValidation,zowe.uss.disableValidation,zowe.jobs.disableValidation- usezowe.disableValidationinsteadzowe.ds.deleteProfile,zowe.uss.deleteProfile,zowe.jobs.deleteProfile,zowe.cmd.deleteProfile- usezowe.deleteProfileinsteadzowe.ds.editSession,zowe.uss.editSession,zowe.jobs.editSession- usezowe.editSessioninsteadzowe.ds.enableValidation,zowe.uss.enableValidation,zowe.jobs.enableValidation- usezowe.enableValidationinsteadzowe.ds.openWithEncoding,zowe.uss.openWithEncoding- usezowe.openWithEncodinginsteadzowe.ds.removeFavorite,zowe.uss.removeFavorite,zowe.jobs.removeFavorite- usezowe.removeFavoriteinsteadzowe.ds.removeFavProfile,zowe.uss.removeFavProfile,zowe.jobs.removeFavProfile- usezowe.removeFavProfileinsteadzowe.ds.removeSavedSearch,zowe.uss.removeSavedSearch,zowe.jobs.removeSearchFavorite- usezowe.removeFavoriteinsteadzowe.ds.removeSession,zowe.uss.removeSession,zowe.jobs.removeSession- usezowe.removeSessioninsteadzowe.ds.saveSearch,zowe.uss.saveSearch,zowe.jobs.saveSearch- usezowe.saveSearchinsteadzowe.ds.ssoLogin,zowe.uss.ssoLogin,zowe.jobs.ssoLogin- usezowe.ssoLogininsteadzowe.ds.ssoLogout,zowe.uss.ssoLogout,zowe.jobs.ssoLogout- usezowe.ssoLogoutinstead
- Added support for
consoleNameproperty in z/OSMF profiles when issuing MVS commands #1667 - Updated sorting of PDS members to show items without stats at bottom of list #2660
- Added PEM certificate support as an authentication method for logging into the API ML. #2621
- Added support to view the Encoding history for MVS and Dataset in the History View. #2776
- Added error handling for when the default credential manager is unable to initialize. #2811
- Breaking: Zowe Explorer no longer uses a temporary directory for storing Data Sets and USS files. All settings related to the temporary downloads folder have been removed. In order to access resources stored by Zowe Explorer v3, refer to the FileSystemProvider documentation for information on how to build and access resource URIs. Extenders can detect changes to resources using the
onResourceChangedfunction in theZoweExplorerApiRegisterclass. #2951 - Implemented the
onVaultUpdateVSCode events to notify extenders when credentials are updated on the OS vault by other applications. #2994 - Changed default base profile naming scheme in newly generated configuration files to prevent name and property conflicts between Global and Project profiles #2682
- Implemented the
onCredMgrUpdateVSCode events to notify extenders when the local PC's credential manager has been updated by other applications. #2994 - Implemented support for building, exposing and displaying table views within Zowe Explorer. Tables can be customized and exposed using the helper facilities (
TableBuilderandTableMediator) for an extender's specific use case. For more information on how to configure and show tables, please refer to the wiki article on Table Views. #2258 - Added support for logging in to multiple API ML instances per team config file. #2264
- Added remote lookup functionality for Data Sets and USS, allowing Zowe Explorer to locate and resolve mainframe resources on demand. #3040
- Implemented change detection in the Data Sets and USS filesystems, so that changes on the mainframe will be reflected in opened editors for Data Sets and USS files. #3040
- Implemented a "Show as Table" option for profile nodes in the Jobs tree, displaying lists of jobs in a tabular view. Jobs can be filtered and sorted within this view, and users can select jobs to cancel, delete or download. #2258
- Replaced
lodashdependency withes-toolkitto reduce webview bundle size and add technical currency. #3060
Bug fixes
- Fixed vNext-only issue where users are not able to create data sets. #2783.
- Omitted the following Zowe Explorer commands from the Command Palette that do not execute properly when run as a standalone command:
Zowe Explorer: Cancel jobZowe Explorer: Filter jobsZowe Explorer: Filter PDS membersZowe Explorer: Sort jobsZowe Explorer: Sort PDS membersZowe Explorer: Start PollingZowe Explorer: Stop Polling
- Ported the following fixes from v2:
- Moved schema warnings into the log file (rather than a UI message) to minimize end-user disruption. #2860
- Fix issue with base profile not being included in fresh team configuration file. #2887
- Fixed an issue where the
onProfilesUpdateevent did not fire after secure credentials were updated. #2822 - Fixed issue where saving changes to favorited PDS member fails when custom temp folder is set on Windows. #2880
- Fixed issue where multiple extensions that contribute profiles to a tree view using the Zowe Explorer API may fail to load. #2888
- Fixed regression where
getProviderForNodereturned the wrong tree provider after performing an action on a Zowe tree node, causing some commands to fail silently. #2967 - Fixed issue where creating a new team configuration file could cause Zowe Explorer to crash, resulting in all sessions disappearing from trees. #2906
- Addressed breaking changes from the Zowe Explorer API package.#2952
- Fixed data set not opening when the token has expired. #3001
- Fixed an issue where upgrading from Zowe Explorer v1 and selecting "Reload Extensions" causes Zowe Explorer v3 to fail during initialization. #3051
- Fixed an issue where remote lookup functionality caused the local side of a conflict to be overwritten with the remote contents. #3085
- Fixed an issue where the remote conflict icons showed when using the "Compare with Selected" feature. #3085
- Update Zowe SDKs to
8.0.0-next.202408291544for technical currency. #3057
IBM z/OS FTP for Zowe Explorer
New features and enhancements
- Replaced
ts-loaderwithesbuild-loaderto improve build speed for developers. #2909
Bug fixes
- Changed the hashing algorithm for e-tag generation from
sha1tosha256to avoid collisions. #2890 - Updated the FTP plugin dependency to
3.0.0-next.202403191358for technical currency #2783. - Renamed extension to
IBM z/OS FTP for Zowe Explorer. #2990 - Update Zowe SDKs to
8.0.0-next.202408291544for technical currency. #3057
Zowe Explorer APIs
New features and enhancements
-
Deprecated the following properties on Zowe tree interfaces in favor of setters and getters to incentivize encapsulation: #2026
binaryproperty on theIZoweDatasetTreeNodeinterface - use thegetEncodingandsetEncodingfunctions instead.encodingMapproperty on theIZoweDatasetTreeNodeandIZoweUSSTreeNodeinterfaces - use thegetEncodingInMapandupdateEncodingInMapfunctions instead.statsproperty on theIZoweDatasetTreeNodeinterface - use thegetStatsandsetStatsfunctions instead.encodingproperty on theIZoweDatasetTreeNodeandIZoweUSSTreeNodeinterfaces - use thegetEncodingandsetEncodingfunctions instead.shortLabelproperty on theIZoweUSSTreeNodeinterface - use thegetBaseNamefunction instead.attributesproperty on theIZoweUSSTreeNodeinterface - use thegetAttributesandsetAttributesfunctions instead.
-
Breaking: Added return type of
Promise<void>toIZoweTree.addDsTemplate. #2345 -
Breaking: Added return type of
Promise<void>toMainframeInteractions.ICommon.logout. #2783 -
Grouped Common methods into Singleton classes. #2109
-
Breaking: Removed deprecated methods: #2238
refreshAndReopenfunction on theIZoweTreeNodeinterface - use thereopenfunction instead.copyUssFilefunction on theIZoweTreeNodeinterface - use thepasteUssTreefunction instead.ZoweVsCodeExtension.showVsCodeMessage- useGui.showMessageinstead.ZoweVsCodeExtension.inputBox- useGui.showInputBoxinstead.ZoweVsCodeExtension.promptCredentials- useZoweVsCodeExtension.updateCredentialsinstead.
-
Breaking: Removed unused property
profileManagerByTypewhich used the V1-profile classCLIProfileManager. #3057 -
Breaking: Added return type of
Promise<void>to the followingIZoweTreemethods: #2238- addFavorite
- removeFavorite
- removeFavProfile
- ssoLogin
- ssoLogout
-
Added an optional function
openWithEncodingto theIZoweTreeinterface to open file using encoding specified by user. #2931 -
Deprecated the
openFilesproperty onIZoweTreeinterface - in v3 open files are tracked by theFileSystemProviderinstead. #2947 -
Breaking: Changed the parameters of the
addSessionmethod on theIZoweTreeinterface since they were all optional. It now receives an object of typeAddSessionOpts. #2947 -
Breaking: Removed the redundant
zoweFileProviderparameter fromeditSessionmethod on theIZoweTreeinterface. #2947 -
Updated the
ProfilesCache.getProfilesmethod to return empty list instead of undefined when there are no profiles. #2947 -
Added PEM certificate support as an authentication method for logging into the API ML. #2621
-
Deprecated the
getUSSDocumentFilePathfunction on theIZoweTreeNodeinterface as Zowe Explorer no longer uses the local file system for storing USS files. No replacement is planned; please access data from tree nodes using their resource URIs instead. #2968 -
Next Breaking: Changed
ProfilesCache.convertV1ProfToConfigmethod to be a static method that requiresProfileInfoinstance as a parameter. -
Added the
onVaultUpdateVSCode event to notify extenders when credentials are updated on the OS vault by other applications. #2994 -
Added the
onCredMgrsUpdateVSCode event to notify extenders when the local PC's credential manager has been updated by other applications. #2994 -
LTS Breaking: Updated most function signatures for exported programmatic interfaces. Changes make developing with the Zowe Explorer API more efficient for extenders by showing which properties they can expect when calling our APIs. #2952
-
Updated
IApiExplorerExtender.ts, see changes below:- Allowed
reloadProfilesandinitForZoweto be synchronous methods (non-breaking)
- Allowed
-
Updated
MainframeInteraction.ts, see changes below:- Modified
getStatusto addstringtype to the optional parameterprofileType
- Modified
-
Updated
IZoweTree.ts, see changes below:- Modified
checkCurrentProfile(node: IZoweTreeNode);to returnValidation.IValidationProfile | Promise<Validation.IValidationProfile> - Modified
getSearchHistory()to returnstring[] - Modified
getAllLoadedItems()to returnIZoweTreeNode[] | Promise<IZoweTreeNode[]> - Modified
getFileHistory()to returnstring[] - Modified
createFilterString?(newFilter: string, node: IZoweTreeNode);to returnstring - Allowed the following methods to be implemented synchronously: (non-breaking)
addSessionaddSingleSessioneditSessioncreateZoweSessioncreateZoweSchemassoLoginssoLogoutaddFavoriteremoveFavoriteremoveFavProfileonDidChangeConfigurationflipStatesynchronous - noPromisereturnedrenameopencopypastedeletesetItemsynchronous - noPromisereturnedsaveSearchsaveFilerefreshPSuploadDialogfilterPromptaddSearchHistorysynchronous - noPromisereturneddeleteSessionsynchronous - noPromisereturnedupdateFavoritesrenameFavoriteaddFileHistorysynchronous - noPromisereturnedremoveFileHistorysynchronous - noPromisereturnedrenameNodeopenItemFromPathaddDsTemplatepollDataopenWithEncoding
Note: Developers should not expect a value to be returned from the methods above (breaking)
- Modified
-
Updated
IZoweTreeNode.ts, see changes below:- Modified
rename?(newNamePath: string);to returnPromise<IZosFilesResponse> - Developers should not be expecting output from the following methods:
openUSSrefreshUSSdeleteUSSNoderenameUSSNodereopensaveSearch
- Modified
-
-
Implemented support for building, exposing and displaying table views within Zowe Explorer. Tables can be customized and exposed using the helper facilities (
TableBuilderandTableMediator) for an extender's specific use case. For more information on how to configure and show tables, please refer to the wiki article on Table Views. #2258 -
Breaking: Consolidated WebView API options into a single object (
WebViewOptstype), both for developer convenience and to support future options. -
Enhanced the
ZoweVsCodeExtension.loginWithBaseProfileandZoweVsCodeExtension.logoutWithBaseProfilemethods to store SSO token in parent profile when nested profiles are in use. #2264 -
Next Breaking: Changed return type of
ZoweVsCodeExtension.logoutWithBaseProfilemethod fromvoidtobooleanto indicate whether logout was successful. -
Renamed the
_lookupfunction tolookupin theBaseProviderclass and updated its access to public, allowing extenders to look up resources outside of the provider implementations. The_lookupfunction is still accessible, but now deprecated in favor of the publiclookupfunction. #3040 -
Breaking: Removed the
MemberEntryfilesystem class, in favor of using theDsEntryclass withisMemberset totrue. -
Changed
TableViewProvider.setTableViewfunction to be asynchronous for more optimized data updates. -
Updated
Table.ConditionalandTable.Callbacktypes to support multi-row callbacks.
Bug fixes
- Fixed an issue where the
onProfilesUpdateevent did not fire after secure credentials were updated. #2822 - Fixed an issue where
ProfilesCachemay return missing or incorrect profile values when multiple extensions call it during activation. #2831 - Removed
handlebarsdependency in favor ofmustachefor technical currency purposes. #2975 - Fixed an issue where the
ZoweVsCodeExtension.updateCredentialsmethod could remove credentials from session when input prompt was cancelled. #3009 - Fixed an issue where the loaded configuration could be overridden when extenders retrieved the Zowe home directory. #2994
- Fixed an issue where remote lookup functionality caused the local side of a conflict to be overwritten with the remote contents. #3085
- Update Zowe SDKs to
8.0.0-next.202408291544for technical currency. #3057