Skip to content

v3.0.0-next.202408301858

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 30 Aug 19:01
· 460 commits to main since this release

Zowe Explorer

New features and enhancements

  • Refactored behavior and management of Favorites in Zowe Explorer. #2026 Thanks @traeok
  • Renamed isHomeProfile context helper function to isGlobalProfile for clarity. #2026 Thanks @traeok
  • Set up POEditor project for contributing translations and cleaned up redundant localization strings. #546 Thanks @t1m0thyj
  • Replaced ts-loader with esbuild-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 a "Copy Relative Path" context option for USS files and directories in the tree view. #2908
    • Added a "Copy Name" context option for data sets, jobs and spool files in the tree view. #2908
  • 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 - use DatasetActions.copyDataSets instead
    • USSActions.pasteUssFile - use DatasetActions.pasteUss instead
    • ZoweUSSNode.refreshAndReopen - use ZoweUSSNode.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 - use zowe.addFavorite instead
    • zowe.ds.disableValidation, zowe.uss.disableValidation, zowe.jobs.disableValidation - use zowe.disableValidation instead
    • zowe.ds.deleteProfile, zowe.uss.deleteProfile, zowe.jobs.deleteProfile, zowe.cmd.deleteProfile - use zowe.deleteProfile instead
    • zowe.ds.editSession, zowe.uss.editSession, zowe.jobs.editSession - use zowe.editSession instead
    • zowe.ds.enableValidation, zowe.uss.enableValidation, zowe.jobs.enableValidation - use zowe.enableValidation instead
    • zowe.ds.openWithEncoding, zowe.uss.openWithEncoding - use zowe.openWithEncoding instead
    • zowe.ds.removeFavorite, zowe.uss.removeFavorite, zowe.jobs.removeFavorite - use zowe.removeFavorite instead
    • zowe.ds.removeFavProfile, zowe.uss.removeFavProfile, zowe.jobs.removeFavProfile - use zowe.removeFavProfile instead
    • zowe.ds.removeSavedSearch, zowe.uss.removeSavedSearch, zowe.jobs.removeSearchFavorite - use zowe.removeFavorite instead
    • zowe.ds.removeSession, zowe.uss.removeSession, zowe.jobs.removeSession - use zowe.removeSession instead
    • zowe.ds.saveSearch, zowe.uss.saveSearch, zowe.jobs.saveSearch - use zowe.saveSearch instead
    • zowe.ds.ssoLogin, zowe.uss.ssoLogin, zowe.jobs.ssoLogin - use zowe.ssoLogin instead
    • zowe.ds.ssoLogout, zowe.uss.ssoLogout, zowe.jobs.ssoLogout - use zowe.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 the ZoweExplorerApiRegister 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 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 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 with es-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

  • Replaced ts-loader with esbuild-loader to improve build speed for developers. #2909 Thanks @traeok

Bug fixes

  • Changed the hashing algorithm for e-tag generation from sha1 to sha256 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 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.
  • Breaking: Added return type of Promise<void> to IZoweTree.addDsTemplate. #2345 Thanks @zFernand0

  • Breaking: Added return type of Promise<void> to MainframeInteractions.ICommon.logout. #2783 Thanks @zFernand0

  • Grouped Common methods into Singleton classes. #2109 Thanks @rudyflores

  • Breaking: Removed deprecated methods: #2238 (Thanks @t1m0thyj)

    • 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 (Thanks @JillieBeanSim)

  • Breaking: Added return type of Promise<void> to the following IZoweTree methods: #2238

    • addFavorite
    • removeFavorite
    • removeFavProfile
    • ssoLogin
    • ssoLogout
  • Added an optional function openWithEncoding to the IZoweTree interface to open file using encoding specified by user. #2931 Thanks @t1m0thyj

  • Deprecated the openFiles property on IZoweTree interface - in v3 open files are tracked by the FileSystemProvider instead. #2947 Thanks @t1m0thyj

  • 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 Thanks @t1m0thyj

  • Breaking: Removed the redundant zoweFileProvider parameter from editSession method on the IZoweTree 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 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 Thanks @traeok

  • Next Breaking: Changed ProfilesCache.convertV1ProfToConfig method to be a static method that requires ProfileInfo 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 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
        • flipState synchronous - no Promise returned
        • rename
        • open
        • copy
        • paste
        • delete
        • setItem synchronous - no Promise returned
        • saveSearch
        • saveFile
        • refreshPS
        • uploadDialog
        • filterPrompt
        • addSearchHistory synchronous - no Promise returned
        • deleteSession synchronous - no Promise returned
        • updateFavorites
        • renameFavorite
        • addFileHistory synchronous - no Promise returned
        • removeFileHistory synchronous - 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
  • 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 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 and ZoweVsCodeExtension.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 from void to boolean to indicate whether logout was successful.

  • 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 Thanks @traeok

  • Breaking: Removed the MemberEntry filesystem class, in favor of using the DsEntry class with isMember set to true. 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 of mustache 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