- 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
This is a major release with many breaking changes.
- Dropped
get
command. Users could get the same effect withs5cmd 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
ands5cmd -f -
usage has changed tos5cmd run
.run
command accepts a file. If not provided, it'll listen for commands from stdin.- Exit code for errors was
127
. It is1
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 toversion
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 tos5cmd 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 thepath-style
. (#92) - Listing a non-existent object will return exit code
1
, instead of0
. (#23) -ds
,-dw
,-us
and-uw
global flags are no longer available. Multipart concurrency and part size flags are now part of thecp/mv
command. New replacement flags are--concurrency | -c
and--part-size | -p
. (#110)- 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.
- Added
mb
command to make buckets. (#25) - Added
--json
flag for JSON logging. (#22) - Added S3 transfer acceleration support. (#40)
- Added Google Cloud Storage support. (#81)
- Added
cat
command to print remote object contents to stdout (#20)
- 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)
- 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)
- Use go modules.
- Update minimum required Go version to 1.13.
- Fix bug in brew install.
- Update travis configuration.
- Integrate Travis CI.
- Add option to disable SSL verification.
- Add endpoint url flag to support S3 compatible services.
- Use client's endpoint in GetSessionForBucket.
- Upgrade minimum required Go version to 1.7.
- Use 50mb chunks by default.
- Add human-readable output option -H.
- Implement "command -h".
- Refactor retryable error handling.
- Autodetect bucket region in command completion.
- Add HomeBrew formula.
- Add -s and -u options to overwrite files if sizes differ or files are lastly modified.
- Use constructor for *JobArgument.
- Add -dlw, -dlp and -ulw configuration options for worker pool.
- Fix get/cp without 2nd param or exact destination filename.
- Implement shell auto completion.
- Add context support for batch AWS requests.
- Implement "s5cmd get".
- Reduce idle-timer values.
- Add option -vv to log parser errors verbosely.
- Implement "du -g" to group by storage class.
- Use Go bool type instead of aws.Bool on recoverer.
- Make RequestError retryable.
- Implement verbose output (-vv flag).
- Add godoc for error types.