Skip to content

Latest commit

 

History

History
426 lines (260 loc) · 10.7 KB

CHANGELOG.rst

File metadata and controls

426 lines (260 loc) · 10.7 KB

Changelog

0.24.0 (2020-12-27)

Deprecations/Removals:

  • Drop support for marshmallow 2, which is now EOL (332).

Bug fixes:

  • Fix behavior when serializing None (302). Thanks mahenzon.

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:

  • Fix nested fields validation error formatting (120). Thanks mahenzon and debonzi for the PRs.

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 by Field.fail on marshmallow 3.

0.21.2 (2019-07-01)

Bug fixes:

  • marshmallow 3.0.0rc7 compatibility (233).

Other changes:

  • Format with pyupgrade and black (235).
  • Switch to Azure Pipelines for CI (234).

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 when required=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:

  • Fix deserializing id field to non-string types (179). Thanks aberres for the catch and patch.

0.20.4 (2018-10-04)

Bug fixes:

  • Fix bug where multi-level nested relationships would not be properly deserialized (127). Thanks ww3pl for the catch and patch.

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:

  • Fix deserializing missing with a Relationship field (130). Thanks kumy for the catch and patch.

0.20.0 (2018-06-10)

Bug fixes:

  • Fix serialization of id for Relationship fields when attribute 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:

  • Test refactoring and various doc improvements (63, 86, 121, and 122). Thanks scottwernervt.

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:

  • Add support for marshmallow 3 (97). Thanks rockmnew.
  • 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:

  • Fix pointer for id in error objects (90). Thanks rgant for the catch and patch.

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:

  • Relationship respects its passed Schema's get_attribute method when getting the id field for resource linkages (80). Thanks scmmmh for the PR.

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 on Relationship 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 and many=True (67). Thanks danpoland for the catch and patch.

0.10.1 (2017-02-05)

Bug fixes:

  • Serialize None and empty lists ([]) to valid JSON-API objects (58). Thanks rgant for reporting and sending a PR.

0.10.0 (2017-01-05)

Features:

  • Add fields.Meta for (de)serializing meta 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, and self_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 from Relationship. Use include_resource_linkage instead.

0.7.1 (2016-05-08)

Bug fixes:

  • Format correction for error objects (47). Thanks ZeeD26 for the PR.

0.7.0 (2016-04-03)

Features:

  • Correctly format messages attribute of ValidationError raised when type 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 the data key (37). Thanks cmanallen for the PR.
  • attributes is no longer a required key in the data 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 respects dump_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:

  • Fix serializing null and empty relationships with flask.Relationship (24). Thanks floqqi for the catch and patch.

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, and self_url_many class Meta options for adding self links. Thanks asteinlein for the PR.

0.3.0 (2015-10-18)

  • Backwards-incompatible: Replace HyperlinkRelated with Relationship 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.