- Added
--endpoint_url
flag to allow s4cmd to work with non-s3 object storage services (#82) - Fix bug in pip install (#102)
- Fix bug which was leading to errors on zero length files (#81)
- Add flag
--version
to display s4cmd version - Check added to ensure consistency of
os.write
in methodwrite_file_chunk
- Full E2E test-suite running on python 2 and 3, backed by Travis-CI
- Merge change from @rameshrajagopal for S3 keys in command-line parameters.
- Fully migrated from old boto 2.x to new boto3 library.
- Support S3 pass through APIs.
- Support batch delete (with delete_objects API).
- Support S4CMD_OPTS environment variable.
- Support moving files larger than 5GB with multipart upload.
- Support timestamp filtering with --last-modified-before and --last-modified-after options.
- Faster upload with lazy evaluation of md5 hash.
- Listing large number of files with S3 pagination, with memory is the limit.
- New directory to directory dsync command to replace old sync command.
- Add bash command line completion
- Add compatibility for Python3
- Merge changes from linsomniac@github for better argument parsing
- Merge change from oniltonmaciel@github for arguments for multi-part upload.
- Fix setup.py for module and command line tool
- Set socket.setdefaulttimeout() to prevent boto/s3 socket read block in httplib.
- Use validate=self.opt.validate to prevent extraneous list API calls.
- Check file size consistency after download; will retry the download if inconsistent.
- Disable consecutive slashes removal.
- Close http connection cleanly after thread pool execution.
- Copy file privileges. If s4cmd sync is used, then it only update privileges of files when their signatures are different
- Also retry S3ResponseError exceptions.
- Add RetryFailure class to unknown network failures.
- Fix atomic write issue for small files calling boto API directly.
- Add code to cleanup temp files.
- Fix a bug where pretty_print calls message() without format.
- Fix options global variable bug
- Open source licensing.
- Fix the initialization of Options class.
- Fix multi-threading race condition with os.makedirs call
- Fix s4cmd get/sync error with --ignore-empty-source for empty source
- Implement environment variable S4CMD_NUM_THREADS to change the default number of threads.
- Implement --ignore-empty-source parameter for backward compatibility.
- Implement du and _totalsize command.
- Read keys from environment variable or s3cfg.
- Implement mv command
- Fix the bug that recursive S3 walk wrongly check the prefix.
- Add more tests.
- Fix md5 etag (with double quote) checking bug.
- Allow wildcards with recursive mode.
- Support -d option for ls command.
- Fix the problem of get/put/sync directories.
- Fix the wildcard check for sync command.
- Temporarily avoid multipart upload for files smaller than 4.5G
- Stop showing progress if output is not connected to tty.
- Fixed wrongly directory created by cp command with a single file.
- Fixed wrong directory discovery with a single child directory.