Skip to content

Releases: alaouimehdi1995/django-rest

Fixing backward compatibility with python2 and dependabot alerts

20 Apr 22:13
6898041
Compare
Choose a tag to compare
  • Fixed open() function in setup.py that broke on python 2.7.3 because of encoding keyword argument. The fix calls io native library that ensures backward compatibility for the open() 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

18 Jun 23:50
04c2cd9
Compare
Choose a tag to compare
Pre-release

The current version implements the whole CI pipeline using Travis CI. Here is what the pipeline does:

  1. Checks code formatting using black
  2. Checks code validation using flake8
  3. Runs unit-tests (with pytest)
  4. 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

11 Jun 21:57
94ef4ea
Compare
Choose a tag to compare
  • Documented the whole project in the README.md file.
  • Fixed bug that raised ValueError instead of SerializationError during serialization.
  • Made ValidationError available from django_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

11 Jun 18:35
fc888de
Compare
Choose a tag to compare
Major bugs fixs Pre-release
Pre-release
  • Renamed PerforatedDeserializer into AllPassDeserializer.
  • 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

22 Apr 07:45
b4bd36d
Compare
Choose a tag to compare

Main changes:

  • Implementing the first Deserializerclass
  • 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.