Changelog

This document describes changes between past releases. For information about future releases, check milestones [1] and Vision.

1.4 (2013-11-24)

Bugfixes and documentation features.

  • Bugfix #43 - ObjectDownloadView returns HTTP 404 if model instance’s file field is empty (was HTTP 500).
  • Bugfix #7 - Special characters in file names (Content-Disposition header) are urlencoded. An US-ASCII fallback is also provided.
  • Feature #10 - django-downloadview is registered on djangopackages.com.
  • Feature #65 - INSTALL documentation shows “known good set” (KGS) of versions, i.e. versions that have been used in test environment.

1.3 (2013-11-08)

Big refactoring around middleware configuration, API readability and documentation.

  • Bugfix #57 - PathDownloadView opens files in binary mode (was text mode).

  • Bugfix #48 - Fixed basename assertion in assert_download_response: checks Content-Disposition header.

  • Bugfix #49 - Fixed content assertion in assert_download_response: checks only response’s streaming_content attribute.

  • Bugfix #60 - VirtualFile.__iter__ uses force_bytes() to support both “text-mode” and “binary-mode” content. See https://code.djangoproject.com/ticket/21321

  • Feature #50 - Introduced django_downloadview.DownloadDispatcherMiddleware that iterates over a list of configurable download middlewares. Allows to plug several download middlewares with different configurations.

    This middleware is mostly dedicated to internal usage. It is used by SmartDownloadMiddleware described below.

  • Feature #42 - Documentation shows how to stream generated content (yield). Introduced django_downloadview.StringIteratorIO.

  • Refactoring #51 - Dropped support of Python 2.6

  • Refactoring #25 - Introduced django_downloadview.SmartDownloadMiddleware which allows to setup multiple optimization rules for one backend.

    Deprecates the following settings related to previous single-and-global middleware:

    • NGINX_DOWNLOAD_MIDDLEWARE_MEDIA_ROOT
    • NGINX_DOWNLOAD_MIDDLEWARE_MEDIA_URL
    • NGINX_DOWNLOAD_MIDDLEWARE_EXPIRES
    • NGINX_DOWNLOAD_MIDDLEWARE_WITH_BUFFERING
    • NGINX_DOWNLOAD_MIDDLEWARE_LIMIT_RATE
  • Refactoring #52 - ObjectDownloadView now inherits from SingleObjectMixin and BaseDownloadView (was DownloadMixin and BaseDetailView). Simplified DownloadMixin.render_to_response() signature.

  • Refactoring #40 - Documentation includes examples from demo project.

  • Refactoring #39 - Documentation focuses on usage, rather than API. Improved narrative documentation.

  • Refactoring #53 - Added base classes in django_downloadview.middlewares, such as ProxiedDownloadMiddleware.

  • Refactoring #54 - Expose most Python API directly in django_downloadview package. Simplifies import statements in client applications. Splitted nginx module in a package.

  • Added unit tests, improved code coverage.

1.2 (2013-05-28)

Bugfixes and documentation improvements.

  • Bugfix #26 - Prevented computation of virtual file’s size, unless the file wrapper implements was_modified_since() method.
  • Bugfix #34 - Improved support of files that do not implement modification time.
  • Bugfix #35 - Fixed README conversion from reStructuredText to HTML (PyPI).

1.1 (2013-04-11)

Various improvements. Contains backward incompatible changes.

  • Added HTTPDownloadView to proxy to arbitrary URL.
  • Added VirtualDownloadView to support files living in memory.
  • Using StreamingHttpResponse introduced with Django 1.5. Makes Django 1.5 a requirement!
  • Added django_downloadview.test.assert_download_response utility.
  • Download views and response now use file wrappers. Most logic around file attributes, formerly in views, moved to wrappers.
  • Replaced DownloadView by PathDownloadView and StorageDownloadView. Use the right one depending on the use case.

1.0 (2012-12-04)

  • Introduced optimizations for Nginx X-Accel: a middleware and a decorator
  • Introduced generic views: DownloadView and ObjectDownloadView
  • Initialized project

Notes & references

[1]https://github.com/benoitbryon/django-downloadview/issues/milestones
Read the Docs v: 1.4
Versions
latest
1.4
1.3
1.2
1.1
1.0
Downloads
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.