Skip to content

Latest commit

 

History

History
997 lines (536 loc) · 26.4 KB

File metadata and controls

997 lines (536 loc) · 26.4 KB

Changelog

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.

[Unreleased]

[1.16.0] - 2026-03-24

Added

  • Added Alpine Upstream support for managing upstream configurations.

[1.15.0] - 2026-03-19

Added

  • Added --tag option to download command for filtering packages by tags
  • Added download command documentation to README with comprehensive usage examples
  • Added --filename option to download command for filtering by package filename, with support for glob patterns (e.g., --filename '*.snupkg')
  • Added --download-all flag to download command to download all matching packages instead of erroring on multiple matches
  • Multiple packages table now includes a Filename column for easier disambiguation

[1.14.0] - 2026-03-11

Added

  • Added vulnerabilities command to retrieve security scan results for a package
    • Summary View (Default): Displays a high-level count of vulnerabilities broken down by severity (Critical, High, Medium, Low, Unknown).
    • Assessment View --show-assessment (-A): Provides a detailed breakdown where vulnerabilities are:
      • Grouped by the specific affected upstream package / dependency.
      • Sorted by severity (Critical first).
      • Richly formatted tables.
    • Filtering Capabilities:
      • By Severity: --severity Show only specific levels (e.g., just Critical and High).
      • By Status: --fixable | --non-fixable Filter to show only "Fixable" vulnerabilities (where a patch exists) or "Non-Fixable" ones.
    • Supports --output-format json | pretty_json for programmatic usage

[1.14.0] - 2026-03-13

Added

  • Added vulnerabilities command to retrieve security scan results for a package
    • Summary View (Default): Displays a high-level count of vulnerabilities broken down by severity (Critical, High, Medium, Low, Unknown).
    • Assessment View --show-assessment (-A): Provides a detailed breakdown where vulnerabilities are:
      • Grouped by the specific affected upstream package / dependency.
      • Sorted by severity (Critical first).
      • Richly formatted tables.
    • Filtering Capabilities:
      • By Severity: --severity Show only specific levels (e.g., just Critical and High).
      • By Status: --fixable | --non-fixable Filter to show only "Fixable" vulnerabilities (where a patch exists) or "Non-Fixable" ones.
    • Supports --output-format json | pretty_json for programmatic usage

[1.13.0] - 2026-02-16

Added

  • Added CLOUDSMITH_NO_KEYRING environment variable to disable keyring usage globally. Set CLOUDSMITH_NO_KEYRING=1 to skip system keyring operations.
  • Added --request-api-key flag to cloudsmith auth command for fully automated, non-interactive API token retrieval. Auto-creates a token if none exists, or auto-rotates (with warning) if one already exists. Compatible with --save-config and CLOUDSMITH_NO_KEYRING.
  • Added --verbose (-v) flag to cloudsmith whoami to show detailed authentication information including active method (API Key or SSO Token), credential source, token metadata, and SSO status. Supports --output-format json.
  • Added cloudsmith logout command to clear stored authentication credentials and SSO tokens.
    • Clears credentials from credentials.ini and SSO tokens from the system keyring
    • --keyring-only to only clear SSO tokens from the system keyring
    • --config-only to only clear credentials from credentials.ini
    • --dry-run to preview what would be removed without making changes
    • Supports --output-format json for programmatic usage

Deprecation Notices

  • The --token flag on cloudsmith auth is deprecated. Use --request-api-key instead.
  • The --force flag on cloudsmith auth is deprecated. Use --request-api-key instead (force behavior is implied).
  • The --json flag on cloudsmith auth is deprecated. Use --output-format json instead.

[1.12.1] - 2026-02-03

Added

  • Added Model Context Protocol (MCP) server support via cloudsmith mcp commands. Only STDIO transport is supported for now.
  • Auto-configure supported clients (Claude Desktop, Cursor, VS Code, Gemini CLI) with cloudsmith mcp configure
  • List available tools with cloudsmith mcp list_tools and tool groups with cloudsmith mcp list_groups
  • Filter tools via mcp_allowed_tools and mcp_allowed_tool_groups configuration options to control which API operations are exposed

[1.12.0] - 2026-02-02

Added

  • Added Generic Format support for pushing packages to repositories.
  • Added Upstream support for managing upstream proxy configurations.

[1.11.2] - 2026-01-22

