v3.0.0-next.202408301858
Pre-releaseZowe Explorer
New features and enhancements
- Refactored behavior and management of Favorites in Zowe Explorer. #2026 Thanks @traeok
- Renamed
isHomeProfile
context helper function toisGlobalProfile
for clarity. #2026 Thanks @traeok - Set up POEditor project for contributing translations and cleaned up redundant localization strings. #546 Thanks @t1m0thyj
- Replaced
ts-loader
withesbuild-loader
to improve build speed for developers. #2909 Thanks @traeok - Grouped Common methods into Singleton classes. #2109 Thanks @rudyflores
- BREAKING Moved data set templates out of data set history settings into new setting "zowe.ds.templates". #2345 Thanks @JillieBeanSim
- 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 Thanks @JillieBeanSim
- Breaking: Consolidated VS Code commands: (Thanks @t1m0thyj)
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 Thanks @t1m0thyj - Updated sorting of PDS members to show items without stats at bottom of list #2660 Thanks @traeok
- Added PEM certificate support as an authentication method for logging into the API ML. #2621 Thanks @awharn @t1m0thyj @traeok
- Added support to view the Encoding history for MVS and Dataset in the History View. #2776 Thanks @KaranP25
- Added error handling for when the default credential manager is unable to initialize. #2811 Thanks @rudyflores
- 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 Thanks @traeok - Implemented the
onVaultUpdate
VSCode events to notify extenders when credentials are updated on the OS vault by other applications. #2994 Thanks @zFernand0 - Implemented the
onCredMgrUpdate
VSCode events to notify extenders when the local PC's credential manager has been updated by other applications. #2994 Thanks @zFernand0 - Changed default base profile naming scheme in newly generated configuration files to prevent name and property conflicts between Global and Project profiles #2682 Thanks @awharn
- 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 Thanks @traeok - Added support for logging in to multiple API ML instances per team config file. #2264 Thanks @t1m0thyj
- Added remote lookup functionality for Data Sets and USS, allowing Zowe Explorer to locate and resolve mainframe resources on demand. #3040 Thanks @traeok
- 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 Thanks @traeok
- 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 Thanks @traeok
- Replaced
lodash
dependency withes-toolkit
to reduce webview bundle size and add technical currency. #3060 Thanks @traeok
Bug fixes
- Fixed vNext-only issue where users are not able to create data sets. #2783. Thanks @zFernand0
- Omitted the following Zowe Explorer commands from the Command Palette that do not execute properly when run as a standalone command: (Thanks @traeok)
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 Thanks @JillieBeanSim
- Fixed an issue where the
onProfilesUpdate
event did not fire after secure credentials were updated. #2822 Thanks @traeok - Fixed issue where saving changes to favorited PDS member fails when custom temp folder is set on Windows. #2880 Thanks @t1m0thyj
- Fixed issue where multiple extensions that contribute profiles to a tree view using the Zowe Explorer API may fail to load. #2888 Thanks @t1m0thyj
- 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 Thanks @traeok - Fixed issue where creating a new team configuration file could cause Zowe Explorer to crash, resulting in all sessions disappearing from trees. #2906 Thanks @t1m0thyj
- Addressed breaking changes from the Zowe Explorer API package. #2952 Thanks @zFernand0
- Fixed data set not opening when the token has expired. #3001 Thanks @KaranP25
- Fixed an issue where upgrading from Zowe Explorer v1 and selecting "Reload Extensions" causes Zowe Explorer v3 to fail during initialization. #3051 Thanks @traeok
- Fixed an issue where remote lookup functionality caused the local side of a conflict to be overwritten with the remote contents. #3085 Thanks @traeok
- Fixed an issue where the remote conflict icons showed when using the "Compare with Selected" feature. #3085 Thanks @traeok
- Update Zowe SDKs to
8.0.0-next.202408291544
for technical currency. #3057 Thanks @JillieBeanSim
IBM z/OS FTP for Zowe Explorer
New features and enhancements
Bug fixes
- Changed the hashing algorithm for e-tag generation from
sha1
tosha256
to avoid collisions. #2890 Thanks @traeok - Updated the FTP plugin dependency to
3.0.0-next.202403191358
for technical currency #2783. Thanks @zFernand0 - Renamed extension to
IBM z/OS FTP for Zowe Explorer
. #2990 Thanks @zFernand0 - Update Zowe SDKs to
8.0.0-next.202408291544
for technical currency. #3057 Thanks @JillieBeanSim
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 (Thanks @traeok)
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 Thanks @zFernand0 -
Breaking: Added return type of
Promise<void>
toMainframeInteractions.ICommon.logout
. #2783 Thanks @zFernand0 -
Grouped Common methods into Singleton classes. #2109 Thanks @rudyflores
-
Breaking: Removed deprecated methods: #2238 (Thanks @t1m0thyj)
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 (Thanks @JillieBeanSim) -
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 Thanks @t1m0thyj -
Deprecated the
openFiles
property onIZoweTree
interface - in v3 open files are tracked by theFileSystemProvider
instead. #2947 Thanks @t1m0thyj -
Breaking: Changed the parameters of the
addSession
method on theIZoweTree
interface since they were all optional. It now receives an object of typeAddSessionOpts
. #2947 Thanks @t1m0thyj -
Breaking: Removed the redundant
zoweFileProvider
parameter fromeditSession
method on theIZoweTree
interface. #2947 Thanks @t1m0thyj -
Updated the
ProfilesCache.getProfiles
method to return empty list instead of undefined when there are no profiles. #2947 Thanks @t1m0thyj -
Added PEM certificate support as an authentication method for logging into the API ML. #2621 Thanks @awharn @t1m0thyj @traeok
-
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 Thanks @traeok -
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 Thanks @zFernand0 -
Added the
onCredMgrsUpdate
VSCode event to notify extenders when the local PC's credential manager has been updated by other applications. #2994 Thanks @zFernand0 -
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 Thanks @zFernand0
-
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 Thanks @traeok -
Breaking: Consolidated WebView API options into a single object (
WebViewOpts
type), both for developer convenience and to support future options. Thanks @traeok -
Enhanced the
ZoweVsCodeExtension.loginWithBaseProfile
andZoweVsCodeExtension.logoutWithBaseProfile
methods to store SSO token in parent profile when nested profiles are in use. #2264 Thanks @t1m0thyj -
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 Thanks @traeok -
Breaking: Removed the
MemberEntry
filesystem class, in favor of using theDsEntry
class withisMember
set totrue
. Thanks @traeok
Bug fixes
- Fixed an issue where the
onProfilesUpdate
event did not fire after secure credentials were updated. #2822 Thanks @traeok - Fixed an issue where
ProfilesCache
may return missing or incorrect profile values when multiple extensions call it during activation. #2831 Thanks @t1m0thyj - Removed
handlebars
dependency in favor ofmustache
for technical currency purposes. #2975 Thanks @traeok - Fixed an issue where the
ZoweVsCodeExtension.updateCredentials
method could remove credentials from session when input prompt was cancelled. #3009 Thanks @t1m0thyj - Fixed an issue where the loaded configuration could be overridden when extenders retrieved the Zowe home directory. #2994 Thanks @zFernand0
- Fixed an issue where remote lookup functionality caused the local side of a conflict to be overwritten with the remote contents. #3085 Thanks @traeok
- Update Zowe SDKs to
8.0.0-next.202408291544
for technical currency. #3057 Thanks @JillieBeanSim