******************
* **Breaking:** Remove backends deprecated in v1.5.1 (`280`_)
* **Breaking:** ``DropBoxStorage`` has been upgrade to support v2 of the API, v1 will be shut off at the
end of the month - upgrading is recommended (`273`_)
* **Breaking:** The ``SFTPStorage`` backend now checks for the existence of the fallback ``~/.ssh/known_hosts``
before attempting to load it. If you had previously been passing in a path to a non-existent file it will no longer
attempt to load the fallback. (`118`_, `325`_)
* **Breaking:** The default version value for ``AWS_S3_SIGNATURE_VERSION`` is now ``'s3v4'``. No changes should
be required (`335`_)
* **Deprecation:** The undocumented ``gs.GSBotoStorage`` backend. See the new ``gcloud.GoogleCloudStorage``
or ``apache_libcloud.LibCloudStorage`` backends instead. (`236`_)
* Add a new backend, ``gcloud.GoogleCloudStorage`` based on the ``google-cloud`` bindings. (`236`_)
* Pass in the location constraint when auto creating a bucket in ``S3Boto3Storage`` (`257`_, `258`_)
* Add support for reading ``AWS_SESSION_TOKEN`` and ``AWS_SECURITY_TOKEN`` from the environment
to ``S3Boto3Storage`` and ``S3BotoStorage``. (`283`_)
* Fix Boto3 non-ascii filenames on Python 2.7 (`216`_, `217`_)
* Fix ``collectstatic`` timezone handling in and add ``get_modified_time`` to ``S3BotoStorage`` (`290`_)
* Add support for Django 1.11 (`295`_)
* Add ``project`` keyword support to GCS in ``LibCloudStorage`` backend (`269`_)
* Files that have a guessable encoding (e.g. gzip or compress) will be uploaded with that Content-Encoding in
the ``s3boto3`` backend (`263`_, `264`_)
* The Dropbox backend now properly translates backslashes in Windows paths into forward slashes (`e52a127`_)
* The S3 backends now permit colons in the keys (`248`_, `322`_)
.. _217: https://github.com/jschneier/django-storages/pull/217
.. _273: https://github.com/jschneier/django-storages/pull/273
.. _216: https://github.com/jschneier/django-storages/issues/216
.. _283: https://github.com/jschneier/django-storages/pull/283
.. _280: https://github.com/jschneier/django-storages/pull/280
.. _257: https://github.com/jschneier/django-storages/issues/257
.. _258: https://github.com/jschneier/django-storages/pull/258
.. _290: https://github.com/jschneier/django-storages/pull/290
.. _295: https://github.com/jschneier/django-storages/pull/295
.. _269: https://github.com/jschneier/django-storages/pull/269
.. _263: https://github.com/jschneier/django-storages/issues/263
.. _264: https://github.com/jschneier/django-storages/pull/264
.. _e52a127: https://github.com/jschneier/django-storages/commit/e52a127523fdd5be50bb670ccad566c5d527f3d1
.. _236: https://github.com/jschneier/django-storages/pull/236
.. _118: https://github.com/jschneier/django-storages/issues/118
.. _325: https://github.com/jschneier/django-storages/pull/325
.. _248: https://github.com/jschneier/django-storages/issues/248
.. _322: https://github.com/jschneier/django-storages/pull/322
.. _335: https://github.com/jschneier/django-storages/pull/335