You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Migrated from @zowe/cli dependency package to individual Zowe 8.0.0 SDK packages for Zowe V3 support. #2719
Updated Zowe Explorer API dependency to 3.0.0 for Zowe V3 support. Check the list of APIs that were removed.
Removed deprecated methods and conoslidated VS Code commands. Check the list of APIs that were removed.
Added madge dependency to support to track circular dependencies. #2148
Migrated from i18n to l10n for VS Code localization. #2253
Replaced lodash dependency with es-toolkit to reduce webview bundle size and add technical currency. #3060
Replaced ts-loader dependency with esbuild-loader to improve build speed for developers. #2909
Minimized activation function for Zowe Explorer to load only necessary items on activation. #1985
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 the ZoweExplorerApiRegister class. #2951
Breaking Moved data set templates out of data set history settings into new setting zowe.ds.templates. #2345
Added UI migration steps on startup for users with V1 profiles to either convert existing V1 profiles to team configuration file or create a new team configuration file. #2284
Added support for Local Storage settings for persistent settings in Zowe Explorer #2208
Grouped Common methods into Singleton classes. #2109
New Extender registration APIs:
onVaultUpdate VS Code events to notify extenders when credentials are updated on the OS vault by other applications. #2994
onCredMgrUpdate VS Code events to notify extenders when the local PC's credential manager has been updated by other applications. #2994
onResourceChanged function to the ZoweExplorerApiRegister class to allow extenders to subscribe to any changes to Zowe resources (data sets, USS files/folders, jobs, etc.). See the FileSystemProvider wiki page for more information on Zowe resources.
addFileSystemEvent function to the ZoweExplorerApiRegister class to allow extenders to register their FileSystemProvider onDidChangeFile events.
Implemented support for building, exposing, and displaying table views within Zowe Explorer. Tables can be customized and exposed using the helper facilities (TableBuilder and TableMediator) 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 configuration 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 are 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
Implemented the VS Code FileSystemProvider for the Data Sets, Jobs, and USS trees to handle all read/write actions as well as conflict resolution. #2207
See the FileSystemProvider wiki page for more information on the FileSystemProvider.
Refactored behavior and management of Favorites in Zowe Explorer. #2026
Added the capability for extenders to contribute new profile types to the Zowe schema during extender activation. #2508
Added a new command feature, Issue UNIX Commands available in the VS Code command pallete or via right-click action in the USS treeview. #1326
Added enhancement to compare 2 files from MVS and/or UNIX System Services views via right click actions, with option to compare in Read-Only mode too.
Added a prompt to create a new Zowe client configuration for an environment that does not have any Zowe client configurations. #3148
Implemented support for favoriting a data set search that contains member wildcards. #1164
Changed default base profile naming scheme in newly generated configuration files to prevent name and property conflicts between Global and Project profiles #2682
Renamed isHomeProfile context helper function to isGlobalProfile for clarity. #2026
Set up POEditor project for contributing translations and cleaned up redundant localization strings. #546
Added integration and end-to-end test framework to verify extension behavior and catch issues during Zowe Explorer development. #2322
Bug fixes
The "Zowe Resources" panel is now hidden by default until Zowe Explorer reveals it to display a table or other data. #3113
Fixed behavior of logout action when token is defined in both base profile and parent profile. #3076
Fixed bug that displayed obsolete profiles in the Zowe Explorer tree views after the associated team configuration file was deleted. #3124
Removal of broken VSC command to Zowe Explorer: Refresh Zowe Explorer, use VS Code's Extensions: Refresh command instead. #3100
Fixed issue where "Allocate Like" input box placeholder was showing a localization ID instead of the intended message ("Enter a name for the new data set"). #2759
Fixed default behavior of "Create a new Team Configuration File" to create a Project Config instead of Project User Config. #2684
Changed ZoweExplorerExtender.initForZowe profileTypeConfigurations: imperative.ICommandProfileTypeConfiguration[] to a required argument to address issues seen after registration of profile type when not passed. #2575
Resolved TypeError: Cannot read properties of undefined (reading 'direction') error for favorited items. #3067
Fixed issue where switching from token-based authentication to user/password would cause an error for nested profiles. #3142
IBM z/OS FTP for Zowe Explorer
New features and enhancements
Renamed extension to IBM z/OS FTP for Zowe Explorer. #2990
Updated the FTP plug-in dependency to 3.0.0 for Zowe V3 support. #2783.
Updated from @zowe/cli package dependency to individual Zowe 8.0.0 SDK packages for Zowe V3 support. #2719
Updated Zowe Explorer API dependency to 3.0.0 for Zowe V3 support and addressed breaking changes. Check the list of APIs that were removed.
Updated VS Code engine support to 1.79.0 and higher.
Updated VS Code activation event to onStartupFinished. #1910
Added madge dependency for support to track circular dependencies. #2148
Replaced ts-loader dependency with esbuild-loader to improve build speed for developers. #2909
Added support for streams to the getContents and putContents functions (FtpMvsApi and FtpUssApi interfaces) with the following API: uploadFromBuffer.
Removed pop-up notification of successful registration with Zowe Explorer and log the success message. #2862
Breaking: updated the FtpMvsApi.putContents function to throw an error when an e-tag conflict is found to establish consistency with the FtpUssApi.putContents function which has always thrown an error for this scenario.
Breaking: Removed the deprecated FtpUssApi.putContents function in favor of the FtpUssApi.putContent function.
Bug fixes
Changed the hashing algorithm for e-tag generation from sha1 to sha256 to avoid collisions. #2890
Fix Windows-specific hangs when saving members that contain JCL via the FTP extension. Thanks @tiantn & @std4lqi. #2533
Removal of deprecated APIs. Check the list of APIs that were removed.
Migrated from @zowe/cli dependency package to individual Zowe 8.0.0 SDK packages for Zowe V3 support. #2719
Added madge dependency and script in package.json to track circular dependencies. #2148
Removed handlebars dependency in favor of mustache for technical currency purposes. #2975
Migrated to new package manager PNPM from Yarn.
Grouped Common methods into Singleton classes. #2109
Implemented support for building, exposing and displaying table views within Zowe Explorer. Tables can be customized and exposed using the helper facilities (TableBuilder and TableMediator) 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
Enhanced the ZoweVsCodeExtension.loginWithBaseProfile and ZoweVsCodeExtension.logoutWithBaseProfile methods to store SSO token in parent profile when nested profiles are in use. #2264
Added new getJobsByParameters API is meant to replace getJobsByOwnerAndPrefix, and it adds new capabilities such as querying by status and limiting the amount of returned jobs.
Added the BaseProfileAuthOptions interface to define base profile authentication options for SSO login and logout. #3076
Added extensionRemovedFromPath private function to the DsEntry class to allow removing the extension from a data set before making API calls. #3121
Added optional patternMatches property to the IZoweDatasetTreeNode interface to cache pattern matches from an applied filter search. #1164
Added an optional function openWithEncoding to the IZoweTree interface to open file using encoding specified by user. #2931
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
Added Commands value to the PersistenceSchemaEnum enum for storing MVS, TSO, and USS command history. #2788
Added the getEncoding optional function to the IZoweDatasetTreeNode and IZoweUSSTreeNode interfaces. #2207
Added an optional function nodeDataChanged to the IZoweTree interface to signal an event when a tree node needs updated. #2207
Added the optional vscode.DragAndDropController interface to the IZoweTree interface to allow Zowe tree views to support drag and drop. #2207
Added a ZoweScheme enum to expose the core FileSystemProvider schemes for USS files, data sets and jobs. #2207
Added optional function move to the MainframeInteraction.IUss interface to move USS folders/files from one path to another. #2207
Added the buildUniqueSpoolName function to build spool names for Zowe resource URIs and VS Code editor tabs. #2207
Added the isNodeInEditor function to determine whether a tree node is open in the editor. #2207
Added Created Date to stats optional variable for storing dataset stats #2565
Updated the ProfilesCache.getProfiles method to return empty list instead of undefined when there are no profiles. #2947
Updated the TableViewProvider.setTableView function to show the Zowe Resources panel if a table is provided. If null is passed, the Zowe Resources panel will be hidden. #3113
Updated Table.Conditional and Table.Callback types to support multi-row callbacks.
Renamed the _lookup function to lookup in the BaseProvider 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 public lookup function. #3040
Changed the type for the options parameter in the getContents function (MainframeInteraction.IUss and MainframeInteraction.IMvs interfaces) from zosfiles.IDownloadOptions to zosfiles.IDownloadSingleOptions. #2207
The type was changed to match the function's intended behavior (to get the contents of a single resource).
Changed TableViewProvider.setTableView function to be asynchronous for more optimized data updates.
Changed IApiExplorerExtenders.initForZowe profileTypeConfigurations: imperative.ICommandProfileTypeConfiguration[] to a required argument to address issues seen after registration of profile type when not passed. #2575
Breaking: Removed ZoweTreeNode.binary, ZoweTreeNode.binaryFiles, and ZoweTreeNode.shortLabel. These properties are not applicable for all tree nodes and should be defined in subclasses of ZoweTreeNode if necessary.
Breaking: Removed the following properties/methods:
Breaking: Added the following required API: uploadFromBuffer#2738
For v3, this API will be used for saving data sets and USS files instead of putContent(s). Extenders must implement this API to continue supporting Zowe Explorer save operations.
Breaking: Removed the encoding property from the IZoweUSSTreeNode interface in favor of the new getEncoding function. #2207
Breaking: Removed string as a return type of the uploadFromBuffer method, since the z/OSMF API has been fixed to return a response object that includes an etag. #2785
Breaking: Marked getJobsByParameters as a required function for the MainframeInteraction.IJes interface. #2764
Breaking: Removed the MemberEntry filesystem class, in favor of using the DsEntry class with isMember set to true.
Breaking: Changed return type of ZoweVsCodeExtension.logoutWithBaseProfile method from void to boolean to indicate whether logout was successful.
Breaking: Changed behavior of the ProfilesCache.fetchBaseProfile method so that if a nested profile name is specified (e.g. "lpar.zosmf"), then its parent profile is returned unless token is already stored in the base profile.
Breaking: Consolidated WebView API options into a single object (WebViewOpts type), both for developer convenience and to support future options.
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 and initForZowe to be synchronous methods (non-breaking)
Updated MainframeInteraction.ts, see changes below:
Modified getStatus to add string type to the optional parameter profileType
Updated IZoweTree.ts, see changes below:
Modified checkCurrentProfile(node: IZoweTreeNode); to return Validation.IValidationProfile | Promise<Validation.IValidationProfile>
Modified getSearchHistory() to return string[]
Modified getAllLoadedItems() to return IZoweTreeNode[] | Promise<IZoweTreeNode[]>
Modified getFileHistory() to return string[]
Modified createFilterString?(newFilter: string, node: IZoweTreeNode); to return string
Allowed the following methods to be implemented synchronously: (non-breaking)
addSession
addSingleSession
editSession
createZoweSession
createZoweSchema
ssoLogin
ssoLogout
addFavorite
removeFavorite
removeFavProfile
onDidChangeConfiguration
flipStatesynchronous - no Promise returned
rename
open
copy
paste
delete
setItemsynchronous - no Promise returned
saveSearch
saveFile
refreshPS
uploadDialog
filterPrompt
addSearchHistorysynchronous - no Promise returned
deleteSessionsynchronous - no Promise returned
updateFavorites
renameFavorite
addFileHistorysynchronous - no Promise returned
removeFileHistorysynchronous - no Promise returned
renameNode
openItemFromPath
addDsTemplate
pollData
openWithEncoding Note: Developers should not expect a value to be returned from the methods above (breaking)
Updated IZoweTreeNode.ts, see changes below:
Modified rename?(newNamePath: string); to return Promise<IZosFilesResponse>
Developers should not be expecting output from the following methods:
openUSS
refreshUSS
deleteUSSNode
renameUSSNode
reopen
saveSearch
Breaking: Changed ProfilesCache.convertV1ProfToConfig method to be a static method that requires ProfileInfo instance as a parameter.
Breaking: Changed the parameters of the addSession method on the IZoweTree interface since they were all optional. It now receives an object of type AddSessionOpts. #2947
Breaking: Removed the redundant zoweFileProvider parameter from editSession method on the IZoweTree interface. #2947
refreshAndReopen function on the IZoweTreeNode interface - use the reopen function instead.
copyUssFile function on the IZoweTreeNode interface - use the pasteUssTree function instead.
ZoweVsCodeExtension.showVsCodeMessage - use Gui.showMessage instead.
ZoweVsCodeExtension.inputBox - use Gui.showInputBox instead.
ZoweVsCodeExtension.promptCredentials - use ZoweVsCodeExtension.updateCredentials instead.
Breaking: Removed unused property profileManagerByType which used the V1-profile class CLIProfileManager. #3057
Breaking: Added return type of Promise<void> to the following IZoweTree methods: #2238
addFavorite
removeFavorite
removeFavProfile
ssoLogin
ssoLogout
Breaking: Added return type of Promise<void> to IZoweTree.addDsTemplate. #2345
Breaking: Added return type of Promise<void> to MainframeInteractions.ICommon.logout. #2783
Breaking: ProfilesCache.getProfileInfo no longer accepts any parameters. #2744
Breaking: issueUnixCommand API now takes sshSession as a optional parameter. #2866
Deprecated the following properties on Zowe tree interfaces in favor of setters and getters to incentivize encapsulation: #2026
binary property on the IZoweDatasetTreeNode interface - use the getEncoding and setEncoding functions instead.
encodingMap property on the IZoweDatasetTreeNode and IZoweUSSTreeNode interfaces - use the getEncodingInMap and updateEncodingInMap functions instead.
stats property on the IZoweDatasetTreeNode interface - use the getStats and setStats functions instead.
encoding property on the IZoweDatasetTreeNode and IZoweUSSTreeNode interfaces - use the getEncoding and setEncoding functions instead.
shortLabel property on the IZoweUSSTreeNode interface - use the getBaseName function instead.
attributes property on the IZoweUSSTreeNode interface - use the getAttributes and setAttributes functions instead.
Deprecated the openFiles property on IZoweTree interface - in v3 open files are tracked by the FileSystemProvider instead. #2947
Deprecated the getUSSDocumentFilePath function on the IZoweTreeNode 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
Deprecated the method ProfilesCache.updateProfilesArrays. Use ProfilesCache.updateCachedProfile instead, which handles updating credentials cached in memory when autoStore is false. #3120
Deprecated the methods ZoweVsCodeExtension.loginWithBaseProfile and ZoweVsCodeExtension.logoutWithBaseProfile. Use ZoweVsCodeExtension.ssoLogin and ZoweVsCodeExtension.ssoLogout instead, which use the BaseProfileAuthOptions interface and allow you to choose whether the token value in the base profile should have precedence in case there are conflicts. #3076
Bug fixes
Fixed behavior of logout action when token is defined in both base profile and parent profile. #3076
Fixed profile cached by FileSystemProvider not refreshing on password change. #3120
Fixed extender's ability to fetch profile information from ProfilesCache for SSH profile types.
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
Fixed export of api onProfilesUpdate.
Fixed bug in ProfilesCache class where old profiles were still accessible after deleting a Team configuration file. #3124