Zowe Explorer
New features and enhancements
- Refactored behavior and management of Favorites in Zowe Explorer. #2026
- Renamed
isHomeProfile
context helper function toisGlobalProfile
for clarity. #2026 - Set up POEditor project for contributing translations and cleaned up redundant localization strings. #546
- Replaced
ts-loader
withesbuild-loader
to 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.copyDataSets
insteadUSSActions.pasteUssFile
- useDatasetActions.pasteUss
insteadZoweUSSNode.refreshAndReopen
- useZoweUSSNode.reopen
instead
- 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.addFavorite
insteadzowe.ds.disableValidation
,zowe.uss.disableValidation
,zowe.jobs.disableValidation
- usezowe.disableValidation
insteadzowe.ds.deleteProfile
,zowe.uss.deleteProfile
,zowe.jobs.deleteProfile
,zowe.cmd.deleteProfile
- usezowe.deleteProfile
insteadzowe.ds.editSession
,zowe.uss.editSession
,zowe.jobs.editSession
- usezowe.editSession
insteadzowe.ds.enableValidation
,zowe.uss.enableValidation
,zowe.jobs.enableValidation
- usezowe.enableValidation
insteadzowe.ds.openWithEncoding
,zowe.uss.openWithEncoding
- usezowe.openWithEncoding
insteadzowe.ds.removeFavorite
,zowe.uss.removeFavorite
,zowe.jobs.removeFavorite
- usezowe.removeFavorite
insteadzowe.ds.removeFavProfile
,zowe.uss.removeFavProfile
,zowe.jobs.removeFavProfile
- usezowe.removeFavProfile
insteadzowe.ds.removeSavedSearch
,zowe.uss.removeSavedSearch
,zowe.jobs.removeSearchFavorite
- usezowe.removeFavorite
insteadzowe.ds.removeSession
,zowe.uss.removeSession
,zowe.jobs.removeSession
- usezowe.removeSession
insteadzowe.ds.saveSearch
,zowe.uss.saveSearch
,zowe.jobs.saveSearch
- usezowe.saveSearch
insteadzowe.ds.ssoLogin
,zowe.uss.ssoLogin
,zowe.jobs.ssoLogin
- usezowe.ssoLogin
insteadzowe.ds.ssoLogout
,zowe.uss.ssoLogout
,zowe.jobs.ssoLogout
- usezowe.ssoLogout
instead
- Added support for
consoleName
property 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
onResourceChanged
function in theZoweExplorerApiRegister
class. #2951 - Implemented the
onVaultUpdate
VSCode 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
onCredMgrUpdate
VSCode 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 (
TableBuilder
andTableMediator
) 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
lodash
dependency withes-toolkit
to 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 job
Zowe Explorer: Filter jobs
Zowe Explorer: Filter PDS members
Zowe Explorer: Sort jobs
Zowe Explorer: Sort PDS members
Zowe Explorer: Start Polling
Zowe 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
onProfilesUpdate
event 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
getProviderForNode
returned 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.202408291544
for technical currency. #3057
IBM z/OS FTP for Zowe Explorer
New features and enhancements
- Replaced
ts-loader
withesbuild-loader
to improve build speed for developers. #2909
Bug fixes
- Changed the hashing algorithm for e-tag generation from
sha1
tosha256
to avoid collisions. #2890 - Updated the FTP plugin dependency to
3.0.0-next.202403191358
for technical currency #2783. - Renamed extension to
IBM z/OS FTP for Zowe Explorer
. #2990 - Update Zowe SDKs to
8.0.0-next.202408291544
for 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
binary
property on theIZoweDatasetTreeNode
interface - use thegetEncoding
andsetEncoding
functions instead.encodingMap
property on theIZoweDatasetTreeNode
andIZoweUSSTreeNode
interfaces - use thegetEncodingInMap
andupdateEncodingInMap
functions instead.stats
property on theIZoweDatasetTreeNode
interface - use thegetStats
andsetStats
functions instead.encoding
property on theIZoweDatasetTreeNode
andIZoweUSSTreeNode
interfaces - use thegetEncoding
andsetEncoding
functions instead.shortLabel
property on theIZoweUSSTreeNode
interface - use thegetBaseName
function instead.attributes
property on theIZoweUSSTreeNode
interface - use thegetAttributes
andsetAttributes
functions 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
refreshAndReopen
function on theIZoweTreeNode
interface - use thereopen
function instead.copyUssFile
function on theIZoweTreeNode
interface - use thepasteUssTree
function instead.ZoweVsCodeExtension.showVsCodeMessage
- useGui.showMessage
instead.ZoweVsCodeExtension.inputBox
- useGui.showInputBox
instead.ZoweVsCodeExtension.promptCredentials
- useZoweVsCodeExtension.updateCredentials
instead.
-
Breaking: Removed unused property
profileManagerByType
which used the V1-profile classCLIProfileManager
. #3057 -
Breaking: Added return type of
Promise<void>
to the followingIZoweTree
methods: #2238- addFavorite
- removeFavorite
- removeFavProfile
- ssoLogin
- ssoLogout
-
Added an optional function
openWithEncoding
to theIZoweTree
interface to open file using encoding specified by user. #2931 -
Deprecated the
openFiles
property onIZoweTree
interface - in v3 open files are tracked by theFileSystemProvider
instead. #2947 -
Breaking: Changed the parameters of the
addSession
method on theIZoweTree
interface since they were all optional. It now receives an object of typeAddSessionOpts
. #2947 -
Breaking: Removed the redundant
zoweFileProvider
parameter fromeditSession
method on theIZoweTree
interface. #2947 -
Updated the
ProfilesCache.getProfiles
method 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
getUSSDocumentFilePath
function on theIZoweTreeNode
interface 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.convertV1ProfToConfig
method to be a static method that requiresProfileInfo
instance as a parameter. -
Added the
onVaultUpdate
VSCode event to notify extenders when credentials are updated on the OS vault by other applications. #2994 -
Added the
onCredMgrsUpdate
VSCode 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
reloadProfiles
andinitForZowe
to be synchronous methods (non-breaking)
- Allowed
-
Updated
MainframeInteraction.ts
, see changes below:- Modified
getStatus
to addstring
type 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)
addSession
addSingleSession
editSession
createZoweSession
createZoweSchema
ssoLogin
ssoLogout
addFavorite
removeFavorite
removeFavProfile
onDidChangeConfiguration
flipState
synchronous - noPromise
returnedrename
open
copy
paste
delete
setItem
synchronous - noPromise
returnedsaveSearch
saveFile
refreshPS
uploadDialog
filterPrompt
addSearchHistory
synchronous - noPromise
returneddeleteSession
synchronous - noPromise
returnedupdateFavorites
renameFavorite
addFileHistory
synchronous - noPromise
returnedremoveFileHistory
synchronous - noPromise
returnedrenameNode
openItemFromPath
addDsTemplate
pollData
openWithEncoding
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:
openUSS
refreshUSS
deleteUSSNode
renameUSSNode
reopen
saveSearch
- Modified
-
-
Implemented support for building, exposing and displaying table views within Zowe Explorer. Tables can be customized and exposed using the helper facilities (
TableBuilder
andTableMediator
) 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 (
WebViewOpts
type), both for developer convenience and to support future options. -
Enhanced the
ZoweVsCodeExtension.loginWithBaseProfile
andZoweVsCodeExtension.logoutWithBaseProfile
methods to store SSO token in parent profile when nested profiles are in use. #2264 -
Next Breaking: Changed return type of
ZoweVsCodeExtension.logoutWithBaseProfile
method fromvoid
toboolean
to indicate whether logout was successful. -
Renamed the
_lookup
function tolookup
in theBaseProvider
class and updated its access to public, allowing extenders to look up resources outside of the provider implementations. The_lookup
function is still accessible, but now deprecated in favor of the publiclookup
function. #3040 -
Breaking: Removed the
MemberEntry
filesystem class, in favor of using theDsEntry
class withisMember
set totrue
. -
Changed
TableViewProvider.setTableView
function to be asynchronous for more optimized data updates. -
Updated
Table.Conditional
andTable.Callback
types to support multi-row callbacks.
Bug fixes
- Fixed an issue where the
onProfilesUpdate
event did not fire after secure credentials were updated. #2822 - Fixed an issue where
ProfilesCache
may return missing or incorrect profile values when multiple extensions call it during activation. #2831 - Removed
handlebars
dependency in favor ofmustache
for technical currency purposes. #2975 - Fixed an issue where the
ZoweVsCodeExtension.updateCredentials
method 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.202408291544
for technical currency. #3057