Closed pyup-bot closed 5 years ago
Merging #61 into master will not change coverage. The diff coverage is
n/a
.
@@ Coverage Diff @@
## master #61 +/- ##
=======================================
Coverage 97.77% 97.77%
=======================================
Files 20 20
Lines 1079 1079
Branches 199 199
=======================================
Hits 1055 1055
Misses 13 13
Partials 11 11
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update 9e6edab...c1cb720. Read the comment docs.
Opted out of version pinning
This PR sets up pyup.io on this repo and updates all dependencies at once, in a single branch.
Subsequent pull requests will update one dependency at a time, each in their own branch. If you want to start with that right away, simply close this PR.
Update twine from 1.12.1 to 1.12.1.
Changelog
### 1.12.1 ``` * :bug:`404` Fix regression with upload exit code ``` ### 1.12.0 ``` * :feature:`395 major` Add ``twine check`` command to check long description * :feature:`392 major` Drop support for Python 3.3 * :feature:`363` Empower ``--skip-existing`` for Artifactory repositories * :bug:`367` Avoid MD5 when Python is compiled in FIPS mode ``` ### 1.11.0 ``` * :bug:`269 major` Avoid uploading to PyPI when given alternate repository URL, and require ``http://`` or ``https://`` in ``repository_url``. * :support:`277` Add instructions on how to use keyring. * :support:`314` Add new maintainer, release checklists. * :bug:`322 major` Raise exception if attempting upload to deprecated legacy PyPI URLs. * :feature:`320` Remove PyPI as default ``register`` package index. * :feature:`319` Support Metadata 2.1 (:pep:`566`), including Markdown for ``description`` fields. * :support:`318` `Update PyPI URLs <https://packaging.python.org/guides/migrating-to-pypi-org/>`_. ``` ### 1.10.0 ``` * :bug:`315 major` Degrade gracefully when keyring is unavailable * :feature:`304` Reorganize & improve user & developer documentation. * :feature:`46` Link to changelog from ``README`` * :feature:`295` Add doc building instructions * :feature:`296` Add architecture overview to docs * :feature:`303` Revise docs predicting future of ``twine`` * :bug:`298 major` Fix syntax highlighting in ``README`` * :bug:`299 major` Fix changelog formatting * :bug:`200 major` Remove obsolete registration guidance * :bug:`286 major` Fix Travis CI and test configuration * :feature:`257` Declare support for Python 3.6 * :bug:`297 major` Fix Read the Docs, tox, Travis configuration * :bug:`268 major` Print progress to ``stdout``, not ``stderr`` * :bug:`265 major` Fix ``--repository[-url]`` help text * :feature:`256` Improve progressbar ``` ### 1.9.1 ``` * :bug:`-` Blacklist known bad versions of Requests. See also :bug:`253` ``` ### 1.9.0 ``` * :support:`-` Twine will now resolve passwords using the `keyring <https://pypi.org/project/keyring/>`_ if available. Module can be required with the ``keyring`` extra. * :support:`-` Twine will use ``hashlib.blake2b`` on Python 3.6+ instead of using pyblake2 for Blake2 hashes 256 bit hashes. * :support:`-` Twine sends less information about the user's system in the User-Agent string. See also :bug:`229` * :support:`-` Fix ``--skip-existing`` when used to upload a package for the first time. See also :bug:`220` * :support:`-` Fix precedence of ``--repository-url`` over ``--repository``. See also :bug:`206` ``` ### 1.8.1 ``` * :support:`-` Check if a package exists if the URL is one of: * ``https://pypi.python.org/pypi/`` * ``https://upload.pypi.org/`` * ``https://upload.pypi.io/`` This helps people with ``https://upload.pypi.io`` still in their :file:`.pypirc` file. ``` ### 1.8.0 ``` * :feature:`201` Switch from upload.pypi.io to upload.pypi.org. * :feature:`144` Retrieve configuration from the environment as a default. * Repository URL will default to ``TWINE_REPOSITORY`` * Username will default to ``TWINE_USERNAME`` * Password will default to ``TWINE_PASSWORD`` * :feature:`166` Allow the Repository URL to be provided on the command-line (``--repository-url``) or via an environment variable (``TWINE_REPOSITORY_URL``). * :support:`-` Generate SHA256 digest for all packages by default. * :feature:`171` Generate Blake2b 256 digests for packages *if* ``pyblake2`` is installed. Users can use ``python -m pip install twine[with-blake2]`` to have ``pyblake2`` installed with Twine. * :support:`-` Stop testing on Python 2.6. 2.6 support will be "best effort" until 2.0.0 * :support:`-` Warn users if they receive a 500 error when uploading to ``*pypi.python.org`` ``` ### 1.7.4 ``` * :bug:`-` Correct a packaging error. ``` ### 1.7.3 ``` * :bug:`195` Fix uploads to instances of pypiserver using ``--skip-existing``. We were not properly checking the return status code on the response after attempting an upload. * :support:`-` Do not generate traffic to Legacy PyPI unless we're uploading to it or uploading to Warehouse (e.g., pypi.io). This avoids the attempt to upload a package to the index if we can find it on Legacy PyPI already. ``` ### 1.7.2 ``` * :bug:`189`, :bug:`191` Fix issue where we were checking the existence of packages even if the user didn't specify ``--skip-existing``. ``` ### 1.7.1 ``` * :bug:`187` Clint was not specified in the wheel metadata as a dependency. ``` ### 1.7.0 ``` * :feature:`142` Support ``--cert`` and ``--client-cert`` command-line flags and config file options for feature parity with pip. This allows users to verify connections to servers other than PyPI (e.g., local package repositories) with different certificates. * :feature:`152` Add progress bar to uploads. * :feature:`162` Allow ``--skip-existing`` to work for 409 status codes. * :feature:`167` Implement retries when the CDN in front of PyPI gives us a 5xx error. * :feature:`177` Switch Twine to upload to pypi.io instead of pypi.python.org. * :bug:`186 major` Allow passwords to have ``%``\ s in them. ``` ### 1.6.5 ``` * :bug:`155` Bump requests-toolbelt version to ensure we avoid ConnectionErrors ``` ### 1.6.4 ``` * :bug:`145` Paths with hyphens in them break the Wheel regular expression. * :bug:`146` Exception while accessing the ``respository`` key (sic) when raising a redirect exception. ``` ### 1.6.3 ``` * :bug:`137`, :bug:`140` Uploading signatures was broken due to the pull request that added large file support via ``requests-toolbelt``. This caused a 500 error on PyPI and prevented package and signature upload in twine 1.6.0 ``` ### 1.6.2 ``` * :bug:`132` Upload signatures with packages appropriately As part of the refactor for the 1.6.0 release, we were using the wrong name to find the signature file. This also uncovered a bug where if you're using twine in a situation where ``*`` is not expanded by your shell, we might also miss uploading signatures to PyPI. Both were fixed as part of this. ``` ### 1.6.1 ``` * :bug:`130` Fix signing support for uploads ``` ### 1.6.0 ``` * :feature:`106` Upload wheels first to PyPI * :feature:`104` Large file support via the ``requests-toolbelt`` * :bug:`92 major` Raise an exception on redirects * :feature:`97` Allow the user to specify the location of their :file:`.pypirc` * :feature:`115` Add the ``--skip-existing`` flag to ``twine upload`` to allow users to skip releases that already exist on PyPI. * :bug:`114 major` Warnings triggered by pkginfo searching for ``PKG-INFO`` files should no longer be user visible. * :bug:`116 major` Work around problems with Windows when using ``getpass.getpass`` * :bug:`111 major` Provide more helpful messages if :file:`.pypirc` is out of date. * :feature:`8` Support registering new packages with ``twine register`` ``` ### 1.5.0 ``` * :bug:`85 major` Display information about the version of setuptools installed * :bug:`61 major` Support deprecated pypirc file format * :feature:`29` Support commands not named "gpg" for signing * :support:`-` Add lower-limit to requests dependency ``` ### 1.4.0 ``` * :bug:`28 major` Prevent ResourceWarning from being shown * :bug:`34 major` List registered commands in help text * :bug:`32 major` Use ``pkg_resources`` to load registered commands * :bug:`47 major` Fix issue uploading packages with ``_``\ s in the name * :bug:`26 major` Add support for uploading Windows installers * :bug:`65 major` Expand globs and check for existence of dists to upload * :feature:`13` Parse :file:`~/.pypirc` ourselves and use ``subprocess`` instead of the ``distutils.spawn`` module. * :feature:`6` Switch to a git style dispatching for the commands to enable simpler commands and programmatic invocation. ``` ### 1.3.0 ``` * :feature:`-` Additional functionality. ``` ### 1.2.2 ``` * :feature:`0` Basic functionality. ```Links
- PyPI: https://pypi.org/project/twine - Changelog: https://pyup.io/changelogs/twine/ - Docs: https://twine.readthedocs.io/Update mkdocs from 1.0.4 to 1.0.4.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
- PyPI: https://pypi.org/project/mkdocs - Homepage: https://www.mkdocs.orgUpdate pytest-benchmark from 3.1.1 to 3.1.1.
Changelog
### 3.1.1 ``` ------------------ * Fixed loading data from old json files (missing ``ops`` field, see `81 <https://github.com/ionelmc/pytest-benchmark/issues/81>`_). * Fixed regression on broken SCM (see `82 <https://github.com/ionelmc/pytest-benchmark/issues/82>`_). ``` ### 3.1.0 ``` ------------------ * Added "operations per second" (``ops`` field in ``Stats``) metric -- shows the call rate of code being tested. Contributed by Alexey Popravka in `78 <https://github.com/ionelmc/pytest-benchmark/pull/78>`_. * Added a ``time`` field in ``commit_info``. Contributed by "varac" in `71 <https://github.com/ionelmc/pytest-benchmark/pull/71>`_. * Added a ``author_time`` field in ``commit_info``. Contributed by "varac" in `75 <https://github.com/ionelmc/pytest-benchmark/pull/75>`_. * Fixed the leaking of credentials by masking the URL printed when storing data to elasticsearch. * Added a `--benchmark-netrc` option to use credentials from a netrc file when storing data to elasticsearch. Both contributed by Andre Bianchi in `73 <https://github.com/ionelmc/pytest-benchmark/pull/73>`_. * Fixed docs on hooks. Contributed by Andre Bianchi in `74 <https://github.com/ionelmc/pytest-benchmark/pull/74>`_. * Remove `git` and `hg` as system dependencies when guessing the project name. ``` ### 3.1.0a2 ``` -------------------- * ``machine_info`` now contains more detailed information about the CPU, in particular the exact model. Contributed by Antonio Cuni in `61 <https://github.com/ionelmc/pytest-benchmark/pull/61>`_. * Added ``benchmark.extra_info``, which you can use to save arbitrary stuff in the JSON. Contributed by Antonio Cuni in the same PR as above. * Fix support for latest PyGal version (histograms). Contributed by Swen Kooij in `68 <https://github.com/ionelmc/pytest-benchmark/pull/68>`_. * Added support for getting ``commit_info`` when not running in the root of the repository. Contributed by Vara Canero in `69 <https://github.com/ionelmc/pytest-benchmark/pull/69>` _. * Added short form for ``--storage``/``--verbose`` options in CLI. * Added an alternate ``pytest-benchmark`` CLI bin (in addition to ``py.test-benchmark``) to match the madness in pytest. * Fix some issues with `--help`` in CLI. * Improved git remote parsing (for ``commit_info`` in JSON outputs). * Fixed default value for `--benchmark-columns``. * Fixed comparison mode (loading was done too late). * Remove the project name from the autosave name. This will get the old brief naming from 3.0 back. ``` ### 3.1.0a1 ``` -------------------- * Added ``--benchmark-colums`` command line option. It selects what columns are displayed in the result table. Contributed by Antonio Cuni in `34 <https://github.com/ionelmc/pytest-benchmark/pull/34>`_. * Added support for grouping by specific test parametrization (``--benchmark-group-by=param:NAME`` where ``NAME`` is your param name). Contributed by Antonio Cuni in `37 <https://github.com/ionelmc/pytest-benchmark/pull/37>`_. * Added support for `name` or `fullname` in ``--benchmark-sort``. Contributed by Antonio Cuni in `37 <https://github.com/ionelmc/pytest-benchmark/pull/37>`_. * Changed signature for ``pytest_benchmark_generate_json`` hook to take 2 new arguments: ``machine_info`` and ``commit_info``. * Changed `--benchmark-histogram`` to plot groups instead of name-matching runs. * Changed `--benchmark-histogram`` to plot exactly what you compared against. Now it's ``1:1`` with the compare feature. * Changed `--benchmark-compare`` to allow globs. You can compare against all the previous runs now. * Changed `--benchmark-group-by`` to allow multiple values separated by comma. Example: ``--benchmark-group-by=param:foo,param:bar`` * Added a command line tool to compare previous data: ``py.test-benchmark``. It has two commands: * ``list`` - Lists all the available files. * ``compare`` - Displays result tables. Takes optional arguments: * ``--sort=COL`` * ``--group-by=LABEL`` * ``--columns=LABELS`` * ``--histogram=[FILENAME-PREFIX]`` * Added ``--benchmark-cprofile`` that profiles last run of benchmarked function. Contributed by Petr Šebek. * Changed ``--benchmark-storage`` so it now allows elasticsearch storage. It allows to store data to elasticsearch instead to json files. Contributed by Petr Šebek in `58 <https://github.com/ionelmc/pytest-benchmark/pull/58>`_. ``` ### 3.0.0 ``` ------------------ * Improved ``--help`` text for ``--benchmark-histogram``, ``--benchmark-save`` and ``--benchmark-autosave``. * Benchmarks that raised exceptions during test now have special highlighting in result table (red background). * Benchmarks that raised exceptions are not included in the saved data anymore (you can still get the old behavior back by implementing ``pytest_benchmark_generate_json`` in your ``conftest.py``). * The plugin will use pytest's warning system for warnings. There are 2 categories: ``WBENCHMARK-C`` (compare mode issues) and ``WBENCHMARK-U`` (usage issues). * The red warnings are only shown if ``--benchmark-verbose`` is used. They still will be always be shown in the pytest-warnings section. * Using the benchmark fixture more than one time is disallowed (will raise exception). * Not using the benchmark fixture (but requiring it) will issue a warning (``WBENCHMARK-U1``). ``` ### 3.0.0rc1 ``` --------------------- * Changed ``--benchmark-warmup`` to take optional value and automatically activate on PyPy (default value is ``auto``). **MAY BE BACKWARDS INCOMPATIBLE** * Removed the version check in compare mode (previously there was a warning if current version is lower than what's in the file). ``` ### 3.0.0b3 ``` --------------------- * Changed how comparison is displayed in the result table. Now previous runs are shown as normal runs and names get a special suffix indicating the origin. Eg: "test_foobar (NOW)" or "test_foobar (0123)". * Fixed sorting in the result table. Now rows are sorted by the sort column, and then by name. * Show the plugin version in the header section. * Moved the display of default options in the header section. ``` ### 3.0.0b2 ``` --------------------- * Add a ``--benchmark-disable`` option. It's automatically activated when xdist is on * When xdist is on or `statistics` can't be imported then ``--benchmark-disable`` is automatically activated (instead of ``--benchmark-skip``). **BACKWARDS INCOMPATIBLE** * Replace the deprecated ``__multicall__`` with the new hookwrapper system. * Improved description for ``--benchmark-max-time``. ``` ### 3.0.0b1 ``` -------------------- * Tests are sorted alphabetically in the results table. * Failing to import `statistics` doesn't create hard failures anymore. Benchmarks are automatically skipped if import failure occurs. This would happen on Python 3.2 (or earlier Python 3). ``` ### 3.0.0a4 ``` -------------------- * Changed how failures to get commit info are handled: now they are soft failures. Previously it made the whole test suite fail, just because you didn't have ``git/hg`` installed. ``` ### 3.0.0a3 ``` -------------------- * Added progress indication when computing stats. ``` ### 3.0.0a2 ``` -------------------- * Fixed accidental output capturing caused by capturemanager misuse. ``` ### 3.0.0a1 ``` -------------------- * Added JSON report saving (the ``--benchmark-json`` command line arguments). Based on initial work from Dave Collins in `8 <https://github.com/ionelmc/pytest-benchmark/pull/8>`_. * Added benchmark data storage(the ``--benchmark-save`` and ``--benchmark-autosave`` command line arguments). * Added comparison to previous runs (the ``--benchmark-compare`` command line argument). * Added performance regression checks (the ``--benchmark-compare-fail`` command line argument). * Added possibility to group by various parts of test name (the `--benchmark-compare-group-by`` command line argument). * Added historical plotting (the ``--benchmark-histogram`` command line argument). * Added option to fine tune the calibration (the ``--benchmark-calibration-precision`` command line argument and ``calibration_precision`` marker option). * Changed ``benchmark_weave`` to no longer be a context manager. Cleanup is performed automatically. **BACKWARDS INCOMPATIBLE** * Added ``benchmark.weave`` method (alternative to ``benchmark_weave`` fixture). * Added new hooks to allow customization: * ``pytest_benchmark_generate_machine_info(config)`` * ``pytest_benchmark_update_machine_info(config, info)`` * ``pytest_benchmark_generate_commit_info(config)`` * ``pytest_benchmark_update_commit_info(config, info)`` * ``pytest_benchmark_group_stats(config, benchmarks, group_by)`` * ``pytest_benchmark_generate_json(config, benchmarks, include_data)`` * ``pytest_benchmark_update_json(config, benchmarks, output_json)`` * ``pytest_benchmark_compare_machine_info(config, benchmarksession, machine_info, compared_benchmark)`` * Changed the timing code to: * Tracers are automatically disabled when running the test function (like coverage tracers). * Fixed an issue with calibration code getting stuck. * Added `pedantic mode` via ``benchmark.pedantic()``. This mode disables calibration and allows a setup function. ``` ### 2.5.0 ``` ------------------ * Improved test suite a bit (not using `cram` anymore). * Improved help text on the ``--benchmark-warmup`` option. * Made ``warmup_iterations`` available as a marker argument (eg: ``pytest.mark.benchmark(warmup_iterations=1234)``). * Fixed ``--benchmark-verbose``'s printouts to work properly with output capturing. * Changed how warmup iterations are computed (now number of total iterations is used, instead of just the rounds). * Fixed a bug where calibration would run forever. * Disabled red/green coloring (it was kinda random) when there's a single test in the results table. ``` ### 2.4.1 ``` ------------------ * Fix regression, plugin was raising ``ValueError: no option named 'dist'`` when xdist wasn't installed. ``` ### 2.4.0 ``` ------------------ * Add a ``benchmark_weave`` experimental fixture. * Fix internal failures when `xdist` plugin is active. * Automatically disable benchmarks if `xdist` is active. ``` ### 2.3.0 ``` ------------------ * Moved the warmup in the calibration phase. Solves issues with benchmarking on PyPy. Added a ``--benchmark-warmup-iterations`` option to fine-tune that. ``` ### 2.2.0 ``` ------------------ * Make the default rounds smaller (so that variance is more accurate). * Show the defaults in the ``--help`` section. ``` ### 2.1.0 ``` ------------------ * Simplify the calibration code so that the round is smaller. * Add diagnostic output for calibration code (``--benchmark-verbose``). ``` ### 2.0.0 ``` ------------------ * Replace the context-manager based API with a simple callback interface. **BACKWARDS INCOMPATIBLE** * Implement timer calibration for precise measurements. ``` ### 1.0.0 ``` ------------------ * Use a precise default timer for PyPy. ? (?) ----- * Readme and styling fixes. Contributed by Marc Abramowitz in `4 <https://github.com/ionelmc/pytest-benchmark/pull/4>`_. * Lots of wild changes. ```Links
- PyPI: https://pypi.org/project/pytest-benchmark - Changelog: https://pyup.io/changelogs/pytest-benchmark/ - Repo: https://github.com/ionelmc/pytest-benchmarkUpdate wheel from 0.32.2 to 0.32.2.
Changelog
### 0.32.2 ``` - Fixed build number appearing in the ``.dist-info`` directory name - Made wheel file name parsing more permissive - Fixed wrong Python tag in wheels converted from eggs (PR by John T. Wodder II) ``` ### 0.32.1 ``` - Fixed ``AttributeError: 'Requirement' object has no attribute 'url'`` on setuptools/pkg_resources versions older than 18.8 (PR by Benoit Pierre) - Fixed ``AttributeError: 'module' object has no attribute 'algorithms_available'`` on Python < 2.7.9 (PR by Benoit Pierre) - Fixed permissions on the generated ``.dist-info/RECORD`` file ``` ### 0.32.0 ``` - Removed wheel signing and verifying features - Removed the "wheel install" and "wheel installscripts" commands - Added the ``wheel pack`` command - Allowed multiple license files to be specified using the ``license_files`` option - Deprecated the ``license_file`` option - Eliminated duplicate lines from generated requirements in ``.dist-info/METADATA`` (thanks to Wim Glenn for the contribution) - Fixed handling of direct URL specifiers in requirements (PR by Benoit Pierre) - Fixed canonicalization of extras (PR by Benoit Pierre) - Warn when the deprecated ``[wheel]`` section is used in ``setup.cfg`` (PR by Jon Dufresne) ``` ### 0.31.1 ``` - Fixed arch as ``None`` when converting eggs to wheels ``` ### 0.31.0 ``` - Fixed displaying of errors on Python 3 - Fixed single digit versions in wheel files not being properly recognized - Fixed wrong character encodings being used (instead of UTF-8) to read and write ``RECORD`` (this sometimes crashed bdist_wheel too) - Enabled Zip64 support in wheels by default - Metadata-Version is now 2.1 - Dropped DESCRIPTION.rst and metadata.json from the list of generated files - Dropped support for the non-standard, undocumented ``provides-extra`` and ``requires-dist`` keywords in setup.cfg metadata - Deprecated all wheel signing and signature verification commands - Removed the (already defunct) ``tool`` extras from setup.py ``` ### 0.30.0 ``` - Added py-limited-api {cp32|cp33|cp34|...} flag to produce cpNN.abi3.{arch} tags on CPython 3. - Documented the ``license_file`` metadata key - Improved Python, abi tagging for ``wheel convert``. Thanks Ales Erjavec. - Fixed ``>`` being prepended to lines starting with "From" in the long description - Added support for specifying a build number (as per PEP 427). Thanks Ian Cordasco. - Made the order of files in generated ZIP files deterministic. Thanks Matthias Bach. - Made the order of requirements in metadata deterministic. Thanks Chris Lamb. - Fixed ``wheel install`` clobbering existing files - Improved the error message when trying to verify an unsigned wheel file - Removed support for Python 2.6, 3.2 and 3.3. ``` ### 0.29.0 ``` - Fix compression type of files in archive (Issue 155, Pull Request 62, thanks Xavier Fernandez) ``` ### 0.28.0 ``` - Fix file modes in archive (Issue 154) ``` ### 0.27.0 ``` - Support forcing a platform tag using ``--plat-name`` on pure-Python wheels, as well as nonstandard platform tags on non-pure wheels (Pull Request 60, Issue 144, thanks Andrés Díaz) - Add SOABI tags to platform-specific wheels built for Python 2.X (Pull Request 55, Issue 63, Issue 101) - Support reproducible wheel files, wheels that can be rebuilt and will hash to the same values as previous builds (Pull Request 52, Issue 143, thanks Barry Warsaw) - Support for changes in keyring >= 8.0 (Pull Request 61, thanks Jason R. Coombs) - Use the file context manager when checking if dependency_links.txt is empty, fixes problems building wheels under PyPy on Windows (Issue 150, thanks Cosimo Lupo) - Don't attempt to (recursively) create a build directory ending with ``..`` (invalid on all platforms, but code was only executed on Windows) (Issue 91) - Added the PyPA Code of Conduct (Pull Request 56) ``` ### 0.26.0 ``` - Fix multiple entrypoint comparison failure on Python 3 (Issue 148) ``` ### 0.25.0 ``` - Add Python 3.5 to tox configuration - Deterministic (sorted) metadata - Fix tagging for Python 3.5 compatibility - Support py2-none-'arch' and py3-none-'arch' tags - Treat data-only wheels as pure - Write to temporary file and rename when using wheel install --force ``` ### 0.24.0 ``` - The python tag used for pure-python packages is now .pyN (major version only). This change actually occurred in 0.23.0 when the --python-tag option was added, but was not explicitly mentioned in the changelog then. - wininst2wheel and egg2wheel removed. Use "wheel convert [archive]" instead. - Wheel now supports setuptools style conditional requirements via the extras_require={} syntax. Separate 'extra' names from conditions using the : character. Wheel's own setup.py does this. (The empty-string extra is the same as install_requires.) These conditional requirements should work the same whether the package is installed by wheel or by setup.py. ``` ### 0.23.0 ``` - Compatibility tag flags added to the bdist_wheel command - sdist should include files necessary for tests - 'wheel convert' can now also convert unpacked eggs to wheel - Rename pydist.json to metadata.json to avoid stepping on the PEP - The --skip-scripts option has been removed, and not generating scripts is now the default. The option was a temporary approach until installers could generate scripts themselves. That is now the case with pip 1.5 and later. Note that using pip 1.4 to install a wheel without scripts will leave the installation without entry-point wrappers. The "wheel install-scripts" command can be used to generate the scripts in such cases. - Thank you contributors ``` ### 0.22.0 ``` - Include entry_points.txt, scripts a.k.a. commands, in experimental pydist.json - Improved test_requires parsing - Python 2.6 fixes, "wheel version" command courtesy pombredanne ``` ### 0.21.0 ``` - Pregenerated scripts are the default again. - "setup.py bdist_wheel --skip-scripts" turns them off. - setuptools is no longer a listed requirement for the 'wheel' package. It is of course still required in order for bdist_wheel to work. - "python -m wheel" avoids importing pkg_resources until it's necessary. ``` ### 0.20.0 ``` - No longer include console_scripts in wheels. Ordinary scripts (shell files, standalone Python files) are included as usual. - Include new command "python -m wheel install-scripts [distribution [distribution ...]]" to install the console_scripts (setuptools-style scripts using pkg_resources) for a distribution. ``` ### 0.19.0 ``` - pymeta.json becomes pydist.json ``` ### 0.18.0 ``` - Python 3 Unicode improvements ``` ### 0.17.0 ``` - Support latest PEP-426 "pymeta.json" (json-format metadata) ``` ### 0.16.0 ``` - Python 2.6 compatibility bugfix (thanks John McFarlane) - Bugfix for C-extension tags for CPython 3.3 (using SOABI) - Bugfix for bdist_wininst converter "wheel convert" - Bugfix for dists where "is pure" is None instead of True or False - Python 3 fix for moving Unicode Description to metadata body - Include rudimentary API documentation in Sphinx (thanks Kevin Horn) ``` ### 0.15.0 ``` - Various improvements ``` ### 0.14.0 ``` - Changed the signature format to better comply with the current JWS spec. Breaks all existing signatures. - Include ``wheel unsign`` command to remove RECORD.jws from an archive. - Put the description in the newly allowed payload section of PKG-INFO (METADATA) files. ``` ### 0.13.0 ``` - Use distutils instead of sysconfig to get installation paths; can install headers. - Improve WheelFile() sort. - Allow bootstrap installs without any pkg_resources. ``` ### 0.12.0 ``` - Unit test for wheel.tool.install ``` ### 0.11.0 ``` - API cleanup ``` ### 0.10.3 ``` - Scripts fixer fix ``` ### 0.10.2 ``` - Fix keygen ``` ### 0.10.1 ``` - Preserve attributes on install. ``` ### 0.10.0 ``` - Include a copy of pkg_resources. Wheel can now install into a virtualenv that does not have distribute (though most packages still require pkg_resources to actually work; wheel install distribute) - Define a new setup.cfg section [wheel]. universal=1 will apply the py2.py3-none-any tag for pure python wheels. ``` ### 0.9.7 ``` - Only import dirspec when needed. dirspec is only needed to find the configuration for keygen/signing operations. ``` ### 0.9.6 ``` - requires-dist from setup.cfg overwrites any requirements from setup.py Care must be taken that the requirements are the same in both cases, or just always install from wheel. - drop dirspec requirement on win32 - improved command line utility, adds 'wheel convert [egg or wininst]' to convert legacy binary formats to wheel ``` ### 0.9.5 ``` - Wheel's own wheel file can be executed by Python, and can install itself: ``python wheel-0.9.5-py27-none-any/wheel install ...`` - Use argparse; basic ``wheel install`` command should run with only stdlib dependencies. - Allow requires_dist in setup.cfg's [metadata] section. In addition to dependencies in setup.py, but will only be interpreted when installing from wheel, not from sdist. Can be qualified with environment markers. ``` ### 0.9.4 ``` - Fix wheel.signatures in sdist ``` ### 0.9.3 ``` - Integrated digital signatures support without C extensions. - Integrated "wheel install" command (single package, no dependency resolution) including compatibility check. - Support Python 3.3 - Use Metadata 1.3 (PEP 426) ``` ### 0.9.2 ``` - Automatic signing if WHEEL_TOOL points to the wheel binary - Even more Python 3 fixes ``` ### 0.9.1 ``` - 'wheel sign' uses the keys generated by 'wheel keygen' (instead of generating a new key at random each time) - Python 2/3 encoding/decoding fixes - Run tests on Python 2.6 (without signature verification) ``` ### 0.9 ``` - Updated digital signatures scheme - Python 3 support for digital signatures - Always verify RECORD hashes on extract - "wheel" command line tool to sign, verify, unpack wheel files ``` ### 0.8 ``` - none/any draft pep tags update - improved wininst2wheel script - doc changes and other improvements ``` ### 0.7 ``` - sort .dist-info at end of wheel archive - Windows & Python 3 fixes from Paul Moore - pep8 - scripts to convert wininst & egg to wheel ``` ### 0.6 ``` - require distribute >= 0.6.28 - stop using verlib ``` ### 0.5 ``` - working pretty well ``` ### 0.4.2 ``` - hyphenated name fix ``` ### 0.4 ``` - improve test coverage - improve Windows compatibility - include tox.ini courtesy of Marc Abramowitz - draft hmac sha-256 signing function ``` ### 0.3 ``` - prototype egg2wheel conversion script ``` ### 0.2 ``` - Python 3 compatibility ``` ### 0.1 ``` - Initial version ```Links
- PyPI: https://pypi.org/project/wheel - Changelog: https://pyup.io/changelogs/wheel/ - Repo: https://github.com/pypa/wheelUpdate pytest from 3.10.0 to 3.10.0.
Changelog
### 3.10.0 ``` ========================== Features -------- - `2619 <https://github.com/pytest-dev/pytest/issues/2619>`_: Resume capturing output after ``continue`` with ``__import__("pdb").set_trace()``. This also adds a new ``pytest_leave_pdb`` hook, and passes in ``pdb`` to the existing ``pytest_enter_pdb`` hook. - `4147 <https://github.com/pytest-dev/pytest/issues/4147>`_: Add ``-sw``, ``--stepwise`` as an alternative to ``--lf -x`` for stopping at the first failure, but starting the next test invocation from that test. See `the documentation <https://docs.pytest.org/en/latest/cache.htmlstepwise>`__ for more info. - `4188 <https://github.com/pytest-dev/pytest/issues/4188>`_: Make ``--color`` emit colorful dots when not running in verbose mode. Earlier, it would only colorize the test-by-test output if ``--verbose`` was also passed. - `4225 <https://github.com/pytest-dev/pytest/issues/4225>`_: Improve performance with collection reporting in non-quiet mode with terminals. The "collecting …" message is only printed/updated every 0.5s. Bug Fixes --------- - `2701 <https://github.com/pytest-dev/pytest/issues/2701>`_: Fix false ``RemovedInPytest4Warning: usage of Session... is deprecated, please use pytest`` warnings. - `4046 <https://github.com/pytest-dev/pytest/issues/4046>`_: Fix problems with running tests in package ``__init__.py`` files. - `4260 <https://github.com/pytest-dev/pytest/issues/4260>`_: Swallow warnings during anonymous compilation of source. - `4262 <https://github.com/pytest-dev/pytest/issues/4262>`_: Fix access denied error when deleting stale directories created by ``tmpdir`` / ``tmp_path``. - `611 <https://github.com/pytest-dev/pytest/issues/611>`_: Naming a fixture ``request`` will now raise a warning: the ``request`` fixture is internal and should not be overwritten as it will lead to internal errors. Improved Documentation ---------------------- - `4255 <https://github.com/pytest-dev/pytest/issues/4255>`_: Added missing documentation about the fact that module names passed to filter warnings are not regex-escaped. Trivial/Internal Changes ------------------------ - `4272 <https://github.com/pytest-dev/pytest/issues/4272>`_: Display cachedir also in non-verbose mode if non-default. - `4277 <https://github.com/pytest-dev/pytest/issues/4277>`_: pdb: improve message about output capturing with ``set_trace``. Do not display "IO-capturing turned off/on" when ``-s`` is used to avoid confusion. - `4279 <https://github.com/pytest-dev/pytest/issues/4279>`_: Improve message and stack level of warnings issued by ``monkeypatch.setenv`` when the value of the environment variable is not a ``str``. ``` ### 3.9.3 ``` ========================= Bug Fixes --------- - `4174 <https://github.com/pytest-dev/pytest/issues/4174>`_: Fix "ValueError: Plugin already registered" with conftest plugins via symlink. - `4181 <https://github.com/pytest-dev/pytest/issues/4181>`_: Handle race condition between creation and deletion of temporary folders. - `4221 <https://github.com/pytest-dev/pytest/issues/4221>`_: Fix bug where the warning summary at the end of the test session was not showing the test where the warning was originated. - `4243 <https://github.com/pytest-dev/pytest/issues/4243>`_: Fix regression when ``stacklevel`` for warnings was passed as positional argument on python2. Improved Documentation ---------------------- - `3851 <https://github.com/pytest-dev/pytest/issues/3851>`_: Add reference to ``empty_parameter_set_mark`` ini option in documentation of ``pytest.mark.parametrize`` Trivial/Internal Changes ------------------------ - `4028 <https://github.com/pytest-dev/pytest/issues/4028>`_: Revert patching of ``sys.breakpointhook`` since it appears to do nothing. - `4233 <https://github.com/pytest-dev/pytest/issues/4233>`_: Apply an import sorter (``reorder-python-imports``) to the codebase. - `4248 <https://github.com/pytest-dev/pytest/issues/4248>`_: Remove use of unnecessary compat shim, six.binary_type ``` ### 3.9.2 ``` ========================= Bug Fixes --------- - `2909 <https://github.com/pytest-dev/pytest/issues/2909>`_: Improve error message when a recursive dependency between fixtures is detected. - `3340 <https://github.com/pytest-dev/pytest/issues/3340>`_: Fix logging messages not shown in hooks ``pytest_sessionstart()`` and ``pytest_sessionfinish()``. - `3533 <https://github.com/pytest-dev/pytest/issues/3533>`_: Fix unescaped XML raw objects in JUnit report for skipped tests - `3691 <https://github.com/pytest-dev/pytest/issues/3691>`_: Python 2: safely format warning message about passing unicode strings to ``warnings.warn``, which may cause surprising ``MemoryError`` exception when monkey patching ``warnings.warn`` itself. - `4026 <https://github.com/pytest-dev/pytest/issues/4026>`_: Improve error message when it is not possible to determine a function's signature. - `4177 <https://github.com/pytest-dev/pytest/issues/4177>`_: Pin ``setuptools>=40.0`` to support ``py_modules`` in ``setup.cfg`` - `4179 <https://github.com/pytest-dev/pytest/issues/4179>`_: Restore the tmpdir behaviour of symlinking the current test run. - `4192 <https://github.com/pytest-dev/pytest/issues/4192>`_: Fix filename reported by ``warnings.warn`` when using ``recwarn`` under python2. ``` ### 3.9.1 ``` ========================= Features -------- - `4159 <https://github.com/pytest-dev/pytest/issues/4159>`_: For test-suites containing test classes, the information about the subclassed module is now output only if a higher verbosity level is specified (at least "-vv"). ``` ### 3.9.0 ``` ========================================================================= Deprecations ------------ - `3616 <https://github.com/pytest-dev/pytest/issues/3616>`_: The following accesses have been documented as deprecated for years, but are now actually emitting deprecation warnings. * Access of ``Module``, ``Function``, ``Class``, ``Instance``, ``File`` and ``Item`` through ``Node`` instances. Now users will this warning:: usage of Function.Module is deprecated, please use pytest.Module instead Users should just ``import pytest`` and access those objects using the ``pytest`` module. * ``request.cached_setup``, this was the precursor of the setup/teardown mechanism available to fixtures. You can consult `funcarg comparison section in the docs <https://docs.pytest.org/en/latest/funcarg_compare.html>`_. * Using objects named ``"Class"`` as a way to customize the type of nodes that are collected in ``Collector`` subclasses has been deprecated. Users instead should use ``pytest_collect_make_item`` to customize node types during collection. This issue should affect only advanced plugins who create new collection types, so if you see this warning message please contact the authors so they can change the code. * The warning that produces the message below has changed to ``RemovedInPytest4Warning``:: getfuncargvalue is deprecated, use getfixturevalue - `3988 <https://github.com/pytest-dev/pytest/issues/3988>`_: Add a Deprecation warning for pytest.ensuretemp as it was deprecated since a while. Features -------- - `2293 <https://github.com/pytest-dev/pytest/issues/2293>`_: Improve usage errors messages by hiding internal details which can be distracting and noisy. This has the side effect that some error conditions that previously raised generic errors (such as ``ValueError`` for unregistered marks) are now raising ``Failed`` exceptions. - `3332 <https://github.com/pytest-dev/pytest/issues/3332>`_: Improve the error displayed when a ``conftest.py`` file could not be imported. In order to implement this, a new ``chain`` parameter was added to ``ExceptionInfo.getrepr`` to show or hide chained tracebacks in Python 3 (defaults to ``True``). - `3849 <https://github.com/pytest-dev/pytest/issues/3849>`_: Add ``empty_parameter_set_mark=fail_at_collect`` ini option for raising an exception when parametrize collects an empty set. - `3964 <https://github.com/pytest-dev/pytest/issues/3964>`_: Log messages generated in the collection phase are shown when live-logging is enabled and/or when they are logged to a file. - `3985 <https://github.com/pytest-dev/pytest/issues/3985>`_: Introduce ``tmp_path`` as a fixture providing a Path object. - `4013 <https://github.com/pytest-dev/pytest/issues/4013>`_: Deprecation warnings are now shown even if you customize the warnings filters yourself. In the previous version any customization would override pytest's filters and deprecation warnings would fall back to being hidden by default. - `4073 <https://github.com/pytest-dev/pytest/issues/4073>`_: Allow specification of timeout for ``Testdir.runpytest_subprocess()`` and ``Testdir.run()``. - `4098 <https://github.com/pytest-dev/pytest/issues/4098>`_: Add returncode argument to pytest.exit() to exit pytest with a specific return code. - `4102 <https://github.com/pytest-dev/pytest/issues/4102>`_: Reimplement ``pytest.deprecated_call`` using ``pytest.warns`` so it supports the ``match='...'`` keyword argument. This has the side effect that ``pytest.deprecated_call`` now raises ``pytest.fail.Exception`` instead of ``AssertionError``. - `4149 <https://github.com/pytest-dev/pytest/issues/4149>`_: Require setuptools>=30.3 and move most of the metadata to ``setup.cfg``. Bug Fixes --------- - `2535 <https://github.com/pytest-dev/pytest/issues/2535>`_: Improve error message when test functions of ``unittest.TestCase`` subclasses use a parametrized fixture. - `3057 <https://github.com/pytest-dev/pytest/issues/3057>`_: ``request.fixturenames`` now correctly returns the name of fixtures created by ``request.getfixturevalue()``. - `3946 <https://github.com/pytest-dev/pytest/issues/3946>`_: Warning filters passed as command line options using ``-W`` now take precedence over filters defined in ``ini`` configuration files. - `4066 <https://github.com/pytest-dev/pytest/issues/4066>`_: Fix source reindenting by using ``textwrap.dedent`` directly. - `4102 <https://github.com/pytest-dev/pytest/issues/4102>`_: ``pytest.warn`` will capture previously-warned warnings in Python 2. Previously they were never raised. - `4108 <https://github.com/pytest-dev/pytest/issues/4108>`_: Resolve symbolic links for args. This fixes running ``pytest tests/test_foo.py::test_bar``, where ``tests`` is a symlink to ``project/app/tests``: previously ``project/app/conftest.py`` would be ignored for fixtures then. - `4132 <https://github.com/pytest-dev/pytest/issues/4132>`_: Fix duplicate printing of internal errors when using ``--pdb``. - `4135 <https://github.com/pytest-dev/pytest/issues/4135>`_: pathlib based tmpdir cleanup now correctly handles symlinks in the folder. - `4152 <https://github.com/pytest-dev/pytest/issues/4152>`_: Display the filename when encountering ``SyntaxWarning``. Improved Documentation ---------------------- - `3713 <https://github.com/pytest-dev/pytest/issues/3713>`_: Update usefixtures documentation to clarify that it can't be used with fixture functions. - `4058 <https://github.com/pytest-dev/pytest/issues/4058>`_: Update fixture documentation to specify that a fixture can be invoked twice in the scope it's defined for. - `4064 <https://github.com/pytest-dev/pytest/issues/4064>`_: According to unittest.rst, setUpModule and tearDownModule were not implemented, but it turns out they are. So updated the documentation for unittest. - `4151 <https://github.com/pytest-dev/pytest/issues/4151>`_: Add tempir testing example to CONTRIBUTING.rst guide Trivial/Internal Changes ------------------------ - `2293 <https://github.com/pytest-dev/pytest/issues/2293>`_: The internal ``MarkerError`` exception has been removed. - `3988 <https://github.com/pytest-dev/pytest/issues/3988>`_: Port the implementation of tmpdir to pathlib. - `4063 <https://github.com/pytest-dev/pytest/issues/4063>`_: Exclude 0.00 second entries from ``--duration`` output unless ``-vv`` is passed on the command-line. - `4093 <https://github.com/pytest-dev/pytest/issues/4093>`_: Fixed formatting of string literals in internal tests. ``` ### 3.8.2 ``` ========================= Deprecations and Removals ------------------------- - `4036 <https://github.com/pytest-dev/pytest/issues/4036>`_: The ``item`` parameter of ``pytest_warning_captured`` hook is now documented as deprecated. We realized only after the ``3.8`` release that this parameter is incompatible with ``pytest-xdist``. Our policy is to not deprecate features during bugfix releases, but in this case we believe it makes sense as we are only documenting it as deprecated, without issuing warnings which might potentially break test suites. This will get the word out that hook implementers should not use this parameter at all. In a future release ``item`` will always be ``None`` and will emit a proper warning when a hook implementation makes use of it. Bug Fixes --------- - `3539 <https://github.com/pytest-dev/pytest/issues/3539>`_: Fix reload on assertion rewritten modules. - `4034 <https://github.com/pytest-dev/pytest/issues/4034>`_: The ``.user_properties`` attribute of ``TestReport`` objects is a list of (name, value) tuples, but could sometimes be instantiated as a tuple of tuples. It is now always a list. - `4039 <https://github.com/pytest-dev/pytest/issues/4039>`_: No longer issue warnings about using ``pytest_plugins`` in non-top-level directories when using ``--pyargs``: the current ``--pyargs`` mechanism is not reliable and might give false negatives. - `4040 <https://github.com/pytest-dev/pytest/issues/4040>`_: Exclude empty reports for passed tests when ``-rP`` option is used. - `4051 <https://github.com/pytest-dev/pytest/issues/4051>`_: Improve error message when an invalid Python expression is passed to the ``-m`` option. - `4056 <https://github.com/pytest-dev/pytest/issues/4056>`_: ``MonkeyPatch.setenv`` and ``MonkeyPatch.delenv`` issue a warning if the environment variable name is not ``str`` on Python 2. In Python 2, adding ``unicode`` keys to ``os.environ`` causes problems with ``subprocess`` (and possible other modules), making this a subtle bug specially susceptible when used with ``from __future__ import unicode_literals``. Improved Documentation ---------------------- - `3928 <https://github.com/pytest-dev/pytest/issues/3928>`_: Add possible values for fixture scope to docs. ``` ### 3.8.1 ``` ========================= Bug Fixes --------- - `3286 <https://github.com/pytest-dev/pytest/issues/3286>`_: ``.pytest_cache`` directory is now automatically ignored by Git. Users who would like to contribute a solution for other SCMs please consult/comment on this issue. - `3749 <https://github.com/pytest-dev/pytest/issues/3749>`_: Fix the following error during collection of tests inside packages:: TypeError: object of type 'Package' has no len() - `3941 <https://github.com/pytest-dev/pytest/issues/3941>`_: Fix bug where indirect parametrization would consider the scope of all fixtures used by the test function to determine the parametrization scope, and not only the scope of the fixtures being parametrized. - `3973 <https://github.com/pytest-dev/pytest/issues/3973>`_: Fix crash of the assertion rewriter if a test changed the current working directory without restoring it afterwards. - `3998 <https://github.com/pytest-dev/pytest/issues/3998>`_: Fix issue that prevented some caplog properties (for example ``record_tuples``) from being available when entering the debugger with ``--pdb``. - `3999 <https://github.com/pytest-dev/pytest/issues/3999>`_: Fix ``UnicodeDecodeError`` in python2.x when a class returns a non-ascii binary ``__repr__`` in an assertion which also contains non-ascii text. Improved Documentation ---------------------- - `3996 <https://github.com/pytest-dev/pytest/issues/3996>`_: New `Deprecations and Removals <https://docs.pytest.org/en/latest/deprecations.html>`_ page shows all currently deprecated features, the rationale to do so, and alternatives to update your code. It also list features removed from pytest in past major releases to help those with ancient pytest versions to upgrade. Trivial/Internal Changes ------------------------ - `3955 <https://github.com/pytest-dev/pytest/issues/3955>`_: Improve pre-commit detection for changelog filenames - `3975 <https://github.com/pytest-dev/pytest/issues/3975>`_: Remove legacy code around im_func as that was python2 only ``` ### 3.8.0 ``` ========================= Deprecations and Removals ------------------------- - `2452 <https://github.com/pytest-dev/pytest/issues/2452>`_: ``Config.warn`` and ``Node.warn`` have been deprecated, see `<https://docs.pytest.org/en/latest/deprecations.htmlconfig-warn-and-node-warn>`_ for rationale and examples. - `3936 <https://github.com/pytest-dev/pytest/issues/3936>`_: ``pytest.mark.filterwarnings`` second parameter is no longer regex-escaped, making it possible to actually use regular expressions to check the warning message. **Note**: regex-escaping the match string was an implementation oversight that might break test suites which depend on the old behavior. Features -------- - `2452 <https://github.com/pytest-dev/pytest/issues/2452>`_: Internal pytest warnings are now issued using the standard ``warnings`` module, making it possible to use the standard warnings filters to manage those warnings. This introduces ``PytestWarning``, ``PytestDeprecationWarning`` and ``RemovedInPytest4Warning`` warning types as part of the public API. Consult `the documentation <https://docs.pytest.org/en/latest/warnings.htmlinternal-pytest-warnings>`__ for more info. - `2908 <https://github.com/pytest-dev/pytest/issues/2908>`_: ``DeprecationWarning`` and ``PendingDeprecationWarning`` are now shown by default if no other warning filter is configured. This makes pytest more compliant with `PEP-0506 <https://www.python.org/dev/peps/pep-0565/recommended-filter-settings-for-test-runners>`_. See `the docs <https://docs.pytest.org/en/latest/warnings.htmldeprecationwarning-and-pendingdeprecationwarning>`_ for more info. - `3251 <https://github.com/pytest-dev/pytest/issues/3251>`_: Warnings are now captured and displayed during test collection. - `3784 <https://github.com/pytest-dev/pytest/issues/3784>`_: ``PYTEST_DISABLE_PLUGIN_AUTOLOAD`` environment variable disables plugin auto-loading when set. - `3829 <https://github.com/pytest-dev/pytest/issues/3829>`_: Added the ``count`` option to ``console_output_style`` to enable displaying the progress as a count instead of a percentage. - `3837 <https://github.com/pytest-dev/pytest/issues/3837>`_: Added support for 'xfailed' and 'xpassed' outcomes to the ``pytester.RunResult.assert_outcomes`` signature. Bug Fixes --------- - `3911 <https://github.com/pytest-dev/pytest/issues/3911>`_: Terminal writer now takes into account unicode character width when writing out progress. - `3913 <https://github.com/pytest-dev/pytest/issues/3913>`_: Pytest now returns with correct exit code (EXIT_USAGEERROR, 4) when called with unknown arguments. - `3918 <https://github.com/pytest-dev/pytest/issues/3918>`_: Improve performance of assertion rewriting. Improved Documentation ---------------------- - `3566 <https://github.com/pytest-dev/pytest/issues/3566>`_: Added a blurb in usage.rst for the usage of -r flag which is used to show an extra test summary info. - `3907 <https://github.com/pytest-dev/pytest/issues/3907>`_: Corrected type of the exceptions collection passed to ``xfail``: ``raises`` argument accepts a ``tuple`` instead of ``list``. Trivial/Internal Changes ------------------------ - `3853 <https://github.com/pytest-dev/pytest/issues/3853>`_: Removed ``"run all (no recorded failures)"`` message printed with ``--failed-first`` and ``--last-failed`` when there are no failed tests. ``` ### 3.7.4 ``` ========================= Bug Fixes --------- - `3506 <https://github.com/pytest-dev/pytest/issues/3506>`_: Fix possible infinite recursion when writing ``.pyc`` files. - `3853 <https://github.com/pytest-dev/pytest/issues/3853>`_: Cache plugin now obeys the ``-q`` flag when ``--last-failed`` and ``--failed-first`` flags are used. - `3883 <https://github.com/pytest-dev/pytest/issues/3883>`_: Fix bad console output when using ``console_output_style=classic``. - `3888 <https://github.com/pytest-dev/pytest/issues/3888>`_: Fix macOS specific code using ``capturemanager`` plugin in doctests. Improved Documentation ---------------------- - `3902 <https://github.com/pytest-dev/pytest/issues/3902>`_: Fix pytest.org links ``` ### 3.7.3 ``` ========================= Bug Fixes --------- - `3033 <https://github.com/pytest-dev/pytest/issues/3033>`_: Fixtures during teardown can again use ``capsys`` and ``capfd`` to inspect output captured during tests. - `3773 <https://github.com/pytest-dev/pytest/issues/3773>`_: Fix collection of tests from ``__init__.py`` files if they match the ``python_files`` configuration option. - `3796 <https://github.com/pytest-dev/pytest/issues/3796>`_: Fix issue where teardown of fixtures of consecutive sub-packages were executed once, at the end of the outer package. - `3816 <https://github.com/pytest-dev/pytest/issues/3816>`_: Fix bug where ``--show-capture=no`` option would still show logs printed during fixture teardown. - `3819 <https://github.com/pytest-dev/pytest/issues/3819>`_: Fix ``stdout/stderr`` not getting captured when real-time cli logging is active. - `3843 <https://github.com/pytest-dev/pytest/issues/3843>`_: Fix collection error when specifying test functions directly in the command line using ``test.py::test`` syntax together with ``--doctest-modules``. - `3848 <https://github.com/pytest-dev/pytest/issues/3848>`_: Fix bugs where unicode arguments could not be passed to ``testdir.runpytest`` on Python 2. - `3854 <https://github.com/pytest-dev/pytest/issues/3854>`_: Fix double collection of tests within packages when the filename starts with a capital letter. Improved Documentation ---------------------- - `3824 <https://github.com/pytest-dev/pytest/issues/3824>`_: Added example for multiple glob pattern matches in ``python_files``. - `3833 <https://github.com/pytest-dev/pytest/issues/3833>`_: Added missing docs for ``pytester.Testdir``. - `3870 <https://github.com/pytest-dev/pytest/issues/3870>`_: Correct documentation for setuptools integration. Trivial/Internal Changes ------------------------ - `3826 <https://github.com/pytest-dev/pytest/issues/3826>`_: Replace broken type annotations with type comments. - `3845 <https://github.com/pytest-dev/pytest/issues/3845>`_: Remove a reference to issue `568 <https://github.com/pytest-dev/pytest/issues/568>`_ from the documentation, which has since been fixed. ``` ### 3.7.2 ``` ========================= Bug Fixes --------- - `3671 <https://github.com/pytest-dev/pytest/issues/3671>`_: Fix ``filterwarnings`` not being registered as a builtin mark. - `3768 <https://github.com/pytest-dev/pytest/issues/3768>`_, `3789 <https://github.com/pytest-dev/pytest/issues/3789>`_: Fix test collection from packages mixed with normal directories. - `3771 <https://github.com/pytest-dev/pytest/issues/3771>`_: Fix infinite recursion during collection if a ``pytest_ignore_collect`` hook returns ``False`` instead of ``None``. - `3774 <https://github.com/pytest-dev/pytest/issues/3774>`_: Fix bug where decorated fixtures would lose functionality (for example ``mock.patch``). - `3775 <https://github.com/pytest-dev/pytest/issues/3775>`_: Fix bug where importing modules or other objects with prefix ``pytest_`` prefix would raise a ``PluginValidationError``. - `3788 <https://github.com/pytest-dev/pytest/issues/3788>`_: Fix ``AttributeError`` during teardown of ``TestCase`` subclasses which raise an exception during ``__init__``. - `3804 <https://github.com/pytest-dev/pytest/issues/3804>`_: Fix traceback reporting for exceptions with ``__cause__`` cycles. Improved Documentation ---------------------- - `3746 <https://github.com/pytest-dev/pytest/issues/3746>`_: Add documentation for ``metafunc.config`` that had been mistakenly hidden. ``` ### 3.7.1 ``` ========================= Bug Fixes --------- - `3473 <https://github.com/pytest-dev/pytest/issues/3473>`_: Raise immediately if ``approx()`` is given an expected value of a type it doesn't understand (e.g. strings, nested dicts, etc.). - `3712 <https://github.com/pytest-dev/pytest/issues/3712>`_: Correctly represent the dimensions of a numpy array when calling ``repr()`` on ``approx()``. - `3742 <https://github.com/pytest-dev/pytest/issues/3742>`_: Fix incompatibility with third party plugins during collection, which produced the error ``object has no attribute '_collectfile'``. - `3745 <https://github.com/pytest-dev/pytest/issues/3745>`_: Display the absolute path if ``cache_dir`` is not relative to the ``rootdir`` instead of failing. - `3747 <https://github.com/pytest-dev/pytest/issues/3747>`_: Fix compatibility problem with plugins and the warning code issued by fixture functions when they are called directly. - `3748 <https://github.com/pytest-dev/pytest/issues/3748>`_: Fix infinite recursion in ``pytest.approx`` with arrays in ``numpy<1.13``. - `3757 <https://github.com/pytest-dev/pytest/issues/3757>`_: Pin pathlib2 to ``>=2.2.0`` as we require ``__fspath__`` support. - `3763 <https://github.com/pytest-dev/pytest/issues/3763>`_: Fix ``TypeError`` when the assertion message is ``bytes`` in python 3. ``` ### 3.7.0 ``` ========================= Deprecations and Removals ------------------------- - `2639 <https://github.com/pytest-dev/pytest/issues/2639>`_: ``pytest_namespace`` has been `deprecated <https://docs.pytest.org/en/latest/deprecations.htmlpytest-namespace>`_. - `3661 <https://github.com/pytest-dev/pytest/issues/3661>`_: Calling a fixture function directly, as opposed to request them in a test function, now issues a ``RemovedInPytest4Warning``. See `the documentation for rationale and examples <https://docs.pytest.org/en/latest/deprecations.htmlcalling-fixtures-directly>`_. Features -------- - `2283 <https://github.com/pytest-dev/pytest/issues/2283>`_: New ``package`` fixture scope: fixtures are finalized when the last test of a *package* finishes. This feature is considered **experimental**, so use it sparingly. - `3576 <https://github.com/pytest-dev/pytest/issues/3576>`_: ``Node.add_marker`` now supports an ``append=True/False`` parameter to determine whether the mark comes last (default) or first. - `3579 <https://github.com/pytest-dev/pytest/issues/3579>`_: Fixture ``caplog`` now has a ``messages`` property, providing convenient access to the format-interpolated log messages without the extra data provided by the formatter/handler. - `3610 <https://github.com/pytest-dev/pytest/issues/3610>`_: New ``--trace`` option to enter the debugger at the start of a test. - `3623 <https://github.com/pytest-dev/pytest/issues/3623>`_: Introduce ``pytester.copy_example`` as helper to do acceptance tests against examples from the project. Bug Fixes --------- - `2220 <https://github.com/pytest-dev/pytest/issues/2220>`_: Fix a bug where fixtures overridden by direct parameters (for example parametrization) were being instantiated even if they were not being used by a test. - `3695 <https://github.com/pytest-dev/pytest/issues/3695>`_: Fix ``ApproxNumpy`` initialisation argument mixup, ``abs`` and ``rel`` tolerances were flipped causing strange comparsion results. Add tests to check ``abs`` and ``rel`` tolerances for ``np.array`` and test for expecting ``nan`` with ``np.array()`` - `980 <https://github.com/pytest-dev/pytest/issues/980>`_: Fix truncated locals output in verbose mode. Improved Documentation ---------------------- - `3295 <https://github.com/pytest-dev/pytest/issues/3295>`_: Correct the usage documentation of ``--last-failed-no-failures`` by adding the missing ``--last-failed`` argument in the presented examples, because they are misleading and lead to think that the missing argument is not needed. Trivial/Internal Changes ------------------------ - `3519 <https://github.com/pytest-dev/pytest/issues/3519>`_: Now a ``README.md`` file is created in ``.pytest_cache`` to make it clear why the directory exists. ``` ### 3.6.4 ``` ========================= Bug Fixes --------- - Invoke pytest using ``-mpytest`` so ``sys.path`` does not get polluted by packages installed in ``site-packages``. (`742 <https://github.com/pytest-dev/pytest/issues/742>`_) Improved Documentation ---------------------- - Use ``smtp_connection`` instead of ``smtp`` in fixtures documentation to avoid possible confusion. (`3592 <https://github.com/pytest-dev/pytest/issues/3592>`_) Trivial/Internal Changes ------------------------ - Remove obsolete ``__future__`` imports. (`2319 <https://github.com/pytest-dev/pytest/issues/2319>`_) - Add CITATION to provide information on how to formally cite pytest. (`3402 <https://github.com/pytest-dev/pytest/issues/3402>`_) - Replace broken type annotations with type comments. (`3635 <https://github.com/pytest-dev/pytest/issues/3635>`_) - Pin ``pluggy`` to ``<0.8``. (`3727 <https://github.com/pytest-dev/pytest/issues/3727>`_) ``` ### 3.6.3 ``` ========================= Bug Fixes --------- - Fix ``ImportWarning`` triggered by explicit relative imports in assertion-rewritten package modules. (`3061 <https://github.com/pytest-dev/pytest/issues/3061>`_) - Fix error in ``pytest.approx`` when dealing with 0-dimension numpy arrays. (`3593 <https://github.com/pytest-dev/pytest/issues/3593>`_) - No longer raise ``ValueError`` when using the ``get_marker`` API. (`3605 <https://github.com/pytest-dev/pytest/issues/3605>`_) - Fix problem where log messages wi