Changelog¶
0.24.0 (2020-12-27)¶
Deprecations/Removals:
Drop support for marshmallow 2, which is now EOL (#332).
Bug fixes:
Other changes:
Test against Python 3.8 and 3.9 (#332).
0.23.2 (2020-07-20)¶
Bug fixes:
Import from
collections.abc
for forward-compatibility with Python 3.10 (#318). Thanks @tirkarthi.
0.23.1 (2020-03-22)¶
Bug fixes:
0.23.0 (2020-02-02)¶
Improve performance of link generation from
Relationship
(#277). Thanks @iamareebjamal for reporting and fixing.
0.22.0 (2019-09-15)¶
Deprecation/Removals:
Drop support for Python 2.7 and 3.5. Only Python>=3.6 is supported (#251).
Drop support for marshmallow 3 pre-releases. Only stable versions >=2.15.2 are supported.
Remove
fields.Meta
.
Bug fixes:
Address
DeprecationWarning
raised byField.fail
on marshmallow 3.
0.21.2 (2019-07-01)¶
Bug fixes:
marshmallow 3.0.0rc7 compatibility (#233).
Other changes:
0.21.1 (2019-05-05)¶
Bug fixes:
marshmallow 3.0.0rc6 cmpatibility (#221).
0.21.0 (2018-12-16)¶
Bug fixes:
Backwards-incompatible: Revert URL quoting introduced in 0.20.2 (#184). If you need quoting, override
Schema.generate_url
.
from marshmallow_jsonapi import Schema
from werkzeug.urls import url_fix
class MySchema(Schema):
def generate_url(self, link, **kwargs):
url = super().generate_url(link, **kwargs)
return url_fix(url)
Thanks @kgutwin for reporting the issue.
Fix
Relationship
deserialization behavior whenrequired=False
(#177). Thanks @aberres for reporting and @scottwernervt for the fix.
Other changes:
Test against Python 3.7.
0.20.5 (2018-10-27)¶
Bug fixes:
0.20.4 (2018-10-04)¶
Bug fixes:
0.20.3 (2018-09-13)¶
Bug fixes:
Fix missing load validation when data is not a collection but many=True (#161). Thanks @grantHarris.
0.20.2 (2018-08-15)¶
Bug fixes:
Fix issues where generated URLs are unquoted (#147). Thanks @grantHarris.
Other changes:
Fix tests against marshmallow 3.0.0b13.
0.20.1 (2018-07-15)¶
Bug fixes:
0.20.0 (2018-06-10)¶
Bug fixes:
Fix serialization of
id
forRelationship
fields whenattribute
is set (#69). Thanks @jordal for reporting and thanks @scottwernervt for the fix.
Note: The above fix could break some code that set
Relationship.id_field
before instantiating it.
Set Relationship.default_id_field
instead.
# before
fields.Relationship.id_field = "item_id"
# after
fields.Relationship.default_id_field = "item_id"
Support:
0.19.0 (2018-05-27)¶
Features:
Schemas passed to
fields.Relationship
will inherit context from the parent schema (#84). Thanks @asteinlein and @scottwernervt for the PRs.
0.18.0 (2018-05-19)¶
Features:
Add
fields.ResourceMeta
for serializing a resource-level meta object (#107). Thanks @scottwernervt.
Other changes:
Backwards-incompatible: Drop official support for Python 3.4.
0.17.0 (2018-04-29)¶
Features:
Thanks @mdodsworth for helping with #101.
Move meta information object to document top level (#95). Thanks @scottwernervt.
0.16.0 (2017-11-08)¶
Features:
Add support for exluding or including nested fields on relationships (#94). Thanks @scottwernervt for the PR.
Other changes:
Backwards-incompatible: Drop support for marshmallow<2.8.0
0.15.1 (2017-08-23)¶
Bug fixes:
0.15.0 (2017-06-27)¶
Features:
Relationship
field supports deserializing included data (#83). Thanks @anuragagarwal561994 for the suggestion and thanks @asteinlein for the PR.
0.14.0 (2017-04-30)¶
Features:
0.13.0 (2017-04-18)¶
Features:
Add support for including deeply nested relationships in compount documents (#61). Thanks @mrhanky17 for the PR.
0.12.0 (2017-04-16)¶
Features:
Use default attribute value instead of raising exception if relationship is
None
onRelationship
field (#75). Thanks @akira-dev.
0.11.1 (2017-04-06)¶
Bug fixes:
Fix formatting JSON pointer when serializing an invalid object at index 0 (#77). Thanks @danpoland for the catch and patch.
0.11.0 (2017-03-12)¶
Bug fixes:
Fix compatibility with marshmallow 3.x.
Other changes:
Backwards-incompatible: Remove unused
utils.get_value_or_raise
function.
0.10.2 (2017-03-08)¶
Bug fixes:
Fix format of error object returned when
data
key is not included in input (#66). Thanks @RazerM.Fix serializing compound documents when
Relationship
is passed a schema class andmany=True
(#67). Thanks @danpoland for the catch and patch.
0.10.1 (2017-02-05)¶
Bug fixes:
0.10.0 (2017-01-05)¶
Features:
Add
fields.Meta
for (de)serializingmeta
data on resource objects (#28). Thanks @rubdos for the suggestion and initial work. Thanks @RazerM for the PR.
Other changes:
Test against Python 3.6.
0.9.0 (2016-10-08)¶
Features:
Add Flask-specific schema with class Meta options for self link generation:
self_view
,self_view_kwargs
, andself_view_many
(#51). Thanks @asteinlein.
Bug fixes:
Fix formatting of validation error messages on newer versions of marshmallow.
Other changes:
Drop official support for Python 3.3.
0.8.0 (2016-06-20)¶
Features:
Add support for compound documents (#11). Thanks @Tim-Erwin and @woodb for implementing this.
Backwards-incompatible: Remove
include_data
parameter fromRelationship
. Useinclude_resource_linkage
instead.
0.7.1 (2016-05-08)¶
Bug fixes:
0.7.0 (2016-04-03)¶
Features:
Correctly format
messages
attribute ofValidationError
raised whentype
key is missing in input (#43). Thanks @ZeeD26 for the catch and patch.JSON pointers for error objects for relationships will point to the
data
key (#41). Thanks @cmanallen for the PR.
0.6.0 (2016-03-24)¶
Features:
Relationship
deserialization improvements: properly validate to-one and to-many relatinoships and validate the presense of thedata
key (#37). Thanks @cmanallen for the PR.attributes
is no longer a required key in thedata
object (#39, #42). Thanks @ZeeD26 for reporting and @cmanallen for the PR.Added
id
serialization (#39). Thanks again @cmanallen.
0.5.0 (2016-02-08)¶
Features:
Add relationship deserialization (#15).
Allow serialization of foreign key attributes (#32).
Relationship IDs serialize to strings, as is required by JSON-API (#31).
Relationship
field respectsdump_to
parameter (#33).
Thanks @cmanallen for all of these changes.
Other changes:
The minimum supported marshmallow version is 2.3.0.
0.4.2 (2015-12-21)¶
Bug fixes:
Relationship names are inflected when appropriate (#22). Thanks @angelosarto for reporting.
0.4.1 (2015-12-19)¶
Bug fixes:
0.4.0 (2015-12-06)¶
Correctly serialize null and empty relationships (#10). Thanks @jo-tham for the PR.
Add
self_url
,self_url_kwargs
, andself_url_many
class Meta options for addingself
links. Thanks @asteinlein for the PR.
0.3.0 (2015-10-18)¶
Backwards-incompatible: Replace
HyperlinkRelated
withRelationship
field. Supports related links (related
), relationship links (self
), and resource linkages.Backwards-incompatible: Validate and deserialize JSON API-formatted request payloads.
Fix error formatting when
many=True
.Fix error formatting in strict mode.
0.2.2 (2015-09-26)¶
Fix for marshmallow 2.0.0 compat.
0.2.1 (2015-09-16)¶
Compatibility with marshmallow>=2.0.0rc2.
0.2.0 (2015-09-13)¶
Features:
Add framework-independent
HyperlinkRelated
field.Support inflection of attribute names via the
inflect
class Meta option.
Bug fixes:
Fix for making
HyperlinkRelated
read-only by defualt.
Support:
Docs updates.
Tested on Python 3.5.
0.1.0 (2015-09-12)¶
First PyPI release.
Include Schema that serializes objects to resource objects.
Flask-compatible HyperlinkRelate field for serializing relationships.
Errors are formatted as JSON API errror objects.