* Wed Dec 06 2017 arun@gmx.de
- update to version 3.40.1:
3.40.1 - 2017-12-04
* This release makes two changes:
+ It makes the calculation of some of the metadata that Hypothesis
uses for shrinking occur lazily. This should speed up
performance of test case generation a bit because it no longer
calculates information it doesn?t need.
+ It improves the shrinker for certain classes of nested
examples. e.g. when shrinking lists of lists, the shrinker is
now able to concatenate two adjacent lists together into a
single list. As a result of this change, shrinking may get
somewhat slower when the minimal example found is large.
- changes from version 3.40.0:
* This release improves how various ways of seeding Hypothesis
interact with the example database:
+ Using the example database with seed() is now deprecated. You
should set database=None if you are doing that. This will only
warn if you actually load examples from the database while using
@seed.
+ The derandomize will behave the same way as @seed.
+ Using --hypothesis-seed will disable use of the database.
+ If a test used examples from the database, it will not suggest
using a seed to reproduce it, because that won?t work.
- changes from version 3.39.0:
* This release adds a new health check that checks if the smallest
?natural? possible example of your test case is very large - this
will tend to cause Hypothesis to generate bad examples and be
quite slow.
- changes from version 3.38.9:
* This is a documentation release to improve the documentation of
shrinking behaviour for Hypothesis?s strategies.
- changes from version 3.38.8:
* This release improves the performance of characters() when using
blacklist_characters and from_regex() when using negative
character classes.
- changes from version 3.38.7:
* This is a patch release for from_regex(), which had a bug in
handling of the re.VERBOSE flag (issue #992). Flags are now
handled correctly when parsing regex.
* Tue Nov 28 2017 arun@gmx.de
- update to version 3.38.6:
* This patch changes a few byte-string literals from double to
single quotes, thanks to an update in unify. There are no
user-visible changes.
* Sun Nov 26 2017 arun@gmx.de
- update to version 3.38.5:
* This fixes the repr of strategies using lambda that are defined
inside decorators to include the lambda source.
This would mostly have been visible when using the statistics
functionality - lambdas used for e.g. filtering would have shown
up with a <unknown> as their body. This can still happen, but it
should happen less often now.
* Wed Nov 22 2017 arun@gmx.de
- update to version 3.38.4:
* This release updates the reported statistics so that they show
approximately what fraction of your test run time is spent in data
generation (as opposed to test execution).
- changes from version 3.38.3:
* This is a documentation release, which ensures code examples are
up to date by running them as doctests in CI (issue #711).
- changes from version 3.38.2:
* This release changes the behaviour of the deadline setting when
used with data(): Time spent inside calls to data.draw will no
longer be counted towards the deadline time.
* As a side effect of some refactoring required for this work, the
way flaky tests are handled has changed slightly. You are unlikely
to see much difference from this, but some error messages will
have changed.
- changes from version 3.38.1:
* This patch has a variety of non-user-visible refactorings,
removing various minor warts ranging from indirect imports to
typos in comments.
* Sun Nov 19 2017 arun@gmx.de
- update to version 3.38.0:
* This release overhauls the health check system in a variety of
small ways. It adds no new features, but is nevertheless a minor
release because it changes which tests are likely to fail health
checks.
* The most noticeable effect is that some tests that used to fail
health checks will now pass, and some that used to pass will
fail. These should all be improvements in accuracy. In particular:
+ New failures will usually be because they are now taking into
account things like use of data() and assume() inside the test
body.
+ New failures may also be because for some classes of example the
way data generation performance was measured was artificially
faster than real data generation (for most examples that are
hitting performance health checks the opposite should be the
case).
+ Tests that used to fail health checks and now pass do so because
the health check system used to run in a way that was subtly
different than the main Hypothesis data generation and lacked
some of its support for e.g. large examples.
* If your data generation is especially slow, you may also see your
tests get somewhat faster, as there is no longer a separate health
check phase. This will be particularly noticeable when rerunning
test failures.
* Tue Nov 14 2017 arun@gmx.de
- update to version 3.37.0:
* This is a deprecation release for some health check related
features.
* The following are now deprecated:
+ Passing exception_in_generation to suppress_health_check. This
no longer does anything even when passed - All errors that occur
during data generation will now be immediately reraised rather
than going through the health check mechanism.
+ Passing random_module to suppress_health_check. This hasn?t done
anything for a long time, but was never explicitly
deprecated. Hypothesis always seeds the random module when
running @given tests, so this is no longer an error and
suppressing it doesn?t do anything.
+ Passing non-HealthCheck values in suppress_health_check. This
was previously allowed but never did anything useful.
* Sat Nov 11 2017 arun@gmx.de
- update to version 3.36.1:
* This is a yak shaving release, mostly concerned with our own
tests.
While getfullargspec() was documented as deprecated in Python 3.5,
it never actually emitted a warning. Our code to silence this
(nonexistent) warning has therefore been removed.
We now run our tests with DeprecationWarning as an error, and made
some minor changes to our own tests as a result. This required
similar upstream updates to coverage and execnet (a test-time
dependency via pytest-xdist).
There is no user-visible change in Hypothesis itself, but we
encourage you to consider enabling deprecations as errors in your
own tests.
* Tue Nov 07 2017 arun@gmx.de
- update to version 3.36.0:
* This release adds a setting to the public API, and does some
internal cleanup:
+ The derandomize setting is now documented (issue #890)
+ Removed - and disallowed - all ?bare excepts? in Hypothesis
(issue #953)
+ Documented the strict setting as deprecated, and updated the
build so our docs always match deprecations in the code.
- changes from version 3.35.0:
* This minor release supports constraining uuids() to generate
uuid.UUID`s of a particular version. (:issue:`721)
* Sat Nov 04 2017 arun@gmx.de
- update to version 3.34.1:
* This patch updates the documentation to suggest builds(callable)
instead of just(callable()).
* Fri Nov 03 2017 arun@gmx.de
- update to version 3.34.0:
* Hypothesis now emits deprecation warnings if you apply @given more
than once to a target.
Applying @given repeatedly wraps the target multiple times. Each
wrapper will search the space of of possible parameters
separately. This is equivalent but will be much more inefficient
than doing it with a single call to @given.
For example, instead of @given(booleans()) @given(integers()), you
could write @given(booleans(), integers())
- changes from version 3.33.1 :
* builds() would try to infer a strategy for required positional
arguments of the target from type hints, even if they had been
given to builds() as positional arguments (issue #946). Now it
only infers missing required arguments.
* An internal introspection function wrongly reported self as a
required argument for bound methods, which might also have
affected builds(). Now it knows better.
* Tue Oct 17 2017 arun@gmx.de
- update to version 3.33.0:
* This release supports strategy inference for more field types in
Django models() - you can now omit an argument for Date, Time,
Duration, Slug, IP Address, and UUID fields. (issue #642)
* Strategy generation for fields with grouped choices now selects
choices from each group, instead of selecting from the group
names.
* Sun Oct 15 2017 arun@gmx.de
- specfile:
* removed sed for src/hypothesis/tools/mergedbs.py, not in tar-ball anymore
- update to version 3.32.2:
* This patch removes the mergedb tool, introduced in Hypothesis
1.7.1 on an experimental basis. It has never actually worked, and
the new Hypothesis example database is designed to make such a
tool unnecessary.
- changes from version 3.32.1:
* This patch has two improvements for strategies based on
enumerations.
* from_type() now handles enumerations correctly, delegating to
sampled_from(). Previously it noted that Enum.__init__ has no
required arguments and therefore delegated to builds(), which
would subsequently fail.
* When sampling from an enum.Flag, we also generate combinations of
members. Eg for Flag('Permissions', 'READ, WRITE, EXECUTE') we can
now generate, Permissions.READ, Permissions.READ|WRITE, and so on.
* Mon Oct 09 2017 arun@gmx.de
- update to version 3.32.0:
* This changes the default value of use_coverage=True to True when
running on pypy (it was already True on CPython).
It was previously set to False because we expected it to be too
slow, but recent benchmarking shows that actually performance of
the feature on pypy is fairly acceptable - sometimes it?s slower
than on CPython, sometimes it?s faster, but it?s generally within
a factor of two either way.
- changes from version 3.31.6:
* This patch improves the quality of strategies inferred from Numpy
dtypes:
+ Integer dtypes generated examples with the upper half of their
(non-sign) bits set to zero. The inferred strategies can now
produce any representable integer.
+ Fixed-width unicode- and byte-string dtypes now cap the internal
example length, which should improve example and shrink quality.
+ Numpy arrays can only store fixed-size strings internally, and
allow shorter strings by right-padding them with null
bytes. Inferred string strategies no longer generate such
values, as they can never be retrieved from an array. This
improves shrinking performance by skipping useless values.
+ This has already been useful in Hypothesis - we found an
overflow bug in our Pandas support, and as a result indexes()
and range_indexes() now check that min_size and max_size are at
least zero.
- changes from version 3.31.5:
* This release fixes a performance problem in tests where
+ use_coverage is set to True.
+ Tests experience a slow-down proportionate to the amount of code
they cover. This is still the case, but the factor is now low
enough that it should be unnoticeable. Previously it was large
and became much larger in 3.28.4.
- changes from version 3.31.4:
* from_type() failed with a very confusing error if passed a
NewType() (issue #901). These psudeo-types are now unwrapped
correctly, and strategy inference works as expected.
* Fri Oct 06 2017 arun@gmx.de
- update to version 3.31.3:
* This release makes some small optimisations to our use of coverage
that should reduce constant per-example overhead. This is probably
only noticeable on examples where the test itself is quite
fast. On no-op tests that don?t test anything you may see up to a
fourfold speed increase (which is still significantly slower than
without coverage). On more realistic tests the speed up is likely
to be less than that.
* Thu Oct 05 2017 dimstar@opensuse.org
- Add python-attrs and python-coverage requires, matching the info
of setup.py.
* Tue Oct 03 2017 arun@gmx.de
- update to version 3.31.2:
* long list of updates, see
https://hypothesis.readthedocs.io/en/latest/changes.html
* Mon Jul 10 2017 jengelh@inai.de
- Ensure neutrality of description.
* Thu Jun 29 2017 aloisio@gmx.com
- Update to version 3.11.6
(see https://github.com/HypothesisWorks/hypothesis-python/blob/3.11.6/docs/changes.rst)
- Added fdupes
- Updated homepage URL
* Tue Feb 21 2017 jmatejek@suse.com
- update for singlespec
- test requirements are now conditional --with=test, to shorten build loop
for new submission
(this will be reverted soon)
- update to 3.6.1
* better thread safety
* support for --hypothesis-show-statistics in pytest
* better python 3.4 support
* renamed fake-factory dependency to Faker
* Thu May 12 2016 toddrme2178@gmail.com
- Fix download URL.