This document describes changes between past releases. For information about future releases, check milestones [1] and Vision.
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:
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.
Bugfixes and documentation improvements.
Various improvements. Contains backward incompatible changes.
Notes & references
[1] | https://github.com/benoitbryon/django-downloadview/issues/milestones |