Skip to content

v2.1.0

Compare
Choose a tag to compare
@peakcloud peakcloud released this 19 Jun 10:58
· 64 commits to master since this release
3efbbe8

Changelog

Breaking changes

  • Adjacent slashes in key are no longer removed when uploading to remote. Before s5cmd cp file.txt s3://bucket/a//b///c/ would copy to s3://bucket/a/b/c/file.txt but now to s3://bucket/a//b///c/file.txt.(#459)
  • --endpoint-url will not accept URLs without scheme such as example.com. Instead, it will give an error and ask for an url with a scheme; either http://example.com or https://example.com (#496).

Features

  • Added --content-type and --content-encoding flags to cp command. (#264)
  • Added --profile flag to allow users to specify a named profile. (#353)
  • Added --credentials-file flag to allow users to specify path for the AWS credentials file instead of using the default location.
  • Added --all-versions flag to ls, rm, du and select subcommands to apply operation on(/over) all versions of the objects. (#475)
  • Added --version-id flag to cat, cp/mv, rm, du and select subcommands to apply operation on(/over) a specific versions of the object. (#475)
  • Added bucket-version command to configure bucket versioning. Bucket name alone returns the bucket versioning status of the bucket. Bucket versioning can be configured with set flag. (#475)
  • Added --raw flag to cat and select subcommands. It disables the wildcard operations. (#475)
  • Added bench.py script under new benchmark folder to compare performances of two different builds of s5cmd. (#471)

Improvements

  • Disable AWS SDK logger if log level is not trace. (#460)

  • Allow adjacent slashes to be used as keys when uploading to remote. (#459)

  • Debian packages are provided on releases page (#380)

  • Upgraded minimum required Go version to 1.17.

  • The sync command uses external sort instead of internal sort. This change
    reduces RAM usage from ~10 GB to ~1.5 GB for sync operation of a directory containing
    1,000,000 files at a cost of speed (20% slower for 1,000,000 objects). For smaller
    directories (~50,000 files) there is no significant change in speed. (#483)

  • Improve auto-completion support of s5cmd for zsh and bash, start supporting pwsh and stop the support for fish. Now s5cmd can complete bucket names, s3 keys in a bucket and the local files. However, install-completion flag no longer installs the completion script to *rc files instead it merely gives instructions to install autocompletion and provides the autocompletion script (#500).

Bugfixes

  • Fixed a bug where (--stat) prints unnecessarily when used with help and version commands (#452)
  • Changed cp error message to be more precise. "given object not found" error message now will also include absolute path of the file. (#463)
  • Fixed a bug where some part of the destination path is removed by cp and sync subcommands (#360)
  • Fixed a bug where proxy is not being used when --no-verify-ssl flag is used. (#445)
  • Fixed unknown url format error when object key also includes s3:// e.g. s5cmd ls s3://foo/bar/s3://baz (#449)
  • Fixed a bug where the local file created for the download operation was not deleted if the download fails in Windows. (#348)