Skip to content

Commit

Permalink
release_notes: document more breaking changes
Browse files Browse the repository at this point in the history
  • Loading branch information
ikonst authored Jan 18, 2024
1 parent d61d906 commit 0efff78
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions docs/release_notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,18 @@ Breaking changes:
for a safe JSON-serializable representation.

* Python 3.6 is no longer supported.
* :meth:`Index.count <pynamodb.indexes.Index.count>`, :meth:`Index.query <pynamodb.indexes.Index.query>`,
and :meth:`Indexn.scan <pynamodb.indexes.Index.scan>` are now instance methods.
* :py:class:`~pynamodb.settings.OperationSettings` has been removed
* :py:class:`~pynamodb.models.Model`'s JSON serialization helpers were changed:
* :code:`to_json` was renamed to :meth:`~pynamodb.models.Model.to_simple_json` (:pr:`1126`). Additionally, :meth:`~pynamodb.models.Model.to_dynamodb_dict`
and :meth:`~pynamodb.models.Model.from_dynamodb_dict` were added for safe round-trip serializable to JSON and back.
* `pynamodb.util.attribute_value_to_json` was removed (:pr:`1126`)
* :py:class:`~pynamodb.attributes.Attribute`'s :code:`default` parameter must be either an immutable value (of one of the built-in
immutable types) or a callable. This prevents a common class of errors caused by unintentionally mutating
the default value. A simple workaround is to pass an initializer (e.g. change :code:`default={}` to
:code:`default=dict`) or wrap in a lambda (e.g. change :code:`default={'foo': 'bar'}` to
:code:`default=lambda: {'foo': 'bar'}`).
* :meth:`~pynamodb.indexes.Index.count`, :meth:`~pynamodb.indexes.Index.query`,
and :meth:`~pynamodb.indexes.Index.scan` are now instance methods.
* :py:class:`~pynamodb.settings.OperationSettings` has been removed.

Major changes:

Expand Down

0 comments on commit 0efff78

Please sign in to comment.