Added

  • Migrate from CircleCI to GitHub Actions for testing and release workflows.
  • Remove CircleCI workflows.
  • Migrate from using shiv for zipapp generation to pex in order to support specific platform/arch and improve testing framework.
  • Add zizmor for GitHub Actions code scans, part of workflow and pre-commit.
  • Support output format for --version in order to allow JSON parsing.

[1.10.3] - 2026-01-08

Deprecation Notice

  • The --json flag used in cloudsmith auth command will be removed in upcoming releases. Please migrate to --output-format json instead.

Fixed

  • Fixed JSON output for all commands
    • Informational messages, warnings, and interactive prompts are now routed to stderr when --output-format json is active.
    • Error messages are now formatted as structured JSON on stdout when JSON output is requested.

Added

  • Set --show-all to alias --page-all
  • Add the ability to use a shortcut within --page-size to use pass -1 or * to retrieve all pages i.e. --page-size -1 or --page-size * (note the wildcard may require escaping in some shell environments)
  • Added support for deny policy management commands (list, create, get, update, delete)

[1.10.2] - 2026-01-07

Fixed

  • Issue #250 - Updated requests_toolbelt dependency to >=1.0.0 to ensure compatibility with urllib3>=2.5 and avoid urllib3.contrib.appengine import errors.

[1.10.1] - 2025-12-16

Fixed

  • Fixed quarantine block/add command

[1.10.0] - 2025-12-16

Fixed

  • Upgraded urllib3 from v1.26.20 to v2.5.0.
  • Added mock_keyring fixture to prevent SSO token refresh attempts during individual test_rest.py test which runs in pipelines (full suite passes). Caused by HTTPretty issue 484.
  • Entitlement token list command now fixed
  • Drop click dependency from v8.2.0 to v8.1.8 to fix dependency issue for Python 3.9

[1.9.4] - 2025-11-07

No code changes in this release. Version bump performed for release process consistency and to address packaging/metadata updates.

[1.9.3] - 2025-11-07

[1.9.2] - 2025-11-06

Fixed

  • Issue-235 - Fix for latest zipapp releases not working on < python@3.14

[1.9.1] - 2025-11-05

Fixed

  • Click v8.3.0 was a breaking update which impacted conversion of Sentinel.UNSET values which impacted the auth --token workflow. Locking to 8.2.x versions and restricted 8.3.0 explicitly.

[1.9.0] - 2025-11-05

Added

  • New minor version release includes v1.8.8 changes.

[1.8.8] - 2025-11-05

Fixed

  • --json flag for the auth command now outputs json only.

Added

  • Added Python 3.14 support
  • Added download command to download package binaries directly from Cloudsmith repositories
    • Support for downloading packages with version, format, OS, and architecture filters
    • Progress bar with download speed and size information
    • Automatic checksum verification (MD5, SHA256, SHA1)
    • Dry-run mode to preview downloads without downloading
    • Auto-selection mode with --yes flag for scripting
    • --all-files option to download all associated files (POM, sources, javadoc, SBOM, etc.) for Maven, NuGet, and other multi-file packages
      • Downloads all files into a folder named {package-name}-{version}
      • Supports custom output directory with --outfile option
      • Shows file type tags (pkg, pom, sources, javadoc, cyclonedx, sbom)
      • Reports download progress and success/failure summary for each file

[1.8.7] - 2025-10-27

Added

  • Cloudsmith auth -o <org> --token now creates a new token if none previously existed.
  • Added support for json output for auth via --json param.
  • Added new create command for tokens. If authenticated and no previous token exists, this allows for new token creation.

[1.8.6] - 2025-10-16

Added

  • Added --force parameter to the Auth command to be used in conjunction with --token to refresh tokens without interactive prompts i.e automatic.
  • Added --force parameter to the Tokens refresh command to automatically refresh without an interactive prompt.

[1.8.5] - 2025-10-16

Added

[1.8.4] - 2025-10-06

Added

  • Support for Conda, Cargo, Go, and Hugging Face upstreams (#214)

[1.8.3] - 2025-06-02

  • Added 'swift' and 'hex' as available upstream formats.

[1.8.2] - 2025-06-02

  • Make an sdist available as part of the release.

[1.8.1] - 2025-05-07

  • Fix bug that caused configuration to be dropped in the authenticate command.
  • Fix bug in the default configuration schema.

[1.8.0] - 2025-05-02

Added

  • Added support for managing User API Tokens (#192)

[1.7.2] - 2025-04-28

Added

  • Added a fix for certain login error messages being suppressed (#196)

[1.7.1] - 2025-04-25

Added

  • Added support for 2FA authentication when logging in (#188)

[1.7.0] - 2025-03-31

Added

  • Added --extra-files parameter for Maven upload command (#190)

[1.6.2] - 2025-03-27

  • Added html templates for saml response endpoints
  • Added json support for whoami
  • Added support for additional headers to be passed to the saml authentication flow

[1.5.0] - 2025-03-21

Added

  • Added --sort flag for package list command (#185)

Fixed

  • Fixed cloudsmith auth command where it results in 403 (#183)

[1.4.1] - 2024-11-26

Added

  • Update cloudsmith-api to v2.0.16 (#181)

[1.4.0] - 2024-11-04

Added

  • Dropped support for Python 3.8. (#137)

[1.3.1] - 2024-10-08

Fixed

  • Missing dependency from setup.py file (#177)

[1.3.0] - 2024-10-08

Added

  • The auth command, enabling users to authenticate against the API with their organization's configured SAML provider (#174)

[1.2.5] - 2024-06-11

Added

  • Produce CLI zipapp artefact on release (#164)

[1.2.3] - 2024-04-10

Fixed

  • Show pagination info for repos get (#163)

[1.2.2] - 2024-04-05

Added

  • Support for Swift package uploads (#161)

[1.2.0] - 2024-03-13

Added

  • Support for CRAN upstreams (#157)

[1.1.1] - 2023-09-13

Fixed

  • Revert change to urllib3 Retry constructor method_whitelist/allowed_methods kwarg (#148)

[1.1.0] - 2023-09-08

Added

  • Added support for large file uploads (#143)

Fixed

  • Removed more unused dependencies relating to python 2.7 compatibility (#142)

[1.0.0] - 2023-08-10

Breaking change

  • Dropped support for EOL versions of Python (<3.8). (#134)

[0.44.0] - 2023-08-07

Added

  • Added upstream commands (#131)

[0.43.0] - 2023-06-03

Added

  • Added --sbt-version and --scala-version support for maven upload (#128)

[0.42.0] - 2023-05-25

Added

  • Added --ivy-file support for maven upload (#125)

[0.41.1] - 2023-05-18

Fixed

  • Removed type annotations from maybe_truncate_list and maybe_truncate_string to fix python 2.7 support (#120)

[0.41.0] - 2023-05-18

Added

  • Added support for package_query_string to license and vulnerability policy management (#118)

[0.40.1] - 2023-05-11

Fixed

  • cloudsmith whoami no longer errors for Services (#116)

[0.40.0] - 2023-05-11

Added

  • Added support for license policy management (#113)

[0.39.0] - 2023-05-09

Added

  • Added support for vulnerability policy management (#111)

[0.38.1] - 2023-05-08

Fixed

  • Write Python 2 deprecation message to stderr. (#109)

[0.38.0] - 2023-05-08

Added

  • Added deprecation warning to output for Python 2. (#106)

[0.37.2] - 2023-05-01

Fixed

  • Updated incorrect push format parameter descriptions.

[0.37.1] - 2023-04-30

Fixed

  • Pinned urllib3 due to it dropping support for py2.

[0.37.0] - 2023-03-29

Fixed

  • Try harder to find a user's ~/.cloudsmith across operating systems, so config files are found.

[0.36.1] - 2023-02-21

Fixed

  • Revert minimum allowed version of click to 7.0.0.

[0.36.0] - 2023-02-21

Fixed

  • Bump minimum allowed version of click to 8.0.3.

[0.35.2] - 2022-12-15

Fixed

  • Temporarily disable client-side validation within the cloudsmith-api.

[0.35.1] - 2022-12-14

Fixed

  • Fixed an issue where datetime objects couldn't be serialised when outputting as JSON.

[0.35.0] - 2022-12-14

Fixed

  • Updated to support cloudsmith-api v.2.0.0

[0.34.0] - 2022-09-30

Fixed

  • Fixed a typo in permission exceptions.
  • Removed linting noqas from help docs.

[0.33.0] - 2022-05-20

Fixed

  • add '.' to config search paths (#78)

Preview

  • add quarantine add/rm command (#80)

[0.32.0] - 2022-03-03

Fixed

  • Update API client initialization to support newer versions of cloudsmith-api.

[0.31.1] - 2021-12-22

Fixed

  • Fixed issue with JSON-based output for the dependencies command.

[0.31.0] - 2021-12-21

Added

  • Added the cloudsmith dependencies sub-command, to list package dependencies.

[0.30.2] - 2021-12-20

Fixed

  • The ordering of the columns in the quota command has been fixed.

[0.30.1] - 2021-11-32

Fixed

  • cloudsmith push will now pause/sleep the process when calling the status endpoint during pushes (thanks to bagoston).

[0.30.0] - 2021-10-18

Fixed

  • Documentation generation for PyPi was broken; converted to markdown and fixed.

[0.29.0] - 2021-10-11

Documentation release.

[0.28.2] - 2021-10-09

Documentation release.

[0.28.1] - 2021-10-09

Fixed

  • Automatic releasing of CLI via CircleCI fixed.

[0.28.0] - 2021-05-18

Fixed

  • Support for Python 2 with the new package and token metrics changes

[0.27.0] - 2021-05-17

Note: This release requires cloudsmith-api >= 0.57.1.

Breaking change

  • Rework package and token metrics

[0.26.0] - 2020-11-18

Note: This release requires cloudsmith-api >= 0.54.15.

Added

  • Support for Organization Usage Metrics API
  • Fix for rendering Entitlement Token restrictions via the CLI

[0.25.5] - 2020-11-05

  • Fixed formatting JSON results for the metrics and quota commands; -F json should work now.

[0.25.4] - 2020-10-20

Note: This release requires cloudsmith-api >= 0.53.79.

Changed

  • Resolves breaking changes in Bandwidth Usage Metrics.

[0.25.3] - 2020-09-25

Changed

  • Implements Bandwidth controls for Entitlment Tokens.

[0.25.2] - 2020-09-23

Changed

  • 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.

[0.25.1] - 2020-09-21

Added

  • The push command will now display how long it took to sync/fail a package upload.

Changed

  • The synch wait interval is now a minimum bound, and increases over time.

Fixed

  • The synch progress bar will now display immediately, instead of being delayed.

[0.25.0] - 2020-09-16

Note: This release requires cloudsmith-api >= 0.53.3.

Added

  • Support for Quota API limits & history

[0.24.2] - 2020-09-08

Fixed

  • Fixed Python3 compatibility (removed f-string)

[0.24.1] - 2020-09-04

Note: This release requires cloudsmith-api >= 0.52.92.

Added

  • Support for Package Usage Metrics API

[0.24.0] - 2020-09-01

Note: This release requires cloudsmith-api >= 0.52.79.

Added

  • Support for Usage Metrics API

[0.23.0] - 2020-07-07

Note: This release requires cloudsmith-api >= 0.52.0.

Added

  • Support for package tagging: list, add, clear, remove and replace tags.
  • Support for debian DSC (source file) uploading.

Fixed

  • Publishing a duplicate package without specifying --publish or --no-republish will now default to the repository republish settings.

[0.22.2] - 2020-06-11

Added

  • Support for Terraform modules.
  • Update for (C/C++) Conan push command to allow an optional name and version to be provided.

[0.22.1] - 2020-06-10

Added

  • Update for (C/C++) Conan packages.

[0.22.0] - 2020-06-05

Added

  • Support for (C/C++) Conan packages.

[0.21.0] - 2020-04-16

Added

  • Support for repositories API and subcommands (list, create, retrieve, update and delete).

[0.20.1] - 2020-03-27

Fixed

  • Version specifier set by 0.20.0 wasn't compatible with older versions of Python.

[0.20.0] - 2020-03-27

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.

Changed

  • Pinned the Cloudsmith API library version to 0.x+ (excl. 1.x+ series).

[0.19.2] - 2020-03-27

Fixed

  • Credentials config file not being populated with API key by cloudsmith login.

[0.19.1] - 2020-02-07

Fixed

  • Missing README information on PyPi.

[0.19.0] - 2020-02-06

Added

  • Support for (Objective-C and Swift) CocoaPod packages.

[0.18.0] - 2019-12-20

Added

  • Support for (Google) Dart packages.

[0.17.3] - 2019-10-18

Fixed

  • Fixed issue with displaying entitlements.

[0.17.2] - 2019-10-17

Fixed

  • Regression with the cloudsmith login and cloudsmith token commands where they didn't execute correctly.

[0.17.1] - 2019-10-04

Fixed

  • cloudsmith login command (so that it is properly recognised) (thanks to @robmadole for reporting).

[0.17.0] - 2019-09-20

Changed

  • Upgraded suggested version of python-click to >=7.0.
  • Renamed the cloudsmith token command to cloudsmith login (token still works).

Fixed

  • Parsing of booleans from config files.
  • Tolerance of booleans without values in config files (thanks to @Mno-hime for reporting).

[0.16.0] - 2019-09-18

Added

  • Support for --content-type when uploading Raw packages.

[0.15.0] - 2019-09-03

Added

  • Support for NuGet packages (via API update).

[0.14.0] - 2019-08-29

Added

  • Support for --without-api-ssl-verify to turn off SSL verification.

[0.13.0] - 2019-08-20

Added

  • Support for Go modules.

[0.12.0] - 2019-08-14

Added

  • Support for R/CRAN packages.

Fixed

  • Ordering of parameter decorators.

[0.11.0] - 2019-08-07

Added

  • Support for LuaRocks modules.

Fixed

  • Removed duplicated --dry-run parameter in push command (thanks to @SeanTAllen of @ponylang).

[0.10.0] - 2019-04-25

Added

  • Support for Cargo registry crates.

[0.9.0] - 2019-04-16

Added

  • Support for Docker registry image containers.

[0.8.2] - 2019-04-03

Fixed

  • Issue with executing in py2/py3 using entrypoint.

[0.8.0] - 2019-04-03

Added

[0.7.2] - 2019-02-19

Fixed

  • Python 3.x compatibility due to not decoding request responses properly.

[0.7.1] - 2019-02-13

Added

  • 501, 502, 503 and 504 errors received from the API will now be retried, with exponential backoff.

Fixed

  • Entitlement command output will now respect pretty format properly and not send non-output to sysout.

[0.7.0] - 2018-10-13

Added

  • Support for Alpine Linux and NPM/npm packages.
  • Updated and pinned cloudsmith-api dependency to 0.32.11.

[0.6.3] - 2018-08-17

Added

  • Compatibility with upcoming API changes for listing repositories.

Fixed

  • Regression in listing packages caused by typo.

[0.6.2] - 2018-08-16

Changed

  • When calling ls repos, the CLI will now list all repositories that the user can see.

Fixed

  • Compatibility with API changes for listing repositories.

[0.6.1] - 2018-08-01

Fixed

  • Pinned cloudsmith-cli to 0.30.7 to fix issues with entitlements actions.

[0.6.0] - 2018-07-31

Added

  • 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).

[0.5.7] - 2018-05-07

Added

  • Always print rate limit information at exit (if throttled).

Fixed

  • #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.

[0.5.6] - 2018-03-25

Fixed

  • Issue with entitlements create command crashing because --name was left off.

[0.5.5] - 2018-03-25

Fixed

  • Issue with the move subcommand due to typo in string formatting.

[0.5.4] - 2018-03-25

Fixed

  • Issue with entitlements due to issue in API library.

[0.5.3] - 2018-03-25

Fixed

  • Issue with status subcommand failing due to API mismatch.

[0.5.2] - 2018-03-25

Fixed

  • Issue with package synchronisation stalling due to typo in status check.

[0.5.1] - 2018-03-25

Added

  • Display status reason text when a package fails, and give up attempting if it was fatal.

[0.5.0] - 2018-03-25

Added

  • Support for aliased subcommands, starting with delete = rm, list = ls and push = 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) and resync 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 and json) as JSON using -F or --output-format).
  • Support for entitlements API and subcommands (list, create, update, delete, refresh and sync).
  • 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).

Changed

  • 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.

[0.4.1] - 2018-03-12

Added

  • Support for pagination (page and page size) for lists, such as listing packages and repositories.

[0.3.4] - 2018-03-05

Fixed

  • Made documentation for cloudsmith push clearer for formats that support distro/release.
  • Serialization for API headers (especially Authorization) - No impact for most users.

[0.3.2] - 2018-01-05

Security

  • When writing a default credentials.ini file, use ug+rw for permissions instead of world-readable.

Fixed

  • Issue #2: Not able to upload in Python3-based environments due to code incompatibility.

[0.3.1] - 2017-12-06

Added

  • 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 and CLOUDSMITH_CREDENTIALS_FILE environment variables.
  • Support for adding arbitrary headers to the API via --api-headers and CLOUDSMITH_API_HEADERS.

[0.2.2] - 2017-12-03

Fixed

  • Pin for cloudsmith-api is now correctly set to 0.21.3.

[0.2.1] - 2017-12-03

Phase 2 release.

Added

  • Configuration profiles, to support multiple environments.
  • Options for api_host, api_proxy and api_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.

Changed

  • Environment variables to use a CLOUDSMITH_ prefix (not backwards compatible).

Fixed

  • 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. :-)

[0.1.0] - 2017-11-23

Phase 1 release (initial release).