Pytest no longer supports Python 2.6 and 3.3. Those Python versions
are EOL for some time now and incur maintenance and compatibility costs on
the pytest core team, and following up with the rest of the community we
decided that they will no longer be supported starting on this version. Users
which still require those versions should pin pytest to <3.3. (2812 <https://github.com/pytest-dev/pytest/issues/2812>_)
Remove internal _preloadplugins() function. This removal is part of the
pytest_namespace() hook deprecation. (2236 <https://github.com/pytest-dev/pytest/issues/2236>_)
Internally change CallSpec2 to have a list of marks instead of a broken
mapping of keywords. This removes the keywords attribute of the internal
CallSpec2 class. (2672 <https://github.com/pytest-dev/pytest/issues/2672>_)
Remove ParameterSet.deprecated_argdict - its not a public api and the lack
of the underscore was a naming error. (2675 <https://github.com/pytest-dev/pytest/issues/2675>)
Remove the internal multi-typed attribute Node._evalskip and replace it
with the boolean Node._skipped_by_mark. (2767 <https://github.com/pytest-dev/pytest/issues/2767>_)
Features
pytest_fixture_post_finalizer hook can now receive a request
argument. (2124 <https://github.com/pytest-dev/pytest/issues/2124>_)
Replace the old introspection code in compat.py that determines the available
arguments of fixtures with inspect.signature on Python 3 and
funcsigs.signature on Python 2. This should respect __signature__
declarations on functions. (2267 <https://github.com/pytest-dev/pytest/issues/2267>_)
Report tests with global pytestmark variable only once. (2549 <https://github.com/pytest-dev/pytest/issues/2549>_)
Now pytest displays the total progress percentage while running tests. The
previous output style can be set by configuring the console_output_style
setting to classic. (2657 <https://github.com/pytest-dev/pytest/issues/2657>_)
Match warns signature to raises by adding match keyword. (2708 <https://github.com/pytest-dev/pytest/issues/2708>_)
Pytest now captures and displays output from the standard logging module.
The user can control the logging level to be captured by specifying options
in pytest.ini, the command line and also during individual tests using
markers. Also, a caplog fixture is available that enables users to test
the captured log during specific tests (similar to capsys for example).
For more information, please see the logging docs <https://docs.pytest.org/en/latest/logging.html>. This feature was
introduced by merging the popular pytest-catchlog <https://pypi.org/project/pytest-catchlog/> plugin, thanks to Thomas Hisch <https://github.com/thisch>. Be advised that during the merging the
backward compatibility interface with the defunct pytest-capturelog has
been dropped. (2794 <https://github.com/pytest-dev/pytest/issues/2794>)
Add allow_module_level kwarg to pytest.skip(), enabling to skip the
whole module. (2808 <https://github.com/pytest-dev/pytest/issues/2808>_)
Allow setting file_or_dir, -c, and -o in PYTESTADDOPTS. (2824 <https://github.com/pytest-dev/pytest/issues/2824>)
Return stdout/stderr capture results as a namedtuple, so out and
err can be accessed by attribute. (2879 <https://github.com/pytest-dev/pytest/issues/2879>_)
Add capfdbinary, a version of capfd which returns bytes from
readouterr(). (2923 <https://github.com/pytest-dev/pytest/issues/2923>_)
Add capsysbinary a version of capsys which returns bytes from
readouterr(). (2934 <https://github.com/pytest-dev/pytest/issues/2934>_)
Implement feature to skip setup.py files when run with
--doctest-modules. (502 <https://github.com/pytest-dev/pytest/issues/502>_)
Bug Fixes
Resume output capturing after capsys/capfd.disabled() context manager.
(1993 <https://github.com/pytest-dev/pytest/issues/1993>_)
pytest_fixture_setup and pytest_fixture_post_finalizer hooks are now
called for all conftest.py files. (2124 <https://github.com/pytest-dev/pytest/issues/2124>_)
If an exception happens while loading a plugin, pytest no longer hides the
original traceback. In python2 it will show the original traceback with a new
message that explains in which plugin. In python3 it will show 2 canonized
exceptions, the original exception while loading the plugin in addition to an
exception that PyTest throws about loading a plugin. (2491 <https://github.com/pytest-dev/pytest/issues/2491>_)
capsys and capfd can now be used by other fixtures. (2709 <https://github.com/pytest-dev/pytest/issues/2709>_)
testdir now uses use the same method used by tmpdir to create its
temporary directory. This changes the final structure of the testdir
directory slightly, but should not affect usage in normal scenarios and
avoids a number of potential problems. (2751 <https://github.com/pytest-dev/pytest/issues/2751>_)
Pytest no longer complains about warnings with unicode messages being
non-ascii compatible even for ascii-compatible messages. As a result of this,
warnings with unicode messages are converted first to an ascii representation
for safety. (2809 <https://github.com/pytest-dev/pytest/issues/2809>_)
Change return value of pytest command when --maxfail is reached from
2 (interrupted) to 1 (failed). (2845 <https://github.com/pytest-dev/pytest/issues/2845>_)
Fix issue in assertion rewriting which could lead it to rewrite modules which
should not be rewritten. (2939 <https://github.com/pytest-dev/pytest/issues/2939>_)
Handle marks without description in pytest.ini. (2942 <https://github.com/pytest-dev/pytest/issues/2942>_)
Trivial/Internal Changes
pytest now depends on attrs <https://pypi.org/project/attrs/> for internal
structures to ease code maintainability. (2641 <https://github.com/pytest-dev/pytest/issues/2641>)
Refactored internal Python 2/3 compatibility code to use six. (2642 <https://github.com/pytest-dev/pytest/issues/2642>_)
Stop vendoring pluggy - we're missing out on its latest changes for not
much benefit (2719 <https://github.com/pytest-dev/pytest/issues/2719>_)
Internal refactor: simplify ascii string escaping by using the
backslashreplace error handler in newer Python 3 versions. (2734 <https://github.com/pytest-dev/pytest/issues/2734>_)
Remove unnecessary mark evaluator in unittest plugin (2767 <https://github.com/pytest-dev/pytest/issues/2767>_)
Calls to Metafunc.addcall now emit a deprecation warning. This function
is scheduled to be removed in pytest-4.0. (2876 <https://github.com/pytest-dev/pytest/issues/2876>_)
Internal move of the parameterset extraction to a more maintainable place.
(2877 <https://github.com/pytest-dev/pytest/issues/2877>_)
Internal refactoring to simplify scope node lookup. (2910 <https://github.com/pytest-dev/pytest/issues/2910>_)
Configure pytest to prevent pip from installing pytest in unsupported
Python versions. (2922 <https://github.com/pytest-dev/pytest/issues/2922>_)
3.2.5
=========================
Bug Fixes
Remove py<1.5 restriction from pytest as this can cause version
conflicts in some installations. (2926 <https://github.com/pytest-dev/pytest/issues/2926>_)
3.2.4
=========================
Bug Fixes
Fix the bug where running with --pyargs will result in items with
empty parent.nodeid if run from a different root directory. (2775 <https://github.com/pytest-dev/pytest/issues/2775>_)
Fix issue with pytest.parametrize if argnames was specified as keyword arguments.
(2819 <https://github.com/pytest-dev/pytest/issues/2819>_)
Strip whitespace from marker names when reading them from INI config. (2856 <https://github.com/pytest-dev/pytest/issues/2856>_)
Show full context of doctest source in the pytest output, if the line number of
failed example in the docstring is < 9. (2882 <https://github.com/pytest-dev/pytest/issues/2882>_)
Match fixture paths against actual path segments in order to avoid matching folders which share a prefix.
(2836 <https://github.com/pytest-dev/pytest/issues/2836>_)
Improved Documentation
Introduce a dedicated section about conftest.py. (1505 <https://github.com/pytest-dev/pytest/issues/1505>_)
Explicitly mention xpass in the documentation of xfail. (1997 <https://github.com/pytest-dev/pytest/issues/1997>_)
Append example for pytest.param in the example/parametrize document. (2658 <https://github.com/pytest-dev/pytest/issues/2658>_)
Clarify language of proposal for fixtures parameters (2893 <https://github.com/pytest-dev/pytest/issues/2893>_)
List python 3.6 in the documented supported versions in the getting started
document. (2903 <https://github.com/pytest-dev/pytest/issues/2903>_)
Clarify the documentation of available fixture scopes. (538 <https://github.com/pytest-dev/pytest/issues/538>_)
Add documentation about the python -m pytest invocation adding the
current directory to sys.path. (911 <https://github.com/pytest-dev/pytest/issues/911>_)
py 1.4.34 -> 1.5.2
1.5.2
=====
fix 169, 170: error importing py.log on Windows: no module named syslog.
1.5.1
=====
fix 167 - prevent pip from installing py in unsupported Python versions.
1.5.0
=====
NOTE: this release has been removed from PyPI due to missing package
metadata which caused a number of problems to py26 and py33 users.
This issue was fixed in the 1.5.1 release.
python 2.6 and 3.3 are no longer supported
deprecate py.std and remove all internal uses
fix 73 turn py.error into an actual module
path join to / no longer produces leading double slashes
fix 82 - remove unsupportable aliases
fix python37 compatibility of path.sysfind on windows by correctly replacing vars
turn iniconfig and apipkg into vendored packages and ease de-vendoring for distributions
add TerminalWriter.chars_on_current_line read-only property that tracks how many characters
have been written to the current line.
Faker 0.8.6 -> 0.8.7
0.8.7
Corrected some issues with the Hungarian (hu_HU) providers, such as incorrectly capitalized company suffixes, street/road type names and place names. Thanks chrisvoncsefalvay.
The Hungarian locale's providers.job.job provider now returns Hungarian job names, taken from the Hungarian National Statistical Office (KSH)'s 2008 survey nomenclature of employment (FEOR '08). Thanks chrisvoncsefalvay.
Added he_IL locale. Thanks bjesus.
Fix possible infinite loop in random_sample_unique. Thanks 153957.
Add aliases to make pt_BR address provider compatible with en_US. Thanks diegoholiveira.
Fix ResourceWarning in setup.py. Thanks jdufresne.
Update test requirements.
Django 1.11.6 -> 1.11.7
1.11.7
===========================
November 1, 2017
Django 1.11.7 fixes several bugs in 1.11.6.
Bugfixes
Prevented cache.get_or_set() from caching None if the default
argument is a callable that returns None (:ticket:28601).
Fixed the Basque DATE_FORMAT string (:ticket:28710).
Made QuerySet.reverse() affect nulls_first and nulls_last
(:ticket:28722).
Fixed unquoted table names in Subquery SQL when using OuterRef
(:ticket:28689).
===========================
simplejson 3.11.1 -> 3.13.2
3.13.2
Fix additional Python 2.x compilation issue on Windows
Move RawJSON implementation to simplejson.raw_json module
Move JSONDecodeError implementation to simplejson.errors module
mozilla-django-oidc 0.4.1 -> 0.4.2
0.4.2
++++++++++++++++++
Fix OIDC_USERNAME_ALGO to actually load dotted import path of callback.
Add verify_claims method for advanced authentication checks
futures 3.1.1 -> 3.2.0
3.2.0
=====
The ThreadPoolExecutor class constructor now accepts an optional thread_name_prefix
argument to make it possible to customize the names of the threads created by the pool.
Upstream contribution by Gregory P. Smith in https://bugs.python.org/issue27664.
Backported fixes from upstream (thanks Lisandro Dalcin):
Fixed a potential use-after-free in the verify callback and resolved a memory leak when loading PKCS12 files with cacerts.
723 <https://github.com/pyca/pyopenssl/pull/723>_
Added Connection.export_keying_material for RFC 5705 compatible export of keying material.
725 <https://github.com/pyca/pyopenssl/pull/725>_
Re-added a subset of the OpenSSL.rand module.
This subset allows conscientious users to reseed the OpenSSL CSPRNG after fork.
708 <https://github.com/pyca/pyopenssl/pull/708>_
Corrected a use-after-free when reusing an issuer or subject from an X509 object after the underlying object has been mutated.
709 <https://github.com/pyca/pyopenssl/pull/709>_
Updates
Here's a list of all the updates bundled in this pull request. I've added some links to make it easier for you to find all the information you need.
Changelogs
pytest 3.2.3 -> 3.3.0
py 1.4.34 -> 1.5.2
Faker 0.8.6 -> 0.8.7
Django 1.11.6 -> 1.11.7
simplejson 3.11.1 -> 3.13.2
mozilla-django-oidc 0.4.1 -> 0.4.2
futures 3.1.1 -> 3.2.0
pyOpenSSL 17.3.0 -> 17.5.0
That's it for now!
Happy merging! 🤖