All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
0.5.30 (2023-10-13)
- (Feature) Add support for decimal fields #179
0.5.29 (2023-08-03)
- (Maintenance) Updated slack channel #176
0.5.28 (2023-08-02)
- (Bugfix) Fixes only and exclude nested props #174
0.5.27 (2023-05-12)
0.5.26 (2023-04-26)
- (Feature) Add time validation so we support time fields because time is time #167
0.5.25 (2023-04-12)
0.5.24 (2023-03-07)
- (Deps) Package updates #150
- (Improvement) Serialize missing field values to null #152
- (PyPI) Python/Django classifiers + topics #149
0.5.23 (2023-02-06)
0.5.22 (2023-01-31)
0.5.21 (2023-01-23)
- (Improvement) Flake8 improvements #137
- (Improvement) Switch out PermissionsError for reraise with extended message #136
0.5.20 (2023-01-16)
- (Improvement) Debug toolbar #134
0.5.19 (2023-01-13)
- (Bugfix) Prefetching for include param fields #132
0.5.18 (2023-01-13)
- (Bugfix) Swap out reference to legacy error attr for 4xx #130
- (Improvement) Support include and search field params #120
0.5.17 (2023-01-04)
- (Deps) Support Django 4 and Python 3.10 + drop Django <3.2 and Python 3.7 #127
- (Deps) Support Python 3.11 on Django 4.1 #128
- (Deps) Switch actions to Python 3.9.13 #118
- (Refactor) Switch to latest release message builder #121
0.5.16 (2022-10-06)
- (Improvement) Support custom actions via ActionAPI #115
0.5.15 (2022-09-19)
- (Improvement) Switch through save to update_or_create #113
0.5.14 (2022-09-16)
- (Improvement) Support assigning through via custom lookup fields #111
0.5.13 (2022-09-10)
- (Improvement) Import marshmallow decorators into serializers #109
0.5.12 (2022-08-30)
- Switch permissions to classes and raise rather than return #98
0.5.11 (2022-08-25)
- (Improvement) Support assigning pivotless through m2m relations #103
- (Improvement) Support assigning relations via custom lookup fields #105
0.5.10 (2022-08-05)
- Strip null chars from bundle #99
- Support standalone DeleteAPI and UpdateAPI without DetailAPI #97
- Switch CreateAPI to empty response when no instance is returned #97
- Switch creates to empty response if no instance 99dc420
- Support comma-separated sorts 6b35678
0.5.9 (2022-06-24)
- Strip support for legacy serializers #96
- Pass request + args + kwargs to view CRUD methods
- Support fields param on detail endpoints in addition to lists
- Apply fields param filtering in the serialization step
- Serializer
__call__
now honors only/exclude rules from its predecessors
0.5.8 (2022-06-16)
- Add queryset support to
Pluck
field - Flatten validation checks and don't return
True
- Raise
DoesNotExist
for related models - Rename
CreateAPI
methodget_instance
tonew_instance
- Serializer context support via
get_serializer_context()
- Staff serializer support via
staff_serializer
- Update to PrismJS 1.28.0 and drop
prism-js-fold
from template - Validator test coverage improvements
0.5.7 (2022-02-23)
- Support RequestDataTooBig exceptions #92
0.5.6 (2022-02-07)
0.5.5 (2022-01-14)
- Standardize serializer field ordering #88
- Support assigning serializer instances to views #89
- Support multiword negated filters #90
0.5.4 (2021-12-17)
- Transform bool/nulls in query param bundles #86
- Set bundle on detail requests #86
- Serializer writable meta field, for defining an list of allowed fields
- Strip angle brackets off of serializer debug
- Simplify Browsable API template
0.5.3 (2021-12-15)
- Adds settings for for toggling Browsable API and Debug mode #84
- Include the templates dir in
MANIFEST.in
so it ends up in the package #85 - Support customizing generated ordering e.g. to sort nulls last #82
0.5.2 (2021-12-08)
- Browsable API with syntax highlighting and linkified URLs for debugging #81
- Switch to skipping validation for empty strings only when the field allows empty strings; rollback the null coersion from the last release 50390c3
- Apply model ordering by default in list views 49a5a55
0.5.1 (2021-12-07)
- Swaps docker image buster-slim for buster to fix apple m1 build problem
- Fixes an issue around null/blank field coercions that prevented setting fields to null/blank
- Moves the list queryset build to after bundle parsing
0.5.0 (2021-11-19)
- Serializer field validation for POST requests
- Method specific serialization
0.4.9 (2021-11-17)
- Switch back to standard request dicts on POST; allows views to access
request.POST
/request.FILES
later after bundle loading
0.4.8 (2021-11-17)
- Support negated filters django-url-filter#features
0.4.7 (2021-11-17)
- Assign fk/m2m on create and support delete #74
- Marshmallow serialization #75
- File upload support #76
- Switch out some
snake_to_camel
usage for a keymap #72
0.4.6 (2021-11-09)
- Support string list filters #69
- Remove unused
get_instance_or_http404
- Test for
get_version
shortcut
0.4.5 (2021-11-08)
- Support annotation filters without the need for a custom filterset #70
0.4.4 (2021-11-08)
- Bugfix for empty queryset handling #71
0.4.3 (2021-11-05)
- Support annotation filters for more flexible query param filters #66
- Support custom queryset on detail views #68
- Switch search fields to
list
and deprecatedict
syntax #63 - Lint script #65
- Reorganize tests #67
0.4.2 (2021-10-25)
- Adds support for
fields
query parameter - Adds support for perPage query parameter
- All strings are stripped
0.4.1 (2021-10-20)
- Fixes an issue where fields that support null will error when given a null value
0.4.0 (2021-10-07)
- Introduces support for setting M2M through models
- Removes testing module
0.3.7 (2021-09-16)
- Add create/update hooks into List/Detail views
- Strip
strip_tags
from bundle processing
0.3.6 (2021-08-14)
- Support assigning null to foreign keys
- Adds tests
0.3.5 (2021-08-13)
- Really do everything from 0.3.3-now :|
0.3.4 (2021-08-13)
- Really restores support for filtering with querystring arrays
- Adds a PR tempalte
- Requires coverage
- Support Foreign Key Assignment
0.3.3 (2021-08-12)
- Restores support for filtering with querystring arrays such as
?this=that&this=this
- Adds automagic support for ManyToManyField assignemnts
- Adds support for UUID url paths
0.3.2 (2021-07-29)
- Adds multisort support via passing multiple
sort
query parameters
0.3.1 (2021-07-20)
- Adds
django-url-filters
as a dependency - Adds support for filtering using
__
model syntax
0.3.0 (2021-07-20)
- Adds verify_serializer_interface testing method for generating serializer tests
- Removes generate_endpoint_tests test generator
- Relocates testing.deserialize method to serializers.deserialize
0.2.10 (2021-07-20)
- Removes package dependencies from dev env Pipfile
- Improves codeowners, binstubs, pytest settings
0.2.9 (2021-07-15)
- Adds HTTP409 exception
0.2.8 (2021-07-14)
- Adds validation for datetime fields
0.2.7 (2021-06-25)
- Trim string input unless the field is in
secure_fields
0.2.6 (2021-06-08)
- Adds
queryset
to ListAPI that allows setting a custom queryset - Adds
filter_fields
querystring param allowlist to ListAPI - Update deps for dev container
0.2.5 (2021-05-28)
- Deprecates ChoicesAPI
- Adds override option to test factory
0.2.4 (2021-05-14)
- Raises validation error on email = None
0.2.3 (2021-05-07)
- Allows either
p
orpage
as param for pagination
0.2.2 (2021-05-06)
- Removes
update_fields
from thesave()
method called by detail API.
0.2.1 (2021-04-29)
- Makes Serializers model-agnostic
- Adds LegacySerializer for backwards compatibility
- Adds official support for python 3.7
0.2.0 (2021-04-26)
- Removes implicit
GET
method from all APIViews - Adds optional
serializer
to each API, which will supercede theapi_method
0.1.6 (2021-04-20)
- Adds PublicEndpoint permission, for use in silencing warnings
0.1.5 (2021-04-08)
- Fix pagination related 500 errors on bad requests
- Adds Django 3.2 to test suite
0.1.4 (2021-04-01)
- Improves setup for pypi
- Improves tetst coverage
- Adds get_instance_or_http404 to replace djago's get_object_or_404, to return javascript error instead of 404 page
0.1.3 (2021-03-30)
- Adds docker container, scripts to rule them all, binstubs, gitignore
- Setups github actions and runs matrixed supported python + django versions
- Fixes test for validate_bundle
0.1.2 (2021-03-30)
- Adds documentation in README
- Setups pytest
- Fixes validation error
- Adds custom field validation
- Adds overrides to bundle factory
Initial Release