All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Update cloudsmith-api to v2.0.16 (#181)
- Dropped support for Python 3.8. (#137)
- Missing dependency from
setup.py
file (#177)
- The
auth
command, enabling users to authenticate against the API with their organization's configured SAML provider (#174)
- Produce CLI zipapp artefact on release (#164)
- Show pagination info for
repos get
(#163)
- Support for Swift package uploads (#161)
- Support for CRAN upstreams (#157)
- Revert change to urllib3 Retry constructor
method_whitelist
/allowed_methods
kwarg (#148)
- Added support for large file uploads (#143)
- Removed more unused dependencies relating to python 2.7 compatibility (#142)
- Dropped support for EOL versions of Python (<3.8). (#134)
- Added
upstream
commands (#131)
- Added
--sbt-version
and--scala-version
support for maven upload (#128)
- Added
--ivy-file
support for maven upload (#125)
- Removed type annotations from
maybe_truncate_list
andmaybe_truncate_string
to fix python 2.7 support (#120)
- Added support for
package_query_string
to license and vulnerability policy management (#118)
cloudsmith whoami
no longer errors for Services (#116)
- Added support for license policy management (#113)
- Added support for vulnerability policy management (#111)
- Write Python 2 deprecation message to stderr. (#109)
- Added deprecation warning to output for Python 2. (#106)
- Updated incorrect push format parameter descriptions.
- Pinned urllib3 due to it dropping support for py2.
- Try harder to find a user's
~/.cloudsmith
across operating systems, so config files are found.
- Revert minimum allowed version of
click
to7.0.0
.
- Bump minimum allowed version of
click
to8.0.3
.
- Temporarily disable client-side validation within the cloudsmith-api.
- Fixed an issue where datetime objects couldn't be serialised when outputting as JSON.
- Updated to support cloudsmith-api v.2.0.0
- Fixed a typo in permission exceptions.
- Removed linting noqas from help docs.
- add '.' to config search paths (#78)
- add quarantine add/rm command (#80)
- Update API client initialization to support newer versions of
cloudsmith-api
.
- Fixed issue with JSON-based output for the
dependencies
command.
- Added the
cloudsmith dependencies
sub-command, to list package dependencies.
- The ordering of the columns in the quota command has been fixed.
cloudsmith push
will now pause/sleep the process when calling the status endpoint during pushes (thanks to bagoston).
- Documentation generation for PyPi was broken; converted to markdown and fixed.
Documentation release.
Documentation release.
- Automatic releasing of CLI via CircleCI fixed.
- Support for Python 2 with the new package and token metrics changes
Note: This release requires cloudsmith-api
>= 0.57.1
.
- Rework package and token metrics
Note: This release requires cloudsmith-api
>= 0.54.15
.
- Support for Organization Usage Metrics API
- Fix for rendering Entitlement Token restrictions via the CLI
- Fixed formatting JSON results for the
metrics
andquota
commands;-F json
should work now.
Note: This release requires cloudsmith-api
>= 0.53.79
.
- Resolves breaking changes in Bandwidth Usage Metrics.
- Implements Bandwidth controls for Entitlment Tokens.
- The builtin rate-limiting will no longer throttle at exit (prevents hanging on shutdown).
- The builtin rate-limiting will display a message when throttled by 429 responses.
- The push command will now display how long it took to sync/fail a package upload.
- The synch wait interval is now a minimum bound, and increases over time.
- The synch progress bar will now display immediately, instead of being delayed.
Note: This release requires cloudsmith-api
>= 0.53.3
.
- Support for Quota API limits & history
- Fixed Python3 compatibility (removed f-string)
Note: This release requires cloudsmith-api
>= 0.52.92
.
- Support for Package Usage Metrics API
Note: This release requires cloudsmith-api
>= 0.52.79
.
- Support for Usage Metrics API
Note: This release requires cloudsmith-api
>= 0.52.0
.
- Support for package tagging:
list
,add
,clear
,remove
andreplace
tags. - Support for debian DSC (source file) uploading.
- Publishing a duplicate package without specifying
--publish
or--no-republish
will now default to the repository republish settings.
- Support for Terraform modules.
- Update for (C/C++) Conan push command to allow an optional name and version to be provided.
- Update for (C/C++) Conan packages.
- Support for (C/C++) Conan packages.
- Support for repositories API and subcommands (
list
,create
,retrieve
,update
anddelete
).
- Version specifier set by
0.20.0
wasn't compatible with older versions of Python.
Note: This release pins the Cloudsmith API library to version 0.x due to
changes in the versioning of the library. If you're having issues with an older
version of the CLI that installs the latest API, please upgrade your CLI
version, or install cloudsmith-api==0.49.94
.
- Pinned the Cloudsmith API library version to 0.x+ (excl. 1.x+ series).
- Credentials config file not being populated with API key by
cloudsmith login
.
- Missing README information on PyPi.
- Support for (Objective-C and Swift) CocoaPod packages.
- Support for (Google) Dart packages.
- Fixed issue with displaying entitlements.
- Regression with the
cloudsmith login
andcloudsmith token
commands where they didn't execute correctly.
cloudsmith login
command (so that it is properly recognised) (thanks to @robmadole for reporting).
- Upgraded suggested version of python-click to >=7.0.
- Renamed the
cloudsmith token
command tocloudsmith login
(token still works).
- Parsing of booleans from config files.
- Tolerance of booleans without values in config files (thanks to @Mno-hime for reporting).
- Support for --content-type when uploading Raw packages.
- Support for NuGet packages (via API update).
- Support for --without-api-ssl-verify to turn off SSL verification.
- Support for Go modules.
- Support for R/CRAN packages.
- Ordering of parameter decorators.
- Support for LuaRocks modules.
- Removed duplicated --dry-run parameter in push command (thanks to @SeanTAllen of @ponylang).
- Support for Cargo registry crates.
- Support for Docker registry image containers.
- Issue with executing in py2/py3 using entrypoint.
- Support for Helm repository charts/packages (https://github.com/helm/charts).
- Support for republishing packages (overwrite existing versions).
- Python 3.x compatibility due to not decoding request responses properly.
- 501, 502, 503 and 504 errors received from the API will now be retried, with exponential backoff.
- Entitlement command output will now respect pretty format properly and not send non-output to sysout.
- Support for Alpine Linux and NPM/npm packages.
- Updated and pinned cloudsmith-api dependency to 0.32.11.
- Compatibility with upcoming API changes for listing repositories.
- Regression in listing packages caused by typo.
- When calling
ls repos
, the CLI will now list all repositories that the user can see.
- Compatibility with API changes for listing repositories.
- Pinned cloudsmith-cli to 0.30.7 to fix issues with entitlements actions.
- Updated and pinned cloudsmith-api dependency to 0.30.3.
- Added support for latest API (0.30.x+) which changed how packages are referenced (slug -> identifier).
- Added support for latest API (0.30.x+) which changed how entitlements are referenced (slug_perm -> identifier).
- Always print rate limit information at exit (if throttled).
- #5: Credentials file not loading when explicitly specified via command-line parameter.
- #6: Ensure that a non-zero status is always returned on errors/failures.
- Exit with an error after running out of sync attempts.
- Issue with entitlements create command crashing because
--name
was left off.
- Issue with the move subcommand due to typo in string formatting.
- Issue with entitlements due to issue in API library.
- Issue with status subcommand failing due to API mismatch.
- Issue with package synchronisation stalling due to typo in status check.
- Display status reason text when a package fails, and give up attempting if it was fatal.
- Support for aliased subcommands, starting with
delete
=rm
,list
=ls
andpush
=upload
. - Support for retrieving rate limits from the API via
check limits
. - Support for searching packages via
-q|--query
search query parameter. - Support for
copy
(cp
), move (mv
) andresync
package subcommands. - Support for automatic resyncing when the sync fails (attempts can be controlled using
--sync-attempts
). - Support for formatting the output of
list
subcommands (distros
,packages
andjson
) as JSON using-F
or--output-format
). - Support for entitlements API and subcommands (
list
,create
,update
,delete
,refresh
andsync
). - Automatic rate limiting based on usage across all API calls (it can be turned off using
-R
). - Utility for printing tables (internal only, but expect consistent tables for list-based results).
- Minimum API version required is now 0.26.0+.
- The check command is now a list of sub-commands, and
check service
is now for checking the service status.
- Support for pagination (page and page size) for lists, such as listing packages and repositories.
- Made documentation for cloudsmith push clearer for formats that support distro/release.
- Serialization for API headers (especially Authorization) - No impact for most users.
- When writing a default
credentials.ini
file, useug+rw
for permissions instead of world-readable.
- Issue #2: Not able to upload in Python3-based environments due to code incompatibility.
- Silly (but nice) ASCII art banner for help command.
- Default creds/non-creds config files are now created/initialised on
cloudsmith token
. - Support for
CLOUDSMITH_CONFIG_FILE
andCLOUDSMITH_CREDENTIALS_FILE
environment variables. - Support for adding arbitrary headers to the API via
--api-headers
andCLOUDSMITH_API_HEADERS
.
- Pin for
cloudsmith-api
is now correctly set to0.21.3
.
Phase 2 release.
- Configuration profiles, to support multiple environments.
- Options for
api_host
,api_proxy
andapi_user_agent
in config file. - The
help
command for those who need more than-h
and--help
. - Support for uploading multiple package files at once.
- Tox-based testing for Python2.x and Python3.x.
- Pre-flight checks to push/upload command.
- The
list
command with support for listing distros, packages and repos.
- Environment variables to use a
CLOUDSMITH_
prefix (not backwards compatible).
- Validation for
push
commands that require a distribution. - Token endpoint failing because API key overrides login/password.
- Python3 compatibility so that it now runs with Py3. :-)
Phase 1 release (initial release).