<commit_before>ChangeLog
=========

2.9.3 (unreleased)
------------------

- Nothing changed yet.

.. _v2.9.2:

2.9.2 (2017-08-03)
------------------

*Bugfix:*

    - Fix declaration corruption bug when a factory defined `foo__bar__baz=1` and a caller
      provided a `foo__bar=x` parameter at call time: this got merged into the factory's base
      declarations.

.. _v2.9.1:

2.9.1 (2017-08-02)
------------------

*Bugfix:*

    - Fix packaging issues (see https://github.com/zestsoftware/zest.releaser/issues/212)
    - Don't crash when debugging PostGenerationDeclaration

.. _v2.9.0:

2.9.0 (2017-07-30)
------------------

This version brings massive changes to the core engine, thus reducing the number of
corner cases and weird behaviourrs.

*New:*

    - :issue:`275`: `factory.fuzzy` and `factory.faker` now use the same random seed.
    - Add :class:`factory.Maybe`, which chooses among two possible declarations based
      on another field's value (powers the :class:`~factory.Trait` feature).
    - :class:`~factory.PostGenerationMethodCall` only allows to pass one positional argument; use keyword arguments for
      extra parameters.

*Deprecation:*

    - `factory.fuzzy.get_random_state` is deprecated, `factory.random.get_random_state` should be used instead.
    - `factory.fuzzy.set_random_state` is deprecated, `factory.random.set_random_state` should be used instead.
    - `factory.fuzzy.reseed_random` is deprecated, `factory.random.reseed_random` should be used instead.

.. _v2.8.1:

2.8.1 (2016-12-17)
------------------

*Bugfix:*

    - Fix packaging issues.


.. _v2.8.0:

2.8.0 (2016-12-17)
------------------

*New:*

    - :issue:`240`: Call post-generation declarations in the order they were declared,
      thanks to `<NAME> <https://github.com/olegpidsadnyi>`_.
    - :issue:`309`: Provide new options for SQLAlchemy session persistence

*Bugfix:*

    - :issue:`334`: Adjust for the package change in ``faker``


.. _v2.7.0:

2.7.0 (2016-04-19)
------------------

*New:*

    - :issue:`267`: Add :class:`factory.LazyFunction` to remove unneeded lambda parameters,
      thanks to `<NAME> <https://github.com/bors-ltd>`_.
    - :issue:`251`: Add :ref:`parameterized factories <parameters>` and :class:`traits <factory.Trait>`
    - :issue:`256`, :issue:`292`: Improve error messages in corner cases

*Removed:*

    - :issue:`278`: Formally drop support for Python2.6

.. _v2.6.1:

2.6.1 (2016-02-10)
------------------<commit_msg>Update changelog with breaking change in v2.7.0<commit_after>ChangeLog
=========

2.9.3 (unreleased)
------------------

- Nothing changed yet.

.. _v2.9.2:

2.9.2 (2017-08-03)
------------------

*Bugfix:*

    - Fix declaration corruption bug when a factory defined `foo__bar__baz=1` and a caller
      provided a `foo__bar=x` parameter at call time: this got merged into the factory's base
      declarations.

.. _v2.9.1:

2.9.1 (2017-08-02)
------------------

*Bugfix:*

    - Fix packaging issues (see https://github.com/zestsoftware/zest.releaser/issues/212)
    - Don't crash when debugging PostGenerationDeclaration

.. _v2.9.0:

2.9.0 (2017-07-30)
------------------

This version brings massive changes to the core engine, thus reducing the number of
corner cases and weird behaviourrs.

*New:*

    - :issue:`275`: `factory.fuzzy` and `factory.faker` now use the same random seed.
    - Add :class:`factory.Maybe`, which chooses among two possible declarations based
      on another field's value (powers the :class:`~factory.Trait` feature).
    - :class:`~factory.PostGenerationMethodCall` only allows to pass one positional argument; use keyword arguments for
      extra parameters.

*Deprecation:*

    - `factory.fuzzy.get_random_state` is deprecated, `factory.random.get_random_state` should be used instead.
    - `factory.fuzzy.set_random_state` is deprecated, `factory.random.set_random_state` should be used instead.
    - `factory.fuzzy.reseed_random` is deprecated, `factory.random.reseed_random` should be used instead.

.. _v2.8.1:

2.8.1 (2016-12-17)
------------------

*Bugfix:*

    - Fix packaging issues.


.. _v2.8.0:

2.8.0 (2016-12-17)
------------------

*New:*

    - :issue:`240`: Call post-generation declarations in the order they were declared,
      thanks to `<NAME> <https://github.com/olegpidsadnyi>`_.
    - :issue:`309`: Provide new options for SQLAlchemy session persistence

*Bugfix:*

    - :issue:`334`: Adjust for the package change in ``faker``


.. _v2.7.0:

2.7.0 (2016-04-19)
------------------

*New:*

    - :issue:`267`: Add :class:`factory.LazyFunction` to remove unneeded lambda parameters,
      thanks to `<NAME> <https://github.com/bors-ltd>`_.
    - :issue:`251`: Add :ref:`parameterized factories <parameters>` and :class:`traits <factory.Trait>`
    - :issue:`256`, :issue:`292`: Improve error messages in corner cases

*Removed:*

	- :issue:`278`: Formally drop support for Python2.6

.. warning:: Version 2.7.0 moves all error classes to
             `factory.errors`. This breaks existing import statements
             for any error classes except those importing
             `FactoryError` directly from the `factory` module.

.. _v2.6.1:

2.6.1 (2016-02-10)
------------------
{'fraction_non_alphanumeric': 0.1807574598316756, 'fraction_numerical': 0.05241009946442234, 'mean_word_length': 2.6901905434015525, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3579098', 'n_tokens_mistral': 1861, 'n_tokens_neox': 1636, 'n_words': 481}