All notable changes to the Imperative package will be documented in this file.
- BugFix: Fixed an issue with
ConnectionPropsForSessCfg
where the user would be prompted for user/password even if a token was present. #436
- Enhancement: Added the SSO Callback function, which allows applications to call their own functions while validating session properties (i.e. host, port, user, password, token, etc...). The callback option is named
getValuesBack
. #422
- Enhancement: Added support for dynamically generated cookie names. Updated
AbstractSession.storeCookie()
to process cookie names that are not fully known at build-time. #431
- BugFix: Added support for creating an array with
allowableValues
. Previously, array type options could fail in the Syntax Validator. #428
- Fix update profile API storing secure fields incorrectly when called without CLI args
- Fix web help failing to load in Internet Explorer 11
- Fix
--help-web
not working on macOS when DISPLAY environment variable is undefined - Change type of
ISession.tokenType
to "string" (for compatiblity with versions older than 4.7.0).
- Hide sensitive session properties (user, password, and token value) in log file. Since 4.7.0, only password was hidden.
- Don't load token value into Session object if user or password are supplied
- Add the --dd flag to profile creation to allow the profile to be created without the default values specified for that profile.
- Use a token for authentication if a token is present in the underlying REST session object.
- Added a new ConnectionPropsForSessCfg.addPropsOrPrompt function that places credentials (including a possible token) into a session configuration object.
- Plugins must use this function to create their sessions to gain the features of automatic token-handling and prompting for missing connection options.
- Connection information is obtained from the command line, environment variables, a service profile, a base profile, or from an option's default value in a service profile's definition, in that order.
- If key connection information is not supplied to any cor Zowe command, the command will prompt for:
- host
- port
- user
- and password
- Any prompt will timeout after 30 seconds so that it will not hang an automated script.
- Add base profiles, a new type of profile which can store values shared between profiles of other types.
- The properties that are currently recognized in a base profile are:
- host
- port
- user
- password
- rejectUnauthorized
- tokenType
- tokenValue
- To use base profiles in an Imperative-based CLI, define a
baseProfile
schema on your Imperative configuration object. - If the
baseProfile
schema is defined, base profile support will be added to any command that uses profiles.
- The properties that are currently recognized in a base profile are:
- Due to new options (like tokenValue) help text will change. Plugin developers may have to update any mismatched snapshots in their automated tests.
- Updated the version of TypeScript from 3.7.4 to 3.8.0.
- Updated the version of TSLint from 5.x to 6.1.2.
- Add login and logout commands to get and delete/invalidate tokens
- Add showToken flag to display token only, and not save it to the user profile
- Add ability to create a user profile on login if no profile of that type existed previously
- Fix optional secure fields not deleted when overwriting a profile
- Update log4js to improve Webpack compatibility for extenders
- Fix vulnerabilities by updating yargs
- Update perf-timing version
- Add Bearer token in rest Session
- Fix allowable values not exactly matching input
- Fix absence of default value text when falsy values are used.
- Patched vulnerabilities.
- Fixed alignment of output from
zowe plugins list
command.
- Fix failure to load secure profile fields that are optional when no value is found. Thanks @tjohnsonBCM
- Don't load secure profile fields when deleting profile. Thanks @tjohnsonBCM
- Deprecate the interface
ICliILoadProfile
. UseICliLoadProfile
instead.
- Check that password is defined when
AbstractSession
uses auth. Thanks @apsychogirl - Expose
IRestOptions
type in the API. Thanks @apsychogirl
- Add
request
function toAbstractRestClient
that returns REST client object in response. Thanks @Alexandru-Dimitru - Deprecate the method
AbstractRestClient.performRest
. UseAbstractRestClient.request
instead.
- Support
prompt*
as a value for any CLI option to enable interactive prompting.
- Rename package from "@brightside/imperative" to "@zowe/imperative".
- Change name of config option "credential-manager" to "CredentialManager".