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-      - 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 -  2009-10-08
* Fixed invalid reference to a variable in failed upload handling.

s3cmd -  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.
* 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 -   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

s3cmd -   2008-07-29
* Bugfix release. Avoid running out-of-memory in MD5'ing
  large files.

s3cmd -   2008-06-27
* Bugfix release. Re-upload file if Amazon doesn't send ETag

s3cmd -   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
* 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.