s5cmd v2.0.0 Release Notes

Release Date: 2022-07-04 // 9 months ago
  • ๐Ÿ’ฅ 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)

Previous changes from v1.4.0

  • ๐Ÿ”‹ 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)