diff --git a/docs/release_notes.rst b/docs/release_notes.rst index 2f05760f..b266160e 100644 --- a/docs/release_notes.rst +++ b/docs/release_notes.rst @@ -20,9 +20,23 @@ Breaking changes: for a safe JSON-serializable representation. * Python 3.6 is no longer supported. -* :meth:`Index.count `, :meth:`Index.query `, - and :meth:`Indexn.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: