Skip to content

Commit

Permalink
release_notes: document more breaking changes (#1222)
Browse files Browse the repository at this point in the history
  • Loading branch information
ikonst authored Feb 2, 2024
1 parent 06c3a32 commit 84469c4
Showing 1 changed file with 17 additions and 3 deletions.
20 changes: 17 additions & 3 deletions docs/release_notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,23 @@ 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
* PynamoDB no longer has a default AWS region (used to be us-east-1) (:pr:`1003`).
If needed, update your models' `Meta` or set the `AWS_DEFAULT_REGION` environment variable.
* :py:class:`~pynamodb.models.Model`'s JSON serialization helpers were changed:

* :code:`to_json` was renamed to :meth:`~pynamodb.attributes.AttributeContainer.to_simple_dict` (:pr:`1126`). Additionally, :meth:`~pynamodb.attributes.AttributeContainer.to_dynamodb_dict`
and :meth:`~pynamodb.attributes.AttributeContainer.from_dynamodb_dict` were added for round-trip JSON serialization.
* :code:`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 84469c4

Please sign in to comment.