Changelog
### 3.4.2
```
=========================
Bug Fixes
---------
- Removed progress information when capture option is ``no``. (`3203
<https://github.com/pytest-dev/pytest/issues/3203>`_)
- Refactor check of bindir from ``exists`` to ``isdir``. (`3241
<https://github.com/pytest-dev/pytest/issues/3241>`_)
- Fix ``TypeError`` issue when using ``approx`` with a ``Decimal`` value.
(`3247 <https://github.com/pytest-dev/pytest/issues/3247>`_)
- Fix reference cycle generated when using the ``request`` fixture. (`3249
<https://github.com/pytest-dev/pytest/issues/3249>`_)
- ``[tool:pytest]`` sections in ``*.cfg`` files passed by the ``-c`` option are
now properly recognized. (`3260
<https://github.com/pytest-dev/pytest/issues/3260>`_)
Improved Documentation
----------------------
- Add logging plugin to plugins list. (`3209
<https://github.com/pytest-dev/pytest/issues/3209>`_)
Trivial/Internal Changes
------------------------
- Fix minor typo in fixture.rst (`3259
<https://github.com/pytest-dev/pytest/issues/3259>`_)
```
### 3.4.1
```
=========================
Bug Fixes
---------
- Move import of ``doctest.UnexpectedException`` to top-level to avoid possible
errors when using ``--pdb``. (`1810
<https://github.com/pytest-dev/pytest/issues/1810>`_)
- Added printing of captured stdout/stderr before entering pdb, and improved a
test which was giving false negatives about output capturing. (`3052
<https://github.com/pytest-dev/pytest/issues/3052>`_)
- Fix ordering of tests using parametrized fixtures which can lead to fixtures
being created more than necessary. (`3161
<https://github.com/pytest-dev/pytest/issues/3161>`_)
- Fix bug where logging happening at hooks outside of "test run" hooks would
cause an internal error. (`3184
<https://github.com/pytest-dev/pytest/issues/3184>`_)
- Detect arguments injected by ``unittest.mock.patch`` decorator correctly when
pypi ``mock.patch`` is installed and imported. (`3206
<https://github.com/pytest-dev/pytest/issues/3206>`_)
- Errors shown when a ``pytest.raises()`` with ``match=`` fails are now cleaner
on what happened: When no exception was raised, the "matching '...'" part got
removed as it falsely implies that an exception was raised but it didn't
match. When a wrong exception was raised, it's now thrown (like
``pytest.raised()`` without ``match=`` would) instead of complaining about
the unmatched text. (`3222
<https://github.com/pytest-dev/pytest/issues/3222>`_)
- Fixed output capture handling in doctests on macOS. (`985
<https://github.com/pytest-dev/pytest/issues/985>`_)
Improved Documentation
----------------------
- Add Sphinx parameter docs for ``match`` and ``message`` args to
``pytest.raises``. (`3202
<https://github.com/pytest-dev/pytest/issues/3202>`_)
Trivial/Internal Changes
------------------------
- pytest has changed the publication procedure and is now being published to
PyPI directly from Travis. (`3060
<https://github.com/pytest-dev/pytest/issues/3060>`_)
- Rename ``ParameterSet._for_parameterize()`` to ``_for_parametrize()`` in
order to comply with the naming convention. (`3166
<https://github.com/pytest-dev/pytest/issues/3166>`_)
- Skip failing pdb/doctest test on mac. (`985
<https://github.com/pytest-dev/pytest/issues/985>`_)
```
Links
- PyPI: https://pypi.python.org/pypi/pytest
- Changelog: https://pyup.io/changelogs/pytest/
- Repo: https://github.com/pytest-dev/pytest/issues
- Homepage: http://pytest.org
Changelog
### 1.22.1
```
================================
Bug Fixes
---------
- Fix issue when using ``loadscope`` or ``loadfile`` where tests would fail to
start if the first scope had only one test. (`257
<https://github.com/pytest-dev/pytest-xdist/issues/257>`_)
Trivial Changes
---------------
- Change terminology used by ``pytest-xdist`` to *master* and *worker* in
arguments and messages (for example ``--max-worker-reset``). (`234
<https://github.com/pytest-dev/pytest-xdist/issues/234>`_)
```
Links
- PyPI: https://pypi.python.org/pypi/pytest-xdist
- Changelog: https://pyup.io/changelogs/pytest-xdist/
- Repo: https://github.com/pytest-dev/pytest-xdist
Changelog
### 3.53.0
```
-------------------
This release removes support for Django 1.8, which reached end of life on
2018-04-01. `You can see Django's release and support schedule
`on the Django Project website <https://www.djangoproject.com/download/supported-versions>`_.
-------------------
```
### 3.52.3
```
-------------------
This patch fixes the :obj:`~hypothesis.settings.min_satisfying_examples` settings
documentation, by explaining that example shrinking is tracked at the level
of the underlying bytestream rather than the output value.
The output from :func:`~hypothesis.find` in verbose mode has also been
adjusted - see :ref:`the example session <verbose-output>` - to avoid
duplicating lines when the example repr is constant, even if the underlying
representation has been shrunken.
-------------------
```
### 3.52.2
```
-------------------
This release improves the output of failures with
:ref:`rule based stateful testing <rulebasedstateful>` in two ways:
* The output from it is now usually valid Python code.
* When the same value has two different names because it belongs to two different
bundles, it will now display with the name associated with the correct bundle
for a rule argument where it is used.
-------------------
```
### 3.52.1
```
-------------------
This release improves the behaviour of :doc:`stateful testing <stateful>`
in two ways:
* Previously some runs would run no steps (:issue:`376`). This should no longer
happen.
* RuleBasedStateMachine tests which used bundles extensively would often shrink
terribly. This should now be significantly improved, though there is likely
a lot more room for improvement.
This release also involves a low level change to how ranges of integers are
handles which may result in other improvements to shrink quality in some cases.
-------------------
```
### 3.52.0
```
-------------------
This release deprecates use of :func:`settings(...) <hypothesis.settings>`
as a decorator, on functions or methods that are not also decorated with
:func:`given <hypothesis.given>`. You can still apply these decorators
in any order, though you should only do so once each.
Applying :func:`given <hypothesis.given>` twice was already deprecated, and
applying :func:`settings(...) <hypothesis.settings>` twice is deprecated in
this release and will become an error in a future version. Neither could ever
be used twice to good effect.)
Using :func:`settings(...) <hypothesis.settings>` as the sole decorator on
a test is completely pointless, so this common usage error will become an
error in a future version of Hypothesis.
-------------------
```
### 3.51.0
```
-------------------
This release deprecates the ``average_size`` argument to
:func:`~hypothesis.strategies.lists` and other collection strategies.
You should simply delete it wherever it was used in your tests, as it
no longer has any effect.
In early versions of Hypothesis, the ``average_size`` argument was treated
as a hint about the distribution of examples from a strategy. Subsequent
improvements to the conceptual model and the engine for generating and
shrinking examples mean it is more effective to simply describe what
constitutes a valid example, and let our internals handle the distribution.
-------------------
```
### 3.50.3
```
-------------------
This patch contains some internal refactoring so that we can run
with warnings as errors in CI.
-------------------
```
### 3.50.2
```
-------------------
This has no user-visible changes except one slight formatting change to one docstring, to avoid a deprecation warning.
-------------------
```
### 3.50.1
```
-------------------
This patch fixes an internal error introduced in 3.48.0, where a check
for the Django test runner would expose import-time errors in Django
configuration (:issue:`1167`).
-------------------
```
### 3.50.0
```
-------------------
This release improves validation of numeric bounds for some strategies.
- :func:`~hypothesis.strategies.integers` and :func:`~hypothesis.strategies.floats`
now raise ``InvalidArgument`` if passed a ``min_value`` or ``max_value``
which is not an instance of :class:`~python:numbers.Real`, instead of
various internal errors.
- :func:`~hypothesis.strategies.floats` now converts its bounding values to
the nearest float above or below the min or max bound respectively, instead
of just casting to float. The old behaviour was incorrect in that you could
generate ``float(min_value)``, even when this was less than ``min_value``
itself (possible with eg. fractions).
- When both bounds are provided to :func:`~hypothesis.strategies.floats` but
there are no floats in the interval, such as ``[(2**54)+1 .. (2**55)-1]``,
InvalidArgument is raised.
- :func:`~hypothesis.strategies.decimals` gives a more useful error message
if passed a string that cannot be converted to :class:`~python:decimal.Decimal`
in a context where this error is not trapped.
Code that previously **seemed** to work may be explicitly broken if there
were no floats between ``min_value`` and ``max_value`` (only possible with
non-float bounds), or if a bound was not a :class:`~python:numbers.Real`
number but still allowed in :obj:`python:math.isnan` (some custom classes
with a ``__float__`` method).
-------------------
```
### 3.49.1
```
-------------------
This patch fixes our tests for Numpy dtype strategies on big-endian platforms,
where the strategy behaved correctly but the test assumed that the native byte
order was little-endian.
There is no user impact unless you are running our test suite on big-endian
platforms. Thanks to Graham Inggs for reporting :issue:`1164`.
-------------------
```
### 3.49.0
```
-------------------
This release deprecates passing ``elements=None`` to collection strategies,
such as :func:`~hypothesis.strategies.lists`.
Requiring ``lists(nothing())`` or ``builds(list)`` instead of ``lists()``
means slightly more typing, but also improves the consistency and
discoverability of our API - as well as showing how to compose or
construct strategies in ways that still work in more complex situations.
Passing a nonzero max_size to a collection strategy where the elements
strategy contains no values is now deprecated, and will be an error in a
future version. The equivalent with ``elements=None`` is already an error.
-------------------
```
### 3.48.1
```
-------------------
This patch will minimize examples that would come out non-minimal in previous versions. Thanks to Kyle Reeve for this patch.
-------------------
```
### 3.48.0
```
-------------------
This release improves some "unhappy paths" when using Hypothesis
with the standard library :mod:`python:unittest` module:
- Applying :func:`given <hypothesis.given>` to a non-test method which is
overridden from :class:`python:unittest.TestCase`, such as ``setUp``,
raises :attr:`a new health check <hypothesis.settings.not_a_test_method>`.
(:issue:`991`)
- Using :meth:`~python:unittest.TestCase.subTest` within a test decorated
with :func:`given <hypothesis.given>` would leak intermediate results
when tests were run under the :mod:`python:unittest` test runner.
Individual reporting of failing subtests is now disabled during a test
using :func:`given <hypothesis.given>`. (:issue:`1071`)
- :func:`given <hypothesis.given>` is still not a class decorator, but the
error message if you try using it on a class has been improved.
As a related improvement, using :class:`django:django.test.TestCase` with
:func:`given <hypothesis.given>` instead of
:class:`hypothesis.extra.django.TestCase` raises an explicit error instead
of running all examples in a single database transaction.
-------------------
```
### 3.47.0
```
-------------------
:obj:`~hypothesis.settings.register_profile` now accepts keyword arguments
for specific settings, and the parent settings object is now optional.
Using a ``name`` for a registered profile which is not a string was never
suggested, but it is now also deprecated and will eventually be an error.
-------------------
```
### 3.46.2
```
-------------------
This release removes an unnecessary branch from the code, and has no user-visible impact.
-------------------
```
### 3.46.1
```
-------------------
This changes only the formatting of our docstrings and should have no user-visible effects.
-------------------
```
### 3.46.0
```
-------------------
:func:`~hypothesis.strategies.characters` has improved docs about
what arguments are valid, and additional validation logic to raise a
clear error early (instead of e.g. silently ignoring a bad argument).
Categories may be specified as the Unicode 'general category'
(eg ``u'Nd'``), or as the 'major category' (eg ``[u'N', u'Lu']``
is equivalent to ``[u'Nd', u'Nl', u'No', u'Lu']``).
In previous versions, general categories were supported and all other
input was silently ignored. Now, major categories are supported in
addition to general categories (which may change the behaviour of some
existing code), and all other input is deprecated.
-------------------
```
### 3.45.5
```
-------------------
This patch improves strategy inference in :mod:`hypothesis.extra.django`
to account for some validators in addition to field type - see
:issue:`1116` for ongoing work in this space.
Specifically, if a :class:`~django:django.db.models.CharField` or
:class:`~django:django.db.models.TextField` has an attached
:class:`~django:django.core.validators.RegexValidator`, we now use
:func:`~hypothesis.strategies.from_regex` instead of
:func:`~hypothesis.strategies.text` as the underlying strategy.
This allows us to generate examples of the default
:class:`~django:django.contrib.auth.models.User` model, closing :issue:`1112`.
-------------------
```
### 3.45.4
```
-------------------
This patch improves some internal debugging information, fixes
a typo in a validation error message, and expands the documentation
for new contributors.
-------------------
```
### 3.45.3
```
-------------------
This patch may improve example shrinking slightly for some strategies.
-------------------
```
### 3.45.2
```
-------------------
This release makes our docstring style more consistent, thanks to
:pypi:`flake8-docstrings`. There are no user-visible changes.
-------------------
```
Links
- PyPI: https://pypi.python.org/pypi/hypothesis
- Changelog: https://pyup.io/changelogs/hypothesis/
- Repo: https://github.com/HypothesisWorks/hypothesis/issues
Changelog
### 1.14.1
```
==========================
This is a bugfix release for some problems reported following the 1.14.0 release. The major
problems fixed are the following.
* Problems with the new array printing, particularly the printing of complex
values, Please report any additional problems that may turn up.
* Problems with ``np.einsum`` due to the new ``optimized=True`` default. Some
fixes for optimization have been applied and ``optimize=False`` is now the
default.
* The sort order in ``np.unique`` when ``axis=<some-number>`` will now always
be lexicographic in the subarray elements. In previous NumPy versions there
was an optimization that could result in sorting the subarrays as unsigned
byte strings.
* The change in 1.14.0 that multi-field indexing of structured arrays returns a
view instead of a copy has been reverted but remains on track for NumPy 1.15.
Affected users should read the 1.14.1 Numpy User Guide section
"basics/structured arrays/accessing multiple fields" for advice on how to
manage this transition.
The Python versions supported in this release are 2.7 and 3.4 - 3.6. The Python
3.6 wheels available from PIP are built with Python 3.6.2 and should be
compatible with all previous versions of Python 3.6. The source releases were
cythonized with Cython 0.26.1, which is known to **not** support the upcoming
Python 3.7 release. People who wish to run Python 3.7 should check out the
NumPy repo and try building with the, as yet, unreleased master branch of
Cython.
Contributors
============
A total of 14 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.
* Allan Haldane
* Charles Harris
* Daniel Smith
* Dennis Weyland +
* Eric Larson
* Eric Wieser
* Jarrod Millman
* Kenichi Maehashi +
* Marten van Kerkwijk
* Mathieu Lamarre
* Sebastian Berg
* Simon Conseil
* Simon Gibbons
* xoviat
Pull requests merged
====================
A total of 36 pull requests were merged for this release.
* `10339 <https://github.com/numpy/numpy/pull/10339>`__: BUG: restrict the __config__ modifications to win32
* `10368 <https://github.com/numpy/numpy/pull/10368>`__: MAINT: Adjust type promotion in linalg.norm
* `10375 <https://github.com/numpy/numpy/pull/10375>`__: BUG: add missing paren and remove quotes from repr of fieldless...
* `10395 <https://github.com/numpy/numpy/pull/10395>`__: MAINT: Update download URL in setup.py.
* `10396 <https://github.com/numpy/numpy/pull/10396>`__: BUG: fix einsum issue with unicode input and py2
* `10397 <https://github.com/numpy/numpy/pull/10397>`__: BUG: fix error message not formatted in einsum
* `10398 <https://github.com/numpy/numpy/pull/10398>`__: DOC: add documentation about how to handle new array printing
* `10403 <https://github.com/numpy/numpy/pull/10403>`__: BUG: Set einsum optimize parameter default to `False`.
* `10424 <https://github.com/numpy/numpy/pull/10424>`__: ENH: Fix repr of np.record objects to match np.void types 10412
* `10425 <https://github.com/numpy/numpy/pull/10425>`__: MAINT: Update zesty to artful for i386 testing
* `10431 <https://github.com/numpy/numpy/pull/10431>`__: REL: Add 1.14.1 release notes template
* `10435 <https://github.com/numpy/numpy/pull/10435>`__: MAINT: Use ValueError for duplicate field names in lookup (backport)
* `10534 <https://github.com/numpy/numpy/pull/10534>`__: BUG: Provide a better error message for out-of-order fields
* `10536 <https://github.com/numpy/numpy/pull/10536>`__: BUG: Resize bytes_ columns in genfromtxt (backport of 10401)
* `10537 <https://github.com/numpy/numpy/pull/10537>`__: BUG: multifield-indexing adds padding bytes: revert for 1.14.1
* `10539 <https://github.com/numpy/numpy/pull/10539>`__: BUG: fix np.save issue with python 2.7.5
* `10540 <https://github.com/numpy/numpy/pull/10540>`__: BUG: Add missing DECREF in Py2 int() cast
* `10541 <https://github.com/numpy/numpy/pull/10541>`__: TST: Add circleci document testing to maintenance/1.14.x
* `10542 <https://github.com/numpy/numpy/pull/10542>`__: BUG: complex repr has extra spaces, missing + (1.14 backport)
* `10550 <https://github.com/numpy/numpy/pull/10550>`__: BUG: Set missing exception after malloc
* `10557 <https://github.com/numpy/numpy/pull/10557>`__: BUG: In numpy.i, clear CARRAY flag if wrapped buffer is not C_CONTIGUOUS.
* `10558 <https://github.com/numpy/numpy/pull/10558>`__: DEP: Issue FutureWarning when malformed records detected.
* `10559 <https://github.com/numpy/numpy/pull/10559>`__: BUG: Fix einsum optimize logic for singleton dimensions
* `10560 <https://github.com/numpy/numpy/pull/10560>`__: BUG: Fix calling ufuncs with a positional output argument.
* `10561 <https://github.com/numpy/numpy/pull/10561>`__: BUG: Fix various Big-Endian test failures (ppc64)
* `10562 <https://github.com/numpy/numpy/pull/10562>`__: BUG: Make dtype.descr error for out-of-order fields.
* `10563 <https://github.com/numpy/numpy/pull/10563>`__: BUG: arrays not being flattened in `union1d`
* `10607 <https://github.com/numpy/numpy/pull/10607>`__: MAINT: Update sphinxext submodule hash.
* `10608 <https://github.com/numpy/numpy/pull/10608>`__: BUG: Revert sort optimization in np.unique.
* `10609 <https://github.com/numpy/numpy/pull/10609>`__: BUG: infinite recursion in str of 0d subclasses
* `10610 <https://github.com/numpy/numpy/pull/10610>`__: BUG: Align type definition with generated lapack
* `10612 <https://github.com/numpy/numpy/pull/10612>`__: BUG/ENH: Improve output for structured non-void types
* `10622 <https://github.com/numpy/numpy/pull/10622>`__: BUG: deallocate recursive closure in arrayprint.py (1.14 backport)
* `10624 <https://github.com/numpy/numpy/pull/10624>`__: BUG: Correctly identify comma separated dtype strings
* `10629 <https://github.com/numpy/numpy/pull/10629>`__: BUG: deallocate recursive closure in arrayprint.py (backport...
* `10630 <https://github.com/numpy/numpy/pull/10630>`__: REL: Prepare for 1.14.1 release.
=========================
```
Links
- PyPI: https://pypi.python.org/pypi/numpy
- Changelog: https://pyup.io/changelogs/numpy/
- Homepage: http://www.numpy.org
Update pytest from 3.4.0 to 3.5.0.
Changelog
### 3.4.2 ``` ========================= Bug Fixes --------- - Removed progress information when capture option is ``no``. (`3203 <https://github.com/pytest-dev/pytest/issues/3203>`_) - Refactor check of bindir from ``exists`` to ``isdir``. (`3241 <https://github.com/pytest-dev/pytest/issues/3241>`_) - Fix ``TypeError`` issue when using ``approx`` with a ``Decimal`` value. (`3247 <https://github.com/pytest-dev/pytest/issues/3247>`_) - Fix reference cycle generated when using the ``request`` fixture. (`3249 <https://github.com/pytest-dev/pytest/issues/3249>`_) - ``[tool:pytest]`` sections in ``*.cfg`` files passed by the ``-c`` option are now properly recognized. (`3260 <https://github.com/pytest-dev/pytest/issues/3260>`_) Improved Documentation ---------------------- - Add logging plugin to plugins list. (`3209 <https://github.com/pytest-dev/pytest/issues/3209>`_) Trivial/Internal Changes ------------------------ - Fix minor typo in fixture.rst (`3259 <https://github.com/pytest-dev/pytest/issues/3259>`_) ``` ### 3.4.1 ``` ========================= Bug Fixes --------- - Move import of ``doctest.UnexpectedException`` to top-level to avoid possible errors when using ``--pdb``. (`1810 <https://github.com/pytest-dev/pytest/issues/1810>`_) - Added printing of captured stdout/stderr before entering pdb, and improved a test which was giving false negatives about output capturing. (`3052 <https://github.com/pytest-dev/pytest/issues/3052>`_) - Fix ordering of tests using parametrized fixtures which can lead to fixtures being created more than necessary. (`3161 <https://github.com/pytest-dev/pytest/issues/3161>`_) - Fix bug where logging happening at hooks outside of "test run" hooks would cause an internal error. (`3184 <https://github.com/pytest-dev/pytest/issues/3184>`_) - Detect arguments injected by ``unittest.mock.patch`` decorator correctly when pypi ``mock.patch`` is installed and imported. (`3206 <https://github.com/pytest-dev/pytest/issues/3206>`_) - Errors shown when a ``pytest.raises()`` with ``match=`` fails are now cleaner on what happened: When no exception was raised, the "matching '...'" part got removed as it falsely implies that an exception was raised but it didn't match. When a wrong exception was raised, it's now thrown (like ``pytest.raised()`` without ``match=`` would) instead of complaining about the unmatched text. (`3222 <https://github.com/pytest-dev/pytest/issues/3222>`_) - Fixed output capture handling in doctests on macOS. (`985 <https://github.com/pytest-dev/pytest/issues/985>`_) Improved Documentation ---------------------- - Add Sphinx parameter docs for ``match`` and ``message`` args to ``pytest.raises``. (`3202 <https://github.com/pytest-dev/pytest/issues/3202>`_) Trivial/Internal Changes ------------------------ - pytest has changed the publication procedure and is now being published to PyPI directly from Travis. (`3060 <https://github.com/pytest-dev/pytest/issues/3060>`_) - Rename ``ParameterSet._for_parameterize()`` to ``_for_parametrize()`` in order to comply with the naming convention. (`3166 <https://github.com/pytest-dev/pytest/issues/3166>`_) - Skip failing pdb/doctest test on mac. (`985 <https://github.com/pytest-dev/pytest/issues/985>`_) ```Links
- PyPI: https://pypi.python.org/pypi/pytest - Changelog: https://pyup.io/changelogs/pytest/ - Repo: https://github.com/pytest-dev/pytest/issues - Homepage: http://pytest.orgUpdate pytest-xdist from 1.22.0 to 1.22.2.
Changelog
### 1.22.1 ``` ================================ Bug Fixes --------- - Fix issue when using ``loadscope`` or ``loadfile`` where tests would fail to start if the first scope had only one test. (`257 <https://github.com/pytest-dev/pytest-xdist/issues/257>`_) Trivial Changes --------------- - Change terminology used by ``pytest-xdist`` to *master* and *worker* in arguments and messages (for example ``--max-worker-reset``). (`234 <https://github.com/pytest-dev/pytest-xdist/issues/234>`_) ```Links
- PyPI: https://pypi.python.org/pypi/pytest-xdist - Changelog: https://pyup.io/changelogs/pytest-xdist/ - Repo: https://github.com/pytest-dev/pytest-xdistUpdate hypothesis from 3.45.1 to 3.53.0.
Changelog
### 3.53.0 ``` ------------------- This release removes support for Django 1.8, which reached end of life on 2018-04-01. `You can see Django's release and support schedule `on the Django Project website <https://www.djangoproject.com/download/supported-versions>`_. ------------------- ``` ### 3.52.3 ``` ------------------- This patch fixes the :obj:`~hypothesis.settings.min_satisfying_examples` settings documentation, by explaining that example shrinking is tracked at the level of the underlying bytestream rather than the output value. The output from :func:`~hypothesis.find` in verbose mode has also been adjusted - see :ref:`the example session <verbose-output>` - to avoid duplicating lines when the example repr is constant, even if the underlying representation has been shrunken. ------------------- ``` ### 3.52.2 ``` ------------------- This release improves the output of failures with :ref:`rule based stateful testing <rulebasedstateful>` in two ways: * The output from it is now usually valid Python code. * When the same value has two different names because it belongs to two different bundles, it will now display with the name associated with the correct bundle for a rule argument where it is used. ------------------- ``` ### 3.52.1 ``` ------------------- This release improves the behaviour of :doc:`stateful testing <stateful>` in two ways: * Previously some runs would run no steps (:issue:`376`). This should no longer happen. * RuleBasedStateMachine tests which used bundles extensively would often shrink terribly. This should now be significantly improved, though there is likely a lot more room for improvement. This release also involves a low level change to how ranges of integers are handles which may result in other improvements to shrink quality in some cases. ------------------- ``` ### 3.52.0 ``` ------------------- This release deprecates use of :func:`settings(...) <hypothesis.settings>` as a decorator, on functions or methods that are not also decorated with :func:`given <hypothesis.given>`. You can still apply these decorators in any order, though you should only do so once each. Applying :func:`given <hypothesis.given>` twice was already deprecated, and applying :func:`settings(...) <hypothesis.settings>` twice is deprecated in this release and will become an error in a future version. Neither could ever be used twice to good effect.) Using :func:`settings(...) <hypothesis.settings>` as the sole decorator on a test is completely pointless, so this common usage error will become an error in a future version of Hypothesis. ------------------- ``` ### 3.51.0 ``` ------------------- This release deprecates the ``average_size`` argument to :func:`~hypothesis.strategies.lists` and other collection strategies. You should simply delete it wherever it was used in your tests, as it no longer has any effect. In early versions of Hypothesis, the ``average_size`` argument was treated as a hint about the distribution of examples from a strategy. Subsequent improvements to the conceptual model and the engine for generating and shrinking examples mean it is more effective to simply describe what constitutes a valid example, and let our internals handle the distribution. ------------------- ``` ### 3.50.3 ``` ------------------- This patch contains some internal refactoring so that we can run with warnings as errors in CI. ------------------- ``` ### 3.50.2 ``` ------------------- This has no user-visible changes except one slight formatting change to one docstring, to avoid a deprecation warning. ------------------- ``` ### 3.50.1 ``` ------------------- This patch fixes an internal error introduced in 3.48.0, where a check for the Django test runner would expose import-time errors in Django configuration (:issue:`1167`). ------------------- ``` ### 3.50.0 ``` ------------------- This release improves validation of numeric bounds for some strategies. - :func:`~hypothesis.strategies.integers` and :func:`~hypothesis.strategies.floats` now raise ``InvalidArgument`` if passed a ``min_value`` or ``max_value`` which is not an instance of :class:`~python:numbers.Real`, instead of various internal errors. - :func:`~hypothesis.strategies.floats` now converts its bounding values to the nearest float above or below the min or max bound respectively, instead of just casting to float. The old behaviour was incorrect in that you could generate ``float(min_value)``, even when this was less than ``min_value`` itself (possible with eg. fractions). - When both bounds are provided to :func:`~hypothesis.strategies.floats` but there are no floats in the interval, such as ``[(2**54)+1 .. (2**55)-1]``, InvalidArgument is raised. - :func:`~hypothesis.strategies.decimals` gives a more useful error message if passed a string that cannot be converted to :class:`~python:decimal.Decimal` in a context where this error is not trapped. Code that previously **seemed** to work may be explicitly broken if there were no floats between ``min_value`` and ``max_value`` (only possible with non-float bounds), or if a bound was not a :class:`~python:numbers.Real` number but still allowed in :obj:`python:math.isnan` (some custom classes with a ``__float__`` method). ------------------- ``` ### 3.49.1 ``` ------------------- This patch fixes our tests for Numpy dtype strategies on big-endian platforms, where the strategy behaved correctly but the test assumed that the native byte order was little-endian. There is no user impact unless you are running our test suite on big-endian platforms. Thanks to Graham Inggs for reporting :issue:`1164`. ------------------- ``` ### 3.49.0 ``` ------------------- This release deprecates passing ``elements=None`` to collection strategies, such as :func:`~hypothesis.strategies.lists`. Requiring ``lists(nothing())`` or ``builds(list)`` instead of ``lists()`` means slightly more typing, but also improves the consistency and discoverability of our API - as well as showing how to compose or construct strategies in ways that still work in more complex situations. Passing a nonzero max_size to a collection strategy where the elements strategy contains no values is now deprecated, and will be an error in a future version. The equivalent with ``elements=None`` is already an error. ------------------- ``` ### 3.48.1 ``` ------------------- This patch will minimize examples that would come out non-minimal in previous versions. Thanks to Kyle Reeve for this patch. ------------------- ``` ### 3.48.0 ``` ------------------- This release improves some "unhappy paths" when using Hypothesis with the standard library :mod:`python:unittest` module: - Applying :func:`given <hypothesis.given>` to a non-test method which is overridden from :class:`python:unittest.TestCase`, such as ``setUp``, raises :attr:`a new health check <hypothesis.settings.not_a_test_method>`. (:issue:`991`) - Using :meth:`~python:unittest.TestCase.subTest` within a test decorated with :func:`given <hypothesis.given>` would leak intermediate results when tests were run under the :mod:`python:unittest` test runner. Individual reporting of failing subtests is now disabled during a test using :func:`given <hypothesis.given>`. (:issue:`1071`) - :func:`given <hypothesis.given>` is still not a class decorator, but the error message if you try using it on a class has been improved. As a related improvement, using :class:`django:django.test.TestCase` with :func:`given <hypothesis.given>` instead of :class:`hypothesis.extra.django.TestCase` raises an explicit error instead of running all examples in a single database transaction. ------------------- ``` ### 3.47.0 ``` ------------------- :obj:`~hypothesis.settings.register_profile` now accepts keyword arguments for specific settings, and the parent settings object is now optional. Using a ``name`` for a registered profile which is not a string was never suggested, but it is now also deprecated and will eventually be an error. ------------------- ``` ### 3.46.2 ``` ------------------- This release removes an unnecessary branch from the code, and has no user-visible impact. ------------------- ``` ### 3.46.1 ``` ------------------- This changes only the formatting of our docstrings and should have no user-visible effects. ------------------- ``` ### 3.46.0 ``` ------------------- :func:`~hypothesis.strategies.characters` has improved docs about what arguments are valid, and additional validation logic to raise a clear error early (instead of e.g. silently ignoring a bad argument). Categories may be specified as the Unicode 'general category' (eg ``u'Nd'``), or as the 'major category' (eg ``[u'N', u'Lu']`` is equivalent to ``[u'Nd', u'Nl', u'No', u'Lu']``). In previous versions, general categories were supported and all other input was silently ignored. Now, major categories are supported in addition to general categories (which may change the behaviour of some existing code), and all other input is deprecated. ------------------- ``` ### 3.45.5 ``` ------------------- This patch improves strategy inference in :mod:`hypothesis.extra.django` to account for some validators in addition to field type - see :issue:`1116` for ongoing work in this space. Specifically, if a :class:`~django:django.db.models.CharField` or :class:`~django:django.db.models.TextField` has an attached :class:`~django:django.core.validators.RegexValidator`, we now use :func:`~hypothesis.strategies.from_regex` instead of :func:`~hypothesis.strategies.text` as the underlying strategy. This allows us to generate examples of the default :class:`~django:django.contrib.auth.models.User` model, closing :issue:`1112`. ------------------- ``` ### 3.45.4 ``` ------------------- This patch improves some internal debugging information, fixes a typo in a validation error message, and expands the documentation for new contributors. ------------------- ``` ### 3.45.3 ``` ------------------- This patch may improve example shrinking slightly for some strategies. ------------------- ``` ### 3.45.2 ``` ------------------- This release makes our docstring style more consistent, thanks to :pypi:`flake8-docstrings`. There are no user-visible changes. ------------------- ```Links
- PyPI: https://pypi.python.org/pypi/hypothesis - Changelog: https://pyup.io/changelogs/hypothesis/ - Repo: https://github.com/HypothesisWorks/hypothesis/issuesUpdate numpy from 1.14.0 to 1.14.2.
Changelog
### 1.14.1 ``` ========================== This is a bugfix release for some problems reported following the 1.14.0 release. The major problems fixed are the following. * Problems with the new array printing, particularly the printing of complex values, Please report any additional problems that may turn up. * Problems with ``np.einsum`` due to the new ``optimized=True`` default. Some fixes for optimization have been applied and ``optimize=False`` is now the default. * The sort order in ``np.unique`` when ``axis=<some-number>`` will now always be lexicographic in the subarray elements. In previous NumPy versions there was an optimization that could result in sorting the subarrays as unsigned byte strings. * The change in 1.14.0 that multi-field indexing of structured arrays returns a view instead of a copy has been reverted but remains on track for NumPy 1.15. Affected users should read the 1.14.1 Numpy User Guide section "basics/structured arrays/accessing multiple fields" for advice on how to manage this transition. The Python versions supported in this release are 2.7 and 3.4 - 3.6. The Python 3.6 wheels available from PIP are built with Python 3.6.2 and should be compatible with all previous versions of Python 3.6. The source releases were cythonized with Cython 0.26.1, which is known to **not** support the upcoming Python 3.7 release. People who wish to run Python 3.7 should check out the NumPy repo and try building with the, as yet, unreleased master branch of Cython. Contributors ============ A total of 14 people contributed to this release. People with a "+" by their names contributed a patch for the first time. * Allan Haldane * Charles Harris * Daniel Smith * Dennis Weyland + * Eric Larson * Eric Wieser * Jarrod Millman * Kenichi Maehashi + * Marten van Kerkwijk * Mathieu Lamarre * Sebastian Berg * Simon Conseil * Simon Gibbons * xoviat Pull requests merged ==================== A total of 36 pull requests were merged for this release. * `10339 <https://github.com/numpy/numpy/pull/10339>`__: BUG: restrict the __config__ modifications to win32 * `10368 <https://github.com/numpy/numpy/pull/10368>`__: MAINT: Adjust type promotion in linalg.norm * `10375 <https://github.com/numpy/numpy/pull/10375>`__: BUG: add missing paren and remove quotes from repr of fieldless... * `10395 <https://github.com/numpy/numpy/pull/10395>`__: MAINT: Update download URL in setup.py. * `10396 <https://github.com/numpy/numpy/pull/10396>`__: BUG: fix einsum issue with unicode input and py2 * `10397 <https://github.com/numpy/numpy/pull/10397>`__: BUG: fix error message not formatted in einsum * `10398 <https://github.com/numpy/numpy/pull/10398>`__: DOC: add documentation about how to handle new array printing * `10403 <https://github.com/numpy/numpy/pull/10403>`__: BUG: Set einsum optimize parameter default to `False`. * `10424 <https://github.com/numpy/numpy/pull/10424>`__: ENH: Fix repr of np.record objects to match np.void types 10412 * `10425 <https://github.com/numpy/numpy/pull/10425>`__: MAINT: Update zesty to artful for i386 testing * `10431 <https://github.com/numpy/numpy/pull/10431>`__: REL: Add 1.14.1 release notes template * `10435 <https://github.com/numpy/numpy/pull/10435>`__: MAINT: Use ValueError for duplicate field names in lookup (backport) * `10534 <https://github.com/numpy/numpy/pull/10534>`__: BUG: Provide a better error message for out-of-order fields * `10536 <https://github.com/numpy/numpy/pull/10536>`__: BUG: Resize bytes_ columns in genfromtxt (backport of 10401) * `10537 <https://github.com/numpy/numpy/pull/10537>`__: BUG: multifield-indexing adds padding bytes: revert for 1.14.1 * `10539 <https://github.com/numpy/numpy/pull/10539>`__: BUG: fix np.save issue with python 2.7.5 * `10540 <https://github.com/numpy/numpy/pull/10540>`__: BUG: Add missing DECREF in Py2 int() cast * `10541 <https://github.com/numpy/numpy/pull/10541>`__: TST: Add circleci document testing to maintenance/1.14.x * `10542 <https://github.com/numpy/numpy/pull/10542>`__: BUG: complex repr has extra spaces, missing + (1.14 backport) * `10550 <https://github.com/numpy/numpy/pull/10550>`__: BUG: Set missing exception after malloc * `10557 <https://github.com/numpy/numpy/pull/10557>`__: BUG: In numpy.i, clear CARRAY flag if wrapped buffer is not C_CONTIGUOUS. * `10558 <https://github.com/numpy/numpy/pull/10558>`__: DEP: Issue FutureWarning when malformed records detected. * `10559 <https://github.com/numpy/numpy/pull/10559>`__: BUG: Fix einsum optimize logic for singleton dimensions * `10560 <https://github.com/numpy/numpy/pull/10560>`__: BUG: Fix calling ufuncs with a positional output argument. * `10561 <https://github.com/numpy/numpy/pull/10561>`__: BUG: Fix various Big-Endian test failures (ppc64) * `10562 <https://github.com/numpy/numpy/pull/10562>`__: BUG: Make dtype.descr error for out-of-order fields. * `10563 <https://github.com/numpy/numpy/pull/10563>`__: BUG: arrays not being flattened in `union1d` * `10607 <https://github.com/numpy/numpy/pull/10607>`__: MAINT: Update sphinxext submodule hash. * `10608 <https://github.com/numpy/numpy/pull/10608>`__: BUG: Revert sort optimization in np.unique. * `10609 <https://github.com/numpy/numpy/pull/10609>`__: BUG: infinite recursion in str of 0d subclasses * `10610 <https://github.com/numpy/numpy/pull/10610>`__: BUG: Align type definition with generated lapack * `10612 <https://github.com/numpy/numpy/pull/10612>`__: BUG/ENH: Improve output for structured non-void types * `10622 <https://github.com/numpy/numpy/pull/10622>`__: BUG: deallocate recursive closure in arrayprint.py (1.14 backport) * `10624 <https://github.com/numpy/numpy/pull/10624>`__: BUG: Correctly identify comma separated dtype strings * `10629 <https://github.com/numpy/numpy/pull/10629>`__: BUG: deallocate recursive closure in arrayprint.py (backport... * `10630 <https://github.com/numpy/numpy/pull/10630>`__: REL: Prepare for 1.14.1 release. ========================= ```Links
- PyPI: https://pypi.python.org/pypi/numpy - Changelog: https://pyup.io/changelogs/numpy/ - Homepage: http://www.numpy.org