v0.5.0
This release includes a major update to the way chunked file uploads are handled to increase memory efficiency which can present an issue when working with very large files. It also includes bug fixes and an update to the test infrastructure along with improved test coverage.
Changes:
- New
DrfFilepondChunkedUploadedFile
class added to resolve memory usage issues with large uploads. (#82, discussion in #64)* - Test infrastructure updated to use Pytest/tox. Test coverage significantly improved. (#81/#84)
- Upload field name error message improved. (#74/#75)
- Fix issue with uploads that are an exact multiple of the chunk size and result in an empty final file chunk. (#72/#73)
- Django 4.0 support finalised from support provided in v0.4.0. (#66/#67/#69)
- Add Python 3.10 support.
v0.5.0 deprecates support for Python 2.7 and Python 3.5. This is the last django-drf-filepond release that will support Python 2.7. Deprecated Python 3.5 support may be retained for one more release - v0.6.0 - but this is currently under review.
*The updates provide a new specialisation of the Django UploadedFile
object that wraps chunk files temporarily stored on disk and passes the data from them to Django as it handles the process of storing a file upload. This significantly reduces memory usage which can be an issue with very large uploads. Previously, file chunks were being reconstituted in memory and then this complete block of in-memory data was made available to an UploadedFile
object which was then creating a second copy of the data.
Many thanks to all who reported issues and/or contributed fixes relating to the changes in this release.