Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scheduled weekly dependency update for week 09 #1427

Merged
merged 41 commits into from
Mar 5, 2019

Conversation

pyup-bot
Copy link
Contributor

@pyup-bot pyup-bot commented Mar 4, 2019

Update gunicorn from 19.8.1 to 19.9.0.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update psycopg2-binary from 2.7.5 to 2.7.7.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update wagtail from 1.13.2 to 1.13.4.

Changelog

1.13.4

~~~~~~~~~~~~~~~~~~~

* Fix: Pin Beautiful Soup to 4.6.0 due to further regressions in formatting empty elements (Matt Westcott)

1.13.3

~~~~~~~~~~~~~~~~~~~

* Fix: Pin django-taggit to <0.23 to restore Django 1.8 compatibility (Matt Westcott)
* Fix: Mark Beautiful Soup 4.6.1 as incompatible due to bug in formatting empty elements (Matt Westcott)
Links

Update python-dateutil from 2.7.3 to 2.8.0.

Changelog

2.8.0

==========================

Data updates
------------

- Updated tzdata version to to 2018i.


Features
--------

- Added support for ``EXDATE`` parameters when parsing ``rrule`` strings.
Reported by mlorant (gh issue 410), fixed by nicoe (gh pr 859).
- Added support for sub-minute time zone offsets in Python 3.6+.
Fixed by cssherry (gh issue 582, pr 763)
- Switched the ``tzoffset``, ``tzstr`` and ``gettz`` caches over to using weak
references, so that the cache expires when no other references to the
original ``tzinfo`` objects exist. This cache-expiry behavior is not
guaranteed in the public interface and may change in the future. To improve
performance in the case where transient references to the same time zones
are repeatedly created but no strong reference is continuously held, a
smaller "strong value" cache was also added. Weak value cache implemented by
cs-cordero (gh pr 672, 801), strong cache added by
Gökçen Nurlu (gh issue 691, gh pr 761)


Bugfixes
--------

- Added time zone inference when initializing an ``rrule`` with a specified
``UNTIL`` but without an explicitly specified ``DTSTART``; the time zone
of the generated ``DTSTART`` will now be taken from the ``UNTIL`` rule.
Reported by href (gh issue 652). Fixed by absreim (gh pr 693).
- Fixed an issue where ``parser.parse`` would raise ``Decimal``-specific errors
instead of a standard ``ValueError`` if certain malformed values were parsed
(e.g. ``NaN`` or infinite values). Reported and fixed by
amureki (gh issue 662, gh pr 679).
- Fixed issue in ``parser`` where a ``tzinfos`` call explicitly returning
``None`` would throw a ``ValueError``.
Fixed by parsethis (gh issue 661, gh pr 681)
- Fixed incorrect parsing of certain dates earlier than 100 AD when repesented
in the form "%B.%Y.%d", e.g. "December.0031.30". (gh issue 687, pr 700)
- Add support for ISO 8601 times with comma as the decimal separator in the
``dateutil.parser.isoparse`` function. (gh pr 721)
- Changed handling of ``T24:00`` to be compliant with the standard. ``T24:00``
now represents midnight on the *following* day.
Fixed by cheukting (gh issue 658, gh pr 751)
- Fixed an issue where ``isoparser.parse_isotime`` was unable to handle the
``24:00`` variant representation of midnight. (gh pr 773)
- Added support for more than 6 fractional digits in `isoparse`.
Reported and fixed by jayschwa (gh issue 786, gh pr 787).
- Added 'z' (lower case Z) as valid UTC time zone in isoparser.
Reported by cjgibson (gh issue 820). Fixed by Cheukting (gh pr 822)
- Fixed a bug with base offset changes during DST in ``tzfile``, and refactored
the way base offset changes are detected. Originally reported on
StackOverflow by MartinThoma. (gh issue 812, gh pr 810)
- Fixed error condition in ``tz.gettz`` when a non-ASCII timezone is passed on
Windows in Python 2.7. (gh issue 802, pr 861)
- Improved performance and inspection properties of ``tzname`` methods.
(gh pr 811)
- Removed unnecessary binary_type compatibility shims.
Added by jdufresne (gh pr 817)
- Changed ``python setup.py test`` to print an error to ``stderr`` and exit
with 1 instead of 0. Reported and fixed by hroncok (gh pr 814)
- Added a ``pyproject.toml`` file with build requirements and an explicitly
specified build backend. (gh issue 736, gh prs 746, 863)


Documentation changes
---------------------

- Added documentation for the ``rrule.rrulestr`` function.
Fixed by prdickson (gh issue 623, gh pr 762)
- Added documentation for ``dateutil.tz.gettz``.
Fixed by weatherpattern (gh issue 647, gh pr 704)
- Add documentation for the ``dateutil.tz.win`` module and mocked out certain
Windows-specific modules so that autodoc can still be run on non-Windows
systems. (gh issue 442, pr 715)
- Added changelog to documentation. (gh issue 692, gh pr 707)
- Changed order of keywords in the ``rrule`` docstring.
Reported and fixed by rmahajan14 (gh issue 686, gh pr 695).
- Improved documentation on the use of ``until`` and ``count`` parameters in
``rrule``. Fixed by lucaferocino (gh pr 755).
- Added an example of how to use a custom ``parserinfo`` subclass to parse
non-standard datetime formats in the examples documentation for ``parser``.
Added by prdickson (gh 753)
- Added doctest examples to ``tzfile`` documentation.
Patch by weatherpattern (gh pr 671)
- Updated the documentation for ``relativedelta``'s ``weekday`` arguments.
Fixed by kvn219 huangy22 and ElliotJH (gh pr 673)
- Improved explanation of the order that ``relativedelta`` components are
applied in. Fixed by kvn219 huangy22 and ElliotJH (gh pr 673)
- Expanded the description and examples in the ``relativedelta`` class.
Contributed by andrewcbennett (gh pr 759)
- Improved the contributing documentation to clarify where to put new changelog
files. Contributed by andrewcbennett (gh pr 757)
- Fixed a broken doctest in the ``relativedelta`` module.
Fixed by nherriot (gh pr 758).
- Changed the default theme to ``sphinx_rtd_theme``, and changed the sphinx
configuration accordingly. (gh pr 707)
- Reorganized ``dateutil.tz`` documentation and fixed issue with the
``dateutil.tz`` docstring. (gh pr 714)
- Cleaned up malformed RST in the ``tz`` documentation.
(gh issue 702, gh pr 706)
- Corrected link syntax and updated URL to https for ISO year week number
notation in ``relativedelta`` examples. (gh issue 670, pr 711)


Misc
----

- GH 674, GH 688, GH 699, GH 720, GH 723, GH 726, GH 727, GH 740,
GH 750, GH 760, GH 767, GH 772, GH 773, GH 780, GH 784, GH 785,
GH 791, GH 799, GH 813, GH 836, GH 839, GH 857

2.7.5

==========================

Data updates
------------

- Update tzdata to 2018g

2.7.4

==========================

Data updates
------------

- Updated tzdata version to 2018f.
Links

Update django-ckeditor from 5.5.0 to 5.6.1.

Changelog

5.6.1

-----
. Fix bad pypi package

5.6.0

-----
. Django 2.1 compatibility, minimal supported Django version is 1.11 LTS
. Option to set custom django file backend for CKEditor uploader app.
Links

