github.com/criteo/command-launcher@v0.0.0-20230407142452-fb616f546e98/release-notes.yaml (about) 1 1.10.1: 2 version: 1.10.1 3 releaseNotes: | 4 * 🐛 Fix regression: flags aren't passed to `validArgsCmd` when `checkFlags` is true. 5 startPartition: 0 6 endPartition: 9 7 8 1.10.0: 9 version: 1.10.0 10 releaseNotes: | 11 * ✨ Support auto-complete for flag values. Introduced two new flag properties `values` for static flag values and `valuesCmd` for dynamic flag values. 12 * ✨ New `--list` option in the built-in rename command to list all command alias 13 * 🐛 Fix wrong exit code reported in metrics. 14 startPartition: 0 15 endPartition: 9 16 17 1.9.0: 18 version: 1.9.0 19 releaseNotes: | 20 * ✨New package level system command `__setup__`. This system hook can be triggered once a new package version is installed from the remote registry. Or manually triggered from the built-in `package setup` command. 21 * New configuration `enable_package_setup_hook` to toggle the new package setup hook during package installation 22 * New built-in command `package setup` to manually trigger the package setup system hook 23 * ✨New ways to define command flags. The newly introduced `flags` command property allows you to define the command flags with an object instead of the formatted string separated by `\t`. The `requiredFlags` property can be stilled be used to define flags, but it is marked as deprecated. 24 * ✨New `exclusiveFlags` command property to ensure that only one property can be specified among a set of flags. This property must be used together with the `checkFlags` property to delegate the command launcher for argument parsing 25 * ✨New `groupFlags` command property to ensure that all of them must be specified from the command line among a set of flags. This property must be used together with the `checkFlags` property to delegate the command launcher for argument parsing 26 startPartition: 0 27 endPartition: 9 28 29 1.8.1: 30 version: 1.8.1 31 releaseNotes: | 32 * 🐛 Fix DNS resolve issue on darwin amd64 under VPN. For Mac intel user, please download this version. 33 startPartition: 0 34 endPartition: 9 35 36 1.8.0: 37 version: 1.8.0 38 releaseNotes: | 39 * ✨Support multiple remote registry. From version 1.8.0, you are able to define multiple remote registries. Command launcher synchronizes the commands with all these remote registries at the end of each command execution. This is useful for several scenarios: for example, supporting internal or experimental commands, different teams target their commands to different group of audience. 40 * ✨Built-in command `remote` command to mange multiple remote registries. 41 * `remote list`: list all remote registries 42 * `remote delete`: delete specific remote registry 43 * `remote add`: add a new remote registry 44 * ✨Built-in package management related commands are regrouped into `package` command: 45 * `package list`: list installed local and dropin packages and remote packages. It also provides the possibility to show the installed commands 46 * `package install`: install dropin packages from git repository or remote/local zip file 47 * `package delete`: delete installed dropin packages 48 * ✨New command name conflict resolution system: Each command now has a unique full name in form of [regitry]@[package]@[group]@[name]. When two commands register to the same group and name. One of them will be registered with its full group name. 49 50 For example, two command `hello@greeting@pkg1@repo1` and `hello@greeting@pkg2@repo2`. These two commands have the same group name and command name (greeting hello). The first one will be registered as `cola greeting hello`, the second one will be registered as command `cola greeting@@pkg2@repo2 hello`. Note: `greeting@@pkg2@repo2` is the full name of the group command `greeting` defined in pkg2 and repo2. 51 * ✨New built-in `rename` command. Now it is possible to rename both group and sub command to a different name. 52 * ✨New resource `PACKAGE_DIR`. Each command now can access its package's absolute path through the `PACKAGE_DIR` resource. This resource doesn't require user consent. 53 54 * 🔥Metrics system hook interface change. Now the metrics system hook accepts two new parameters: repo/registry name, package name. The full list of parameters: 55 1. repository/registry name (see remote command) 56 2. package name 57 3. command group name, or “default” if no group 58 4. command name 59 5. user partition 60 6. command exit code 61 7. command execution duration in nano seconds 62 8. error message or “nil” if no error 63 9. command start timestamp in seconds 64 startPartition: 0 65 endPartition: 9 66 67 1.7.0: 68 version: 1.7.0 69 releaseNotes: | 70 * ✨New mechanism to access resources with user consent, resources required user consent: 71 * username 72 * password 73 * login_token 74 * log_level 75 * ✨New system package with system command. Now supports two types of system command: 76 * __login__: extends the built-in login command 77 * __metrics__: extends the built-in metrics 78 * ✨New package management with new built-in commands: 79 * list: list installed local and dropin packages and remote packages. It also provides the possibility to show the installed commands 80 * install: install dropin packages from git repository or remote/local zip file 81 * delete: delete installed dropin packages 82 * ✨New URL convention for command launcher self update. You can now use the Github release file as the latest version 83 * ✨New configurations: 84 * enable_user_consent 85 * user_consent_life 86 * system_package 87 * system_package_public_key 88 * system_package_public_key_file 89 * verify_package_checksum 90 * verify_package_signature 91 * 🔒️Enable package checksum verification 92 * ♻️Refactor local repository management and remote management 93 * 🔨Default local build version now takes the current branch name: [branch name]-dev. See build.sh 94 startPartition: 0 95 endPartition: 9 96 97 1.6.0: 98 version: 1.6.0 99 releaseNotes: | 100 - Add the PackageDir context variable to reference the package's directory, same as the Cache and Root context variables. Cache and Root variables are deprecated. 101 - 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]. 102 - 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 form of an environment variable: [APP_NAME]_FLAG_[FLAG_LONG_NAME] and [APP_NAME]_ARG_[ARG_INDEX_STARTS_FROM_1] 103 - New command definition field in the manifest: argsUsage to customize the one-line help message. This field will take effect when checkFlags=true 104 - New command definition field in the manifest: examples to customize the examples in the help message. This field will take effect when checkFlags=true 105 startPartition: 0 106 endPartition: 9