Change Log

drf-flex-fields2

2.0.2 (April 2026)

  • Maintainer documentation: Troubleshooting tag signing

  • Release workflow: More stable changelog parsing

  • No user-facing changes.

2.0.1 (April 2026)

  • Maintenance release to ensure installability with recent Django and DRF versions.

  • Autogenerated llms.txt to make documentation more accessible to AI coding assistants.

  • Reworked and simplified dependency upgrade and release workflows (relevant for maintainers only).

2.0.0 (April 2026)

  • Project forked from rsinger86/drf-flex-fields.

  • Python package renamed to drf-flex-fields2.

  • Migrated tooling from setuptools to poetry.

  • Added CI tooling for automated version upgrades and SBOM generation.

  • Migrated source code from Python 2 to Python 3 syntax.

  • Fixed usage of deprecated Django APIs.

  • Improved type hints and static typing compatibility (e.g., for PyLance).

  • Added missing and reworked existing docstrings for PEP 257 conformance.

  • Set up proper documentation on readthedocs.org.

  • Added more unit tests and monitoring of test coverage.

Original drf-flex-fields

1.0.2 (March 2023)

  • Adds control over whether recursive expansions are allowed and allows setting the max expansion depth. Thanks @andruten!

1.0.1 (March 2023)

  • Various bug fixes. Thanks @michaelschem, @andruten, and @erielias!

1.0.0 (August 2022)

  • Improvements to the filter backends for generic foreign key handling and docs generation. Thanks @KrYpTeD974 and @michaelschem!

0.9.9 (July 2022)

  • Fixes bug in FlexFieldsFilterBackend. Thanks @michaelschem!

  • Adds FlexFieldsDocsFilterBackend for schema population. Thanks @Rjevski!

0.9.8 (April 2022)

  • Set expandable fields as the default example for expand query parameters in coreapi.Field. Thanks @JasperSui!

0.9.7 (January 2022)

  • Includes m2m in prefetch_related clause even if they’re not expanded. Thanks @pablolmedorado and @ADR-007!

0.9.6 (November 2021)

  • Make it possible to use wildcard values with sparse fields requests.

0.9.5 (October 2021)

  • Adds OpenAPI support. Thanks @soroush-tabesh!

  • Updates tests for Django 3.2 and fixes deprecation warning. Thanks @giovannicimolin!

0.9.3 (August 2021)

  • Fixes bug where custom parameter names were not passed when constructing nested serializers. Thanks @Kandeel4411!

0.9.2 (June 2021)

  • Ensures context dict is passed down to expanded serializers. Thanks @nikeshyad!

0.9.1 (June 2021)

  • No longer auto removes source argument if it’s equal to the field name.

0.9.0 (April 2021)

  • Allows fully qualified import strings for lazy serializer classes.

0.8.9 (February 2021)

  • Adds OpenAPI support to experimental filter backend. Thanks @LukasBerka!

0.8.8 (September 2020)

  • Django 3.1.1 fix. Thanks @NiyazNz!

  • Docs typo fix. Thanks @zakjholt!

0.8.6 (September 2020)

  • Adds is_included utility function.

0.8.5 (May 2020)

  • Adds options to customize parameter names and wildcard values. Closes #10.

0.8.1 (May 2020)

  • Fixes #44, related to the experimental filter backend. Thanks @jsatt!

0.8.0 (April 2020)

  • Adds support for expand, omit and fields query parameters for non-GET requests.

    • The common use case is creating/updating a model instance and returning a serialized response with expanded fields.

    • Thanks @kotepillar for raising the issue (#25) and @Crocmagnon for the idea of delaying field modification to to_representation().

0.7.5 (February 2020)

  • Simplifies declaration of expandable_fields.

    • If using a tuple, the second element — to define the serializer settings — is now optional.

    • Instead of a tuple, you can now just use the serializer class or a string to lazily reference that class.

    • Updates documentation.

0.7.0 (February 2020)

  • Adds support for different ways of passing arrays in query strings. Thanks @sentyaev!

  • Fixes attribute error when map is supplied to split levels utility function. Thanks @hemache!

0.6.1 (September 2019)

  • Adds experimental support for automatically SQL query optimization via a FlexFieldsFilterBackend. Thanks ADR-007!

  • Adds CircleCI config file. Thanks mikeIFTS!

  • Moves declaration of expandable_fields to Meta class on serializer for consistency with DRF (will continue to support declaration as class property).

  • Python 2 is no longer supported. If you need Python 2 support, you can continue to use older versions of this package.

0.5.0 (April 2019)

  • Added support for omit keyword for field exclusion. Code clean up and improved test coverage.