Update django-countries from 5.3.1 to 5.3.3.

Changelog

5.3.3

========================

- Add test coverage for Django Rest Framework 3.9.

5.3.2

======================

- Tests for Django 2.1 and Django Rest Framework 3.8.
Links

Update django-filter from 1.1.0 to 2.1.0.

Changelog

2.1

-----------------------

* Fixed a regression in ``FilterView`` introduced in 2.0. An empty ``QuerySet`` was
incorrectly used whenever the FilterSet was unbound (i.e. when there were
no GET parameters).  The correct, pre-2.0 behaviour is now restored.

A workaround was to set ``strict=False`` on the ``FilterSet``. This is no
longer necessary, so you may restore `strict` behaviour as desired.

* Added ``IsoDateTimeFromToRangeFilter``. Allows From-To filtering using
ISO-8601 formatted dates.

2.0

-----------------------

2.0 introduced a number of small changes and tidy-ups.
Please see the migration guide:

https://django-filter.readthedocs.io/en/master/guide/migration.htmlmigrating-to-2-0

* Added testing for Python 3.7 (944)
* Improve exception message for invalid filter result (943)
* Test QueryDict against CSV filters (937)
* Add `renderer` argument to `render()` method of `BooleanWidget` (923)
* Fix lookups for reverse relationships (915)
* Refactor backend filterset instantiation (865)
* Improve view-related attribute name consistency (867)
* Fix distinct call for range filters (855)
* Fix empty value check for CSV range (854)
* Rework DateRangeFilter (852)
* Added testing for Django 2.1
* Rework 'lookup types' handling into LookupChoiceFilter (851)
* Add linting and docs builds to CI (850)
* Use DRF BooleanFilter for NullBooleanField (844)
* Added Brazilian locale (841)
* List Django as a dependency in setup.py (846)
* Keep coverage reports files off version control. (924)
* Update migration docs (866)
* Added  be, cs and uk translations. Updated de and ru (861)
* Slovak translation (886)
* Added Django 2.0 support. (836)
* Fix warnings build (829)
* Add greek translation (827)
* Replaced super(ClassName, self) with super() (821)
* Fixed doc URL in utils.deprecate(). (820)
* Added danish translation to django-filter (809)
* Rework validation, add queryset filter method (788)
* Fix Schema warnings (803)
* Update {Range,LookupType}Widgets to use suffixes (770)
* Method signature improvements (800)
* Remove more deprecations (801)
* Drop python 2, Django<1.11 support (797)
* Remove 'Meta.together' option (791)
* [2.x] Remove some deprecations (795)
Links

Update django-widget-tweaks from 1.4.2 to 1.4.3.

Changelog

1.4.3

------------------

* Added add_label_class filter for CSS on form labels
* Removed compatibility code for unsupported Django versions
* Fixed support for non-value attributes in Django < 1.8
* Support non-value attributes in HTML5 by setting their value to True
Links

Update easy-thumbnails from 2.5 to 2.6.

Changelog

2.6.0

------------------

* Added testing for Django 2.2 (no code changes required).
Links

Update django-autoslug from 1.9.3 to 1.9.4.

Changelog

1.9.4

-----------------

New features:

- Add `manager_name` kwarg to enable using custom managers from abstract models
- Add compatibility for Django versions 1.10, 1.11, 2.0, and 2.1
- Transfer project to new maintainer
Links

Update bleach from 2.1.3 to 3.1.0.

Changelog

3.1.0

---------------------------------

**Security fixes**

None

**Backwards incompatible changes**

None

**Features**

* Add ``recognized_tags`` argument to the linkify ``Linker`` class. This
fixes issues when linkifying on its own and having some tags get escaped.
It defaults to a list of HTML5 tags. Thank you, Chad Birch! (409)

**Bug fixes**

* Add ``six>=1.9`` to requirements. Thank you, Dave Shawley (416)

* Fix cases where attribute names could have invalid characters in them.
(419)

* Fix problems with ``LinkifyFilter`` not being able to match links
across ``&``. (422)

* Fix ``InputStreamWithMemory`` when the ``BleachHTMLParser`` is
parsing ``meta`` tags. (431)

* Fix doctests. (357)

3.0.2

----------------------------------

**Security fixes**

None

**Backwards incompatible changes**

None

**Features**

None

**Bug fixes**

* Merge ``Characters`` tokens after sanitizing them. This fixes issues in the
``LinkifyFilter`` where it was only linkifying parts of urls. (374)

3.0.1

---------------------------------

**Security fixes**

None

**Backwards incompatible changes**

None

**Features**

* Support Python 3.7. It supported Python 3.7 just fine, but we added 3.7 to
the list of Python environments we test so this is now officially supported.
(377)

**Bug fixes**

* Fix ``list`` object has no attribute ``lower`` in ``clean``. (398)
* Fix ``abbr`` getting escaped in ``linkify``. (400)

3.0.0

---------------------------------

**Security fixes**

None

**Backwards incompatible changes**

* A bunch of functions were moved from one module to another.

These were moved from ``bleach.sanitizer`` to ``bleach.html5lib_shim``:

* ``convert_entity``
* ``convert_entities``
* ``match_entity``
* ``next_possible_entity``
* ``BleachHTMLSerializer``
* ``BleachHTMLTokenizer``
* ``BleachHTMLParser``

These functions and classes weren't documented and aren't part of the
public API, but people read code and might be using them so we're
considering it an incompatible API change.

If you're using them, you'll need to update your code.

**Features**

* Bleach no longer depends on html5lib. html5lib==1.0.1 is now vendored into
Bleach. You can remove it from your requirements file if none of your other
requirements require html5lib.

This means Bleach will now work fine with other libraries that depend on
html5lib regardless of what version of html5lib they require. (386)

**Bug fixes**

* Fixed tags getting added when using clean or linkify. This was a
long-standing regression from the Bleach 2.0 rewrite. (280, 392)

* Fixed ``<isindex>`` getting replaced with a string. Now it gets escaped or
stripped depending on whether it's in the allowed tags or not. (279)

2.1.4

---------------------------------

**Security fixes**

None

**Backwards incompatible changes**

* Dropped support for Python 3.3. (328)

**Features**

None

**Bug fixes**

* Handle ambiguous ampersands in correctly. (359)
Links

Update rules from 1.3 to 2.0.1.

Changelog

2.0.1

- Fixed issue with using ``rules`` in ``CreateView`` CBV

2.0.0

- Removed support for Python 2.6 and 3.3
- Removed support for Django versions before 1.11
- Removed ``SkipPredicate`` exception and ``skip`` method of ``Predicate``
- Removed ``replace_rule`` and related APIs
- Added ``set_rule`` and related APIs to safely replace a rule without having
to ensure one already exists
- Added compatibility with Django v2.1
- Re-introduced support for PyPy and PyPy 3
- Changed Python and Django supported versions policy to exclude end-of-life
versions. Support for EOL'd versions will be dropped in minor version
updates of ``rules`` from now on.

1.4.0

- Fixed masking AttributeErrors raised from CBV get_object
- Fixed compatibility with `inspect` in newer Python 3 versions
- Added ability to replace rules and permissions
Links

Update micawber from 0.3.5 to 0.4.0.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update bcrypt from 3.1.4 to 3.1.6.

The bot wasn't able to find a changelog for this release. Got an idea?

Links

Update XlsxWriter from 1.0.5 to 1.1.5.

