v2.1.0
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 tos3://bucket/a/b/c/file.txt
but now tos3://bucket/a//b///c/file.txt
.(#459) --endpoint-url
will not accept URLs without scheme such asexample.com
. Instead, it will give an error and ask for an url with a scheme; eitherhttp://example.com
orhttps://example.com
(#496).
Features
- Added
--content-type
and--content-encoding
flags tocp
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 tols
,rm
,du
andselect
subcommands to apply operation on(/over) all versions of the objects. (#475) - Added
--version-id
flag tocat
,cp
/mv
,rm
,du
andselect
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 withset
flag. (#475) - Added
--raw
flag tocat
andselect
subcommands. It disables the wildcard operations. (#475) - Added
bench.py
script under newbenchmark
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 ofinternal
sort. This change
reduces RAM usage from ~10 GB to ~1.5 GB forsync
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
andbash
, start supportingpwsh
and stop the support forfish
. 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
andsync
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 includess3://
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)