diff options
Diffstat (limited to 'docs/changelog.rst')
-rw-r--r-- | docs/changelog.rst | 167 |
1 files changed, 158 insertions, 9 deletions
diff --git a/docs/changelog.rst b/docs/changelog.rst index 173c40f..4917578 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1,24 +1,139 @@ ChangeLog ========= + +.. _v2.3.1: + +2.3.1 (2014-01-22) +------------------ + +*Bugfix:* + + - Fix badly written assert containing state-changing code, spotted by `chsigi <https://github.com/chsigi>`_ (:issue:`126`) + - Don't crash when handling objects whose __repr__ is non-pure-ascii bytes on Py2, + discovered by `mbertheau <https://github.com/mbertheau>`_ (:issue:`123`) and `strycore <https://github.com/strycore>`_ (:issue:`127`) + +.. _v2.3.0: + +2.3.0 (2013-12-25) +------------------ + +*New:* + + - Add :class:`~factory.fuzzy.FuzzyText`, thanks to `jdufresne <https://github.com/jdufresne>`_ (:issue:`97`) + - Add :class:`~factory.fuzzy.FuzzyDecimal`, thanks to `thedrow <https://github.com/thedrow>`_ (:issue:`94`) + - Add support for :class:`~mongoengine.EmbeddedDocument`, thanks to `imiric <https://github.com/imiric>`_ (:issue:`100`) + +.. _v2.2.1: + +2.2.1 (2013-09-24) +------------------ + +*Bugfix:* + + - Fixed sequence counter for :class:`~factory.django.DjangoModelFactory` when a factory + inherits from another factory relating to an abstract model. + +.. _v2.2.0: + +2.2.0 (2013-09-24) +------------------ + +*Bugfix:* + + - Removed duplicated :class:`~factory.alchemy.SQLAlchemyModelFactory` lurking in :mod:`factory` + (:issue:`83`) + - Properly handle sequences within object inheritance chains. + If FactoryA inherits from FactoryB, and their associated classes share the same link, + sequence counters will be shared (:issue:`93`) + - Properly handle nested :class:`~factory.SubFactory` overrides + +*New:* + + - The :class:`~factory.django.DjangoModelFactory` now supports the ``FACTORY_FOR = 'myapp.MyModel'`` + syntax, making it easier to shove all factories in a single module (:issue:`66`). + - Add :meth:`factory.debug()` helper for easier backtrace analysis + - Adding factory support for mongoengine with :class:`~factory.mongoengine.MongoEngineFactory`. + +.. _v2.1.2: + +2.1.2 (2013-08-14) +------------------ + +*New:* + + - The :class:`~factory.Factory.ABSTRACT_FACTORY` keyword is now optional, and automatically set + to ``True`` if neither the :class:`~factory.Factory` subclass nor its parent declare the + :class:`~factory.Factory.FACTORY_FOR` attribute (:issue:`74`) + + +.. _v2.1.1: + +2.1.1 (2013-07-02) +------------------ + +*Bugfix:* + + - Properly retrieve the ``color`` keyword argument passed to :class:`~factory.django.ImageField` + +.. _v2.1.0: + +2.1.0 (2013-06-26) +------------------ + +*New:* + + - Add :class:`~factory.fuzzy.FuzzyDate` thanks to `saulshanabrook <https://github.com/saulshanabrook>`_ + - Add :class:`~factory.fuzzy.FuzzyDateTime` and :class:`~factory.fuzzy.FuzzyNaiveDateTime`. + - Add a :attr:`~factory.containers.LazyStub.factory_parent` attribute to the + :class:`~factory.containers.LazyStub` passed to :class:`~factory.LazyAttribute`, in order to access + fields defined in wrapping factories. + - Move :class:`~factory.django.DjangoModelFactory` and :class:`~factory.mogo.MogoFactory` + to their own modules (:mod:`factory.django` and :mod:`factory.mogo`) + - Add the :meth:`~factory.Factory.reset_sequence` classmethod to :class:`~factory.Factory` + to ease resetting the sequence counter for a given factory. + - Add debug messages to ``factory`` logger. + - Add a :meth:`~factory.Iterator.reset` method to :class:`~factory.Iterator` (:issue:`63`) + - Add support for the SQLAlchemy ORM through :class:`~factory.alchemy.SQLAlchemyModelFactory` + (:issue:`64`, thanks to `Romain Commandé <https://github.com/rcommande>`_) + - Add :class:`factory.django.FileField` and :class:`factory.django.ImageField` hooks for + related Django model fields (:issue:`52`) + +*Bugfix* + + - Properly handle non-integer pks in :class:`~factory.django.DjangoModelFactory` (:issue:`57`). + - Disable :class:`~factory.RelatedFactory` generation when a specific value was + passed (:issue:`62`, thanks to `Gabe Koscky <https://github.com/dhekke>`_) + +*Deprecation:* + + - Rename :class:`~factory.RelatedFactory`'s ``name`` argument to ``factory_related_name`` (See :issue:`58`) + + +.. _v2.0.2: + 2.0.2 (2013-04-16) ------------------ *New:* - - When :attr:`~factory.DjangoModelFactory.FACTORY_DJANGO_GET_OR_CREATE` is + - When :attr:`~factory.django.DjangoModelFactory.FACTORY_DJANGO_GET_OR_CREATE` is empty, use ``Model.objects.create()`` instead of ``Model.objects.get_or_create``. +.. _v2.0.1: + 2.0.1 (2013-04-16) ------------------ *New:* - Don't push ``defaults`` to ``get_or_create`` when - :attr:`~factory.DjangoModelFactory.FACTORY_DJANGO_GET_OR_CREATE` is not set. + :attr:`~factory.django.DjangoModelFactory.FACTORY_DJANGO_GET_OR_CREATE` is not set. +.. _v2.0.0: + 2.0.0 (2013-04-15) ------------------ @@ -29,11 +144,11 @@ ChangeLog - The default :attr:`~factory.Sequence.type` for :class:`~factory.Sequence` is now :obj:`int` - Fields listed in :attr:`~factory.Factory.FACTORY_HIDDEN_ARGS` won't be passed to the associated class' constructor - - Add support for ``get_or_create`` in :class:`~factory.DjangoModelFactory`, - through :attr:`~factory.DjangoModelFactory.FACTORY_DJANGO_GET_OR_CREATE`. + - Add support for ``get_or_create`` in :class:`~factory.django.DjangoModelFactory`, + through :attr:`~factory.django.DjangoModelFactory.FACTORY_DJANGO_GET_OR_CREATE`. - Add support for :mod:`~factory.fuzzy` attribute definitions. - The :class:`Sequence` counter can be overridden when calling a generating function - - Add :class:`~factory.Dict` and :class:`~factory.List` declarations (Closes #18). + - Add :class:`~factory.Dict` and :class:`~factory.List` declarations (Closes :issue:`18`). *Removed:* @@ -46,6 +161,8 @@ ChangeLog - Remove :meth:`~factory.Factory.set_building_function` / :meth:`~factory.Factory.set_creation_function` +.. _v1.3.0: + 1.3.0 (2013-03-11) ------------------ @@ -60,7 +177,7 @@ New - **Global:** - Rewrite the whole documentation - - Provide a dedicated :class:`~factory.MogoFactory` subclass of :class:`~factory.Factory` + - Provide a dedicated :class:`~factory.mogo.MogoFactory` subclass of :class:`~factory.Factory` - **The Factory class:** - Better creation/building customization hooks at :meth:`factory.Factory._build` and :meth:`factory.Factory.create` @@ -77,7 +194,7 @@ New its :attr:`~factory.Iterator.cycle` argument to ``False`` - Allow overriding default arguments in a :class:`~factory.PostGenerationMethodCall` when generating an instance of the factory - - An object created by a :class:`~factory.DjangoModelFactory` will be saved + - An object created by a :class:`~factory.django.DjangoModelFactory` will be saved again after :class:`~factory.PostGeneration` hooks execution @@ -112,7 +229,7 @@ In order to upgrade client code, apply the following rules: :class:`~factory.Factory`, instead of relying on automagic associated class discovery - When using factory_boy for Django models, have each factory inherit from - :class:`~factory.DjangoModelFactory` + :class:`~factory.django.DjangoModelFactory` - Replace ``factory.CircularSubFactory('some.module', 'Symbol')`` with ``factory.SubFactory('some.module.Symbol')`` - Replace ``factory.InfiniteIterator(iterable)`` with ``factory.Iterator(iterable)`` @@ -124,6 +241,8 @@ In order to upgrade client code, apply the following rules: +.. _v1.2.0: + 1.2.0 (2012-09-08) ------------------ @@ -131,6 +250,9 @@ In order to upgrade client code, apply the following rules: - Add :class:`~factory.CircularSubFactory` to solve circular dependencies between factories + +.. _v1.1.5: + 1.1.5 (2012-07-09) ------------------ @@ -138,6 +260,9 @@ In order to upgrade client code, apply the following rules: - Fix :class:`~factory.PostGenerationDeclaration` and derived classes. + +.. _v1.1.4: + 1.1.4 (2012-06-19) ------------------ @@ -149,6 +274,9 @@ In order to upgrade client code, apply the following rules: - Introduce :class:`~factory.PostGeneration` and :class:`~factory.RelatedFactory` + +.. _v1.1.3: + 1.1.3 (2012-03-09) ------------------ @@ -156,6 +284,9 @@ In order to upgrade client code, apply the following rules: - Fix packaging rules + +.. _v1.1.2: + 1.1.2 (2012-02-25) ------------------ @@ -165,6 +296,9 @@ In order to upgrade client code, apply the following rules: - Provide :func:`~factory.Factory.generate` and :func:`~factory.Factory.simple_generate`, that allow specifying the instantiation strategy directly. Also provides :func:`~factory.Factory.generate_batch` and :func:`~factory.Factory.simple_generate_batch`. + +.. _v1.1.1: + 1.1.1 (2012-02-24) ------------------ @@ -172,6 +306,9 @@ In order to upgrade client code, apply the following rules: - Add :func:`~factory.Factory.build_batch`, :func:`~factory.Factory.create_batch` and :func:`~factory.Factory.stub_batch`, to instantiate factories in batch + +.. _v1.1.0: + 1.1.0 (2012-02-24) ------------------ @@ -190,6 +327,9 @@ In order to upgrade client code, apply the following rules: - Auto-discovery of :attr:`~factory.Factory.FACTORY_FOR` based on class name is now deprecated + +.. _v1.0.4: + 1.0.4 (2011-12-21) ------------------ @@ -201,7 +341,7 @@ In order to upgrade client code, apply the following rules: - Introduce :data:`~factory.MOGO_BUILD` build function - Add support for inheriting from multiple :class:`~factory.Factory` - Base :class:`~factory.Factory` classes can now be declared :attr:`abstract <factory.Factory.ABSTRACT_FACTORY>`. - - Provide :class:`~factory.DjangoModelFactory`, whose :class:`~factory.Sequence` counter starts at the next free database id + - Provide :class:`~factory.django.DjangoModelFactory`, whose :class:`~factory.Sequence` counter starts at the next free database id - Introduce :class:`~factory.SelfAttribute`, a shortcut for ``factory.LazyAttribute(lambda o: o.foo.bar.baz``. *Bugfix:* @@ -210,6 +350,9 @@ In order to upgrade client code, apply the following rules: - Share sequence counter between parent and subclasses - Fix :class:`~factory.SubFactory` / :class:`~factory.Sequence` interferences + +.. _v1.0.2: + 1.0.2 (2011-05-16) ------------------ @@ -217,6 +360,9 @@ In order to upgrade client code, apply the following rules: - Introduce :class:`~factory.SubFactory` + +.. _v1.0.1: + 1.0.1 (2011-05-13) ------------------ @@ -229,6 +375,9 @@ In order to upgrade client code, apply the following rules: - Fix concurrency between :class:`~factory.LazyAttribute` and :class:`~factory.Sequence` + +.. _v1.0.0: + 1.0.0 (2010-08-22) ------------------ |