Skip to content

Commit

Permalink
Update release notes for 6.0 release (#1211)
Browse files Browse the repository at this point in the history
  • Loading branch information
ikonst committed Dec 19, 2023
1 parent 369f461 commit fdbac4a
Showing 1 changed file with 15 additions and 3 deletions.
18 changes: 15 additions & 3 deletions docs/release_notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,16 @@
Release Notes
=============

Unreleased
----------
6.0
---

This is a major release and contains breaking changes. Please read the notes below carefully.

Breaking changes:

* :py:class:`~pynamodb.attributes.BinaryAttribute` and :py:class:`~pynamodb.attributes.BinarySetAttribute` have undergone breaking changes:

* The attributes' internal encoding has changed. To prevent this change going unnoticed, :code:`legacy_encoding` have been made required: see :doc:`upgrading_binary` for details.
* The attributes' internal encoding has changed. To prevent this change going unnoticed, a new required :code:`legacy_encoding` parameter was added: see :doc:`upgrading_binary` for details.
If your codebase uses :py:class:`~pynamodb.attributes.BinaryAttribute` or :py:class:`~pynamodb.attributes.BinarySetAttribute`,
go over the attribute declarations and mark them accordingly.
* When using binary attributes, the return value of :meth:`~pynamodb.models.Model.serialize` will no longer be JSON-serializable
Expand All @@ -20,12 +22,22 @@ This is a major release and contains breaking changes. Please read the notes bel
* 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

Other major changes:

* We are now compatible with `opentelemetry botocore instrumentation <https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-botocore>`_.
* We've reduced our usage of botocore private APIs (:pr:`1079`). On multiple occasions, new versions
of botocore broke PynamoDB, and this change lessens the likelihood of that happening in the future
by reducing (albeit not eliminating) our reliance on private botocore APIs.

Other changes in this release:

* :meth:`~pynamodb.models.Model.save`, :meth:`~pynamodb.models.Model.update`, :meth:`~pynamodb.models.Model.delete_item`,
and :meth:`~pynamodb.models.Model.delete` now accept a ``add_version_condition`` parameter.
See :ref:`optimistic_locking_version_condition` for more details.
* :meth:`~pynamodb.models.Model.batch_get`, has guard rails defending against items without a hash_key and range_key.
* :meth:`~pynamodb.attributes.Attribute.set`, can remove attribute by assigning an empty value in the update expression.


v5.3.2
Expand Down

0 comments on commit fdbac4a

Please sign in to comment.