Skip to content

Releases: Backblaze/B2_Command_Line_Tool

4.0.0

13 May 08:03
0d0878b
Compare
Choose a tag to compare

Changed

  • CLI b2 executable now points to the latest stable ApiVer version, b2v4, previously it pointed to b2v3.
    These means following breaking changes:
    • b2 will no longer persists credentials and other secrets on disk if credentials were passed through B2_* environment variables. To explicitly persist them and keep using local cache for better performance, user can simply call b2 account authorize
    • b2 ls and b2 rm no longer accept two positional arguments, instead accepting only B2 URI (e.g. b2://bucketName/path)
  • Changed sync command exit status code from 0 to 1 if any warnings or errors were encountered during the operation.

Fixed

  • Invalid unicode characters read from filesystem will no longer interrupt b2 sync

Deprecated

  • Deprecated authorize-account, get-account-info and clear-account, use account {authorize|get|clear} instead.
  • Deprecated delete-file-version, use rm instead. Added --bypass-governance option to rm.
  • Deprecated file-info, get-url, cat, upload-file, download-file, copy-file-by-id, hide-file, update-file-legal-hold and update-file-retention, use file {info|url|cat|upload|download|copy-by-id|hide|update} instead.
  • Deprecated get-download-url-with-auth, use file url instead. Added --with-auth and --duration options to file url.
  • Deprecated list-buckets, get-bucket, create-bucket, update-bucket, delete-bucket, get-download-auth and notification-rules, use bucket {list|get|create|update|delete|get-download-auth|notification-rule} instead.
  • Deprecated list-keys, create-key and delete-key, use key {list|create|delete} instead.
  • Deprecated list-parts, use file large parts instead.
    Deprecated list-unfinished-large-files, use file large unfinished list instead.
    Deprecated cancel-large-file amd cancel-all-unfinished-large-files, use file large unfinished cancel instead.
  • Deprecated replication-{setup|delete|pause|unpause|status}, use replication {setup|delete|pause|unpause|status} instead.

Added

  • Add account {authorize|get|clear} commands.
  • Add bucket {list|get|create|update|delete|get-download-auth|notification-rule} commands.
  • Add file large {parts|unfinished list|unfinished cancel} commands.
  • Add file {info|url|cat|upload|download|copy-by-id|hide|update} commands.
  • Add key {list|create|delete} commands.
  • Add replication {setup|delete|pause|unpause|status} commands.
  • Allow b2v3 to be run in official Docker image without the need to change entrypoint.

Doc

  • Automate nested subcommand documentation generation.
  • Display short descriptions instead of arguments in subcommands help messages.
  • Sort subcommands in --help alphabetically for better readability.

3.19.1

23 Apr 19:51
1e980a1
Compare
Choose a tag to compare

Fixed

  • Fix create-key --all-capabilities error when using b2sdk>=2.1.

3.19.0

15 Apr 14:23
8dc8d5c
Compare
Choose a tag to compare

Added

3.18.0

02 Apr 13:30
0cd3882
Compare
Choose a tag to compare

Changed

  • Change all _b2v4 --camelCase CLI flags to --kebab-case.
    Add deprecation warning for b2v3 --camelCase CLI flags.

Fixed

  • Don't persist credentials provided in the Environment variables in any command other than authorize-account when using b2v4.
  • Fix b2 --help showing full binary path instead of just basename.

Added

  • Add autocomplete support for zsh and fish shells.
  • Add support for calling b2 ls without arguments to list all buckets.

Infrastructure

  • Add dockerhub description deployment to CD workflow.
  • Add support for pre-releases in CD.
  • Fix missing command output when running nox under CI.
  • Increase verbosity when running tests under CI.
  • Update to GitHub Actions using Node 20.

3.17.0

15 Mar 16:54
dc98459
Compare
Choose a tag to compare

Fixed

  • Control character escaping is now enabled by default if running in a terminal for improved security.

Added

  • Added --escape-control-characters and --no-escape-control-characters flags,
    as well as B2_ESCAPE_CONTROL_CHARACTERS env var to explicitly enable or disable control character escaping.

3.16.1

26 Feb 13:05
9b6da8e
Compare
Choose a tag to compare

Fixed

  • Fix --threads option being silently ignored in upload commands.

3.16.0

19 Feb 15:25
Compare
Choose a tag to compare

Changed

  • All internal Python modules were moved to the b2._internal package to further discourage users from importing them.
  • Change ls and rm commands to use the b2:// URI scheme in the pre-release _b2v4 command.

Fixed

  • Fix --minPartSize not supporting values above 100MB.
  • Fix a bug where rm bucketName folderName command without the --recursive flag would
    remove a first file from every subdirectory inside folderName.
  • Fix handling of ? and # in B2 URI.

Added

  • ApiVer introduced. b2 executable points to the latest stable ApiVer version, while
    b2v3 will always point to v3 ApiVer release of b2 CLI.
  • Add --include and --exclude filters to the ls and rm commands.
  • Add support for deleting a single file by b2id:// URI in the pre-release _b2v4 command.
  • Print account info if b2 authorize-account is successful using the same format as b2 get-account-info.
  • Print output file path in download-file command.

Infrastructure

  • Fix CI failing on mkdir when testing docker image.
  • Use pdm for building, testing and managing dependencies.
  • Remove unnecessary files (continuous integration scripts, tests) from sdist tarball.

3.15.0

07 Dec 09:36
Compare
Choose a tag to compare

Changed

  • Use Python 3.12 in the official b2 Docker image.

Fixed

  • Loosen platformdirs dependency version specifier.

Added

  • Whenever target filename is a directory, file is downloaded into that directory.

3.14.0

06 Dec 20:04
Compare
Choose a tag to compare

Changed

  • Update b2sdk to 1.28.0 (resolves #958, #934).

Fixed

  • Don't print `Using https://REALM" in stderr unless explicitly set by user. (#949)
  • Added autocomplete suggestion caching to improve autocomplete performance.
  • Do not include build cache in official b2 docker image.
  • Fix an error that caused multiprocessing semaphores to leak on OSX.

Deprecated

  • Deprecated download-file-by-id and download-file-by-name, use download-file instead.
    Deprecated get-file-info, use file-info instead.
    Deprecated make-url and make-friendly-url, use get-url instead.

Added

  • Add --expires, --content-disposition, --content-encoding, --content-language options to subcommands upload-file, upload-unbound-stream, copy-file-by-id.
  • Add download-file, file-info and get-url commands using new B2 URI syntax allowing for referring to file-like objects by their bucket&name or ID.

Doc

  • Add cat command to documentation.
  • Add additional linebreaks to ensure lists are properly rendered.

Infrastructure

  • Ensure CI checks Python package compatibility with latest setuptools. (#952)
  • Allow skipping changelog for PRs marked with -changelog label.
  • Changelog entries are now validated as a part of CI pipeline.
  • Disable dependabot requests for updates unrelated to security issues.
  • Fix CI badge not showing correct status in README.
  • Remove unused exception class and outdated todo.
  • Skip draft step in releases - all successful releases are public.
  • Update license text generation dependencies to prevent triggering security scan false-positives.
  • Use cpython 3.12 (not 3.11) for integration tests with secrets.

3.13.1

21 Nov 13:53
e34569f
Compare
Choose a tag to compare

Fixed

  • Fix "pip install" by making pyproject.toml viable. (#952)

Doc

  • Fix docker run example in README.md

Infrastructure

  • Towncrier changelog generation - to avoid conflicts when simultaneously working on PRs
  • fix towncrier generated changelog to work with mindsers/changelog-reader-action