Changelog

1.1.5

--------------------------------

* This version removes support for end of life Pythons 2.5, 2.6, 3.1, 3.2 and
3.3. For older, unsupported versions of Python use version 1.1.4 of
XlsxWriter.

1.1.4

--------------------------------

* Fix for issues where zipfile.py raises "ZIP does not support timestamps
before 1980" exception.
Issue `535 <https://github.com/jmcnamara/XlsxWriter/issues/535>`_.

1.1.3

-------------------------------

* Fix handling of ``'num_format': '0'`` in duplicate formats.
Issue `584 <https://github.com/jmcnamara/XlsxWriter/issues/584>`_.

1.1.2

-------------------------------

* Fix for issue where ``in_memory`` files weren't compressed.
Issue `573 <https://github.com/jmcnamara/XlsxWriter/issues/573>`_.

* Fix ``write()`` so that it handles array formulas as documented.
Issue `418 <https://github.com/jmcnamara/XlsxWriter/issues/418>`_.

* Fix for issue with special characters in worksheet table functions.
Issue `442 <https://github.com/jmcnamara/XlsxWriter/issues/442>`_.

* Added warnings for input issues in :func:`write_rich_string()` such as blank
strings, double formats or insufficient parameters.
Issue `425 <https://github.com/jmcnamara/XlsxWriter/issues/425>`_.

1.1.1

---------------------------------

* Added comment font name and size options.
Issue `201 <https://github.com/jmcnamara/XlsxWriter/issues/201>`_.

* Fix for issue when using text boxes in the same workbook as a chartsheet.
Issue `420 <https://github.com/jmcnamara/XlsxWriter/issues/420>`_.

1.1.0

--------------------------------

* Added functionality to align chart category axis labels. See the
``label_align`` property of the :func:`set_x_axis()` method.

* Added worksheet :func:`hide_row_col_headers()` method to turn off worksheet
row and column headings.
Issue `480 <https://github.com/jmcnamara/XlsxWriter/issues/480>`_.

* Added the :func:`set_tab_ratio()` method to set the ratio between the
worksheet tabs and the horizontal slider.
Issue `481 <https://github.com/jmcnamara/XlsxWriter/issues/481>`_.

* Fixed issue with icon conditional formats when the values were zero.
Issue `565 <https://github.com/jmcnamara/XlsxWriter/issues/565>`_.

1.0.9

------------------------------

* Fix for issue with formulas quoted as strings in conditional formats,
introduced in version 1.0.7.
Issue `564 <https://github.com/jmcnamara/XlsxWriter/issues/564>`_.

1.0.8

------------------------------

* Added named exceptions to XlsxWriter. See :ref:`exceptions`.

* Removed the implicit :func:`close()` in the destructor since it wasn't
guaranteed to work correctly and raised a confusing exception when any other
exception was triggered. **Note that this is a backward incompatible
change.** The ``with`` context manager is a better way to close
automatically, see :func:`close()`.

* Added border, fill, pattern and gradient formatting options to
:func:`set_legend()`.
Issue `545 <https://github.com/jmcnamara/XlsxWriter/issues/545>`_.

* Added ``top_right`` position to :func:`set_legend()`.
Issue `537 <https://github.com/jmcnamara/XlsxWriter/issues/537>`_.

1.0.7

------------------------------

* Fix for unicode type error in Python 3.
Issue `554 <https://github.com/jmcnamara/XlsxWriter/issues/554>`_.

1.0.6

------------------------------

* Added some performance improvements.
PR `551 <https://github.com/jmcnamara/XlsxWriter/pull/551>`_.
Links

Update brotli from 1.0.4 to 1.0.7.

Changelog

1.0.7

* cross compilation support:
* added ability to run cross-compiled ARM tests in `qemu`
* added `arm-linux-gnueabihf-gcc` entry to Travis build matrix
* faster decoding on ARM:
* implemented prefetching `HuffmanCode` entry as `uint32_t` if target platform is ARM
* fixed `NEON` extension detection
* combed Huffman table building code for better readability
* improved precision of window size calculation in CLI
* minor fixes:
* fixed typos
* improved internal comments / parameter names
* fixed `BROTLI_PREDICT_TRUE`/`_FALSE` detection for SunPro compiler
* unburdened JNI (Bazel) builds from fetching the full JDK

1.0.6

No API / ABI changes.

Fixes 
* fix unaligned 64-bit accesses on AArch32
* add missing files to the sources list
* add ASAN/MSAN unaligned read specializations
* fix CoverityScan "unused assignment" warning
* fix JDK 8<->9 incompatibility
* unbreak Travis builds
* fix auto detect of bundled mode in cmake

1.0.5

No API / ABI changes.

Other changes: 
* improve q=1 compression on small files
* inverse Bazel workspace tree
* add rolling-composite-hasher for large-window mode
* add tools to download and transform static dictionary data
Links

Update whitenoise from 3.3.1 to 4.1.2.

Changelog

4.1.2

------

* Add correct MIME type for WebAssembly, which is required for files to be
executed (thanks `mdboom <https://github.com/mdboom>`_ ).
* Stop accessing the FILE_CHARSET Django setting which was almost entirely
unused and is now deprecated (thanks `timgraham
<https://github.com/timgraham>`_).

4.1.1

------

* Fix `bug <https://github.com/evansd/whitenoise/issues/202>`_ in ETag
handling (thanks `edmorley <https://github.com/edmorley>`_).
* Documentation fixes (thanks `jamesbeith <https://github.com/jamesbeith>`_
and `mathieusteele <https://github.com/mathieusteele>`_).

4.1

----

* Silenced spurious warning about missing directories when in development (i.e
"autorefresh") mode.
* Support supplying paths as `Pathlib
<https://docs.python.org/3.4/library/pathlib.html>`_ instances, rather than
just strings (thanks `browniebroke <https://github.com/browniebroke>`_).
* Add a new :ref:`CompressedStaticFilesStorage <compression-and-caching>`
backend to support applying compression without applying Django's hash-versioning
process.
* Documentation improvements.

4.0

----

.. note:: **Breaking changes**
       The latest version of WhiteNoise removes some options which were
       deprecated in the previous major release:

 * The WSGI integration option for Django
   (which involved editing ``wsgi.py``) has been removed. Instead, you
   should add WhiteNoise to your
   middleware list in ``settings.py`` and remove any reference to WhiteNoise from
   ``wsgi.py``.
   See the :ref:`documentation <django-middleware>` for more details. |br|
   (The :doc:`pure WSGI <base>` integration is still available for non-Django apps.)

 * The ``whitenoise.django.GzipManifestStaticFilesStorage`` alias has now
   been removed. Instead you should use the correct import path:
   ``whitenoise.storage.CompressedManifestStaticFilesStorage``.

 If you are not using either of these integration options you should have
 no issues upgrading to the latest version.

Removed Python 3.3 Support
++++++++++++++++++++++++++

Removed support for Python 3.3 since it's end of life was in September 2017.


Index file support
++++++++++++++++++

WhiteNoise now supports serving :ref:`index files <index-files-django>` for
directories (e.g. serving ``/example/index.html`` at ``/example/``). It also
creates redirects so that visiting the index file directly, or visiting the URL
without a trailing slash will redirect to the correct URL.


Range header support ("byte serving")
+++++++++++++++++++++++++++++++++++++

