Features:
- Use default attribute value instead of raising exception if relationship is
None
onRelationship
field (:issue:`75`). Thanks :user:`akira-dev`.
Bug fixes:
- Fix formatting JSON pointer when serializing an invalid object at index 0 (:issue:`77`). Thanks :user:`danpoland` for the catch and patch.
Bug fixes:
- Fix compatibility with marshmallow 3.x.
Other changes:
- Backwards-incompatible: Remove unused utils.get_value_or_raise function.
Bug fixes:
- Fix format of error object returned when
data
key is not included in input (:issue:`66`). Thanks :user:`RazerM`. - Fix serializing compound documents when
Relationship
is passed a schema class andmany=True
(:issue:`67`). Thanks :user:`danpoland` for the catch and patch.
Bug fixes:
- Serialize
None
and empty lists ([]
) to valid JSON-API objects (:issue:`58`). Thanks :user:`rgant` for reporting and sending a PR.
Features:
- Add
fields.Meta
for (de)serializingmeta
data on resource objects (:issue:`28`). Thanks :user:`rubdos` for the suggestion and initial work. Thanks :user:`RazerM` for the PR.
Other changes:
- Test against Python 3.6.
Features:
- Add Flask-specific schema with class Meta options for self link generation:
self_view
,self_view_kwargs
, andself_view_many
(:issue:`51`). Thanks :user:`asteinlein`.
Bug fixes:
- Fix formatting of validation error messages on newer versions of marshmallow.
Other changes:
- Drop official support for Python 3.3.
Features:
- Add support for compound documents (:issue:`11`). Thanks :user:`Tim-Erwin` and :user:`woodb` for implementing this.
- Backwards-incompatible: Remove
include_data
parameter fromRelationship
. Useinclude_resource_linkage
instead.
Bug fixes:
- Format correction for error objects (:issue:`47`). Thanks :user:`ZeeD26` for the PR.
Features:
- Correctly format
messages
attribute ofValidationError
raised whentype
key is missing in input (:issue:`43`). Thanks :user:`ZeeD26` for the catch and patch. - JSON pointers for error objects for relationships will point to the
data
key (:issue:`41`). Thanks :user:`cmanallen` for the PR.
Features:
Relationship
deserialization improvements: properly validate to-one and to-many relatinoships and validate the presense of thedata
key (:issue:`37`). Thanks :user:`cmanallen` for the PR.attributes
is no longer a required key in thedata
object (:issue:`#39`, :issue:`42`). Thanks :user:`ZeeD26` for reporting and :user:`cmanallen` for the PR.- Added
id
serialization (:issue:`39`). Thanks again :user:`cmanallen`.
Features:
- Add relationship deserialization (:issue:`15`).
- Allow serialization of foreign key attributes (:issue:`32`).
- Relationship IDs serialize to strings, as is required by JSON-API (:issue:`31`).
Relationship
field respectsdump_to
parameter (:issue:`33`).
Thanks :user:`cmanallen` for all of these changes.
Other changes:
- The minimum supported marshmallow version is 2.3.0.
Bug fixes:
- Relationship names are inflected when appropriate (:issue:`22`). Thanks :user:`angelosarto` for reporting.
Bug fixes:
- Fix serializing null and empty relationships with
flask.Relationship
(:issue:`24`). Thanks :user:`floqqi` for the catch and patch.
- Correctly serialize null and empty relationships (:issue:`10`). Thanks :user:`jo-tham` for the PR.
- Add
self_url
,self_url_kwargs
, andself_url_many
class Meta options for addingself
links. Thanks :user:`asteinlein` for the PR.
- 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.
- Fix for marshmallow 2.0.0 compat.
- Compatibility with marshmallow>=2.0.0rc2.
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.
- 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.