Hypothesis

Latest version: v6.100.1

Safety actively analyzes 619647 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 168 of 195

3.31.0

Not secure
-------------------

This release blocks installation of Hypothesis on Python 3.3, which
:PEP:`reached its end of life date on 2017-09-29 <398>`.

This should not be of interest to anyone but downstream maintainers -
if you are affected, migrate to a secure version of Python as soon as
possible or at least seek commercial support.

3.30.4

Not secure
-------------------

This release makes several changes:

1. It significantly improves Hypothesis's ability to use coverage information
to find interesting examples.
2. It reduces the default :attr:`~hypothesis.settings.max_examples` setting from 200 to 100. This takes
advantage of the improved algorithm meaning fewer examples are typically
needed to get the same testing and is sufficiently better at covering
interesting behaviour, and offsets some of the performance problems of
running under coverage.
3. Hypothesis will always try to start its testing with an example that is near
minimized.

The new algorithm for 1 also makes some changes to Hypothesis's low level data
generation which apply even with coverage turned off. They generally reduce the
total amount of data generated, which should improve test performance somewhat.
Between this and 3 you should see a noticeable reduction in test runtime (how
much so depends on your tests and how much example size affects their
performance. On our benchmarks, where data generation dominates, we saw up to
a factor of two performance improvement, but it's unlikely to be that large.

3.30.3

Not secure
-------------------

This release fixes some formatting and small typos/grammar issues in the
documentation, specifically the page docs/details.rst, and some inline
docs linked from there.

3.30.2

Not secure
-------------------

This release changes Hypothesis's caching approach for functions in
``hypothesis.strategies``. Previously it would have cached extremely
aggressively and cache entries would never be evicted. Now it adopts a
least-frequently used, least recently used key invalidation policy, and is
somewhat more conservative about which strategies it caches.

Workloads which create strategies based on dynamic values, e.g. by using
:ref:`flatmap <flatmap>` or :func:`~hypothesis.strategies.composite`,
will use significantly less memory.

3.30.1

Not secure
-------------------

This release fixes a bug where when running with
the ``use_coverage=True`` setting inside an
existing running instance of coverage, Hypothesis would frequently put files
that the coveragerc excluded in the report for the enclosing coverage.

3.30.0

Not secure
-------------------

This release introduces two new features:

* When a test fails, either with a health check failure or a falsifying example,
Hypothesis will print out a seed that led to that failure, if the test is not
already running with a fixed seed. You can then recreate that failure using either
the :func:`seed <hypothesis.seed>` decorator or (if you are running pytest) with ``--hypothesis-seed``.
* :pypi:`pytest` users can specify a seed to use for :func:`given <hypothesis.given>` based tests by passing
the ``--hypothesis-seed`` command line argument.

This work was funded by `Smarkets <https://smarkets.com/>`_.

Page 168 of 195

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.