Releases: criteo/command-launcher
Releases · criteo/command-launcher
1.7.0
- ✨New mechanism to access resources with user consent, resources required user consent:
- username
- password
- auth_token
- log_level
- ✨New system package with system command. Now supports two types of system command:
- login: extends the built-in login command
- metrics: extends the built-in metrics
- ✨New package management with new built-in commands:
- list: list installed local and dropin packages and remote packages. It also provides the possibility to show the installed commands
- install: install dropin packages from git repository or remote/local zip file
- delete: delete installed dropin packages
- ✨New URL convention for command launcher self update. You can now use the Github release file as the latest version
- ✨New configurations:
- enable_user_consent
- user_consent_life
- system_package
- system_package_public_key
- system_package_public_key_file
- verify_package_checksum
- verify_package_signature
- 🔒️Enable package checksum verification
- ♻️Refactor local repository management and remote management
- 🔨Default local build version now takes the current branch name: [branch name]-dev. See build.sh
1.6.0
- Add the
PackageDir
context variable to reference the package's directory, same as theCache
andRoot
context variables.Cache
andRoot
variables are deprecated. - Extend the format of the flag definition. Now it is possible to add bool type flags:
[name] \t [shorthand] \t [description] \t [type] \t [default]
. Currently, two types are supported:string
andbool
. bothtype
anddefault value
are optional, by default, the type is "string", and the default value is the empty string. - New command definition field in manifest,
checkFlags
. The default value is false, when it is true, before executing the command, the arguments will be parsed, and the parsed flags and args will be passed to the command in the form of an environment variable:[APP_NAME]_FLAG_[FLAG_LONG_NAME]
and[APP_NAME]_ARG_[ARG_INDEX_STARTS_FROM_1]
. - New command definition field in manifest:
argsUsage
to customize the one-line help message. This field will take effect whencheckFlags=true
- New command definition field in manifest:
examples
to customize the examples in help message. This field will take effect whencheckFlags=true
1.5.2
- bump cobra version to 1.5
- use custom completion command to fix bash completion freeze issue on windows bash
- fix config command long description format
- add build.sh script and update README
- fix bug in package version comparison and sorting algorithm
1.5.1
- 🐛 fix a bug that command launcher can't find the local configuration file
- 🐛 load lock file during initialization when ci is enabled
1.5.0
- ✨ New command environment variable [APP NAME]_LOG_LEVEL. Command can read this environment variable to get the command launcher global log level
- ✨ Package manifest.mf file now supports YAML format. JSON format is still supported.
1.4.0
- All backslash in the interpolated path in manifest.mf are replaced by slash
- Two internal configs (internal_command_enabled and experimental_command_enabled) are exposed as public config. They are accessible directly from the built-in config command
- The configuration file search order is changed: first search for env variable
[APP_NAME]_CONFIG_FILE
, then search for[APP_NAME].json
file in working dir, and continue search in parent folder until root folder, finally use the default one in$HOME/.[APP_NAME]/config.json
- Remote repository index now accepts a url of the package. It enables the package provider to distribute packages in different servers.
- Properly handle the command exit code
1.3.0
✨ Use slashes only in path interpolation Allows to reference the dropin cache folder path using slashes only regardless the OS, which is convenient for running bash commands on windows
1.2.0
- support autocomplete directives for validArgsCmd output
- interpolate the variables in validArgsCmd's arguments
- fix remote config override issue, now the existing local config is merged instead of overridden by remote config
1.1.0
- remote config load is based on time now. By defaut, once per 24 hours
- introduce remote_config_check_cycle to config the remote config check period
- introduce remote_config_check_time to indicate next remote check time
- rename config enable_ci to ci_enabled
- patch two new variables from upstream repo:
- variable #SCRIPT# is mapped to the command name with extension .bat in windows, .sh in linux
- variable #SCRIPT_EXT# is mapped to .bat in windows, .sh in linux
1.0.0
- use cgo cross build to target mac M1
- ✨ introduce a <CL_NAME>_REMOTE_CONFIG_URL environment variable to initialize and reset local configuration for enterprise use
- ✨ use golang text/template engine to render variables in manifest file. (only render command related fields: executable, args, validArgsCmd) The hashtag wrapped variable is still supported for backward compatibility purpose. It will be removed in the 1.1 release.
- ✨ introduce a CI mode to lock the package version
- ✨ new update command
- config command now output configuration keys in alphabet order