Skip to content

Latest commit

 

History

History
425 lines (339 loc) · 21.3 KB

CHANGELOG.rst

File metadata and controls

425 lines (339 loc) · 21.3 KB

django-storages change log

1.6.5 (2017-08-01)

  • Fix Django 1.11 regression with gzipped content being saved twice resulting in empty files (#367, #371, #373)
  • Fix the mtime when gzipping content on S3Boto3Storage (#374)

1.6.4 (2017-07-27)

  • Files uploaded with GoogleCloudStorage will now set their appropriate mimetype (#320)
  • Fix DropBoxStorage.url to work. (#357)
  • Fix S3Boto3Storage when AWS_PRELOAD_METADATA = True (#366)
  • Fix S3Boto3Storage uploading file-like objects without names (#195, #368)
  • S3Boto3Storage is now threadsafe - a separate session is created on a per-thread basis (#268, #358)

1.6.3 (2017-06-23)

  • Revert default AWS_S3_SIGNATURE_VERSION to V2 to restore backwards compatability in S3Boto3. It's recommended that all new projects set this to be 's3v4'. (#344)

1.6.2 (2017-06-22)

  • Fix regression in safe_join() to handle a trailing slash in an intermediate path. (#341)
  • Fix regression in gs.GSBotoStorage getting an unexpected kwarg. (#342)

1.6.1 (2017-06-22)

  • Drop support for Django 1.9 (e89db45)
  • Fix regression in safe_join() to allow joining a base path with an empty string. (#336)

1.6 (2017-06-21)

  • 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)

1.5.2 (2017-01-13)

  • Actually use SFTP_STORAGE_HOST in SFTPStorage backend (#204)
  • Fix S3Boto3Storage to avoid race conditions in a multi-threaded WSGI environment (#238)
  • Fix trying to localize a naive datetime when settings.USE_TZ is False in S3Boto3Storage.modified_time. (#235, #234)
  • Fix automatic bucket creation in S3Boto3Storage when AWS_AUTO_CREATE_BUCKET is True (#196)
  • Improve the documentation for the S3 backends

1.5.1 (2016-09-13)

  • Breaking: Drop support for Django 1.7 (#185)
  • Deprecation: hashpath, image, overwrite, mogile, symlinkorcopy, database, mogile, couchdb. See (#202) to discuss maintenance going forward
  • Use a fixed mtime argument for GzipFile in S3BotoStorage and S3Boto3Storage to ensure a stable output for gzipped files
  • Use .putfileobj instead of .put in S3Boto3Storage to use the transfer manager, allowing files greater than 5GB to be put on S3 (#194 , #201)
  • Update S3Boto3Storage for Django 1.10 (#181) (get_modified_time and get_accessed_time)
  • Fix bad kwarg name in S3Boto3Storage when AWS_PRELOAD_METADATA is True (#189, #190)

1.5.0 (2016-08-02)

  • Add new backend S3Boto3Storage (#179)
  • Add a strict option to utils.setting (#176)
  • Tests, documentation, fixing .close for SFTPStorage (#177)
  • Tests, documentation, add .readlines for FTPStorage (#175)
  • Tests and documentation for DropBoxStorage (#174)
  • Fix MANIFEST.in to not ship .pyc files. (#145)
  • Enable CI testing of Python 3.5 and fix test failure from api change (#171)

1.4.1 (2016-04-07)

  • Files that have a guessable encoding (e.g. gzip or compress) will be uploaded with that Content-Encoding in the s3boto backend. Compressable types such as application/javascript will still be gzipped. PR #122
  • Fix DropBoxStorage.exists check and add DropBoxStorage.url (#127)
  • Add GS_HOST setting (with a default of GSConnection.DefaultHost) to fix GSBotoStorage. (#124, #125)

1.4 (2016-02-07)

  • This package is now released on PyPI as django-storages. Please update your requirements files to django-storages==1.4.

1.3.2 (2016-01-26)

  • Fix memory leak from not closing underlying temp file in s3boto backend (#106)
  • Allow easily specifying a custom expiry time when generating a url for S3BotoStorage (#96)
  • Check for bucket existence when the empty path ('') is passed to storage.exists in S3BotoStorage - this prevents a crash when running collectstatic -c on Django 1.9.1 (#112) fixed in #116

1.3.1 (2016-01-12)

  • A few Azure Storage fixes [pass the content-type to Azure, handle chunked content, fix url] (#45)
  • Add support for a Dropbox (dropbox) storage backend
  • Various fixes to the apache_libcloud backend [return the number of bytes asked for by .read, make .name non-private, don't initialize to an empty BytesIO object] (#55)
  • Fix multi-part uploads in s3boto backend not respecting AWS_S3_ENCRYPTION (#94)
  • Automatically gzip svg files (#100)

1.3 (2015-08-14)

  • Breaking: Drop Support for Django 1.5 and Python 2.6
  • Breaking: Remove previously deprecated mongodb backend
  • Breaking: Remove previously deprecated parse_ts_extended from s3boto storage
  • Add support for Django 1.8+ (#36)
  • Add AWS_S3_PROXY_HOST and AWS_S3_PROXY_PORT settings for s3boto backend (#41)
  • Fix Python3K compat issue in apache_libcloud (#52)
  • Fix Google Storage backend not respecting GS_IS_GZIPPED setting (#51, #60)
  • Rename FTP _name attribute to name which is what the Django File api is expecting (#70)
  • Put StorageMixin first in inheritance to maintain backwards compat with older versions of Django (#63)

1.2.3 (2015-03-14)

  • Variety of FTP backend fixes (fix exists, add modified_time, remove call to non-existent function) (#26)
  • Apparently the year changed to 2015

1.2.2 (2015-01-28)

  • Remove always show all warnings filter (#21)
  • Release package as a wheel
  • Avoid resource warning during install (#20)
  • Made S3BotoStorage deconstructible (previously only S3BotoStorageFile was deconstructible) (#19)

1.2.1 (2014-12-31)

  • Deprecation: Issue warning about parse_ts_extended
  • Deprecation: mongodb backend - django-mongodb-engine now ships its own storage backend
  • Fix storage.modified_time crashing on new files when AWS_PRELOAD_METADATA=True (#11, #12, #14)

1.2 (2014-12-14)

  • Breaking: Remove legacy S3 storage (#1)
  • Breaking: Remove mosso files backend (#2)
  • Add text/javascript mimetype to S3BotoStorage gzip allowed defaults
  • Add support for Django 1.7 migrations in S3BotoStorage and ApacheLibCloudStorage (#5, #8)
  • Python3K (3.3+) now available for S3Boto backend (#4)

NOTE: Version 1.1.9 is the first release of django-storages after the fork. It represents the current (2014-12-08) state of the original django-storages in master with no additional changes. This is the first release of the code base since March 2013.

1.1.9 (2014-12-08)

  • Fix syntax for Python3 with pull-request #91
  • Support pushing content type from File object to GridFS with pull-request #90
  • Support passing a region to the libcloud driver with pull-request #86
  • Handle trailing slash paths fixes #188 fixed by pull-request #85
  • Use a SpooledTemporaryFile to conserve memory in S3BotoFile pull-request #69
  • Guess content-type for S3BotoStorageFile the same way that _save() in S3BotoStorage does
  • Pass headers and response_headers through from url to generate_url in S3BotoStorage pull-request #65
  • Added AWS_S3_HOST, AWS_S3_PORT and AWS_S3_USE_SSL settings to specify host, port and is_secure in pull-request #66

Everything Below Here Was Previously Released on PyPi under django-storages

1.1.8 (2013-03-31)

  • Fixes #156 regarding date parsing, ValueError when running collectstatic
  • Proper handling of boto dev version parsing
  • Made SFTP URLs accessible, now uses settings.MEDIA_URL instead of sftp://

1.1.7 (2013-03-20)

  • Listing of huge buckets on S3 is now prevented by using the prefix argument to boto's list() method
  • Initial support for Windows Azure Storage
  • Switched to useing boto's parse_ts date parser getting last modified info when using S3boto backend
  • Fixed key handling in S3boto and Google Storage backends
  • Account for lack of multipart upload in Google Storage backend
  • Fixed seek() issue when using AWS_IS_GZIPPED by darkness51 with pull-request #50
  • Improvements to S3BotoStorage and GSBotoStorage

1.1.6 (2013-01-06)

  • Merged many changes from Jannis Leidel (mostly regarding gzipping)
  • Fixed tests by Ian Lewis
  • Added support for Google Cloud Storage backend by Jannis Leidel
  • Updated license file by Dan Loewenherz, fixes #133 with pull-request #44
  • Set Content-Type header for use in upload_part_from_file by Gerardo Curiel
  • Pass the rewind parameter to Boto's set_contents_from_file method by Jannis Leidel with pull-request #45
  • Fix for FTPStorageFile close() method by Mathieu Comandon with pull-request #43
  • Minor refactoring by Oktay Sancak with pull-request #48
  • Ungzip on download based on Content-Encoding by Gavin Wahl with pull-request #46
  • Add support for S3 server-side encryption by Tobias McNulty with pull-request #17
  • Add an optional setting to the boto storage to produce protocol-relative URLs, fixes #105

1.1.5 (2012-07-18)

  • Merged pull request #36 from freakboy3742 Keith-Magee, improvements to Apache Libcloud backend and docs
  • Merged pull request #35 from atodorov, allows more granular S3 access settings
  • Add support for SSL in Rackspace Cloudfiles backend
  • Fixed the listdir() method in s3boto backend, fixes #57
  • Added base url tests for safe_join in s3boto backend
  • Merged pull request #20 from alanjds, fixed SuspiciousOperation warning if AWS_LOCATION ends with '/'
  • Added FILE_BUFFER_SIZE setting to s3boto backend
  • Merged pull request #30 from pendletongp, resolves #108, #109 and #110
  • Updated the modified_time() method so that it doesn't require dateutil. fixes #111
  • Merged pull request #16 from chamal, adds Apache Libcloud backend
  • When preloading the S3 metadata make sure we reset the files key during saving to prevent stale metadata
  • Merged pull request #24 from tobias.mcnulty, fixes bug where s3boto backend returns modified_time in wrong time zone
  • Fixed HashPathStorage.location to no longer use settings.MEDIA_ROOT
  • Remove download_url from setup file so PyPI dist is used

1.1.4 (2012-01-06)

  • Added PendingDeprecationWarning for mosso backend
  • Merged pull request #13 from marcoala, adds SFTP_KNOWN_HOST_FILE setting to SFTP storage backend
  • Merged pull request #12 from ryankask, fixes HashPathStorage tests that delete remote media
  • Merged pull request #10 from key, adds support for django-mongodb-engine 0.4.0 or later, fixes GridFS file deletion bug
  • Fixed S3BotoStorage performance problem calling modified_time()
  • Added deprecation warning for s3 backend, refs #40
  • Fixed CLOUDFILES_CONNECTION_KWARGS import error, fixes #78
  • Switched to sphinx documentation, set official docs up on http://django-storages.rtfd.org/
  • HashPathStorage uses self.exists now, fixes #83

1.1.3 (2011-08-15)

  • Created this lovely change log
  • Fixed #89: broken StringIO import in CloudFiles backend
  • Merged pull request #5: HashPathStorage path bug