s3cmd-2.1.0 - 2020-04-07 =============== * Changed size reporting using k instead of K as it a multiple of 1024 (#956) * Added "public_url_use_https" config to generate public url using https (#551, #666) (Jukka Nousiainen) * Added option to make connection pooling configurable and improvements (Arto Jantunen) * Added support for path-style bucket access to signurl (Zac Medico) * Added docker configuration and help to run test cases with multiple Python versions (Doug Crozier) * Relaxed limitation on special chars for --add-header key names (#1054) * Fixed all regions that were automatically converted to lower case (Harshavardhana) * Fixed size and alignment of DU and LS output reporting (#956) * Fixes for SignatureDoesNotMatch error when host port 80 or 443 is specified, due to stupid servers (#1059) * Fixed the useless retries of requests that fail because of ssl cert checks * Fixed a possible crash when a file disappears during cache generation (#377) * Fixed unicode issues with IAM (#987) * Fixed unicode errors with bucked Policy/CORS requests (#847) (Alex Offshore) * Fixed unicode issues when loading aws_credential_file (#989) * Fixed an issue with the tenant feature of CephRGW. Url encode bucket_name for path-style requests (#1080) * Fixed signature v2 always used when bucket_name had special chars (#1081) * Allow to use signature v4 only, even for commands without buckets specified (#1082) * Fixed small open file descriptor leaks. * Py3: Fixed hash-bang in headers to not force using python2 when setup/s3cmd/run-test scripts are executed directly. * Py3: Fixed unicode issues with Cloudfront (#1006) * Py3: Fixed http.client.RemoteDisconnected errors (#1014) (Ryan Huddleston) * Py3: Fixed 'dictionary changed size during iteration' error when using a cache-file (#945) (Doug Crozier) * Py3: Fixed the display of file sizes (Vlad Presnyak) * Py3: Python 3.8 compatibility fixes (Konstantin Shalygin) * Py2: Fixed unicode errors sometimes crashing remote2remote sync (#847) * Added s3cmd.egg-info to .gitignore (Philip Dubé) * Improved run-test script to not use hard-coded bucket names(#1066) (Doug Crozier) * Renamed INSTALL to INSTALL.md and improvements (Nitro, Prabhakar Gupta) * Improved the restore command help (Hrchu) * Updated the storage-class command help with the recent aws s3 classes (#1020) * Fixed typo in the --continue-put help message (Pengyu Chen) * Fixed typo (#1062) (Tim Gates) * Improvements for setup and build configurations * Many other bug fixes s3cmd-2.0.2 - 2018-07-15 =============== * Fixed unexpected timeouts encountered during requests or transfers due to AWS strange connection short timeouts (#941) * Fixed a throttle issue slowing down too much transfers in some cases (#913) * Added support for $AWS_PROFILE (#966) (Taras Postument) * Added clarification comment for the socket_timeout configuration value OS limit * Avoid distutils usage at runtime (Matthias Klose) * Python 2 compatibility: Fixed import error of which with fallback code (Gianfranco Costamagna) * Fixed Python 3 bytes string encoding when getting IAM credentials (Alexander Allakhverdiyev) * Fixed handling of config tri-state bool values (like acl_public) (Brian C. Lane) * Fixed V2 signature when restore command is used (Jan Kasiak) * Fixed setting full_control on objects with public read access (Matthew Vernon) * Fixed a bug when only one path is supplied with Cloudfront. (Mikael Svensson) * Fixed signature errors with 'modify' requests (Radek Simko) * Fixed #936 - Fix setacl command exception (Robert Moucha) * Fixed error reporting if deleting a source object failed after a move (#929) * Many other bug fixes (#525, #933, #940, #947, #957, #958, #960, #967) Important info: AWS S3 doesn't allow anymore uppercases and underscores in bucket names since march 1, 2018 s3cmd-2.0.1 - 2017-10-21 =============== * Support for Python 3 is now stable * Fixed signature issues due to upper cases in hostname (#920) * Improved support for Minio Azure gateway (Julien Maitrehenry, Harshavardhana) * Added signurl_use_https option to use https prefix for signurl (Julien Recurt) * Fixed a lot of remaining issues and regressions for Python 3 (#922, #921, #908) * Fixed --configure option with Python 3 * Fixed non string cmdline parameters being ignored * Windows support fixes (#922) * Don't force anymore to have a / on last parameter for the "modify" command (#886) * Removed the python3 support warning * Detect and report error 403 in getpolicy for info command (#894) * Added a specific error message when getting policy by non owner (#885) * Many other bug fixes (#905, #892, #890, #888, #889, #887) s3cmd-2.0.0 - 2017-06-26 =============== * Added support for Python 3 (Shaform, Florent Viard) * Added getlifecycle command (Daniel Gryniewicz) * Added --cf-inval for invalidating multiple CF distributions (Joe Mifsud) * Added --limit to "ls" and "la" commands to return the specified number of objects (Masashi Ozawa) * Added --token-refresh and --no-token-refresh and get the access token from the environment (Marco Jakob) * Added --restore-priority and --restore-days for S3 Glacier (Robert Palmer) * Fixed requester pays header with HEAD requests (Christian Rodriguez) * Don't allow mv/cp of multiple files to single file (Guy Gur-Ari) * Generalize wildcard certificate forgiveness (Mark Titorenko) * Multiple fixes for SSL connections and proxies * Added support for HTTP 100-CONTINUE * Fixes for s3-like servers * Big cleanup and many unicode fixes * Many other bug fixes s3cmd-1.6.1 - 2016-01-20 =============== * Added --host and --host-bucket * Added --stats * Fix for newer python 2.7.x SSL library updates * Many other bug fixes s3cmd-1.6.0 - 2015-09-18 =============== * Support signed URL content disposition type * Added 'ls -l' long listing including storage class * Added --limit-rate=RATE * Added --server-side-encryption-kms-id=KEY_ID * Added --storage-class=CLASS * Added --requester-pays, [payer] command * Added --[no-]check-hostname * Added --stop-on-error, removed --ignore-failed-copy * Added [setcors], [delcors] commands * Added support for cn-north-1 region hostname checks * Output strings may have changed. Scripts calling s3cmd expecting specific text may need to be updated. * HTTPS is now the default * Many unicode fixes * Many other bug fixes s3cmd-1.5.2 - 2015-02-08 =============== * Handle unvalidated SSL certificate. Necessary on Ubuntu 14.04 for SSL to function at all. * packaging fixes (require python-magic, drop ez_setup) s3cmd-1.5.1.2 - 2015-02-04 =============== * fix PyPi install s3cmd-1.5.1 - 2015-02-04 =============== * Sort s3cmd ls output by bucket name (Andrew Gaul) * Support relative expiry times in signurl. (Chris Lamb) * Fixed issue with mixed path separators with s3cmd get --recursive on Windows. (Luke Winslow) * fix S3 wildcard certificate checking * Handle headers with spaces in their values properly (#460) * Fix lack of SSL certificate checking libraries on older python * set content-type header for stdin from command line or Config() * fix uploads from stdin (#464) * Fix directory exclusions (#467) * fix signurl * Don't retry in response to HTTP 405 error (#422) * Don't crash when a proxy returns an invalid XML error document s3cmd-1.5.0 - 2015-01-12 =============== * add support for newer regions such as Frankfurt that require newer authorization signature v4 support (Vasileios Mitrousis, Michal Ludvig, Matt Domsch) * drop support for python 2.4 due to signature v4 code. python 2.6 is now the minimum, and python 3 is still not supported. * handle redirects to the "right" region for a bucket. * add --ca-cert=FILE for self-signed certs (Matt Domsch) * allow proxied SSL connections with python >= 2.7 (Damian Gerow) * add --remove-headers for [modify] command (Matt Domsch) * add -s/--ssl and --no-ssl options (Viktor Szakáts) * add --signature-v2 for backwards compatibility with S3 clones. * bugfixes by 17 contributors s3cmd 1.5.0-rc1 - 2014-06-29 =============== * add environment variable S3CMD_CONFIG (Devon Jones), access key and secre keys (Vasileios Mitrousis) * added modify command (Francois Gaudin) * better debug messages (Matt Domsch) * faster batch deletes (Matt Domsch) * Added support for restoring files from Glacier storage (Robert Palmer) * Add and remove full lifecycle policies (Sam Rudge) * Add support for object expiration (hrchu) * bugfixes by 26 contributors s3cmd 1.5.0-beta1 - 2013-12-02 ================= * Brougt to you by Matt Domsch and contributors, thanks guys! :) * Multipart upload improvements (Eugene Brevdo, UENISHI Kota) * Allow --acl-grant on AWS groups (Dale Lovelace) * Added Server-Side Encryption support (Kevin Daub) * Improved MIME types detections and content encoding (radomir, Eric Drechsel, George Melika) * Various smaller changes and bugfixes from many contributors s3cmd 1.5.0-alpha3 - 2013-03-11 ================== * Persistent HTTP/HTTPS connections for massive speedup (Michal Ludvig) * New switch --quiet for suppressing all output (Siddarth Prakash) * Honour "umask" on file downloads (Jason Dalton) * Various bugfixes from many contributors s3cmd 1.5.0-alpha2 - 2013-03-04 ================== * IAM roles support (David Kohen, Eric Dowd) * Manage bucket policies (Kota Uenishi) * Various bugfixes from many contributors s3cmd 1.5.0-alpha1 - 2013-02-19 ================== * Server-side copy for hardlinks/softlinks to improve performance (Matt Domsch) * New [signurl] command (Craig Ringer) * Improved symlink-loop detection (Michal Ludvig) * Add --delete-after option for sync (Matt Domsch) * Handle empty return bodies when processing S3 errors. (Kelly McLaughlin) * Upload from STDIN (Eric Connell) * Updated bucket locations (Stefhen Hovland) * Support custom HTTP headers (Brendan O'Connor, Karl Matthias) * Improved MIME support (Karsten Sperling, Christopher Noyes) * Added support for --acl-grant/--acl-revoke to 'sync' command (Michael Tyson) * CloudFront: Support default index and default root invalidation (Josep del Rio) * Command line options for access/secret keys (Matt Sweeney) * Support [setpolicy] for setting bucket policies (Joe Fiorini) * Respect the $TZ environment variable (James Brown) * Reduce memory consumption for [s3cmd du] (Charlie Schluting) * Rate limit progress updates (Steven Noonan) * Download from S3 to a temp file first (Sumit Kumar) * Reuse a single connection when doing a bucket list (Kelly McLaughlin) * Delete empty files if object_get() failed (Oren Held) s3cmd 1.1.0 - (never released) =========== * MultiPart upload enabled for both [put] and [sync]. Default chunk size is 15MB. * CloudFront invalidation via [sync --cf-invalidate] and [cfinvalinfo]. * Increased socket_timeout from 10 secs to 5 mins. * Added "Static WebSite" support [ws-create / ws-delete / ws-info] (contributed by Jens Braeuer) * Force MIME type with --mime-type=abc/xyz, also --guess-mime-type is now on by default, -M is no longer shorthand for --guess-mime-type * Allow parameters in MIME types, for example: --mime-type="text/plain; charset=utf-8" * MIME type can be guessed by python-magic which is a lot better than relying on the extension. Contributed by Karsten Sperling. * Support for environment variables as config values. For instance in ~/.s3cmd put "access_key=$S3_ACCESS_KEY". Contributed by Ori Bar. * Support for --configure checking access to a specific bucket instead of listing all buckets. Listing buckets requires the S3 ListAllMyBuckets permission which is typically not available to delegated IAM accounts. With this change, s3cmd --configure accepts an (optional) bucket uri as a parameter and if it's provided, the access check will just verify access to this bucket individually. Contributed by Mike Repass. * Allow STDOUT as a destination even for downloading multiple files. They will be output one after another without any delimiters! Contributed by Rob Wills. s3cmd 1.0.0 - 2011-01-18 =========== * [sync] now supports --no-check-md5 * Network connections now have 10s timeout * [sync] now supports bucket-to-bucket synchronisation * Added [accesslog] command. * Added access logging for CloudFront distributions using [cfmodify --log] * Added --acl-grant and --acl-revoke [Timothee Groleau] * Allow s3:// URI as well as cf:// URI as a distribution name for most CloudFront related commands. * Support for Reduced Redundancy Storage (--reduced-redundancy) * Follow symlinks in [put] and [sync] with --follow-symlinks * Support for CloudFront DefaultRootObject [Luke Andrew] s3cmd 0.9.9.91 - 2009-10-08 ============== * Fixed invalid reference to a variable in failed upload handling. s3cmd 0.9.9.90 - 2009-10-06 ============== * New command 'sign' for signing e.g. POST upload policies. * Fixed handling of filenames that differ only in capitalisation (eg blah.txt vs Blah.TXT). * Added --verbatim mode, preventing most filenames pre-processing. Good for fixing unreadable buckets. * Added --recursive support for [cp] and [mv], including multiple-source arguments, --include/--exclude, --dry-run, etc. * Added --exclude/--include and --dry-run for [del], [setacl]. * Neutralise characters that are invalid in XML to avoid ExpatErrors. http://boodebr.org/main/python/all-about-python-and-unicode * New command [fixbucket] for for fixing invalid object names in a given Bucket. For instance names with  in them (not sure how people manage to upload them but they do). s3cmd 0.9.9 - 2009-02-17 =========== New commands: * Commands for copying and moving objects, within or between buckets: [cp] and [mv] (Andrew Ryan) * CloudFront support through [cfcreate], [cfdelete], [cfmodify] and [cfinfo] commands. (sponsored by Joseph Denne) * New command [setacl] for setting ACL on existing objects, use together with --acl-public/--acl-private (sponsored by Joseph Denne) Other major features: * Improved source dirname handling for [put], [get] and [sync]. * Recursive and wildcard support for [put], [get] and [del]. * Support for non-recursive [ls]. * Enabled --dry-run for [put], [get] and [sync]. * Allowed removal of non-empty buckets with [rb --force]. * Implemented progress meter (--progress / --no-progress) * Added --include / --rinclude / --(r)include-from options to override --exclude exclusions. * Added --add-header option for [put], [sync], [cp] and [mv]. Good for setting e.g. Expires or Cache-control headers. * Added --list-md5 option for [ls]. * Continue [get] partially downloaded files with --continue * New option --skip-existing for [get] and [sync]. Minor features and bugfixes: * Fixed GPG (--encrypt) compatibility with Python 2.6. * Always send Content-Length header to satisfy some http proxies. * Fixed installation on Windows and Mac OS X. * Don't print nasty backtrace on KeyboardInterrupt. * Should work fine on non-UTF8 systems, provided all the files are in current system encoding. * System encoding can be overridden using --encoding. * Improved resistance to communication errors (Connection reset by peer, etc.) s3cmd 0.9.8.4 - 2008-11-07 ============= * Stabilisation / bugfix release: * Restored access to upper-case named buckets. * Improved handling of filenames with Unicode characters. * Avoid ZeroDivisionError on ultrafast links (for instance on Amazon EC2) * Re-issue failed requests (e.g. connection errors, internal server errors, etc). * Sync skips over files that can't be open instead of terminating the sync completely. * Doesn't run out of open files quota on sync with lots of files. s3cmd 0.9.8.3 - 2008-07-29 ============= * Bugfix release. Avoid running out-of-memory in MD5'ing large files. s3cmd 0.9.8.2 - 2008-06-27 ============= * Bugfix release. Re-upload file if Amazon doesn't send ETag back. s3cmd 0.9.8.1 - 2008-06-27 ============= * Bugfix release. Fixed 'mb' and 'rb' commands again. s3cmd 0.9.8 - 2008-06-23 =========== * Added --exclude / --rexclude options for sync command. * Doesn't require $HOME env variable to be set anymore. * Better checking of bucket names to Amazon S3 rules. s3cmd 0.9.7 - 2008-06-05 =========== * Implemented 'sync' from S3 back to local folder, including file attribute restoration. * Failed uploads are retried on lower speed to improve error resilience. * Compare MD5 of the uploaded file, compare with checksum reported by S3 and re-upload on mismatch. s3cmd 0.9.6 - 2008-02-28 =========== * Support for setting / guessing MIME-type of uploaded file * Correctly follow redirects when accessing buckets created in Europe. * Introduced 'info' command both for buckets and objects * Correctly display public URL on uploads * Updated TODO list for everyone to see where we're heading * Various small fixes. See ChangeLog for details. s3cmd 0.9.5 - 2007-11-13 =========== * Support for buckets created in Europe * Initial 'sync' support, for now local to s3 direction only * Much better handling of multiple args to put, get and del * Tries to use ElementTree from any available module * Support for buckets with over 1000 objects. s3cmd 0.9.4 - 2007-08-13 =========== * Support for transparent GPG encryption of uploaded files * HTTP proxy support * HTTPS protocol support * Support for non-ASCII characters in uploaded filenames s3cmd 0.9.3 - 2007-05-26 =========== * New command "du" for displaying size of your data in S3. (Basil Shubin) s3cmd 0.9.2 - 2007-04-09 =========== * Lots of new documentation * Allow "get" to stdout (use "-" in place of destination file to get the file contents on stdout) * Better compatibility with Python 2.4 * Output public HTTP URL for objects stored with Public ACL * Various bugfixes and improvements s3cmd 0.9.1 - 2007-02-06 =========== * All commands now use S3-URIs * Removed hard dependency on Python 2.5 * Experimental support for Python 2.4 (requires external ElementTree module) s3cmd 0.9.0 - 2007-01-18 =========== * First public release brings support for all basic Amazon S3 operations: Creation and Removal of buckets, Upload (put), Download (get) and Removal (del) of files/objects.