|
|
|
|
Changelog for python38-hypothesis-6.47.1-qubes.8.4.noarch.rpm :
* Mon Jun 13 2022 Ben Greiner - Update to 6.47.1 * Our pretty-printer no longer sorts dictionary keys, since iteration order is stable in Python 3.7+ and this can affect reproducing examples (issue #3370). This PR was kindly supported by Ordina Pythoneers.- Release 6.47.0 * The Ghostwritter can now write tests for AATTclassmethod or AATTstaticmethod methods, in addition to the existing support for functions and other callables (issue #3318). Thanks to Cheuk Ting Ho for the patch.- Release 6.46.11 * Mention hypothesis.strategies.timezones() in the documentation of hypothesis.strategies.datetimes() for completeness. * Thanks to George Macon for this addition.- Release 6.46.10 * This release contains some small improvements to our documentation. Thanks to Felix Divo for his contribution!- Release 6.46.9 * This patch by Adrian Garcia Badaracco adds type annotations to some private internals (issue #3074).- Release 6.46.8 * This patch by Phillip Schanely makes changes to the floats() strategy when min_value or max_value is present. Hypothesis will now be capable of generating every representable value in the bounds. You may notice that hypothesis is more likely to test values near boundaries, and values that are very close to zero. * These changes also support future integrations with symbolic execution tools and fuzzers (issue #3086).- Release 6.46.7 * This patch updates the type annotations for tuples() and one_of() so that type-checkers require its arguments to be positional-only, and so that it no longer fails under pyright-strict mode (see issue #3348). Additional changes are made to Hypothesis’ internals improve pyright scans.- Release 6.46.6 * This patch by Cheuk Ting Ho adds support for PEP 655 Required and NotRequired as attributes of TypedDict in from_type() (issue #3339).- Release 6.46.5 * This patch fixes from_dtype() with long-precision floating-point datatypes (typecode g; see numpy.typename()).- Release 6.46.4 * This patch improves some error messages for custom signatures containing invalid parameter names (issue #3317).- Release 6.46.3 * This patch by Cheuk Ting Ho makes it an explicit error to call from_type() or register_type_strategy() with types that have no runtime instances (issue #3280).- Release 6.46.2 * This patch fixes silently dropping examples when the AATTexample decorator is applied to itself (issue #3319). This was always a weird pattern, but now it works. Thanks to Ray Sogata, Keeri Tramm, and Kevin Khuong for working on this patch!- Release 6.46.1 * This patch fixes a rare bug where we could incorrectly treat empty as a type annotation, if the callable had an explicitly assigned __signature__.- Release 6.46.0 * This release adds an allow_nil argument to uuids(), which you can use to… generate the nil UUID. Thanks to Shlok Gandhi for the patch!- Release 6.45.4 * This patch fixes some missing imports for certain Ghostwritten tests. Thanks to Mel Seto for fixing issue #3316.- Release 6.45.3 * This patch teaches the Ghostwriter to recognize many more common argument names (issue #3311).- Release 6.45.2 * This patch fixes issue #3314, where Hypothesis would raise an internal error from domains() or (only on Windows) from timezones() in some rare circumstances where the installation was subtly broken. * Thanks to Munir Abdinur for this contribution.- Release 6.45.1 * This release fixes deprecation warnings about sre_compile and sre_parse imports and importlib.resources usage when running Hypothesis on Python 3.11. + Thanks to Florian Bruhin for this contribution.- Release 6.45.0 * This release updates xps.indices() by introducing an allow_newaxis argument, defaulting to False. If allow_newaxis=True, indices can be generated that add dimensions to arrays, which is achieved by the indexer containing None. This change is to support a specification change that expand dimensions via indexing (data-apis/array-api#408).- Release 6.44.0 * This release adds a names argument to indexes() and series(), so that you can create Pandas objects with specific or varied names. * Contributed by Sam Watts.- Release 6.43.3 * This patch updates the type annotations for AATTgiven so that type-checkers will warn on mixed positional and keyword arguments, as well as fixing issue #3296.- Release 6.43.2 * Fixed a type annotation for pyright --strict (issue #3287).- Release 6.43.1 * This patch makes it an explicit error to call register_type_strategy() with a Pydantic GenericModel and a callable, because GenericModel isn’t actually a generic type at runtime and so you have to register each of the “parametrized versions” (actually subclasses!) manually. See issue #2940 for more details.- Release 6.43.0 * This release makes it an explicit error to apply AATTpytest.fixture to a function which has already been decorated with AATTgiven(). Previously, pytest would convert your test to a fixture, and then never run it.- Release 6.42.3 * This patch fixes from_type() on a TypedDict with complex annotations, defined in a file using from __future__ import annotations. Thanks to Katelyn Gigante for identifying and fixing this bug!- Release 6.42.2 * The Hypothesis pytest plugin was not outputting valid xunit2 nodes when --junit-xml was specified. This has been broken since Pytest 5.4, which changed the internal API for adding nodes to the junit report. * This also fixes the issue when using hypothesis with - -junit-xml and pytest-xdist where the junit xml report would not be xunit2 compatible. Now, when using with pytest-xdist, the junit report will just omit the node. * For more details, see this pytest issue, this pytest issue, and issue #1935 * Thanks to Brandon Chinn for this bug fix!- Release 6.42.1 * This patch fixes pretty-printing of regular expressions in Python 3.11.0a7, and updates our vendored list of top-level domains,.- Release 6.42.0 * This release makes st.functions(pure=True) less noisy (issue [#3253]), and generally improves pretty-printing of functions.- Release 6.41.0 * This release changes the implementation of infer to be an alias for Ellipsis. E.g. AATTgiven(a=infer) is now equivalent to AATTgiven(a=...). Furthermore, AATTgiven(...) can now be specified so that AATTgiven will infer the strategies for all arguments of the decorated function based on its annotations.- Release 6.40.3 * This patch simplifies the repr of the strategies namespace returned in make_strategies_namespace(), e.g. >>> from hypothesis.extra.array_api import make_strategies_namespace >>> from numpy import array_api as xp >>> xps = make_strategies_namespace(xp) >>> xps make_strategies_namespace(numpy.array_api)- Release 6.40.2 * Fixed from_type() support for PEP 604 union types, like int | None (issue #3255).- Release 6.40.1 * Fixed an internal error when given() was passed a lambda.- Release 6.40.0 * The Ghostwriter can now write tests which check that two or more functions are equivalent on valid inputs, or raise the same type of exception for invalid inputs (issue #3267).- Release 6.39.6 * This patch makes some quality-of-life improvements to the Ghostwriter: we guess the text() strategy for arguments named text (…obvious in hindsight, eh?); and improved the error message if you accidentally left in a nothing() or broke your rich install.- Release 6.39.5 * This patch improves our error detection and message when Hypothesis is run on a Python implementation without support for -0.0, which is required for the floats() strategy but can be disabled by unsafe compiler options (issue #3265). * Sat Mar 19 2022 Ben Greiner - Update to 6.39.4 * This patch tweaks some internal formatting. There is no user-visible change.- Release 6.39.3 * If the shrink phase is disabled, we now stop the generate phase as soon as an error is found regardless of the value of the report_multiple_examples setting, since that’s probably what you wanted (issue #3244).- Release 6.39.2 * This patch clarifies rare error messages in builds() (issue [#3225]) and floats() (issue #3207).- Release 6.39.1 * This patch fixes a regression where the bound inner function (your_test.hypothesis.inner_test) would be invoked with positional arguments rather than passing them by name, which broke pytest-asyncio (issue #3245).- 6.39.0 * This release improves Hypothesis’ handling of positional-only arguments, which are now allowed AATTst.composite strategies. * On Python 3.8 and later, the first arguments to builds() and from_model() are now natively positional-only. In cases which were already errors, the TypeError from incorrect usage will therefore be raises immediately when the function is called, rather than when the strategy object is used.- Release 6.38.0 * This release makes floats() error consistently when your floating-point hardware has been configured to violate IEEE-754 for subnormal numbers, instead of only when an internal assertion was tripped (issue #3092). * If this happens to you, passing allow_subnormal=False will suppress the explicit error. However, we strongly recommend fixing the root cause by disabling global-effect unsafe-math compiler options instead, or at least consulting e.g. Simon Byrne’s Beware of fast-math explainer first.- Release 6.37.2 * This patch fixes a bug in stateful testing, where returning a single value wrapped in multiple() would be printed such that the assigned variable was a tuple rather than the single element (issue #3236).- Release 6.37.1 * This patch fixes a warning under pytest 7 relating to our rich traceback display logic (issue #3223).- Release 6.37.0 * When distinguishing multiple errors, Hypothesis now looks at the inner exceptions of PEP 654 ExceptionGroups.- Release 6.36.2 * This patch updates our vendored list of top-level domains, which is used by the provisional domains() strategy.- Release 6.36.1 * This patch fixes some deprecation warnings from pytest 7.0, along with some code formatting and docs updates.- Release 6.36.0 * This release disallows using typing.Final with from_type() and register_type_strategy(). * Why? Because Final can only be used during class definition. We don’t generate class attributes. * It also does not make sense as a runtime type on its own.- Release 6.35.1 * This patch fixes hypothesis write output highlighting with rich version 12.0 and later.- Drop importorskip-numpy-pandas.patch * Thu Jan 20 2022 Matej Cepl - Correct exclusion of test_recursion_error_is_not_flaky for 3.10. * Mon Jan 10 2022 Matej Cepl - Upgrade to 6.35.0: - This release disallows using \"typing.ClassVar\" with \"from_type()\" and \"register_type_strategy()\". Why? Because \"ClassVar\" can only be used during \"class\" definition. We don\'t generate class attributes. It also does not make sense as a runtime type on its own. - Updates our vendored list of top-level domains, which is used by the provisional \"domains()\" strategy. - Fixes issue #3169, an extremely rare bug which would trigger if an internal least-recently-reused cache dropped a newly added entry immediately after it was added. - Fixes issue #3133 and issue #3144, where attempting to generate Pandas series of lists or sets would fail with confusing errors if you did not specify \"dtype=object\". - Disallows using \"typing.TypeAlias\" with \"from_type()\" and \"register_type_strategy()\". Why? Because \"TypeAlias\" is not really a type, it is a tag for type checkers that some expression is a type alias, not something else. It does not make sense for Hypothesis to resolve it as a strategy. - Updates our autoformatting tools, improving our code style without any API changes. - Drops support for Python 3.6, which reached end of life upstream on 2021-12-23. - Adds a temporary hook for a downstream tool, which is not part of the public API. - Updates our copyright headers to use a general authorship statement and omit the year.- Skip also test_recursion_error_is_not_flaky (gh#HypothesisWorks/hypothesis#3035) * Sun Dec 12 2021 Ben Greiner - Update to 6.31.4 * This patch makes the .example() method more representative of test-time data generation, albeit often at a substantial cost to readability (issue #3182).- Release 6.31.3 * This patch improves annotations on some of Hypothesis’ internal functions, in order to deobfuscate the signatures of some strategies. In particular, strategies shared between hypothesis.extra.numpy and the hypothesis.extra.array_api extra will benefit from this patch.- Release 6.31.2 * This patch fix invariants display in stateful falsifying examples (issue #3185).- Release 6.31.1 * This patch updates xps.indices() so no flat indices are generated, i.e. generated indices will now always explicitly cover each axes of an array if no ellipsis is present. This is to be consistent with a specification change that dropped support for flat indexing (#272).- Release 6.31.0 * This release makes us compatible with Django 4.0, in particular by adding support for use of zoneinfo timezones (though we respect the new USE_DEPRECATED_PYTZ setting if you need it).- Revert last mandatory requires update. Optional dependencies need to be declared by consuming packages (see hypothesis packaging doc) * Mon Dec 06 2021 Dirk Müller - fix requires * Mon Dec 06 2021 Matej Cepl - Fix filelist * Sun Dec 05 2021 Axel Braun - version 6.30.1 some tests skipped for python 3.6 * Sat Dec 04 2021 Axel Braun - update 6.30.0 tests/test_api disabled as recommended https://github.com/HypothesisWorks/hypothesis/issues/3178 * Sat Oct 23 2021 Axel Braun - update to 6.24.0 * Mon Jul 05 2021 Antonio Larrosa - Update to 6.14.1 * Full changelog since 6.8.1: https://hypothesis.readthedocs.io/en/latest/changes.html * Sat Mar 20 2021 Ben Greiner - Update to 6.8.1 * Full changelog since 5.41.2: https://hypothesis.readthedocs.io/en/latest/changes.html- Changes in major version 6: * Many functions now use PEP 3102 keyword-only arguments where passing positional arguments was deprecated since 5.5. * hypothesis.extra.django.from_model() no longer accepts model as a keyword argument, where it could conflict with fields named “model”. * randoms() now defaults to use_true_random=False. * complex_numbers() no longer accepts min_magnitude=None; either use min_magnitude=0 or just omit the argument. * hypothesis.provisional.ip4_addr_strings and ip6_addr_strings are removed in favor of ip_addresses(v=...).map(str). * register_type_strategy() no longer accepts generic types with type arguments, which were always pretty badly broken. * Using function-scoped pytest fixtures is now a health-check error, instead of a warning.- Don\'t test numpy and pandas for python36 (NEP29) * add distro specific importorskip-numpy-pandas.patch * Tue Nov 17 2020 Teemu Mannermaa - Fix failing tests: * Also skip %python_clone during build of tests flavor. * Recommend python-redis and BR python-fakeredis that are needed for new redis based ExampleDatabase implemention. * Wed Nov 11 2020 Dirk Mueller - update to 5.41.2: * long list of changes and improvements, see https://hypothesis.readthedocs.io/en/latest/changes.html#v5-41-2 * Wed Aug 12 2020 Benjamin Greiner - Update to version 5.24.2 * This release improves shrink quality by allowing Hypothesis to automatically learn new shrink passes for difficult to shrink tests. * The automatic learning is not currently accessible in user code (it still needs significant work on robustness and performance before it is ready for that), but this release includes learned passes that should improve shrinking quality for tests which use any of the text(), hypothesis.strategies.floats, hypothesis.strategies.datetimes, hypothesis.strategies.emails, and complex_numbers() strategies.- Update to version 5.24.1 * This patch updates some docstrings, without changing runtime behaviour.- add comment about source archive * Tue Aug 11 2020 Benjamin Greiner - Update to version 5.24.0 * The functions() strategy has a new argument pure=True, which ensures that the same return value is generated for identical calls to the generated function (issue [#2538]). * Thanks to Zac Hatfield-Dodds and Nikita Sobolev for this feature!- Update to version 5.23.12 * This release removes a number of Hypothesis\'s internal \"shrink passes\" - transformations it makes to a generated test case during shrinking - which appeared to be redundant with other transformations. * It is unlikely that you will see much impact from this. If you do, it will likely show up as a change in shrinking performance (probably slower, maybe faster), or possibly in worse shrunk results. If you encounter the latter, please let us know.- remove rpmlintrc again- use only github source repository (python subdir) in obscpio * Sat Aug 08 2020 Benjamin Greiner - Use PyPI source for package and test it with tests from the Github repository -- source hypothesis-python-tests-5.23.11 as direct CPIO archive hypothesis-python-tests-5.23.11.obscpio created by (locally run) obs_scm service- Reenable django and pandas tests- With ringdisabled, do not run test flavor at all- Require and use pytest-xdist in tests * Reenables the one skipped test * Trims total build time by a large factor despite now running pandas and django tests too!- Drop failing-test_array_values_are_unique_high_collision.patch * Fix the test instead gh#HypothesisWorks/hypothesis#2447- python-hypothesis-rpmlintrc -- filter empty types file- Sync requirements versions to setup.py * newer versions probably came from wrong interpretation of upstream\'s version pinning- Update to version 5.23.11 * This release fixes a bug in some internal Hypothesis support code. It has no user visible impact.- Update to version 5.23.10 * This release improves the quality of shrunk test cases in some special cases. Specifically, it should get shrinking unstuck in some scenarios which require simultaneously changing two parts of the generated test case.- Update to version 5.23.9 * This release improves the performance of some internal support code. It has no user visible impact, as that code is not currently run during normal Hypothesis operation.- Update to version 5.23.8 * This release adds a heuristic to detect when shrinking has finished despite the fact that there are many more possible transformations to try. This will be particularly useful for tests where the minimum failing test case is very large despite there being many smaller test cases possible, where it is likely to speed up shrinking dramatically. * In some cases it is likely that this will result in worse shrunk test cases. In those cases rerunning the test will result in further shrinking.- Update to version 5.23.7 * This release makes some performance improvements to shrinking. They should only be noticeable for tests that are currently particularly slow to shrink.- Update to version 5.23.6 * This patch adds some more internal functions to support a new feature we\'re working on, like version 5.18.3. There is still no user-visible changes yet.- Update to version 5.23.5 * This release makes some changes to internal support code that is not currently used in production Hypothesis. It has no user visible effect at present.- Update to version 5.23.4 * This release improves shrinking quality in some special cases.- Update to version 5.23.3 * This release fixes issue #2507, where lazy evaluation meant that the values drawn from a sampled_from() strategy could depend on mutations of the sampled sequence that happened after the strategy was constructed.- Update to version 5.23.2 * This patch fixes issue #2462, a bug in our handling of unittest.TestCase.subTest(). Thanks to Israel Fruchter for fixing this at the EuroPython sprints!- Update to version 5.23.1 * This release improves the behaviour of the characters() strategy when shrinking, by changing which characters are considered smallest to prefer more \"normal\" ascii characters where available.- Update to version 5.23.0 * The default print_blob setting is now smarter. It defaults to True in CI and False for local development. * Thanks to Hugo van Kemenade for implementing this feature at the EuroPython sprints!- Update to version 5.22.0 * The slices() strategy can now generate slices for empty sequences, slices with negative start and stop indices (from the end of the sequence), and step=None in place of step=1. * Thanks to Sangarshanan for implementing this feature at the EuroPython sprints!- Update to version 5.21.0 * This release ensures that tests which raise RecursionError are not reported as flaky simply because we run them from different initial stack depths (issue #2494).- Update to version 5.20.4 * This release improves the performance of the sample method on objects obtained from randoms() when use_true_random=False. This should mostly only be noticeable when the sample size is a large fraction of the population size, but may also help avoid health check failures in some other cases.- Update to version 5.20.3 * This release makes some internal changes for testing purposes and should have no user visible effect.- Update to version 5.20.2 * This release fixes a small caching bug in Hypothesis internals that may under some circumstances have resulted in a less diverse set of test cases being generated than was intended. * Fixing this problem revealed some performance problems that could occur during targeted property based testing, so this release also fixes those. Targeted property-based testing should now be significantly faster in some cases, but this may be at the cost of reduced effectiveness.- Update to version 5.20.1 * This patch updates our formatting to use isort 5. There is no user-visible change.- Update to version 5.20.0 * The basic_indices() strategy can now generate bare indexers in place of length-one tuples. Thanks to Andrea for this patch!- Update to version 5.19.3 * This patch removes an internal use of distutils in order to avoid this setuptools warning for some users.- Update to version 5.19.2 * This patch contains a small internal refactoring with no user-visible impact. Thanks to Andrea for writing this at the SciPy 2020 Sprints!- Update to version 5.19.1 * This release slightly improves shrinking behaviour. This should mainly only impact stateful tests, but may have some minor positive impact on shrinking collections (lists, sets, etc). * Thu Jul 02 2020 Antonio Larrosa - Update to version 5.19.0: * This release improves the randoms() strategy by adding support for Random instances where Hypothesis generates the random values rather than having them be “truly” random.- Update to version 5.18.3: * This patch adds some internal functions to support a new feature we’re working on. There is no user-visible change… yet.- Update to version 5.18.2: * This patch improves our docs for the derandomize setting.- Update to version 5.18.1: * This release consists of some internal refactoring to the shrinker in preparation for future work. It has no user visible impact.- Update to version 5.18.0: * This release teaches Hypothesis to shorten tracebacks for explicit examples, as we already do for generated examples, so that you can focus on your code rather than ours. * If you have multiple failing explicit examples, they will now all be reported. To report only the first failure, you can use the report_multiple_bugs=False setting as for generated examples.- Update to version 5.17.0: * This patch adds strategy inference for the Literal, NewType, Type, DefaultDict, and TypedDict types from the typing_extensions backport on PyPI.- Update to version 5.16.3: * This patch precomputes some of the setup logic for our experimental external fuzzer integration and sets deadline=None in fuzzing mode, saving around 150us on each iteration. * This is around two-thirds the runtime to fuzz an empty test with AATTgiven(st.none()), and nice to have even as a much smaller fraction of the runtime for non-trivial tests.- Update to version 5.16.2: * This patch fixes an internal error when warning about the use of function-scoped fixtures for parametrised tests where the parametrised value contained a % character.- Update to version 5.16.1: * If you pass a list or tuple where a strategy was expected, the error message now mentions sampled_from() as an example strategy.- Update to version 5.16.0: * functions() can now infer the appropriate returns strategy if you pass a like function with a return-type annotation. Before, omitting the returns argument would generate functions that always returned None.- Update to version 5.15.1: * Fix from_type() with generic types under Python 3.9.- Update to version 5.15.0: * This patch fixes an error that happens when multiple threads create new strategies.- Update to version 5.14.0: * Passing min_magnitude=None to complex_numbers() is now deprecated. You can explicitly pass min_magnitude=0, or omit the argument entirely.- Update to version 5.13.1: * This patch fixes an internal error in from_type() for typing.NamedTuple in Python 3.9.- Update to version 5.13.0: * This release upgrades the test statistics available via the –hypothesis-show-statistics option to include separate information on each of the phases (issue #1555).- Update to version 5.12.2: * This patch teaches the from_type() internals to return slightly more efficient strategies for some generic sets and mappings.- Update to version 5.12.1: * This patch adds a # noqa comment for flake8 3.8.0, which disagrees with mypy about how to write the type of ....- Update to version 5.12.0: * This release limits the maximum duration of the shrinking phase to five minutes, so that Hypothesis does not appear to hang when making very slow progress shrinking a failing example (issue #2340). * If one of your tests triggers this logic, we would really appreciate a bug report to help us improve the shrinker for difficult but realistic workloads. * Thu May 21 2020 Matej Cepl - Add failing-test_array_values_are_unique_high_collision.patch to avoid failing test on i586 (gh#HypothesisWorks/hypothesis#2447) * Sat May 09 2020 Arun Persaud - update to version 5.11.0: * This release improves the interaction between assume() and the AATTexample() decorator, so that the following test no longer fails with UnsatisfiedAssumption (issue #2125): AATTgiven(value=floats(0, 1)) AATTexample(value=0.56789) # used to make the test fail! AATTpytest.mark.parametrize(\"threshold\", [0.5, 1]) def test_foo(threshold, value): assume(value < threshold) ...- changes from version 5.10.5 : * If you have django installed but don’t use it, this patch will make import hypothesis a few hundred milliseconds faster (e.g. 0.704s -> 0.271s). Thanks to importtime-waterfall for highlighting this problem and Jake Vanderplas for the solution - it’s impossible to misuse code from a module you haven’t imported! * Fri Apr 24 2020 Arun Persaud - specfile: * updated Django version number in requirements- update to version 5.10.4: * This patch improves the internals of builds() type inference, to handle recursive forward references in certain dataclasses. This is useful for e.g. hypothesmith’s forthcoming LibCST mode.- changes from version 5.10.3: * This release reverses the order in which some operations are tried during shrinking. This should generally be a slight performance improvement, but most tests are unlikely to notice much difference.- changes from version 5.10.2: * This patch fixes issue #2406, where use of pandas.Timestamp objects as bounds for the datetimes() strategy caused an internal error. This bug was introduced in version 5.8.1.- changes from version 5.10.1: * This release is a small internal refactoring to how shrinking interacts with targeted property-based testing that should have no user user visible impact.- changes from version 5.10.0: * This release improves our support for datetimes and times around DST transitions. * times() and datetimes() are now sometimes generated with fold=1, indicating that they represent the second occurrence of a given wall-time when clocks are set backwards. This may be set even when there is no transition, in which case the fold value should be ignored. For consistency, timezones provided by the pytz package can now generate imaginary times (such as the hour skipped over when clocks ‘spring forward’ to daylight saving time, or during some historical timezone transitions). All other timezones have always supported generation of imaginary times. If you prefer the previous behaviour, datetimes() now takes an argument allow_imaginary which defaults to True but can be set to False for any timezones strategy.- changes from version 5.9.1 : * This patch fixes the rendering of binary() docstring by using the proper backticks syntax.- changes from version 5.9.0 : * Failing tests which use target() now report the highest score observed for each target alongside the failing example(s), even without explicitly showing test statistics. * This improves the debugging workflow for tests of accuracy, which assert that the total imprecision is within some error budget - for example, abs(a - b) < 0.5. Previously, shrinking to a minimal failing example could often make errors seem smaller or more subtle than they really are (see the threshold problem, and issue [#2180]).- changes from version 5.8.6 : * This patch improves the docstring of binary(), the repr() of sampled_from() on an enum.Enum subclass, and a warning in our pytest plugin. There is no change in runtime behaviour.- changes from version 5.8.5 : * This release (potentially very significantly) improves the performance of failing tests in some rare cases, mostly only relevant when using targeted property-based testing, by stopping further optimisation of unrelated test cases once a failing example is found.- changes from version 5.8.4 : * This release fixes issue #2395, where under some circumstances targeted property-based testing could cause Hypothesis to get caught in an infinite loop.- changes from version 5.8.3 : * This patch teaches builds() and from_type() to use the __signature__ attribute of classes where it has been set, improving our support for Pydantic models (in pydantic >= 1.5).- changes from version 5.8.2 : * This release improves the performance of the part of the core engine that deliberately generates duplicate values.- changes from version 5.8.1 : * This patch improves dates() shrinking, to simplify year, month, and day like datetimes() rather than minimizing the number of days since 2000-01-01. * Thu Apr 09 2020 Marketa Calabkova - update to version 5.8.0 * Python2 finally dropped! * Many code fixups, removals, refactorings and so on. * No need for python-pytz * Drop support for Python 3.5 * Just see hypothesis-python/docs/changes.rst * Fri Dec 13 2019 Arun Persaud - update to version 4.53.2: * This release reorganises a number of the Hypothesis internal modules into a package structure. If you are only depending on the public API it should have no effect. If you are depending on the internal API (which you shouldn’t be, and which we don’t guarantee compatibility on) you may have to rename some imports.- changes from version 4.53.1: * This release changes the size distribution of the number of steps run in stateful testing: It will now almost always run the maximum number of steps permitted.- changes from version 4.53.0: * Test Statistics now include the best score seen for each label, which can help avoid the threshold problem when the minimal example shrinks right down to the threshold of failure (issue [#2180]).- changes from version 4.52.0: * This release changes the stateful_step_count setting to raise an error if set to 0. This is a backwards compatible change because a value of 0 would never have worked and attempting to run it would have resulted in an internal assertion error.- changes from version 4.51.1: * This release makes a small internal change to the distribution of test cases. It is unlikely to have much user visible impact.- changes from version 4.51.0: * This release deprecates use of AATTexample, AATTseed, or AATTreproduce_failure without AATTgiven. * Sat Dec 07 2019 Arun Persaud - update to version 4.50.8: * This patch makes certain uses of Bundles more efficient in stateful testing (issue #2078).- changes from version 4.50.7: * This release refactors some of Hypothesis’s internal interfaces for representing data generation. It should have no user visible effect.- changes from version 4.50.6: * This patch removes some old debugging helpers in our Numpy extra which have not been needed since issue #1963 and issue #2245.- changes from version 4.50.5: * This patch fixes issue #2229, where Numpy arrays of unsized strings would only ever have strings of size one due to an interaction between our generation logic and Numpy’s allocation strategy.- changes from version 4.50.4: * This patch fixes a rare internal error in strategies for a list of unique items sampled from a short non-unique sequence (issue [#2247]). The bug was discovered via hypothesis-jsonschema.- changes from version 4.50.3: * This release improves the error message when AATTsettings tries to inherit settings from a parent argument that isn’t a settings instance.- changes from version 4.50.2: * This release improves Hypothesis’s “Falsifying example” output, by breaking output across multiple lines where necessary, and by removing irrelevant information from the stateful testing output.- changes from version 4.50.1: * This patch adds flake8-comprehensions to our linter suite. There is no user-visible change - expect perhaps via some strange microbenchmarks - but certain parts of the code now have a clear and more consistent style.- changes from version 4.50.0: * This release fixes some cases where we might previously have failed to run the validation logic for some strategies. As a result tests which would previously have been silently testing significantly less than they should may now start to raise InvalidArgument now that these errors are caught.- changes from version 4.49.0: * This release significantly improves the data distribution in rule based stateful testing , by using a technique called Swarm Testing (Groce, Alex, et al. “Swarm testing.” Proceedings of the 2012 International Symposium on Software Testing and Analysis. ACM, 2012.) to select which rules are run in any given test case. This should allow it to find many issues that it would previously have missed. * This change is likely to be especially beneficial for stateful tests with large numbers of rules.- changes from version 4.48.1: * This release adds some heuristics to test case generation that try to ensure that test cases generated early on will be relatively small. * This fixes a bug introduced in Hypothesis 4.42.0 which would cause occasional too_slow failures on some tests.- changes from version 4.48.0: * This release revokes the deprecation of find, as we’ve now rebuilt it on top of AATTgiven, which means it has minimal maintenance burden and we’re happy to support it.- changes from version 4.47.5: * This release rebuilds find() on top of AATTgiven in order to have more code in common. It should have minimal user visible effect.- changes from version 4.47.4: * This patch removes an internal compatibility shim that we no longer need.- changes from version 4.47.3: * This patch fixes several typos in our docstrings and comments, with no change in behaviour. Thanks to Dmitry Dygalo for identifying and fixing them!- changes from version 4.47.2: * This release fixes an internal issue where Hypothesis would sometimes generate test cases that were above its intended maximum size. This would only have happened rarely and probably would not have caused major problems when it did. * Users of the new targeted property-based testing might see minor impact (possibly slightly faster tests and slightly worse target scores), but only in the unlikely event that they were hitting this problem. Other users should not see any effect at all.- changes from version 4.47.1: * This release removes some unused code from the core engine. There is no user-visible change.- changes from version 4.47.0: * This release commonizes some code between running explicit examples and normal test execution. The main user visible impact of this is that deadlines are now enforced when running explicit examples. * Sat Nov 23 2019 Arun Persaud - update to version 4.46.1: * This patch ensures that a KeyboardInterrupt received during example generation is not treated as a mystery test failure but instead propagates to the top level, not recording the interrupted generation in the conjecture data tree. Thanks to Anne Archibald for identifying and fixing the problem.- changes from version 4.46.0: * This release changes the behaviour of floats() when excluding signed zeros - floats(max_value=0.0, exclude_max=True) can no longer generate -0.0 nor the much rarer floats(min_value=-0.0, exclude_min=True) generate +0.0. * The correct interaction between signed zeros and exclusive endpoints was unclear; we now enforce the invariant that floats() will never generate a value equal to an excluded endpoint (issue [#2201]). * If you prefer the old behaviour, you can pass floats(max_value=-0.0) or floats(min_value=0.0) which is exactly equivalent and has not changed. If you had two endpoints equal to zero, we recommend clarifying your tests by using just() or sampled_from() instead of floats().- changes from version 4.45.1: * This patch improves the error message when invalid arguments are passed to rule() or invariant() (issue #2149). Thanks to Benjamin Palmer for this bugfix!- changes from version 4.45.0: * This release supports typing.Final and typing.TypedDict in from_type().- changes from version 4.44.5: * This patch disables our pytest plugin when running on versions of pytest before 4.3, the oldest our plugin supports. Note that at time of writing the Pytest developers only support 4.6 and later! * Hypothesis tests using AATTgiven() work on any test runner, but our integrations to e.g. avoid example database collisions when combined with AATTpytest.mark.parametrize eventually drop support for obsolete versions.- changes from version 4.44.4: * This patch adds some internal comments and clarifications to the Hypothesis implementation. There is no user-visible change.- changes from version 4.44.3: * This patch avoids importing test runners such as :pypi`pytest`, :pypi`unittest2`, or :pypi`nose` solely to access their special “skip test” exception types - if the module is not in sys.modules, the exception can’t be raised anyway. * This fixes a problem where importing an otherwise unused module could cause spurious errors due to import-time side effects (and possibly -Werror).- changes from version 4.44.2: * This release fixes AATTgiven to only complain about missing keyword-only arguments if the associated test function is actually called. * This matches the behaviour of other InvalidArgument errors produced by AATTgiven.- changes from version 4.44.1: * This patch allows Hypothesis to run in environments that do not specify a __file__, such as a zipapp (issue #2196).- changes from version 4.44.0: * This release adds a gufunc argument to mutually_broadcastable_shapes() (issue #2174), which allows us to generate shapes which are valid for functions like numpy.matmul that require shapes which are not simply broadcastable. * Thanks to everyone who has contributed to this feature over the last year, and a particular shout-out to Zac Hatfield-Dodds and Ryan Soklaski for mutually_broadcastable_shapes() and to Ryan Turner for the downstream hypothesis-gufunc project.- changes from version 4.43.9: * This patch fixes issue #2108, where the first test using data() to draw from characters() or text() would be flaky due to unreliable test timings. * Time taken by lazy instantiation of strategies is now counted towards drawing from the strategy, rather than towards the deadline for the test function.- changes from version 4.43.8: * This release ensures that the strategies passed to AATTgiven are properly validated when applied to a test method inside a test class. * This should result in clearer error messages when some of those strategies are invalid.- changes from version 4.43.7: * This release changes how Hypothesis manages its search space in cases where it generates redundant data. This should cause it to generate significantly fewer duplicated examples (especially with short integer ranges), and may cause it to produce more useful examples in some cases (especially ones where there is a significant amount of filtering).- changes from version 4.43.6 : * This patch refactors width handling in floats(); you may notice small performance improvements but the main purpose is to enable work on issue #1704 (improving shrinking of bounded floats).- changes from version 4.43.5 : * This patch removes an unused internal flag. There is no user-visible change.- changes from version 4.43.4: * This patch corrects the exception type and error message you get if you attempt to use data() to draw from something which is not a strategy. This never worked, but the error is more helpful now.- changes from version 4.43.3: * We’ve adopted flake8-bugbear to check for a few more style issues, and this patch implements the minor internal cleanups it suggested. There is no user-visible change.- changes from version 4.43.2: * This patch fixes the formatting of some documentation, but there is no change to any executed code.- changes from version 4.43.1 : * Python 3.8’s new typing.Literal type - see PEP 586 for details - is now supported in from_type().- changes from version 4.43.0: * This release adds the strategy mutually_broadcastable_shapes(), which generates multiple array shapes that are mutually broadcast-compatible with an optional user-specified base-shape. * This is a generalisation of broadcastable_shapes(). It relies heavily on non-public internals for performance when generating and shrinking examples. We intend to support generating shapes matching a ufunc signature in a future version (issue #2174). * Thanks to Ryan Soklaski, Zac Hatfield-Dodds, and AATTrdturnermtl who contributed to this new feature.- changes from version 4.42.10: * This release fixes from_type() when used with bounded or constrained typing.TypeVar objects (issue #2094). * Previously, distinct typevars with the same constraints would be treated as all single typevar, and in cases where a typevar bound was resolved to a union of subclasses this could result in mixed types being generated for that typevar.- changes from version 4.42.9: * This patch ensures that the default value broadcastable_shapes() chooses for max_dims is always valid (at most 32), even if you pass min_dims=32.- changes from version 4.42.8: * This patch ensures that we only add profile information to the pytest header if running either pytest or Hypothesis in verbose mode, matching the builtin cache plugin (issue #2155).- changes from version 4.42.7: * This patch makes stateful step printing expand the result of a step into multiple variables when you return multiple() (issue [#2139]). Thanks to Joseph Weston for reporting and fixing this bug!- changes from version 4.42.6: * This release fixes a bug (issue #2166) where a Unicode character info cache file was generated but never used on subsequent test runs, causing tests to run more slowly than they should have. * Thanks to Robert Knight for this bugfix!- changes from version 4.42.5: * This patch corrects some internal documentation. There is no user-visible change.- changes from version 4.42.4: * This release fixes a bug (issue #2160) where decorators applied after AATTsettings and before AATTgiven were ignored. * Thanks to Tom Milligan for this bugfix!- changes from version 4.42.3: * This release updates Hypothesis’s formatting to the new version of black, and has absolutely no user visible effect.- changes from version 4.42.2: * This release fixes a bug in recursive() which would have meant that in practice max_leaves was treated as if it was lower than it actually is - specifically it would be capped at the largest power of two smaller than it. It is now handled correctly.- changes from version 4.42.1: * Python 3.8’s new typing.SupportsIndex type - see PEP 357 for details - is now supported in from_type(). * Thanks to Grigorios Giannakopoulos for the patch!- changes from version 4.42.0: * This release significantly simplifies Hypothesis’s internal logic for data generation, by removing a number of heuristics of questionable or unproven value. * The results of this change will vary significantly from test to test. Most test suites will see significantly faster data generation and lower memory usage. The “quality” of the generated data may go up or down depending on your particular test suites. * If you see any significant regressions in Hypothesis’s ability to find bugs in your code as a result of this release, please file an issue to let us know. * Users of the new targeted property-based testing functionality are reasonably likely to see improvements in data generation, as this release changes the search algorithm for targeted property based testing to one that is more likely to be productive than the existing approach.- changes from version 4.41.3: * This patch is to ensure that our internals remain comprehensible to mypy 0.740 - there is no user-visible change.- changes from version 4.41.2: * This patch changes some internal hashes to SHA384, to better support users subject to FIPS-140. There is no user-visible API change. * Thanks to Paul Kehrer for this contribution!- changes from version 4.41.1: * This release makes --hypothesis-show-statistics much more useful for tests using a RuleBasedStateMachine, by simplifying the reprs so that events are aggregated correctly.- changes from version 4.41.0: * This release upgrades the fixed_dictionaries() strategy to support optional keys (issue #1913). * Wed Oct 16 2019 Marketa Calabkova - update to version 4.40.2 * Type hints improved * Performance improved * Array indexing improved * * *experimental * * support for targeted property-based testing * Sun Aug 25 2019 Arun Persaud - update to version 4.34.0: * The from_type() strategy now knows to look up the subclasses of abstract types, which cannot be instantiated directly. This is very useful for hypothesmith to support libCST.- changes from version 4.33.1: * This patch works around a crash when an incompatible version of Numpy is installed under PyPy 5.10 (Python 2.7).- changes from version 4.33.0: * This release improves the domains() strategy, as well as the urls() and the emails() strategies which use it. These strategies now use the full IANA list of Top Level Domains and are correct as per RFC 1035. Passing tests using these strategies may now fail.Thanks to TechDragon for this improvement.- changes from version 4.32.3 : * This patch tidies up the repr of several settings-related objects, at runtime and in the documentation, and deprecates the undocumented edge case that phases=None was treated like phases=tuple(Phase). It also fixes from_lark() with lark 0.7.2 and later. * Sun Aug 04 2019 Arun Persaud - update to version 4.32.2: * This patch updates some internal comments for mypy 0.720. There is no user-visible impact.- changes from version 4.32.1: * This release changes how the shrinker represents its progress internally. For large generated test cases this should result in significantly less memory usage and possibly faster shrinking. Small generated test cases may be slightly slower to shrink but this shouldn’t be very noticeable.- changes from version 4.32.0: * This release makes arrays() more pedantic about elements strategies that cannot be exactly represented as array elements. In practice, you will see new warnings if you were using a float16 or float32 dtype without passing floats() the width=16 or width=32 arguments respectively.The previous behaviour could lead to silent truncation, and thus some elements being equal to an explicitly excluded bound (issue #1899). * Sun Jul 28 2019 Arun Persaud - update to version 4.31.1: * This patch changes an internal use of MD5 to SHA hashes, to better support users subject to FIPS-140. There is no user-visible or API change.- changes from version 4.31.0 : * This release simplifies the logic of the print_blob setting by removing the option to set it to PrintSettings.INFER. As a result the print_blob setting now takes a single boolean value, and the use of PrintSettings is deprecated. * Mon Jul 22 2019 Tomáš Chvátal - Update to 4.28.2: * Various bugfixes and deprecations all around * Sat Jun 08 2019 Arun Persaud - update to version 4.24.3: * This patch improves the implementation of an internal wrapper on Python 3.8 beta1 (and will break on the alphas; but they’re not meant to be stable). On other versions, there is no change at all. Thanks to Daniel Hahler for the patch, and Victor Stinner for his work on bpo-37032 that made it possible. * Thu Jun 06 2019 Ondřej Súkup - update to 4.24.2 * Deprecation messages for functions in hypothesis.extra.django.models now explicitly name the deprecated function to make it easier to track down usages. * a spurious bug raised when a AATTst.composite function was passed a keyword-only argument. * deprecates GenericStateMachine, in favor of RuleBasedStateMachine. * This patch clarifies some error messages when the test function signature is incompatible with the arguments to AATTgiven, especially when the AATTsettings() decorator is also used * ixes a minor formatting issue the docstring of from_type() * Tue May 14 2019 Ondřej Súkup - update to 4.23.4 * Adds a recipe to the docstring of :func:`~hypothesis.strategies.from_type` * implements the :func:`~hypothesis.strategies.slices` strategy, to generate slices of a length-size sequence. * Tue May 07 2019 Tomáš Chvátal - Remove pandas dependency to make ring1 more happy- Update to 4.22.0: * Various small tweaks only * Mon May 06 2019 Tomáš Chvátal - More love for the tests to make sure we execute and run them + skip/remove the obvious failures that are irelevant * Tue Apr 30 2019 Tomáš Chvátal - Update to 4.18.2: * This patch makes Hypothesis compatible with the Python 3.8 alpha * This release adds the functions() strategy * This release refactors stateful rule selection * This patch allows Hypothesis to try a few more examples after finding the first bug * This release adds the strategy broadcastable_shapes()- Make sure the tests are executed (and fail at the moment, needs bit more love) * Sat Apr 13 2019 Arun Persaud - update to version 4.16.0: * This release allows register_type_strategy() to be used with typing.NewType instances. This may be useful to e.g. provide only positive integers for from_type(UserId) with a UserId = NewType(\'UserId\', int) type.- changes from version 4.15.0: * This release supports passing a timedelta as the deadline setting, so you no longer have to remember that the number is in milliseconds (issue #1900).- changes from version 4.14.7: * This patch makes the type annotations on hypothesis.extra.dateutil compatible with mypy 0.700.- changes from version 4.14.6: * This release fixes a bug introduced in Hypothesis 4.14.3 that would sometimes cause sampled_from(...).filter(...) to encounter an internal assertion failure when there are three or fewer elements, and every element is rejected by the filter.- changes from version 4.14.5: * This patch takes the previous efficiency improvements to sampled_from(...).filter(...) strategies that reject most elements, and generalises them to also apply to sampled_from(...).filter(...).filter(...) and longer chains of filters.- changes from version 4.14.4: * This release fixes a bug that prevented random_module() from correctly restoring the previous state of the random module. The random state was instead being restored to a temporary deterministic state, which accidentally caused subsequent tests to see the same random values across multiple test runs.- changes from version 4.14.3: * This patch adds an internal special case to make sampled_from(...).filter(...) much more efficient when the filter rejects most elements (issue #1885).- changes from version 4.14.2: * This patch improves the error message if the function f in s.flatmap(f) does not return a strategy.- changes from version 4.14.1: * This release modifies how Hypothesis selects operations to run during shrinking, by causing it to deprioritise previously useless classes of shrink until others have reached a fixed point. * This avoids certain pathological cases where the shrinker gets very close to finishing and then takes a very long time to finish the last small changes because it tries many useless shrinks for each useful one towards the end. It also should cause a more modest improvement (probably no more than about 30%) in shrinking performance for most tests.- changes from version 4.14.0: * This release blocks installation of Hypothesis on Python 3.4, which reached its end of life date on 2019-03-18. 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. * Mon Mar 25 2019 John Vandenberg - Add changes.rst to %doc- Update to v4.13.0 * for changes please see doc/changes.rst or https://github.com/HypothesisWorks/hypothesis/blob/master/hypothesis-python/docs/changes.rst * Mon Mar 18 2019 Ondřej Súkup - update to 4.11.7 * for changes please see doc/changes.rst or - https://github.com/HypothesisWorks/hypothesis/blob/master/hypothesis-python/docs/changes.rst
|
|
|