All Versions
21
Latest Version
Avg Release Cycle
97 days
Latest Release
698 days ago

Changelog History
Page 1

  • v2.0.0 Changes

    July 04, 2022

    ๐Ÿ’ฅ Breaking changes

    • โฌ‡๏ธ Dropped inline comment feature for run command. Previously s5cmd supported a command with an inline comment like ls s3://bucket/object.gz # inline comment. (#309)
    • ๐Ÿ”„ Changed homebrew installation command on macOS. Users can install s5cmd via brew install peak/tap/s5cmd. (#356)
    • ๐Ÿ–จ Print usage errors to stderr instead of stdout and do not show help text on usage error. (#399)
    • ๐Ÿณ Working directory of the Docker image changed to /aws from /. (#412)

    ๐Ÿ”‹ Features

    • โž• Added sync command to synchronize two given buckets, prefixes, or objects. (#3)
    • โž• Added AWS Single Sign-On (SSO) profiles support. (#385)
    • โž• Added --force-glacier-transfer flag to select command. (#346)
    • โž• Added --ignore-glacier-warnings flag to cp, mv and select commands. (#346)
    • โž• Added --request-payer flag to include x-amz-request-payer in header while sending GET, POST and HEAD requests. (#297) @Kirill888
    • โž• Added --use-list-objects-v1 flag to force using S3 ListObjects API instead of ListObjectsV2 API. (#405) @greenpau
    • โž• Added trace log level(--log=trace) which enables SDK debug logs.(#363)

    ๐Ÿ‘Œ Improvements

    • โฌ†๏ธ Upgraded minimum required Go version to 1.16.

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  Fixed a bug about precedence of region detection, which auto region detection would always override region defined in environment or profile. (#325)
    • ๐Ÿ›  Fixed a bug where errors did not result a non-zero exit code. (#304)
    • ๐Ÿ–จ Print error if the commands file of run command is not accessible. (#410)
    • โšก๏ธ Updated region detection call to use current session's address resolving method (#314)
    • ๐Ÿ›  Fixed a bug where lines with large tokens fail in run command. sync was failing when it finds multiple files to remove. (#435, #436)
    • ๐Ÿ–จ Print usage error if given log level(--log) is not valid. (#430)
    • ๐Ÿ›  Fixed a bug where (--stat) is ignored when log level is error. (#359)
  • v1.4.0 Changes

    September 21, 2021

    ๐Ÿ”‹ Features

    • โž• Added select command. It allows to select JSON records from objects using SQL expressions. (#299) @skeggse
    • โž• Added rb command to remove buckets. (#303).
    • โž• Added --exclude flag to cp, rm, ls, du and select commands. This flag allows users to exclude objects with given pattern. (#266)
    • โž• Added --raw flag to cp and rm commands. It disables the wildcard operations. It is useful when an object contains glob characters which interfers with glob expansion logic. (#235)
    • โž• Added --cache-control and --expires flags to cp and mv commands. It adds support for setting cache control and expires header to S3 objects. (#318) @tombokombo
    • โž• Added --force-glacier-transfer flag to cp command. It forces a transfer request on all Glacier objects. (#206)
    • โž• Added --source-region and destination-region flags to cp command. It allows overriding bucket region. (#262) @kemege

    ๐Ÿ‘Œ Improvements

    • โž• Added MacPorts installation option. (#311) @manojkarthick
    • Added S3_ENDPOINT_URL environment variable (#343) @Dexus
    • Prevent retries if a token related error is received (#337)

    ๐Ÿ›  Bugfixes

    • ๐Ÿ”„ Change the order of precedence in URL expansion in file system. Glob (*) expansion have precedence over directory expansion. (#322)
    • ๐Ÿ›  Fixed data race for concurrent writes for expand (#330)
    • ๐Ÿ›  Fixed concurrent writes to the flags list of run command (#335)
    • ๐Ÿ›  Fixed options usage on mv command (#338)
  • v1.3.0 Changes

    July 01, 2021

    ๐Ÿ”‹ Features

    • โž• Added global --no-sign-request flag. API requests won't be signed and credentials won't be used if this option is provided. It is useful for accessing public buckets. (#285)

    ๐Ÿ‘Œ Improvements

    • ๐Ÿ‘€ If retryable errors are received during command execution, users now can see what's happening under the hood. (#261)
    • ๐Ÿ“š Update documentation about the AWS_PROFILE environment variable. (#275) @davebiffuk

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  Fixed a bug where write-bit was required to upload a file. (#258)
    • ๐Ÿ›  Fixed a bug where object could not be found if S3 key contains certain special characters. (#279) @khacminh
    • s5cmd exits with code 1 if given command is not found. It was 0 before. (#295)
  • v1.2.1 Changes

    December 03, 2020

    ๐Ÿ‘Œ Improvements

    • ๐Ÿณ Statically link s5cmd in Docker image (#250)

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  Fixed a bug where HeadBucket request fails during region information retrieval. (#251, #252)
  • v1.2.0 Changes

    November 05, 2020

    ๐Ÿš€ With this release, s5cmd automatically determines region information of destination buckets.

    ๐Ÿ”‹ Features

    • โž• Added global --dry-run option. It displays which command(s) will be executed without actually having a side effect. (#90)
    • โž• Added --stat option for s5cmd and it displays program execution statistics before the end of the program output. (#148)
    • โž• Added cross-region transfer support. Bucket regions are inferred, thus, supporting cross-region transfers and multiple regions in batch mode. (#155)

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  Fixed incorrect MIME type inference for cp, give priority to file extension for type inference. (#214)
    • ๐Ÿ›  Fixed error reporting issue, where some errors from the ls operation were not printed.

    ๐Ÿ‘Œ Improvements

    • Requests to different buckets not allowed in rm batch operation, i.e., throw an error.
    • AWS S3 RequestTimeTooSkewed request error was not retryable before, it is now. (205)
    • ๐Ÿ–จ For some operations errors were printed at the end of the program execution. Now, errors are displayed immediately after being detected. (#136)
    • ๐Ÿณ From now on, docker images will be published on Docker Hub. (#238)
    • ๐Ÿ”„ Changed misleading 'mirroring' examples in the help text of cp. (#213)
  • v1.1.0 Changes

    July 22, 2020

    ๐Ÿš€ With this release, Windows is supported.

    ๐Ÿ’ฅ Breaking changes

    • โฌ‡๏ธ Dropped storage class short codes display from default behaviour of ls operation. Instead, use -s flag with ls ๐Ÿ‘€ to see full names of the storage classes when listing objects.

    ๐Ÿ”‹ Features

    • โž• Added Server-side Encryption (SSE) support for mv/cp operations. It uses customer master keys (CMKs) managed by AWS Key Management Service. (#18)
    • โž• Added an option to show full form of storage class when listing objects. (#165)
    • โž• Add access control lists (ACLs) ๐Ÿ‘Œ support to enable managing access to buckets and objects. (#26)

    ๐Ÿ›  Bugfixes

    • ๐Ÿ›  Fixed infinite repetition issue on mv/cp operations which would occur if the destination matched the source wildcard. (#168)
    • ๐Ÿ›  Fixed windows filepath issue, where backslashes should be treated as the path delimiter. (#178)
    • ๐Ÿ All tests pass on windows, by converting and treating file paths to UNIX filepath format.
    • ๐Ÿ›  Fixed a transfer issue where the object path contains particular regex metacharacters. (#111) @brendan-matroid
    • ๐Ÿ“œ Correctly parse object paths that contain whitespaces in run-mode. (#111) @brendan-matroid

    ๐Ÿ‘Œ Improvements

  • v1.0.0 Changes

    April 01, 2020

    ๐Ÿš€ This is a major release with many breaking changes.

    ๐Ÿ’ฅ Breaking changes

    • โฌ‡๏ธ Dropped get command. Users could get the same effect with s5cmd cp <src> ..
    • โฌ‡๏ธ Dropped nested command support.
    • โฌ‡๏ธ Dropped ! command. It was used to execute shell commands and was used in conjunction with nested commands.
    • s5cmd -f and s5cmd -f - usage has changed to s5cmd run. run command accepts a file. If not provided, it'll listen for commands from stdin.
    • Exit code for errors was 127. It is 1 now.
    • โฌ‡๏ธ Dropped exit command. It was used to change the shell exit code and usually a part of the nested command usage.
    • โฌ‡๏ธ Dropped local->local copy and move support. (#118)
    • All error messages are sent to stderr now.
    • -version flag is changed to version command.
    • โฌ‡๏ธ Dropped batch-rm command. It was not listed in the help output. Now that we support variadic arguments, users can remove multiple objects by providing wildcards or multiple arguments to s5cmd rm command. (#106)
    • ๐Ÿ’… Virtual host style bucket name resolving is enabled by default for S3 and GCS. If you provide a custom endpoint via --endpoint-url flag (other than GCS and S3 transfer acceleration), s5cmd will fall back to the path-style. (#92)
    • Listing a non-existent object will return exit code 1, instead of 0. (#23)
    • -ds, -dw, -us and -uw global flags are no longer available. Multipart concurrency and part size flags are now part of the cp/mv command. New replacement flags are --concurrency | -c and --part-size | -p. (#110)
    • 0๏ธโƒฃ s5cmd cp command follows symbolic links by default (only when uploading to s3 from local filesystem). Use --no-follow-symlinks flag to disable this feature. (#17)
    • โฌ‡๏ธ Dropped -parents flag from copy command. Copy behaviour has changed to preserve the directory hierarchy as a default. Optional -flatten flag is added to flatten directory structure. (#107)
    • โฌ‡๏ธ Dropped -vv verbosity flag. --log flag is introduced.

    ๐Ÿ”‹ Features

    ๐Ÿ›  Bugfixes

    • Correctly set Content-Type of a file on upload operations. (#33)
    • ๐Ÿ›  Fixed a bug where workers are unable to consume job if there are too many outstanding wildcard expansion requests. (#12, #58)

    ๐Ÿ‘Œ Improvements

    • ๐Ÿš€ Pre-compiled binaries are provided on releases page. (#21)
    • โšก๏ธ AWS Go SDK is updated to support IAM role for service accounts. (#32)
    • ๐Ÿšš For copy/move operations, s5cmd now creates destination directory if missing.
    • Increase the soft limit of open files to 1000 and exits immediately when it encounters too many open files error. (#52)
  • v0.7.2

    February 19, 2020
  • v0.7.1

    February 05, 2020
  • v0.7.0 Changes

    January 27, 2020
    • ๐Ÿ‘‰ Use go modules.
    • โšก๏ธ Update minimum required Go version to 1.13.