Releases: akamai/cli
Improve Docker Experience
Features
This release is primarily to support a better docker experience.
This is achieved by adding a hidden --daemon
flag which will cause the akamai
to sleep indefinitely, allowing you maintain state while running multiple CLI commands. For more details see the updated README.
Changes
We have slightly changed the format in which statistics are submitted to Google Analytics to make it easier to review them. No additional information is submitted. We also removed some potentially duplicate events around Akamai CLI upgrades. This change may not be the final format for these analytics as we continue to test and tweak to ensure that we're getting useful information to help improve the CLI.
Fix Homebrew Support
v1.0.0: Package Search, Auto-complete, Opt-in Anonymous Metrics
New Features
Package Search
You can now search for potential packages to install using akamai search <keyword>...
. Results will be displayed with the best match first.
Remote Package List
To see a list of all available packages, as well as installed packages, you can pass the --remote
flag to akamai list
.
Auto-Complete
Akamai CLI now supports bash and zsh auto-complete for all command names, and — for built-in commands— sub-command names, and flag names.
For package commands, auto-complete can be supported by setting auto-complete: true
in the packages cli.json
and adding a --generate-auto-complete
flag to the sub-command that outputs a newline delimited list of possible completions based on the other arguments passed in. (e.g. akamai purge in --generate-auto-complete
will output invalidate
as the only possible option.)
New config
command
A new config
command has been added to help with managing your Akamai CLI configuration file.
Settings use dot-notation where the first segment is the INI section, and the second segment is the key name.
akamai config get <setting>
— retrieve the current value for a settingakamai config set <setting> <value>
— set the value for a settingakamai config unset <setting>
— unset a settingakamai config list [section]
— list all current settings, optionally only list those for a specific section
Proxy Support
Akamai CLI now supports a top-level --proxy
flag that takes the same value as the HTTP(S)_PROXY
environment variables and passes it through to sub-commands via those same variables.
Opt-in Anonymous Metrics
To help us prioritize our roadmap, you can now opt-in to anonymous metric collection. Akamai CLI will generate a random, unique client ID, and only collects non-personally identifiable information. Currently we track:
- First run
- Package install success/fail (including the repo URL, for public repos on Github only)
- Package uninstall success/fail (including the command name supplied, no repo URLs are collected)
- Manual Upgrade success/fail (including from/to version)
- Auto-Upgrade success/fail (including from/to version)
- A once-daily ping (at most, similar to auto-update checks)
Bug fixes
Improved Python Support, New Configuration, & Bug Fixes
New Features
New configuration file
A new configuration file has been added that can be utilized by all packages. It it in INI format and lives in $AKAMAI_CLI_HOME/config
.
Remember "Install to Path" Preferences
Along with the new config, we now store your answer regarding installing to path and will not ask again.
Bug Fixes
Improved Python Support
We have changed how we install and run python packages to better support older versions of Python (2.7), and to be more reliable across Win/macOS/Linux.
Note: This change will require you to reinstall your python packages; you will be automatically prompted to do so the first time you try to run a command.
Support for Local Repos using file://
You can now correctly install packages from a repo on your local machine using the file://
protocol
Other
- To ensure that older printed materials will remain useful, we've re-added in
akamai get
as an alias toakamai install
and will automatically transformakamai-open/<repo>
toakamai/<repo>
. - A legal disclaimer has been added when installing unofficial packages
Detect TTY before interaction, correctly detect installation in PATH
- If
akamai
was installed in aPATH
directory that wasn't writeable by the current user (e.g./usr/local/bin
) it continued to ask to be installed into the path on each run - We now try to detect if STDOUT is a TTY and if not, we don't run interactively
akamai install on an installed package will no longer delete the package
This release fixes a bug which caused a package to be deleted after a second akamai install
for the same package is run.
Add support for uninstall, multiple install/update
This release adds a new akamai uninstall
command:
$ akamai uninstall purge
Additionally, it adds support for multiple repos/packages to akamai install
, and multiple commands to akamai update
.
$ akamai install property purge
Fix first run and upgrades on Windows
This release fixes several issues on Windows causing the first run ("install into PATH") to run on every invocation. Additionally, it fixes an issues with upgrades.
Note: if upgrading from 0.3.x on Windows, it may fail, in which case upgrade manually. It may also cause a Command prompt window to open (temporarily), and fail to run the requested command. If the command window persists, close it, and the upgrade will be finished successfully — just run the command again.
Allow building without first-run/upgrade features
This release allows building without the first-run and upgrade features for packaging in third-party package managers such as homebrew, apt, or yum.