WhiteNoise now respects the HTTP Range header which allows a client to request
only part of a file. The main use for this is in serving video files to iOS
devices as Safari refuses to play videos unless the server supports the
Range header.


ETag support
++++++++++++

WhiteNoise now adds ETag headers to files using the same algorithm used by
nginx. This gives slightly better caching behaviour than relying purely on Last
Modified dates (although not as good as creating immutable files using
something like ``ManifestStaticFilesStorage``, which is still the best option
if you can use it).

If you need to generate your own ETags headers for any reason you can define a
custom :any:`add_headers_function <WHITENOISE_ADD_HEADERS_FUNCTION>`.


Remove requirement to run collectstatic
+++++++++++++++++++++++++++++++++++++++

By setting :any:`WHITENOISE_USE_FINDERS` to ``True`` files will be served
directly from their original locations (usually in ``STATICFILES_DIRS`` or app
``static`` subdirectories) without needing to be collected into ``STATIC_ROOT``
by the collectstatic command. This was
always the default behaviour when in ``DEBUG`` mode but previously it wasn't
possible to enable this behaviour in production. For small apps which aren't
using the caching and compression features of the more advanced storage
backends this simplifies the deployment process by removing the need to run
collectstatic as part of the build step -- in fact, it's now possible not to
have any build step at all.


Customisable immutable files test
+++++++++++++++++++++++++++++++++

WhiteNoise ships with code which detects when you are using Django's
ManifestStaticFilesStorage backend and sends optimal caching headers for files
which are guaranteed not to change. If you are using a different system for
generating cacheable files then you might need to supply your own function for
detecting such files. Previously this required subclassing WhiteNoise, but now
you can use the :any:`WHITENOISE_IMMUTABLE_FILE_TEST` setting.


Fix runserver_nostatic to work with Channels
++++++++++++++++++++++++++++++++++++++++++++

