Skip to content

Latest commit

 

History

History
397 lines (272 loc) · 17.6 KB

CHANGELOG.md

File metadata and controls

397 lines (272 loc) · 17.6 KB

Changelog

All notable changes to model_bakery will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Added

Changed

Removed

Added

  • Support to Field db_default value
  • Support to Python 3.13

Changed

  • Reset content_type and object_id fields when the content object is None

Changed

  • Allow None value for generic foreign keys within iterators
  • Make TextField generator respect max_length
  • Deprecate model_bakery.random_gen.gen_text in favor of model_bakery.random_gen.gen_string

Changed

  • Do not handle GFK fields when the object is None

Added

  • docs: Add Django settings example for custom field generators

Changed

  • Align GFK and content type fields generation
  • Allow prepare() to be used with GFK

Changed

  • Handle bulk creation when using reverse related name

Added

  • Add Django 5.1 support

Changed

  • Fix support of GenericForeignKey fields in combination with _fill_optional

Changed

  • Fix make_recipe to work with _quantity (#28)

Changed

  • Replace expensive count() with cheap exists()

Added

  • Add Django 5.0 support

Changed

  • Allow baking without contenttypes framework

Removed

  • Drop Django 3.2 and 4.1 support (reached end of life)

Added

  • Add support to auto_now and auto_now_add fields.

Changed

  • Remove unnecessary casting to string methods random_gen.gen_slug and random_gen.gen_string
  • [doc] Update installation command

Added

  • [dev] Test coverage report

Changed

  • Improved performance of Baker.get_fields()
  • [dev] Cleanup Sphinx documentation config
  • [dev] Update pre-commit config
  • [dev] CI: remove hard requirement on linters for tests to run

Added

  • Add Python 3.12 support

Changed

  • Revert erroneous optimisation of related logic (fix #439)
  • [dev] Bring tox back

Removed

Added

  • forward "_create_files" flag to child generators for relational fields

Changed

  • Small improvements to recipe.py::_mapping
  • Improvements to baker.py::bulk_create
  • [dev] Replaced pycodestyle, pydocstyle, flake8 and isort with ruff
  • [dev] Drop tox in favor of using GitHub Actions matrix

Removed

  • Drop baker.py::is_iterator
  • Drop Python 3.7 support (reached end of life)

Added

  • Add support for global seeding to baker random generation

Added

  • Add support for CharField with max_length=None

Changed

  • Fix utils.seq with start=0

Added

  • Add psycopg3 support for Django 4.2

Changed

  • Enforce Python 3.7 as a minimum version in project metadata

Removed

  • dropped support for FloatRangeField as it was removed in Django 3.1
  • [dev] Temporary drop Django 4.2 to package classifiers (waiting for build backend support)

Changed

  • [dev] Test Python 3.11 with Django 4.2
  • [dev] Add Django 4.2 to package classifiers

Changed

  • [dev] Fix GitHub Action for publishing to PyPI

Added

  • Django 4.2 support

Changed

  • [dev] Switch to Python 3.11 release in CI
  • [dev] Unify and simplify tox config with tox-py
  • [dev] pre-commit autoupdate && pre-commit run --all-files
  • [dev] Run pyupgrade with Python 3.7 as a base
  • [dev] PEP 621: Migrate from setup.py and setup.cfg to pyproject.toml
  • [dev] Convert format and some string interpolations to fstring

Changed

  • Fixed a bug with seq being passed a tz-aware start value PR #353
  • Create m2m when using _bulk_create=True PR #354
  • [dev] Use official postgis docker image in CI PR #355

Changed

  • Improve Baker.get_fields() to subtract lists instead of extra set cast PR #352

Changed

  • Remove warning for future Django deprecation PR #339

Changed

  • Fixed a bug with overwritten _save_kwargs and other custom arguments PR #330

Added

  • Python 3.11 support PR #327
  • Django 4.1 support PR #327
  • Added documentation for callables, iterables, sequences PR #309

Changed

  • [dev] Replace changelog reminder action with a custom solution that can ignore Dependabot PRs PR #328

Removed

Added

Changed

  • Extend type hints in model_bakery.recipe module, make Recipe class generic PR #292
  • Explicitly add _fill_optional parameters to baker.make and baker.prepare to aid IDE autocomplete function. PR #264
  • Fixed errors with reverse M2M relationships PR #299
  • Fixed errors with reverse M2O relationships PR #300
  • Improve exception message for unknown field types PR #301
  • Fixed random generation of ContentType values when there is no database access #290

Added

  • Added postgis version to test settings
  • Add support for Python 3.10 PR #244
  • Support for Django 4.0 PR #236

Changed

  • Validate increment_by parameter of seq helper when value is an instance of datetime PR #247
  • Fix a simple typo in bulk_create disclaimer in docs PR #245
  • Allow relation _id fields to use sequences PR #253
  • Fix bulk_create not working with multi-database setup PR #252
  • Conditionally support NullBooleanField, it's under deprecation and will be removed in Django 4.0 PR #250
  • Fix Django max version pin in requirements file PR #251
  • Improve type hinting to return the correct type depending on _quantity usage PR #261

Removed

  • Drop official Django 3.1 support. Django 2.2 is still supported, and 3.1 will likely keep working, but it’s not tested PR #236

Added

  • _bulk_create flag is not populating related objects as well PR #206
  • Add support for iterators on GFK fields when using _quantity param PR #207
  • Add support for iterators on many-to-many fields PR#237

Changed

  • Fix typos in Recipes documentation page PR #212
  • Add venv to ignored folders of flake8 and pydocstyle PR#214
  • Run flake8 after code modifications when linting PR#214
  • Add typing for baker.make and baker.prepare PR#213

Changed

  • Fixed a bug (introduced in 1.2.1) that was breaking imports of recipes from non-installed-app modules PR #201
  • Dependencies updates

Added

  • [dev] Add explanations to imports in generators.py to match with current supported Django versions PR #179

Changed

  • Fix requirements.txt to cover Django 3.2 (everything from 2.2 till 4.0) PR #182

Added

  • Add Django 3.2 LTS support PR #176
  • Add new _bulk_create parameter to make for using Django manager bulk_create with _quantity PR #134
  • Add the functionality to import Django models using the app_name.ModelName convention in import_from_str PR #140
  • Add the functionality to import recipes using app_name.recipe_name PR #140
  • Add new one_to_one parameter to foreign_key to allow usage of _quantity for recipes based on models with OneToOne fields PR #169
  • [docs] Improved documentation on Recipe's import string PR #175
  • [dev] Add a unit test for utils.seq PR #143
  • [dev] Run CI against main Django branch to cover possible upcoming changes/deprecations PR #159
  • [dev] Add GH Action for package releasing PR #168

Changed

  • Fixed a bug (introduced in 1.2.1) that was breaking creation of model instances with related model fields PR #164
  • Type hinting fixed for Recipe "_model" parameter PR #124
  • Dependencies updates from dependabot PRs #170 - #171 - #172 - #173 - #174
  • [dev] Modify setup.py to not import the whole module for package data, but get it from __about__.py PR #142
  • [dev] Add Dependabot config file PR #146
  • [dev] Update Dependabot config file to support GH Actions and auto-rebase PR #160

Removed

Added

  • Add ability to pass str values to foreign_key for recipes from other modules PR #120
  • Add new parameter _using to support multi database Django applications PR #126
  • [dev] Add instructions and script for running postgres and postgis tests. PR #118

Changed

  • Fixed _model parameter annotations PR #115
  • Fixes bug when field has callable default PR #117

Removed

Added

  • Support to django 3.1 JSONField PR #85 and PR #106
  • Added type annotations PR #100
  • Support for Python 3.9 PR #113
  • [dev] Changelog reminder (GitHub action)
  • Add pytest example

Changed

  • Support for prefix in seq values (PR #111 fixes Issue #93)
  • [dev] CI switched to GitHub Actions
  • [dev] Freeze dev requirements
  • [dev] Add Django 3.1 to test matrix PR #103 and PR #112
  • [dev] pre-commit to use local packages (so versions will match)
  • [dev] consistent use of pydocstyle
  • [dev] Updates to MANIFEST.in
  • [dev] Correct field in recipe docs
  • [dev] Adjust imports for Django 3.1 compatibility PR #112

Removed

Added

  • Support to Postgres fields: DecimalRangeField, FloatRangeField, IntegerRangeField, BigIntegerRangeField, DateRangeField, DateTimeRangeField PR #80

Changed

  • Add isort and fix imports PR #77
  • Enable seq to be imported from baker PR #76
  • Fix PostGIS model registration PR #67

Removed

Added

  • Django 3.0 and Python 3.8 to CI PR #48

Changed

  • Improve code comments PR #31
  • Switch to tox-travis PR #43
  • Add black job PR #42
  • README.md instead of rst PR #44
  • New start argument in baker.seq PR #56
  • Fixes bug when registering custom fields generator via settings.py PR #58
  • The different IntegerField types now will generate values on their min/max range PR #59

Removed

Added

Changed

  • Improvements on the migrations script

Removed

Added

  • Python script to help developers on migrating from Model Mommy to Model Bakery

Changed

Removed

Added

Changed

  • Rename model_mommy code to model_bakery

Removed