Releases: alaouimehdi1995/django-rest
Releases · alaouimehdi1995/django-rest
Fixing backward compatibility with python2 and dependabot alerts
- Fixed
open()
function insetup.py
that broke on python 2.7.3 because ofencoding
keyword argument. The fix callsio
native library that ensures backward compatibility for theopen()
built-in function. - Removed useless
requirements.txt
that caused the dependency bot to raise security alerts (because of some known vulnerabilities on django 3.0.X)
Continuous Integration
The current version implements the whole CI pipeline using Travis CI. Here is what the pipeline does:
- Checks code formatting using black
- Checks code validation using flake8
- Runs unit-tests (with pytest)
- Checks tests coverage using codecov
Also, more project details were displayed as badge in the project's main README file.
Community-related improvements: Detailed documentation, license, package config and some bugs fixs
Community-related improvements: Detailed documentation, license, package config and some bugs fixs
Pre-release
Pre-release
- Documented the whole project in the
README.md
file. - Fixed bug that raised
ValueError
instead ofSerializationError
during serialization. - Made
ValidationError
available fromdjango_rest.deserializers
. - Improved
setup.py
and updated project's version. - Added MIT license file to the project (
LICENSE.md
). - Added
setup.cfg
file.
Major bugs fixs
- Renamed
PerforatedDeserializer
intoAllPassDeserializer
. - Refactored class-based decorated view for better performances.
- Fixed CSRF token bug for writing HTTP methods.
- Fixed Permission evaluation (made dynamic).
Introducing Deserializers, and improving core `@api_view` decorators
Main changes:
- Implementing the first
Deserializer
class - Assuring support for all python's versions (2.7+, 3+), and django's versions (1.11+).
- Type hinting to improve code's readability.
Core @api_view
changes:
- Supporting
deserializer_class
parameter. - Supporting deserializer class mapping (custom deserializers for each http method).
- Adding
allow_forms
parameter to accept forms data or raise error. - Supporting for
@api_view
syntax (only@api_view()
was supported before) - Checking view's type to make sure it's either a function or a
django.views.View
class - Normalizing requests payload between content_types, so that the output's always in the same format.
- Extracting query params and passing custom parameters for the view (query params, payload, url params, etc.).
- Decorating only class view's relevant methods (http methods) instead of all methods.
- Moving helpers function into separate file.