Skip to content

Latest commit

 

History

History
240 lines (142 loc) · 10.4 KB

release-history.rst

File metadata and controls

240 lines (142 loc) · 10.4 KB

Release and Version History

Backlog

Features and Improvements

  • add clear_expired() method to DynamoDB cache backend.

Minor Improvements

Bugfixes

Miscellaneous

6.0.1.1 (2024-09-13)

Features and Improvements

  • add :mod:`pynamodb_mate.patterns.relationship_v2`, a new version of the relationship pattern. It is more powerful and flexible than the old version. The API is more clean, easy to use, and you can write way less code to achieve the same goal.

6.0.0.4 (2024-07-19)

Minor Improvements

6.0.0.3 (2024-06-06)

Bugfixes

6.0.0.2 (2024-06-05)

Minor Improvements

Bugfixes

  • Fix a bug that pynamodb_mate.patterns.large_attribute.impl.PutS3Response.clean_up_old_s3_object_when_update_dynamodb_item_succeeded() may fail when the old data model large attribute was None.
  • Fix a bug that pynamodb_mate.patterns.large_attribute.impl.LargeAttributeMixin.create_large_attribute_item() use the hard code partition key attribute by mistake.

6.0.0.1 (2024-05-23)

💥Breaking change

  • fully support pynamodb 6.X, drop compatible to pynamodb 5.X.
  • rework the status_tracker pattern to ensure strong consistency in high concurrent workload. Due to the change that the Index.query is instance method from pynamodb 6.X, the old status_tracker implementation won't work in pynamodb 6.X. We have to completely remove the old implementation and re-implement the status_tracker pattern.

Features and Improvements

  • fully support pynamodb 6.X, drop compatible to pynamodb 5.X.
  • rework the status_tracker pattern to ensure strong consistency in high concurrent workload.

Minor Improvements

  • update the status_tracker document.
  • improve code coverage test.

5.5.1.1 (2024-05-22)

Background

  • The pynamodb implementation relies on some botocore private API. And one of the private API is changed from botocore 1.33.2 that breaks the pynamodb implementation. pynamodb 5.5.1 fixed the compatibility issue, so that pynamodb_mate also got upgraded to 5.5.1.X.

Features and Improvements

  • add :mod:`pynamodb_mate.patterns.relationship` Pattern, allow you to manage mass amount entity and one-to-many, many-to-many relationship in DynamoDB using the ultimate data modeling strategy.
  • add :mod:`pynamodb_mate.patterns.large_attribute` Pattern, it re-implements the pynamodb_mate.attributes.s3backed to provide better consistency model across DynamoDB and S3, and it also support updating multiple large attributes in one API. The old pynamodb_mate.attibutes.s3backed module is marked as deprecated, and it will be removed in 6.X version.
  • rework the import structure of the library, now we recommend using import pynamodb_mate.api as pm instead of import pynamodb_mate as pm. Old public API is still available in import pynamodb_mate as pm name space. And these API is scheduled to be deleted in 6.X version.

Minor Improvements

  • Rework the unit test, now it uses both mock and real AWS DynamoDB table for testing.
  • Rework the documentation site.

Miscellaneous

  • add Python3.12 support.

5.3.4.9 (2023-05-15)

Bugfixes

Miscellaneous

  • add Python3.11 support.

5.3.4.8 (2023-02-03)

Features and Improvements

Minor Improvements

5.3.4.7 (2023-02-01)

Features and Improvements

Minor Improvements

5.3.4.6 (2023-01-16)

Features and Improvements

  • Use iterproxy for Model query and scan, enable type hint in result iterator.
  • Use iterproxy for Model query and scan, enable type hint in result iterator.

Miscellaneous

  • use moto for unit test

5.3.4.5 (2022-01-02)

Features and Improvements

Miscellaneous

  • improve the document for S3BackedAttribute, EncryptedAttribute and CompressedAttribute.
  • refactor the S3BackedAttribute, EncryptedAttribute and CompressedAttribute to make it easier to customize.

5.3.4.4 (2022-01-02)

Features and Improvements

  • allow user to define a custom __post_init__ method in the DynamoDB ORM model.
  • allow user to define a pre_start_hook and post_start_hook in the status_tracker pattern.

Miscellaneous

  • update the requirements file to ensure the compatible version of the pynamodb library.

5.3.4.3 (2022-01-02)

Minor Improvements

  • :mod:`pynamodb_mate.patterns.status_tracker` Pattern:
    • the status_tracker pattern doesn't require the status index name to be status_and_task_id_index anymore. it will automatically discover that.
    • add debug information when you start a job.
    • add example jupyter notebook.

5.3.4.2 (2022-01-01)

Features and Improvements

Minor Improvements

  • move unit test to GitHub Action.

5.3.4.1 (2022-12-26)

Features and Improvements

Breaking change

  • EncryptUnicodeAttribute -> EncryptedUnicodeAttribute
  • EncryptBinaryAttribute -> EncryptedBinaryAttribute

Miscellaneous

  • pycryptodome is only required when you are trying to use encrypted attribute. You can install via pip install pynamodb_mate[encrypt]

5.2.1.1 (2022-08-12)

Features and Improvements

  • add Console URL api

5.1.0.1 (2021-12-12)

Features and Improvements

  • Made decision of the API design. Make it stable and consistent to all attributes
  • Add pynamodb_mate.EncryptedNumberAttribute, pynamodb_mate.EncryptUnicodeAttribute, pynamodb_mate.EncryptBinaryAttribute, pynamodb_mate.EncryptedJsonAttribute, pynamodb_mate.S3BackedBigBinaryAttribute, pynamodb_mate.S3BackedBigTextAttribute, pynamodb_mate.CompressedJSONAttribute, pynamodb_mate.CompressedUnicodeAttribute, pynamodb_mate.CompressedBinaryAttribute to public API

Minor Improvements

  • Improve documentations.

Miscellaneous

  • It maintain the compatibility to major version of pynamodb library. For example pynamodb_mate>=5.0.0,<6.0.0 is compatible to pynamodb>=5.0.0,<6.0.0.
  • Drop support for Python2.7 because pynamodb drops 2.7 support.

0.0.2 (2020-05-04)

Features and Improvements

  • add EncryptUnicodeAttribute, EncryptBinaryAttribute, EncryptedNumberAttribute, ``EncryptedJsonAttribute. It can do client side encryption.

0.0.1 (2019-06-17)

  • First release