The old implementation of :ref:`runserver_nostatic <runserver-nostatic>` (which
disables Django's default static file handling in development) did not work
with `Channels`_, which needs its own runserver implementation. The
runserver_nostatic command has now been rewritten so that it should work with
Channels and with any other app which provides its own runserver.

.. _Channels: https://channels.readthedocs.io/


Reduced storage requirements for static files
+++++++++++++++++++++++++++++++++++++++++++++

The new :any:`WHITENOISE_KEEP_ONLY_HASHED_FILES` setting reduces the number of
files in STATIC_ROOT by half by storing files only under their hashed names
(e.g.  ``app.db8f2edc0c8a.js``), rather than also keeping a copy with the
original name (e.g. ``app.js``).



Improved start up performance
+++++++++++++++++++++++++++++

When in production mode (i.e. when :any:`autorefresh <WHITENOISE_AUTOREFRESH>`
is disabled), WhiteNoise scans all static files when the application starts in
order to be able to serve them as efficiently and securely as possible. For
most applications this makes no noticeable difference to start up time, however
for applications with very large numbers of static files this process can take
some time. In WhiteNoise 4.0 the file scanning code has been rewritten to do
the minimum possible amount of filesystem access which should make the start up
process considerably faster.


Windows Testing
+++++++++++++++

WhiteNoise has always aimed to support Windows as well as \*NIX platforms but
we are now able to run the test suite against Windows as part of the CI process
which should ensure that we can maintain Windows compatibility in future.


Modification times for compressed files
+++++++++++++++++++++++++++++++++++++++

The compressed storage backend (which generates Gzip and Brotli compressed
files) now ensures that compressed files have the same modification time as the
originals.  This only makes a difference if you are using the compression
backend with something other than WhiteNoise to actually serve the files, which
very few users do.

Replaced brotlipy with official Brotli Python Package
+++++++++++++++++++++++++++++++++++++++++++++++++++++

Since the official `Brotli project <https://github.com/google/brotli>`_ offers
a `Brotli Python package <https://pypi.org/project/Brotli/>`_ brotlipy has been
replaced with Brotli.

Furthermore a ``brotli`` key has been added to ``extras_require`` which allows
installing WhiteNoise and Brotli together like this:

.. code-block:: bash

 pip install whitenoise[brotli]


---------------------------
Links

Update raven from 6.9.0 to 6.10.0.

Changelog

6.10.0

------

* [Core] Fixed stackframes in some situations being in inverse order.
* [Flask] Fix wrong exception handling logic (accidentally relied on Flask internals).
* [Core] No longer send NaN local vars as non-standard JSON.
Links

Update flake8 from 3.5.0 to 3.7.7.

Changelog

3.7.7

-------------------

You can view the `3.7.7 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix crahes in plugins causing ``flake8`` to hang while unpickling errors (See
also `GitLab!308`_, `GitLab505`_)


.. all links
.. _3.7.7 milestone:
 https://gitlab.com/pycqa/flake8/milestones/30

.. issue links
.. _GitLab505:
 https://gitlab.com/pycqa/flake8/issues/505

.. merge request links
.. _GitLab!308:
 https://gitlab.com/pycqa/flake8/merge_requests/308

3.7.6

-------------------

You can view the `3.7.6 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix ``--per-file-ignores`` for multi-letter error codes (See also
`GitLab!303`_, `GitLab507`_)

- Improve flake8 speed when only 1 filename is passed (See also `GitLab!305`_)


.. all links
.. _3.7.6 milestone:
 https://gitlab.com/pycqa/flake8/milestones/29

.. issue links
.. _GitLab507:
 https://gitlab.com/pycqa/flake8/issues/507

.. merge request links
.. _GitLab!303:
 https://gitlab.com/pycqa/flake8/merge_requests/303
.. _GitLab!305:
 https://gitlab.com/pycqa/flake8/merge_requests/305

3.7.5

-------------------

You can view the `3.7.5 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix reporting of pyflakes "referenced before assignment" error (See also
`GitLab!301`_, `GitLab503`_)


.. all links
.. _3.7.5 milestone:
 https://gitlab.com/pycqa/flake8/milestones/28

.. issue links
.. _GitLab503:
 https://gitlab.com/pycqa/flake8/issues/503

.. merge request links
.. _GitLab!301:
 https://gitlab.com/pycqa/flake8/merge_requests/301

3.7.4

-------------------

You can view the `3.7.4 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix performance regression with lots of ``per-file-ignores`` and errors
(See also `GitLab!299`_, `GitLab501`_)


.. all links
.. _3.7.4 milestone:
 https://gitlab.com/pycqa/flake8/milestones/27

.. issue links
.. _GitLab501:
 https://gitlab.com/pycqa/flake8/issues/501

.. merge request links
.. _GitLab!299:
 https://gitlab.com/pycqa/flake8/merge_requests/299

3.7.3

-------------------

You can view the `3.7.3 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix imports of ``typing`` in python 3.5.0 / 3.5.1 (See also `GitLab!294`_,
`GitLab498`_)

- Fix ``flake8 --statistics`` (See also `GitLab!295`_, `GitLab499`_)

- Gracefully ignore ``flake8-per-file-ignores`` plugin if installed (See also
`GitLab!297`_, `GitLab495`_)

- Improve error message for malformed ``per-file-ignores`` (See also
`GitLab!298`_, `GitLab489`_)


.. all links
.. _3.7.3 milestone:
 https://gitlab.com/pycqa/flake8/milestones/26

.. issue links
.. _GitLab489:
 https://gitlab.com/pycqa/flake8/issues/489
.. _GitLab495:
 https://gitlab.com/pycqa/flake8/issues/495
.. _GitLab498:
 https://gitlab.com/pycqa/flake8/issues/498
.. _GitLab499:
 https://gitlab.com/pycqa/flake8/issues/499

.. merge request links
.. _GitLab!294:
 https://gitlab.com/pycqa/flake8/merge_requests/294
.. _GitLab!295:
 https://gitlab.com/pycqa/flake8/merge_requests/295
.. _GitLab!297:
 https://gitlab.com/pycqa/flake8/merge_requests/297
.. _GitLab!298:
 https://gitlab.com/pycqa/flake8/merge_requests/298

3.7.2

-------------------

You can view the `3.7.2 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix broken ``flake8 --diff`` (regressed in 3.7.0) (See also `GitLab!292`_,
`GitLab490`_)

- Fix typo in plugin exception reporting (See also `GitLab!275`_,
`GitLab491`_)

- Fix ``AttributeError`` while attempting to use the legacy api (regressed in
3.7.0) (See also `GitLab!293`_, `GitLab497`_)

.. all links
.. _3.7.2 milestone:
 https://gitlab.com/pycqa/flake8/milestones/25

.. issue links
.. _GitLab490:
 https://gitlab.com/pycqa/flake8/issues/490
.. _GitLab491:
 https://gitlab.com/pycqa/flake8/issues/491
.. _GitLab497:
 https://gitlab.com/pycqa/flake8/issues/497

.. merge request links
.. _GitLab!292:
 https://gitlab.com/pycqa/flake8/merge_requests/292
.. _GitLab!275:
 https://gitlab.com/pycqa/flake8/merge_requests/275
.. _GitLab!293:
 https://gitlab.com/pycqa/flake8/merge_requests/293

3.7.1

-------------------

You can view the `3.7.1 milestone`_ on GitLab for more details.

Bugs Fixed
~~~~~~~~~~

- Fix capitalized filenames in ``per-file-ignores`` setting (See also
`GitLab!290`_, `GitLab488`_)

.. all links
.. _3.7.1 milestone:
 https://gitlab.com/pycqa/flake8/milestones/24

.. issue links
.. _GitLab488:
 https://gitlab.com/pycqa/flake8/issues/488

.. merge request links
.. _GitLab!290:
 https://gitlab.com/pycqa/flake8/merge_requests/290

3.7.0

-------------------

You can view the `3.7.0 milestone`_ on GitLab for more details.

New Dependency Information
~~~~~~~~~~~~~~~~~~~~~~~~~~

- Add dependency on ``entrypoints`` >= 0.3, < 0.4 (See also `GitLab!264`_,
`GitLab!288`_)

- Pyflakes has been updated to >= 2.1.0, < 2.2.0 (See also `GitLab!283`_,
`GitLab!285`_)

- pycodestyle has been updated to >= 2.5.0, < 2.6.0 (See also `GitLab!287`_)

Features
~~~~~~~~

- Add support for ``per-file-ignores`` (See also `GitLab!259`_, `GitLab156`_,
`GitLab!281`_, `GitLab471`_)

- Enable use of ``float`` and ``complex`` option types (See also `GitLab!261`_,
`GitLab452`_)

- Improve startup performance by switching from ``pkg_resources`` to
``entrypoints`` (See also `GitLab!264`_)

- Add metadata for use through the `pre-commit`_ git hooks framework (See also
`GitLab!268`_, `GitLab!284`_)

- Allow physical line checks to return more than one result (See also
`GitLab!269`_)

- Allow `` noqa:X123`` comments without space between the colon and codes
list (See also `GitLab!273`_, `GitLab470`_)

- Remove broken and unused ``flake8.listen`` plugin type (See also
`GitLab!274`_, `GitLab480`_)

.. all links
.. _3.7.0 milestone:
 https://gitlab.com/pycqa/flake8/milestones/23
.. _pre-commit:
 https://pre-commit.com/

.. issue links
.. _GitLab156:
 https://gitlab.com/pycqa/flake8/issues/156
.. _GitLab452:
 https://gitlab.com/pycqa/flake8/issues/452
.. _GitLab470:
 https://gitlab.com/pycqa/flake8/issues/470
.. _GitLab471:
 https://gitlab.com/pycqa/flake8/issues/471
.. _GitLab480:
 https://gitlab.com/pycqa/flake8/issues/480

.. merge request links
.. _GitLab!259:
 https://gitlab.com/pycqa/flake8/merge_requests/259
.. _GitLab!261:
 https://gitlab.com/pycqa/flake8/merge_requests/261
.. _GitLab!264:
 https://gitlab.com/pycqa/flake8/merge_requests/264
.. _GitLab!268:
 https://gitlab.com/pycqa/flake8/merge_requests/268
.. _GitLab!269:
 https://gitlab.com/pycqa/flake8/merge_requests/269
.. _GitLab!273:
 https://gitlab.com/pycqa/flake8/merge_requests/273
.. _GitLab!274:
 https://gitlab.com/pycqa/flake8/merge_requests/274
.. _GitLab!281:
 https://gitlab.com/pycqa/flake8/merge_requests/281
.. _GitLab!283:
 https://gitlab.com/pycqa/flake8/merge_requests/283
.. _GitLab!284:
 https://gitlab.com/pycqa/flake8/merge_requests/284
.. _GitLab!285:
 https://gitlab.com/pycqa/flake8/merge_requests/285
.. _GitLab!287:
 https://gitlab.com/pycqa/flake8/merge_requests/287
.. _GitLab!288:
 https://gitlab.com/pycqa/flake8/merge_requests/288

3.6.0

-------------------

You can view the `3.6.0 milestone`_ on GitLab for more details.

New Dependency Information
~~~~~~~~~~~~~~~~~~~~~~~~~~

- pycodestyle has been updated to >= 2.4.0, < 2.5.0 (See also `GitLab381`_,
`GitLab415`_, `GitLab!212`_, `GitLab!230`_, `GitLab!231`_)

- Pyflakes has been updated to >= 2.0.0, < 2.1.0 (See also `GitLab422`_,
`GitLab!239`_)

- flake8 requires python 2.x >= 2.7 or python 3.x >= 3.4 (See also
`GitLab!225`_)

Features
~~~~~~~~

- Add ``paths`` to allow local plugins to exist outside of ``sys.path`` (See
also `GitLab379`_, `GitLab!211`_)

- Copy ``setup.cfg`` files to the temporary git hook execution directory (See
also `GitLab!215`_)

- Only skip a file if `` flake8: noqa`` is on a line by itself (See also
`GitLab453`_, `GitLab!219`_)

- Provide a better user experience for broken plugins (See also `GitLab!221`_)

- Report ``E902`` when a file passed on the command line does not exist (See
also `GitLab405`_, `GitLab!227`_)

- Add ``--extend-ignore`` for extending the default ``ignore`` instead of
overriding it (See also `GitLab365`_, `GitLab!233`_)

Bugs Fixed
~~~~~~~~~~

- Respect a formatter's newline setting when printing (See also `GitLab!222`_)

- Fix leaking of processes in the legacy api (See also `GitLab410`_,
`GitLab!228`_)

- Fix a ``SyntaxWarning`` for an invalid escape sequence (See also
`GitLab!244`_)

- Fix ``DeprecationWarning`` due to import of ``abc`` classes from the
``collections`` module (See also `GitLab!249`_)

- Defer ``setuptools`` import to improve flake8 startup time (See also
`GitLab!250`_)

- Fix inconsistent line endings in ``FileProcessor.lines`` when running under
python 3.x (See also `GitLab457`_, `GitLab!255`_)


.. all links
.. _3.6.0 milestone:
 https://gitlab.com/pycqa/flake8/milestones/21

.. issue links
.. _GitLab365:
 https://gitlab.com/pycqa/flake8/issues/365
.. _GitLab379:
 https://gitlab.com/pycqa/flake8/issues/379
.. _GitLab381:
 https://gitlab.com/pycqa/flake8/issues/381
.. _GitLab405:
 https://gitlab.com/pycqa/flake8/issues/405
.. _GitLab410:
 https://gitlab.com/pycqa/flake8/issues/410
.. _GitLab415:
 https://gitlab.com/pycqa/flake8/issues/415
.. _GitLab422:
 https://gitlab.com/pycqa/flake8/issues/422
.. _GitLab453:
 https://gitlab.com/pycqa/flake8/issues/453
.. _GitLab457:
 https://gitlab.com/pycqa/flake8/issues/457

.. merge request links
.. _GitLab!211:
 https://gitlab.com/pycqa/flake8/merge_requests/211
.. _GitLab!212:
 https://gitlab.com/pycqa/flake8/merge_requests/212
.. _GitLab!215:
 https://gitlab.com/pycqa/flake8/merge_requests/215
.. _GitLab!219:
 https://gitlab.com/pycqa/flake8/merge_requests/219
.. _GitLab!221:
 https://gitlab.com/pycqa/flake8/merge_requests/221
.. _GitLab!222:
 https://gitlab.com/pycqa/flake8/merge_requests/222
.. _GitLab!225:
 https://gitlab.com/pycqa/flake8/merge_requests/225
.. _GitLab!227:
 https://gitlab.com/pycqa/flake8/merge_requests/227
.. _GitLab!228:
 https://gitlab.com/pycqa/flake8/merge_requests/228
.. _GitLab!230:
 https://gitlab.com/pycqa/flake8/merge_requests/230
.. _GitLab!231:
 https://gitlab.com/pycqa/flake8/merge_requests/231
.. _GitLab!233:
 https://gitlab.com/pycqa/flake8/merge_requests/233
.. _GitLab!239:
 https://gitlab.com/pycqa/flake8/merge_requests/239
.. _GitLab!244:
 https://gitlab.com/pycqa/flake8/merge_requests/244
.. _GitLab!249:
 https://gitlab.com/pycqa/flake8/merge_requests/249
.. _GitLab!250:
 https://gitlab.com/pycqa/flake8/merge_requests/250
.. _GitLab!255:
 https://gitlab.com/pycqa/flake8/merge_requests/255
Links

Update freezegun from 0.3.10 to 0.3.11.

Changelog

0.3.11

------

* Performance improvements
* Fix nesting time.time
* Add nanosecond property
Links

Update isort from 4.3.4 to 4.3.10.

Changelog

4.3.9

- Fixed a bug that led to an incompatibility with black: 831

4.3.8

- Fixed a bug that led to the recursive option not always been available from the command line.

4.3.7

- Expands the finder failsafe to occur on the creation of the finder objects.

4.3.6

- Fixes a fatal error that occurs if a single finder throws an exception. Important as we add more finders that utilize third party libraries.

4.3.5 - February 24, 2019 - last Python 2.7 Maintenance Release

This is the final Python 2.x release of isort, and includes the following major changes:

Potentially Interface Breaking:
- The `-r` option for removing imports has been renamed `-rm` to avoid accidental deletions and confusion with the `-rc` recursive option.
- `__init__.py` has been removed from the default ignore list. The default ignore list is now empty - with all items needing to be explicitly ignored.
- Isort will now by default ignore .tox / venv folders in an effort to be "safe". You can disable this behaviour by setting the "--unsafe" flag, this is separate from any skip or not skip rules you may have in place.
- Isort now allows for files missing closing newlines in whitespace check
- `distutils` support has been removed to simplify setup.py

New:
- Official Python 3.7 Compatibility.
- Support for using requirements files to auto determine third-paty section if pipreqs & requirementslib are installed.
- Added support for using pyproject.toml if toml is installed.
- Added support for XDG_HOME if appdirs is installed.
- An option has been added to enable ignoring trailing comments ('ignore_comments') defaulting to False.
- Added support to enable line length sorting for only specific sections
- Added a `correctly_sorted` property on the SortsImport to enable more intuitive programmatic checking.

Fixes:
- Improved black compatibility.
- Isort will no detect files in the CWD as first-party.
- Fixed several cases where '-ns' or 'not_skip' was being incorrectly ignored.
- Fixed sorting of relative path imports ('.', '..', '...', etc).
- Fixed bugs caused by a failure to maintain order when loading iterables from config files.
- Correctly handle CPython compiled imports and others that need EXT_SUFFIX to correctly identify.
- Fixed handling of Symbolic Links to follow them when walking the path.
- Fixed handling of relative known_paths.
- Fixed lack of access to all wrap modes from the CLI.
- Fixed handling of FIFO files.
- Fixed a bug that could result in multiple imports being inserted on the same line.
Links

Update pytest-django from 3.4.3 to 3.4.8.

Changelog

3.4.8

------------------

Bugfixes
^^^^^^^^

* Fix DB renaming fixture for Multi-DB environment with SQLite (679)

3.4.7

------------------

Bugfixes
^^^^^^^^

* Fix disabling/handling of unittest methods with pytest 4.2+ (700)

3.4.6

------------------

Bugfixes
^^^^^^^^

* django_find_project: add cwd as fallback always (690)

Misc
^^^^

* Enable tests for Django 2.2 and add classifier (693)
* Disallow pytest 4.2.0 in ``install_requires`` (697)

3.4.5

------------------

Bugfixes
^^^^^^^^

* Use ``request.config`` instead of ``pytest.config`` (677)
* :fixture:`admin_user`: handle "email" username_field (676)

Misc
^^^^

* Minor doc fixes (674)
* tests: fix for pytest 4 (675)

3.4.4

------------------

Bugfixes
^^^^^^^^

* Refine the django.conf module check to see if the settings really are
configured (668).
* Avoid crash after OSError during Django path detection (664).

Features
^^^^^^^^

* Add parameter info to fixture assert_num_queries to display additional message on failure (663).

Docs
^^^^

* Improve doc for django_assert_num_queries/django_assert_max_num_queries.
* Add warning about sqlite specific snippet + fix typos (666).

Misc
^^^^

* MANIFEST.in: include tests for downstream distros (653).
* Ensure that the LICENSE file is included in wheels (665).
* Run black on source.
Links

Update pytest-factoryboy from 2.0.1 to 2.0.2.

Changelog

2.0.2

-----

- Fix warning `use of getfuncargvalue is deprecated, use getfixturevalue` (sliverc)
Links

Update pytest-cov from 2.5.1 to 2.6.1.

Changelog

2.6.1

------------------

* Added support for Pytest 4.1. Contributed by Daniel Hahler and Семён Марьясин in
`253 <https://github.com/pytest-dev/pytest-cov/pull/253>`_ and
`230 <https://github.com/pytest-dev/pytest-cov/pull/230>`_.
* Various test and docs fixes. Contributed by Daniel Hahler in
`224 <https://github.com/pytest-dev/pytest-cov/pull/224>`_ and
`223 <https://github.com/pytest-dev/pytest-cov/pull/223>`_.
* Fixed the "Module already imported" issue (`211 <https://github.com/pytest-dev/pytest-cov/issues/211>`_).
Contributed by Daniel Hahler in `228 <https://github.com/pytest-dev/pytest-cov/pull/228>`_.

2.6.0

------------------

* Dropped support for Python < 3.4, Pytest < 3.5 and Coverage < 4.4.
* Fixed some documentation formatting. Contributed by Jean Jordaan and Julian.
* Added an example with ``addopts`` in documentation. Contributed by Samuel Giffard in
`195 <https://github.com/pytest-dev/pytest-cov/pull/195>`_.
* Fixed ``TypeError: 'NoneType' object is not iterable`` in certain xdist configurations. Contributed by Jeremy Bowman in
`213 <https://github.com/pytest-dev/pytest-cov/pull/213>`_.
* Added a ``no_cover`` marker and fixture. Fixes
`78 <https://github.com/pytest-dev/pytest-cov/issues/78>`_.
* Fixed broken ``no_cover`` check when running doctests. Contributed by Terence Honles in
`200 <https://github.com/pytest-dev/pytest-cov/pull/200>`_.
* Fixed various issues with path normalization in reports (when combining coverage data from parallel mode). Fixes
`130 <https://github.com/pytest-dev/pytest-cov/issues/161>`_.
Contributed by Ryan Hiebert & Ionel Cristian Mărieș in
`178 <https://github.com/pytest-dev/pytest-cov/pull/178>`_.
* Report generation failures don't raise exceptions anymore. A warning will be logged instead. Fixes
`161 <https://github.com/pytest-dev/pytest-cov/issues/161>`_.
* Fixed multiprocessing issue on Windows (empty env vars are not passed). Fixes
`165 <https://github.com/pytest-dev/pytest-cov/issues/165>`_.
Links

Update pytest from 3.7.4 to 4.3.0.

Changelog

4.3.0

=========================

Deprecations
------------

- `4724 <https://github.com/pytest-dev/pytest/issues/4724>`_: ``pytest.warns()`` now emits a warning when it receives unknown keyword arguments.

This will be changed into an error in the future.



Features
--------

- `2753 <https://github.com/pytest-dev/pytest/issues/2753>`_: Usage errors from argparse are mapped to pytest's ``UsageError``.


- `3711 <https://github.com/pytest-dev/pytest/issues/3711>`_: Add the ``--ignore-glob`` parameter to exclude test-modules with Unix shell-style wildcards.
Add the ``collect_ignore_glob`` for ``conftest.py`` to exclude test-modules with Unix shell-style wildcards.


- `4698 <https://github.com/pytest-dev/pytest/issues/4698>`_: The warning about Python 2.7 and 3.4 not being supported in pytest 5.0 has been removed.

In the end it was considered to be more
of a nuisance than actual utility and users of those Python versions shouldn't have problems as ``pip`` will not
install pytest 5.0 on those interpreters.


- `4707 <https://github.com/pytest-dev/pytest/issues/4707>`_: With the help of new ``set_log_path()`` method there is a way to set ``log_file`` paths from hooks.



Bug Fixes
---------

- `4651 <https://github.com/pytest-dev/pytest/issues/4651>`_: ``--help`` and ``--version`` are handled with ``UsageError``.


- `4782 <https://github.com/pytest-dev/pytest/issues/4782>`_: Fix ``AssertionError`` with collection of broken symlinks with packages.

4.2.1

=========================

Bug Fixes
---------

- `2895 <https://github.com/pytest-dev/pytest/issues/2895>`_: The ``pytest_report_collectionfinish`` hook now is also called with ``--collect-only``.


- `3899 <https://github.com/pytest-dev/pytest/issues/3899>`_: Do not raise ``UsageError`` when an imported package has a ``pytest_plugins.py`` child module.


- `4347 <https://github.com/pytest-dev/pytest/issues/4347>`_: Fix output capturing when using pdb++ with recursive debugging.


- `4592 <https://github.com/pytest-dev/pytest/issues/4592>`_: Fix handling of ``collect_ignore`` via parent ``conftest.py``.


- `4700 <https://github.com/pytest-dev/pytest/issues/4700>`_: Fix regression where ``setUpClass`` would always be called in subclasses even if all tests
were skipped by a ``unittest.skip()`` decorator applied in the subclass.


- `4739 <https://github.com/pytest-dev/pytest/issues/4739>`_: Fix ``parametrize(... ids=<function>)`` when the function returns non-strings.


- `4745 <https://github.com/pytest-dev/pytest/issues/4745>`_: Fix/improve collection of args when passing in ``__init__.py`` and a test file.


- `4770 <https://github.com/pytest-dev/pytest/issues/4770>`_: ``more_itertools`` is now constrained to <6.0.0 when required for Python 2.7 compatibility.


- `526 <https://github.com/pytest-dev/pytest/issues/526>`_: Fix "ValueError: Plugin already registered" exceptions when running in build directories that symlink to actual source.



Improved Documentation
----------------------

- `3899 <https://github.com/pytest-dev/pytest/issues/3899>`_: Add note to ``plugins.rst`` that ``pytest_plugins`` should not be used as a name for a user module containing plugins.


- `4324 <https://github.com/pytest-dev/pytest/issues/4324>`_: Document how to use ``raises`` and ``does_not_raise`` to write parametrized tests with conditional raises.


- `4709 <https://github.com/pytest-dev/pytest/issues/4709>`_: Document how to customize test failure messages when using
``pytest.warns``.



Trivial/Internal Changes
------------------------

- `4741 <https://github.com/pytest-dev/pytest/issues/4741>`_: Some verbosity related attributes of the TerminalReporter plugin are now
read only properties.

4.2.0

=========================

Features
--------

- `3094 <https://github.com/pytest-dev/pytest/issues/3094>`_: `Classic xunit-style <https://docs.pytest.org/en/latest/xunit_setup.html>`__ functions and methods
now obey the scope of *autouse* fixtures.

This fixes a number of surprising issues like ``setup_method`` being called before session-scoped
autouse fixtures (see `517 <https://github.com/pytest-dev/pytest/issues/517>`__ for an example).


- `4627 <https://github.com/pytest-dev/pytest/issues/4627>`_: Display a message at the end of the test session when running under Python 2.7 and 3.4 that pytest 5.0 will no longer
support those Python versions.


- `4660 <https://github.com/pytest-dev/pytest/issues/4660>`_: The number of *selected* tests now are also displayed when the ``-k`` or ``-m`` flags are used.


- `4688 <https://github.com/pytest-dev/pytest/issues/4688>`_: ``pytest_report_teststatus`` hook now can also receive a ``config`` parameter.


- `4691 <https://github.com/pytest-dev/pytest/issues/4691>`_: ``pytest_terminal_summary`` hook now can also receive a ``config`` parameter.



Bug Fixes
---------

- `3547 <https://github.com/pytest-dev/pytest/issues/3547>`_: ``--junitxml`` can emit XML compatible with Jenkins xUnit.
``junit_family`` INI option accepts ``legacy|xunit1``, which produces old style output, and ``xunit2`` that conforms more strictly to https://github.com/jenkinsci/xunit-plugin/blob/xunit-2.3.2/src/main/resources/org/jenkinsci/plugins/xunit/types/model/xsd/junit-10.xsd


- `4280 <https://github.com/pytest-dev/pytest/issues/4280>`_: Improve quitting from pdb, especially with ``--trace``.

Using ``q[quit]`` after ``pdb.set_trace()`` will quit pytest also.


- `4402 <https://github.com/pytest-dev/pytest/issues/4402>`_: Warning summary now groups warnings by message instead of by test id.

This makes the output more compact and better conveys the general idea of how much code is
actually generating warnings, instead of how many tests call that code.


- `4536 <https://github.com/pytest-dev/pytest/issues/4536>`_: ``monkeypatch.delattr`` handles class descriptors like ``staticmethod``/``classmethod``.


- `4649 <https://github.com/pytest-dev/pytest/issues/4649>`_: Restore marks being considered keywords for keyword expressions.


- `4653 <https://github.com/pytest-dev/pytest/issues/4653>`_: ``tmp_path`` fixture and other related ones provides resolved path (a.k.a real path)


- `4667 <https://github.com/pytest-dev/pytest/issues/4667>`_: ``pytest_terminal_summary`` uses result from ``pytest_report_teststatus`` hook, rather than hardcoded strings.


- `4669 <https://github.com/pytest-dev/pytest/issues/4669>`_: Correctly handle ``unittest.SkipTest`` exception containing non-ascii characters on Python 2.


- `4680 <https://github.com/pytest-dev/pytest/issues/4680>`_: Ensure the ``tmpdir`` and the ``tmp_path`` fixtures are the same folder.


- `4681 <https://github.com/pytest-dev/pytest/issues/4681>`_: Ensure ``tmp_path`` is always a real path.



Trivial/Internal Changes
------------------------

- `4643 <https://github.com/pytest-dev/pytest/issues/4643>`_: Use ``a.item()`` instead of the deprecated ``np.asscalar(a)`` in ``pytest.approx``.

``np.asscalar`` has been `deprecated <https://github.com/numpy/numpy/blob/master/doc/release/1.16.0-notes.rstnew-deprecations>`__ in ``numpy 1.16.``.


- `4657 <https://github.com/pytest-dev/pytest/issues/4657>`_: Copy saferepr from pylib


- `4668 <https://github.com/pytest-dev/pytest/issues/4668>`_: The verbose word for expected failures in the teststatus report changes from ``xfail`` to ``XFAIL`` to be consistent with other test outcomes.

4.1.1

=========================

Bug Fixes
---------

- `2256 <https://github.com/pytest-dev/pytest/issues/2256>`_: Show full repr with ``assert a==b`` and ``-vv``.


- `3456 <https://github.com/pytest-dev/pytest/issues/3456>`_: Extend Doctest-modules to ignore mock objects.


- `4617 <https://github.com/pytest-dev/pytest/issues/4617>`_: Fixed ``pytest.warns`` bug when context manager is reused (e.g. multiple parametrization).


- `4631 <https://github.com/pytest-dev/pytest/issues/4631>`_: Don't rewrite assertion when ``__getattr__`` is broken



Improved Documentation
----------------------

- `3375 <https://github.com/pytest-dev/pytest/issues/3375>`_: Document that using ``setup.cfg`` may crash other tools or cause hard to track down problems because it uses a different parser than ``pytest.ini`` or ``tox.ini`` files.



Trivial/Internal Changes
------------------------

- `4602 <https://github.com/pytest-dev/pytest/issues/4602>`_: Uninstall ``hypothesis`` in regen tox env.

4.1.0

=========================

Removals
--------

- `2169 <https://github.com/pytest-dev/pytest/issues/2169>`_: ``pytest.mark.parametrize``: in previous versions, errors raised by id functions were suppressed and changed into warnings. Now the exceptions are propagated, along with a pytest message informing the node, parameter value and index where the exception occurred.


- `3078 <https://github.com/pytest-dev/pytest/issues/3078>`_: Remove legacy internal warnings system: ``config.warn``, ``Node.warn``. The ``pytest_logwarning`` now issues a warning when implemented.

See our `docs <https://docs.pytest.org/en/latest/deprecations.htmlconfig-warn-and-node-warn>`__ on information on how to update your code.


- `3079 <https://github.com/pytest-dev/pytest/issues/3079>`_: Removed support for yield tests - they are fundamentally broken because they don't support fixtures properly since collection and test execution were separated.

See our `docs <https://docs.pytest.org/en/latest/deprecations.htmlyield-tests>`__ on information on how to update your code.


- `3082 <https://github.com/pytest-dev/pytest/issues/3082>`_: Removed support for applying marks directly to values in ``pytest.mark.parametrize``. Use ``pytest.param`` instead.

See our `docs <https://docs.pytest.org/en/latest/deprecations.htmlmarks-in-pytest-mark-parametrize>`__ on information on how to update your code.


- `3083 <https://github.com/pytest-dev/pytest/issues/3083>`_: Removed ``Metafunc.addcall``. This was the predecessor mechanism to ``pytest.mark.parametrize``.

See our `docs <https://docs.pytest.org/en/latest/deprecations.htmlmetafunc-addcall>`__ on information on how to update your code.


- `3085 <https://github.com/pytest-dev/pytest/issues/3085>`_: Removed support for passing strings to ``pytest.main``. Now, always pass a list of strings instead.

See our `docs <https://docs.pytest.org/en/latest/deprecations.htmlpassing-command-line-string-to-pytest-main>`__ on information on how to update your code.


- `3086 <https://github.com/pytest-dev/pytest/issues/3086>`_: ``[pytest]`` section in **setup.cfg** files is not longer supported, use ``[tool:pytest]`` instead. ``setup.cfg`` files
are meant for use with ``distutils``, and a section named ``pytest`` has notoriously been a source of conflicts and bugs.

Note that for **pytest.ini** and **tox.ini** files the section remains ``[pytest]``.


- `3616 <https://github.com/pytest-dev/pytest/issues/3616>`_: Removed the deprecated compat properties for ``node.Class/Function/Module`` - use ``pytest.Class/Function/Module`` now.

See our `docs <https://docs.pytest.org/en/latest/deprecations.html

@fuzzylogic2000
Copy link
Contributor

It should work by now! I think it's still failing because of too many warnings. @treba123 Wanna have a go?

@rmader
Copy link
Contributor

rmader commented Mar 5, 2019

Yay, more stupid low complexity work :) Will have a go

@fuzzylogic2000
Copy link
Contributor

@treba123 :) If you want to up the game/do sth. a bit more complicated, you can also try to update djangofilters, djangorestframework and whitenoise. (I think that are the ones that are still not updated after my changes.)

@rmader
Copy link
Contributor

rmader commented Mar 5, 2019

@fuzzylogic2000 and @MagdaN: this got a bit bigger than expected...please have a look. On my local machine things work fine

Copy link
Contributor

@fuzzylogic2000 fuzzylogic2000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! Also works on my machine!
And your single commits and no force-pushing make your changes easy to read!
So, maybe @MagdaN can also try and if it's also working for her, we try it on dev?!

@MagdaN MagdaN merged commit c2bab8d into master Mar 5, 2019
@MagdaN MagdaN deleted the pyup-scheduled-update-2019-03-04 branch March 5, 2019 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants