{"action":"created","issue":{"url":"https://api.github.com/repos/creola/django-open-pms/issues/40","repository_url":"https://api.github.com/repos/creola/django-open-pms","labels_url":"https://api.github.com/repos/creola/django-open-pms/issues/40/labels{/name}","comments_url":"https://api.github.com/repos/creola/django-open-pms/issues/40/comments","events_url":"https://api.github.com/repos/creola/django-open-pms/issues/40/events","html_url":"https://github.com/creola/django-open-pms/pull/40","id":406352253,"node_id":"MDExOlB1bGxSZXF1ZXN0MjUwMDY4OTQw","number":40,"title":"Scheduled weekly dependency update for week 05","user":{"login":"pyup-bot","id":16239342,"node_id":"MDQ6VXNlcjE2MjM5MzQy","avatar_url":"https://avatars0.githubusercontent.com/u/16239342?v=4","gravatar_id":"","url":"https://api.github.com/users/pyup-bot","html_url":"https://github.com/pyup-bot","followers_url":"https://api.github.com/users/pyup-bot/followers","following_url":"https://api.github.com/users/pyup-bot/following{/other_user}","gists_url":"https://api.github.com/users/pyup-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/pyup-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pyup-bot/subscriptions","organizations_url":"https://api.github.com/users/pyup-bot/orgs","repos_url":"https://api.github.com/users/pyup-bot/repos","events_url":"https://api.github.com/users/pyup-bot/events{/privacy}","received_events_url":"https://api.github.com/users/pyup-bot/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-02-04T14:23:51Z","updated_at":"2019-02-11T14:28:21Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/creola/django-open-pms/pulls/40","html_url":"https://github.com/creola/django-open-pms/pull/40","diff_url":"https://github.com/creola/django-open-pms/pull/40.diff","patch_url":"https://github.com/creola/django-open-pms/pull/40.patch"},"body":"\n\n\n\n\n### Update [pytz](https://pypi.org/project/pytz) from **2018.4** to **2018.9**.\n\n\n*The bot wasn't able to find a changelog for this release. [Got an idea?](https://github.com/pyupio/changelogs/issues/new)*\n\n<details>\n  <summary>Links</summary>\n  \n  - PyPI: https://pypi.org/project/pytz\n  - Homepage: http://pythonhosted.org/pytz\n  - Docs: https://pythonhosted.org/pytz/\n</details>\n\n\n\n\n\n### Update [python-slugify](https://pypi.org/project/python-slugify) from **1.2.5** to **2.0.1**.\n\n\n<details>\n  <summary>Changelog</summary>\n  \n  \n   ### 2.0.1\n   ```\n   - Add replacements option e.g. [[&#39;|&#39;, &#39;or&#39;], [&#39;%&#39;, &#39;percent&#39;], [&#39;-&#39;, &#39;_&#39;]] (andriyor)\n   ```\n   \n  \n  \n   ### 2.0.0\n   ```\n   - Fix alternative dependency installation\n   ```\n   \n  \n  \n   ### 1.2.6\n   ```\n   - Add support for case sensitive slugs (s-m-e)\n   ```\n   \n  \n</details>\n\n\n \n\n<details>\n  <summary>Links</summary>\n  \n  - PyPI: https://pypi.org/project/python-slugify\n  - Changelog: https://pyup.io/changelogs/python-slugify/\n  - Repo: https://github.com/un33k/python-slugify\n</details>\n\n\n\n\n\n### Update [Pillow](https://pypi.org/project/Pillow) from **5.1.0** to **5.4.1**.\n\n\n<details>\n  <summary>Changelog</summary>\n  \n  \n   ### 5.4.1\n   ```\n   ------------------\n\n- File closing: Only close __fp if not fp 3540\n  [radarhere]\n\n- Fix build for Termux 3529\n  [pslacerda]\n\n- PNG: Detect MIME types 3525\n  [radarhere]\n\n- PNG: Handle IDAT chunks after image end 3532\n  [radarhere]\n   ```\n   \n  \n  \n   ### 5.4.0\n   ```\n   ------------------\n\n- Docs: Improved ImageChops documentation 3522\n  [radarhere]\n\n- Allow RGB and RGBA values for P image putpixel 3519\n  [radarhere]\n\n- Add APNG extension to PNG plugin 3501\n  [pirate486743186, radarhere]\n\n- Lookup ld.so.cache instead of hardcoding search paths 3245\n  [pslacerda]\n\n- Added custom string TIFF tags 3513\n  [radarhere]\n\n- Improve setup.py configuration 3395\n  [diorcety]\n\n- Read textual chunks located after IDAT chunks for PNG 3506\n  [radarhere]\n\n- Performance: Don&#39;t try to hash value if enum is empty 3503\n  [Glandos]\n\n- Added custom int and float TIFF tags 3350\n  [radarhere]\n\n- Fixes for issues reported by static code analysis 3393\n  [frenzymadness]\n\n- GIF: Wait until mode is normalized to copy im.info into encoderinfo 3187\n  [radarhere]\n\n- Docs: Add page of deprecations and removals 3486\n  [hugovk]\n\n- Travis CI: Upgrade PyPy from 5.8.0 to 6.0 3488\n  [hugovk]\n\n- Travis CI: Allow lint job to fail 3467\n  [hugovk]\n\n- Resolve __fp when closing and deleting 3261\n  [radarhere]\n\n- Close exclusive fp before discarding 3461\n  [radarhere]\n\n- Updated open files documentation 3490\n  [radarhere]\n\n- Added libjpeg_turbo to check_feature 3493\n  [radarhere]\n\n- Change color table index background to tuple when saving as WebP 3471\n  [radarhere]\n\n- Allow arbitrary number of comment extension subblocks 3479\n  [radarhere]\n\n- Ensure previous FLI frame is loaded before seeking to the next 3478\n  [radarhere]\n\n- ImageShow improvements 3450\n  [radarhere]\n\n- Depends: Update libimagequant to 2.12.2 3442, libtiff to 4.0.10 3458, libwebp to 1.0.1 3468, Tk Tcl to 8.6.9 3465\n  [radarhere]\n\n- Check quality_layers type 3464\n  [radarhere]\n\n- Add context manager, __del__ and close methods to TarIO 3455\n  [radarhere]\n\n- Test: Do not play sound when running screencapture command 3454\n  [radarhere]\n\n- Close exclusive fp on open exception 3456\n  [radarhere]\n\n- Only close existing fp in WebP if fp is exclusive 3418\n  [radarhere]\n\n- Docs: Re-add the downloads badge 3443\n  [hugovk]\n\n- Added negative index to PixelAccess 3406\n  [Nazime]\n\n- Change tuple background to global color table index when saving as GIF 3385\n  [radarhere]\n\n- Test: Improved ImageGrab tests 3424\n  [radarhere]\n\n- Flake8 fixes 3422, 3440\n  [radarhere, hugovk]\n\n- Only ask for YCbCr-&gt;RGB libtiff conversion for jpeg-compressed tiffs 3417\n  [kkopachev]\n\n- Optimise ImageOps.fit by combining resize and crop 3409\n  [homm]\n   ```\n   \n  \n  \n   ### 5.3.0\n   ```\n   ------------------\n\n- Changed Image size property to be read-only by default 3203\n  [radarhere]\n\n- Add warnings if image file identification fails due to lack of WebP support 3169\n  [radarhere, hugovk]\n\n- Hide the Ghostscript progress dialog popup on Windows 3378\n  [hugovk]\n\n- Adding support to reading tiled and YcbCr jpeg tiffs through libtiff 3227\n  [kkopachev]\n\n- Fixed None as TIFF compression argument 3310\n  [radarhere]\n\n- Changed GIF seek to remove previous info items 3324\n  [radarhere]\n\n- Improved PDF document info 3274\n  [radarhere]\n\n- Add line width parameter to rectangle and ellipse-based shapes 3094\n  [hugovk, radarhere]\n\n- Fixed decompression bomb check in _crop 3313\n  [dinkolubina, hugovk]\n\n- Added support to ImageDraw.floodfill for non-RGB colors 3377\n  [radarhere]\n\n- Tests: Avoid catching unexpected exceptions in tests 2203\n  [jdufresne]\n\n- Use TextIOWrapper.detach() instead of NoCloseStream 2214\n  [jdufresne]\n\n- Added transparency to matrix conversion 3205\n  [radarhere]\n\n- Added ImageOps pad method 3364\n  [radarhere]\n\n- Give correct extrema for I;16 format images 3359\n  [bz2]\n\n- Added PySide2 3279\n  [radarhere]\n\n- Corrected TIFF tags 3369\n  [radarhere]\n\n- CI: Install CFFI and pycparser without any PYTHONOPTIMIZE 3374\n  [hugovk]\n\n- Read/Save RGB webp as RGB (instead of RGBX) 3298\n  [kkopachev]\n\n- ImageDraw: Add line joints 3250\n  [radarhere]\n\n- Improved performance of ImageDraw floodfill method 3294\n  [yo1995]\n\n- Fix builds with --parallel 3272\n  [hsoft]\n\n- Add more raw Tiff modes (RGBaX, RGBaXX, RGBAX, RGBAXX) 3335\n  [homm]\n\n- Close existing WebP fp before setting new fp 3341\n  [radarhere]\n\n- Add orientation, compression and id_section as TGA save keyword arguments 3327\n  [radarhere]\n\n- Convert int values of RATIONAL TIFF tags to floats 3338\n  [radarhere, wiredfool]\n\n- Fix code for PYTHONOPTIMIZE 3233\n  [hugovk]\n\n- Changed ImageFilter.Kernel to subclass ImageFilter.BuiltinFilter, instead of the other way around 3273\n  [radarhere]\n\n- Remove unused draw.draw_line, draw.draw_point and font.getabc methods 3232\n  [hugovk]\n\n- Tests: Added ImageFilter tests 3295\n  [radarhere]\n\n- Tests: Added ImageChops tests 3230\n  [hugovk, radarhere]\n\n- AppVeyor: Download lib if not present in pillow-depends 3316\n  [radarhere]\n\n- Travis CI: Add Python 3.7 and Xenial 3234\n  [hugovk]\n\n- Docs: Added documentation for NumPy conversion 3301\n  [radarhere]\n\n- Depends: Update libimagequant to 2.12.1 3281\n  [radarhere]\n\n- Add three-color support to ImageOps.colorize 3242\n  [tsennott]\n\n- Tests: Add LA to TGA test modes 3222\n  [danpla]\n\n- Skip outline if the draw operation fills with the same colour 2922\n  [radarhere]\n\n- Flake8 fixes 3173, 3380\n  [radarhere]\n\n- Avoid deprecated &#39;U&#39; mode when opening files 2187\n  [jdufresne]\n   ```\n   \n  \n  \n   ### 5.2.0\n   ```\n   ------------------\n\n- Fixed saving a multiframe image as a single frame PDF 3137\n  [radarhere]\n\n- If a Qt version is already imported, attempt to use it first 3143\n  [radarhere]\n\n- Fix transform fill color for alpha images 3147\n  [fozcode]\n\n- TGA: Add support for writing RLE data 3186\n  [danpla]\n\n- TGA: Read and write LA data 3178\n  [danpla]\n\n- QuantOctree.c: Remove erroneous attempt to average over an empty range 3196\n  [tkoeppe]\n\n- Changed ICNS format tests to pass on OS X 10.11 3202\n  [radarhere]\n\n- Fixed bug in ImageDraw.multiline_textsize() 3114\n  [tianyu139]\n\n- Added getsize_multiline support for PIL.ImageFont 3113\n  [tianyu139]\n\n- Added ImageFile get_format_mimetype method 3190\n  [radarhere]\n\n- Changed mmap file pointer to use context manager 3216\n  [radarhere]\n\n- Changed ellipse point calculations to be more evenly distributed 3142\n  [radarhere]\n\n- Only extract first Exif segment 2946\n  [hugovk]\n\n- Tests: Test ImageDraw2, WalImageFile 3135, 2989\n  [hugovk]\n\n- Remove unnecessary &#39;if 0&#39; code 3075\n  [hugovk]\n\n- Tests: Added GD tests 1817\n  [radarhere]\n\n- Fix collections ABCs DeprecationWarning in Python 3.7 3123\n  [hugovk]\n\n- unpack_from is faster than unpack of slice 3201\n  [landfillbaby]\n\n- Docs: Add coordinate system links and file handling links in documentation 3204, 3214\n  [radarhere]\n\n- Tests: TestFilePng: Fix test_save_l_transparency() 3182\n  [danpla]\n\n- Docs: Correct argument name 3171\n  [radarhere]\n\n- Docs: Update CMake download URL 3166\n  [radarhere]\n\n- Docs: Improve Image.transform documentation 3164\n  [radarhere]\n\n- Fix transform fillcolor argument when image mode is RGBA or LA 3163\n  [radarhere]\n\n- Tests: More specific Exception testing 3158\n  [radarhere]\n\n- Add getrgb HSB/HSV color strings 3148\n  [radarhere]\n\n- Allow float values in getrgb HSL color string 3146\n  [radarhere]\n\n- AppVeyor: Upgrade to Python 2.7.15 and 3.4.4 3140\n  [radarhere]\n\n- AppVeyor: Upgrade to PyPy 6.0.0 3133\n  [hugovk]\n\n- Deprecate PILLOW_VERSION and VERSION 3090\n  [hugovk]\n\n- Support Python 3.7 3076\n  [hugovk]\n\n- Depends: Update freetype to 2.9.1, libjpeg to 9c, libwebp to 1.0.0 3121, 3136, 3108\n  [radarhere]\n\n- Build macOS wheels with Xcode 6.4, supporting older macOS versions 3068\n  [wiredfool]\n\n- Fix _i2f compilation on some GCC versions 3067\n  [homm]\n\n- Changed encoderinfo to have priority over info when saving GIF images 3086\n  [radarhere]\n\n- Rename PIL.version to PIL._version and remove it from module 3083\n  [homm]\n\n- Enable background colour parameter on rotate 3057\n  [storesource]\n\n- Remove unnecessary `if 1` directive 3072\n  [jdufresne]\n\n- Remove unused Python class, Path 3070\n  [jdufresne]\n\n- Fix dereferencing type-punned pointer will break strict-aliasing 3069\n  [jdufresne]\n   ```\n   \n  \n</details>\n\n\n \n\n<details>\n  <summary>Links</summary>\n  \n  - PyPI: https://pypi.org/project/pillow\n  - Changelog: https://pyup.io/changelogs/pillow/\n  - Homepage: http://python-pillow.org\n</details>\n\n\n\n\n\n### Update [argon2-cffi](https://pypi.org/project/argon2-cffi) from **18.1.0** to **19.1.0**.\n\n\n<details>\n  <summary>Changelog</summary>\n  \n  \n   ### 19.1.0\n   ```\n   -------------------\n\nVendoring Argon2  `670229c &lt;https://github.com/P-H-C/phc-winner-argon2/tree/670229c849b9fe882583688b74eb7dfdc846f9f6&gt;`_ (20171227)\n\n\nBackward-incompatible changes:\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n*none*\n\n\nDeprecations:\n^^^^^^^^^^^^^\n\n*none*\n\n\nChanges:\n^^^^^^^^\n\n- Added support for Argon2 v1.2 hashes in ``argon2.extract_parameters()``.\n\n\n----\n   ```\n   \n  \n  \n   ### 18.3.0\n   ```\n   -------------------\n\nVendoring Argon2  `670229c &lt;https://github.com/P-H-C/phc-winner-argon2/tree/670229c849b9fe882583688b74eb7dfdc846f9f6&gt;`_ (20171227)\n\n\nBackward-incompatible changes:\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n*none*\n\n\nDeprecations:\n^^^^^^^^^^^^^\n\n*none*\n\n\nChanges:\n^^^^^^^^\n\n- ``argon2.PasswordHasher``&#39;s hash type is configurable now.\n\n\n----\n   ```\n   \n  \n  \n   ### 18.2.0\n   ```\n   -------------------\n\nVendoring Argon2  `670229c &lt;https://github.com/P-H-C/phc-winner-argon2/tree/670229c849b9fe882583688b74eb7dfdc846f9f6&gt;`_ (20171227)\n\n\nChanges:\n^^^^^^^^\n\n- The hash type for ``argon2.PasswordHasher`` is Argon2\\ **id** now.\n\n  This decision has been made based on the recommendations in the latest `Argon2 RFC draft &lt;https://tools.ietf.org/html/draft-irtf-cfrg-argon2-04section-4&gt;`_.\n  `33 &lt;https://github.com/hynek/argon2_cffi/pull/33&gt;`_\n  `34 &lt;https://github.com/hynek/argon2_cffi/pull/34&gt;`_\n- To make the change of hash type backward compatible, ``argon2.PasswordHasher.verify()`` now determines the type of the hash and verifies it accordingly.\n- Some of the hash parameters have been made stricter to be closer to said recommendations.\n  The current goal for a hash verification times is around 50ms.\n  `41 &lt;https://github.com/hynek/argon2_cffi/pull/41&gt;`_\n- To allow for bespoke decisions about upgrading Argon2 parameters, it&#39;s now possible to extract them from a hash via the ``argon2.extract_parameters()`` function.\n  `41 &lt;https://github.com/hynek/argon2_cffi/pull/41&gt;`_\n- Additionally ``argon2.PasswordHasher`` now has a ``check_needs_rehash()`` method that allows to verify whether a hash has been created with the instance&#39;s parameters or whether it should be rehashed.\n  `41 &lt;https://github.com/hynek/argon2_cffi/pull/41&gt;`_\n\n\n----\n   ```\n   \n  \n</details>\n\n\n \n\n<details>\n  <summary>Links</summary>\n  \n  - PyPI: https://pypi.org/project/argon2-cffi\n  - Changelog: https://pyup.io/changelogs/argon2-cffi/\n  - Docs: https://argon2-cffi.readthedocs.io/\n</details>\n\n\n\n\n\n### Update [whitenoise](https://pypi.org/project/whitenoise) from **3.3.1** to **4.1.2**.\n\n\n<details>\n  <summary>Changelog</summary>\n  \n  \n   ### 4.1.2\n   ```\n   ------\n\n * Add correct MIME type for WebAssembly, which is required for files to be\n   executed (thanks `mdboom &lt;https://github.com/mdboom&gt;`_ ).\n * Stop accessing the FILE_CHARSET Django setting which was almost entirely\n   unused and is now deprecated (thanks `timgraham\n   &lt;https://github.com/timgraham&gt;`_).\n   ```\n   \n  \n  \n   ### 4.1.1\n   ```\n   ------\n\n * Fix `bug &lt;https://github.com/evansd/whitenoise/issues/202&gt;`_ in ETag\n   handling (thanks `edmorley &lt;https://github.com/edmorley&gt;`_).\n * Documentation fixes (thanks `jamesbeith &lt;https://github.com/jamesbeith&gt;`_\n   and `mathieusteele &lt;https://github.com/mathieusteele&gt;`_).\n   ```\n   \n  \n  \n   ### 4.1\n   ```\n   ----\n\n * Silenced spurious warning about missing directories when in development (i.e\n   &quot;autorefresh&quot;) mode.\n * Support supplying paths as `Pathlib\n   &lt;https://docs.python.org/3.4/library/pathlib.html&gt;`_ instances, rather than\n   just strings (thanks `browniebroke &lt;https://github.com/browniebroke&gt;`_).\n * Add a new :ref:`CompressedStaticFilesStorage &lt;compression-and-caching&gt;`\n   backend to support applying compression without applying Django&#39;s hash-versioning\n   process.\n * Documentation improvements.\n   ```\n   \n  \n  \n   ### 4.0\n   ```\n   ----\n\n.. note:: **Breaking changes**\n          The latest version of WhiteNoise removes some options which were\n          deprecated in the previous major release:\n\n    * The WSGI integration option for Django\n      (which involved editing ``wsgi.py``) has been removed. Instead, you\n      should add WhiteNoise to your\n      middleware list in ``settings.py`` and remove any reference to WhiteNoise from\n      ``wsgi.py``.\n      See the :ref:`documentation &lt;django-middleware&gt;` for more details. |br|\n      (The :doc:`pure WSGI &lt;base&gt;` integration is still available for non-Django apps.)\n\n    * The ``whitenoise.django.GzipManifestStaticFilesStorage`` alias has now\n      been removed. Instead you should use the correct import path:\n      ``whitenoise.storage.CompressedManifestStaticFilesStorage``.\n\n    If you are not using either of these integration options you should have\n    no issues upgrading to the latest version.\n\nRemoved Python 3.3 Support\n++++++++++++++++++++++++++\n\nRemoved support for Python 3.3 since it&#39;s end of life was in September 2017.\n\n\nIndex file support\n++++++++++++++++++\n\nWhiteNoise now supports serving :ref:`index files &lt;index-files-django&gt;` for\ndirectories (e.g. serving ``/example/index.html`` at ``/example/``). It also\ncreates redirects so that visiting the index file directly, or visiting the URL\nwithout a trailing slash will redirect to the correct URL.\n\n\nRange header support (&quot;byte serving&quot;)\n+++++++++++++++++++++++++++++++++++++\n\nWhiteNoise now respects the HTTP Range header which allows a client to request\nonly part of a file. The main use for this is in serving video files to iOS\ndevices as Safari refuses to play videos unless the server supports the\nRange header.\n\n\nETag support\n++++++++++++\n\nWhiteNoise now adds ETag headers to files using the same algorithm used by\nnginx. This gives slightly better caching behaviour than relying purely on Last\nModified dates (although not as good as creating immutable files using\nsomething like ``ManifestStaticFilesStorage``, which is still the best option\nif you can use it).\n\nIf you need to generate your own ETags headers for any reason you can define a\ncustom :any:`add_headers_function &lt;WHITENOISE_ADD_HEADERS_FUNCTION&gt;`.\n\n\nRemove requirement to run collectstatic\n+++++++++++++++++++++++++++++++++++++++\n\nBy setting :any:`WHITENOISE_USE_FINDERS` to ``True`` files will be served\ndirectly from their original locations (usually in ``STATICFILES_DIRS`` or app\n``static`` subdirectories) without needing to be collected into ``STATIC_ROOT``\nby the collectstatic command. This was\nalways the default behaviour when in ``DEBUG`` mode but previously it wasn&#39;t\npossible to enable this behaviour in production. For small apps which aren&#39;t\nusing the caching and compression features of the more advanced storage\nbackends this simplifies the deployment process by removing the need to run\ncollectstatic as part of the build step -- in fact, it&#39;s now possible not to\nhave any build step at all.\n\n\nCustomisable immutable files test\n+++++++++++++++++++++++++++++++++\n\nWhiteNoise ships with code which detects when you are using Django&#39;s\nManifestStaticFilesStorage backend and sends optimal caching headers for files\nwhich are guaranteed not to change. If you are using a different system for\ngenerating cacheable files then you might need to supply your own function for\ndetecting such files. Previously this required subclassing WhiteNoise, but now\nyou can use the :any:`WHITENOISE_IMMUTABLE_FILE_TEST` setting.\n\n\nFix runserver_nostatic to work with Channels\n++++++++++++++++++++++++++++++++++++++++++++\n\nThe old implementation of :ref:`runserver_nostatic &lt;runserver-nostatic&gt;` (which\ndisables Django&#39;s default static file handling in development) did not work\nwith `Channels`_, which needs its own runserver implementation. The\nrunserver_nostatic command has now been rewritten so that it should work with\nChannels and with any other app which provides its own runserver.\n\n.. _Channels: https://channels.readthedocs.io/\n\n\nReduced storage requirements for static files\n+++++++++++++++++++++++++++++++++++++++++++++\n\nThe new :any:`WHITENOISE_KEEP_ONLY_HASHED_FILES` setting reduces the number of\nfiles in STATIC_ROOT by half by storing files only under their hashed names\n(e.g.  ``app.db8f2edc0c8a.js``), rather than also keeping a copy with the\noriginal name (e.g. ``app.js``).\n\n\n\nImproved start up performance\n+++++++++++++++++++++++++++++\n\nWhen in production mode (i.e. when :any:`autorefresh &lt;WHITENOISE_AUTOREFRESH&gt;`\nis disabled), WhiteNoise scans all static files when the application starts in\norder to be able to serve them as efficiently and securely as possible. For\nmost applications this makes no noticeable difference to start up time, however\nfor applications with very large numbers of static files this process can take\nsome time. In WhiteNoise 4.0 the file scanning code has been rewritten to do\nthe minimum possible amount of filesystem access which should make the start up\nprocess considerably faster.\n\n\nWindows Testing\n+++++++++++++++\n\nWhiteNoise has always aimed to support Windows as well as \\*NIX platforms but\nwe are now able to run the test suite against Windows as part of the CI process\nwhich should ensure that we can maintain Windows compatibility in future.\n\n\nModification times for compressed files\n+++++++++++++++++++++++++++++++++++++++\n\nThe compressed storage backend (which generates Gzip and Brotli compressed\nfiles) now ensures that compressed files have the same modification time as the\noriginals.  This only makes a difference if you are using the compression\nbackend with something other than WhiteNoise to actually serve the files, which\nvery few users do.\n\nReplaced brotlipy with official Brotli Python Package\n+++++++++++++++++++++++++++++++++++++++++++++++++++++\n\nSince the official `Brotli project &lt;https://github.com/google/brotli&gt;`_ offers\na `Brotli Python package &lt;https://pypi.org/project/Brotli/&gt;`_ brotlipy has been\nreplaced with Brotli.\n\nFurthermore a ``brotli`` key has been added to ``extras_require`` which allows\ninstalling WhiteNoise and Brotli together like this:\n\n.. code-block:: bash\n\n    pip install whitenoise[brotli]\n\n\n---------------------------\n   ```\n   \n  \n</details>\n\n\n \n\n<details>\n  <summary>Links</summary>\n  \n  - PyPI: https://pypi.org/project/whitenoise\n  - Changelog: https://pyup.io/changelogs/whitenoise/\n  - Homepage: http://whitenoise.evans.io\n</details>\n\n\n\n\n\n### Update [django](https://pypi.org/project/django) from **2.0.5** to **2.0.10**.\n\n\n<details>\n  <summary>Changelog</summary>\n  \n  \n   ### 2.0.10\n   ```\n   ===========================\n\n*January 4, 2019*\n\nDjango 2.0.10 fixes a security issue and several bugs in 2.0.9.\n\nCVE-2019-3498: Content spoofing possibility in the default 404 page\n-------------------------------------------------------------------\n\nAn attacker could craft a malicious URL that could make spoofed content appear\non the default page generated by the ``django.views.defaults.page_not_found()``\nview.\n\nThe URL path is no longer displayed in the default 404 template and the\n``request_path`` context variable is now quoted to fix the issue for custom\ntemplates that use the path.\n\nBugfixes\n========\n\n* Prevented repetitive calls to ``geos_version_tuple()`` in the ``WKBWriter``\n  class in an attempt to fix a random crash involving ``LooseVersion`` since\n  Django 2.0.6 (:ticket:`29959`).\n\n* Fixed a schema corruption issue on SQLite 3.26+. You might have to drop and\n  rebuild your SQLite database if you applied a migration while using an older\n  version of Django with SQLite 3.26 or later (:ticket:`29182`).\n\n* Prevented SQLite schema alterations while foreign key checks are enabled to\n  avoid the possibility of schema corruption (:ticket:`30023`).\n\n\n==========================\n   ```\n   \n  \n  \n   ### 2.0.9\n   ```\n   ==========================\n\n*October 1, 2018*\n\nDjango 2.0.9 fixes a data loss bug in 2.0.8.\n\nBugfixes\n========\n\n* Fixed a race condition in ``QuerySet.update_or_create()`` that could result\n  in data loss (:ticket:`29499`).\n\n\n==========================\n   ```\n   \n  \n  \n   ### 2.0.8\n   ```\n   ==========================\n\n*August 1, 2018*\n\nDjango 2.0.8 fixes a security issue and several bugs in 2.0.7.\n\nCVE-2018-14574: Open redirect possibility in ``CommonMiddleware``\n=================================================================\n\nIf the :class:`~django.middleware.common.CommonMiddleware` and the\n:setting:`APPEND_SLASH` setting are both enabled, and if the project has a\nURL pattern that accepts any path ending in a slash (many content management\nsystems have such a pattern), then a request to a maliciously crafted URL of\nthat site could lead to a redirect to another site, enabling phishing and other\nattacks.\n\n``CommonMiddleware`` now escapes leading slashes to prevent redirects to other\ndomains.\n\nBugfixes\n========\n\n* Fixed a regression in Django 2.0.7 that broke the ``regex`` lookup on MariaDB\n  (even though MariaDB isn&#39;t officially supported) (:ticket:`29544`).\n\n* Fixed a regression where ``django.template.Template`` crashed if the\n  ``template_string`` argument is lazy (:ticket:`29617`).\n\n\n==========================\n   ```\n   \n  \n  \n   ### 2.0.7\n   ```\n   ==========================\n\n*July 2, 2018*\n\nDjango 2.0.7 fixes several bugs in 2.0.6.\n\nBugfixes\n========\n\n* Fixed admin changelist crash when using a query expression without ``asc()``\n  or ``desc()`` in the page&#39;s ordering (:ticket:`29428`).\n\n* Fixed admin check crash when using a query expression in\n  ``ModelAdmin.ordering`` (:ticket:`29428`).\n\n* Fixed ``__regex`` and ``__iregex`` lookups with MySQL 8 (:ticket:`29451`).\n\n* Fixed migrations crash with namespace packages on Python 3.7\n  (:ticket:`28814`).\n\n\n==========================\n   ```\n   \n  \n  \n   ### 2.0.6\n   ```\n   ==========================\n\n*June 1, 2018*\n\nDjango 2.0.6 fixes several bugs in 2.0.5.\n\nBugfixes\n========\n\n* Fixed a regression that broke custom template filters that use decorators\n  (:ticket:`29400`).\n\n* Fixed detection of custom URL converters in included patterns\n  (:ticket:`29415`).\n\n* Fixed a regression that added an unnecessary subquery to the ``GROUP BY``\n  clause on MySQL when using a ``RawSQL`` annotation (:ticket:`29416`).\n\n* Fixed ``WKBWriter.write()`` and ``write_hex()`` for empty polygons on\n  GEOS 3.6.1+ (:ticket:`29460`).\n\n* Fixed a regression in Django 1.10 that could result in large memory usage\n  when making edits using ``ModelAdmin.list_editable`` (:ticket:`28462`).\n\n\n==========================\n   ```\n   \n  \n</details>\n\n\n \n\n<details>\n  <summary>Links</summary>\n  \n  - PyPI: https://pypi.org/project/django\n  - Changelog: https://pyup.io/changelogs/django/\n  - Homepage: https://www.djangoproject.com/\n</details>\n\n\n\n\n\n### Update [django-environ](https://pypi.org/project/django-environ) from **0.4.4** to **0.4.5**.\n\n\n<details>\n  <summary>Changelog</summary>\n  \n  \n   ### 0.4.5\n   ```\n   --------------------------\nAdded\n+++++\n  - Support for Django 2.0\n  - Support for smart casting\n  - Support PostgreSQL unix domain socket paths\n  - Tip: Multiple env files\n\nChanged\n+++++++\n  - Fix parsing option values None, True and False\n  - Order of importance of engine configuration in db_url_config\n\nRemoved\n+++++++\n  - Remove django and six dependencies\n   ```\n   \n  \n</details>\n\n\n \n\n<details>\n  <summary>Links</summary>\n  \n  - PyPI: https://pypi.org/project/django-environ\n  - Changelog: https://pyup.io/changelogs/django-environ/\n  - Repo: https://github.com/joke2k/django-environ\n</details>\n\n\n\n\n\n### Update [django-allauth](https://pypi.org/project/django-allauth) from **0.36.0** to **0.38.0**.\n\n\n<details>\n  <summary>Changelog</summary>\n  \n  \n   ### 0.38.0\n   ```\n   *******************\n\nSecurity notice\n---------------\n\nThe ``{% user_display user %}`` tag did not escape properly. Depending on the\nusername validation rules, this could lead to XSS issues.\n\n\nNote worthy changes\n-------------------\n\n- New provider: Vimeo (OAuth2).\n\n- New translations: Basque.\n   ```\n   \n  \n  \n   ### 0.37.1\n   ```\n   *******************\n\nBackwards incompatible changes\n------------------------------\n\n- Dropped the ``x-li-src: msdk`` headers from the ``linkedin_oauth2`` handshake.\n  This header is only required for mobile tokens, and breaks the regular flow.\n  Use the ``HEADERS`` setting to add this header if you need it.\n   ```\n   \n  \n  \n   ### 0.37.0\n   ```\n   *******************\n\nNote worthy changes\n-------------------\n\n- The Battle.net login backend now recognizes ``apac`` as a valid region.\n\n- User model using a ``UUIDField`` as it&#39;s primary key can now be logged\n  in upon email confirmation (if using ``ACCOUNT_LOGIN_ON_EMAIL_CONFIRMATION``).\n\n- New providers: Agave, Cern, Disqus, Globus.\n\n- New translation: Danish.\n   ```\n   \n  \n</details>\n\n\n \n\n<details>\n  <summary>Links</summary>\n  \n  - PyPI: https://pypi.org/project/django-allauth\n  - Changelog: https://pyup.io/changelogs/django-allauth/\n  - Repo: http://github.com/pennersr/django-allauth\n</details>\n\n\n\n\n\n### Update [django-redis](https://pypi.org/project/django-redis) from **4.9.0** to **4.10.0**.\n\n\n<details>\n  <summary>Changelog</summary>\n  \n  \n   ### 4.10.0\n   ```\n   --------------\n\nDate: 2018-10-19\n\n- Add support and testing for Django 2.1 and Python 3.7. No actual code changes\n  were required.\n- Add support for redis-py 3.0.\n- Add touch command.\n   ```\n   \n  \n  \n   ### 4.9.1\n   ```\n   -------------\n\nDate: 2018-10-19\n\n- Pin redis version to 2.10.6\n   ```\n   \n  \n</details>\n\n\n \n\n<details>\n  <summary>Links</summary>\n  \n  - PyPI: https://pypi.org/project/django-redis\n  - Changelog: https://pyup.io/changelogs/django-redis/\n  - Repo: https://github.com/niwibe/django-redis\n</details>\n\n\n\n\n\n### Update [djangorestframework](https://pypi.org/project/djangorestframework) from **3.8.2** to **3.9.1**.\n\n\n*The bot wasn't able to find a changelog for this release. [Got an idea?](https://github.com/pyupio/changelogs/issues/new)*\n\n<details>\n  <summary>Links</summary>\n  \n  - PyPI: https://pypi.org/project/djangorestframework\n  - Changelog: https://pyup.io/changelogs/djangorestframework/\n  - Homepage: https://www.django-rest-framework.org/\n</details>\n\n\n\n\n\n### Update [Sphinx](https://pypi.org/project/Sphinx) from **1.7.4** to **1.8.4**.\n\n\n<details>\n  <summary>Changelog</summary>\n  \n  \n   ### 1.8.4\n   ```\n   =====================================\n\nBugs fixed\n----------\n\n* 3707: latex: no bold checkmark (✔) available.\n* 5605: with the documentation language set to Chinese, English words could not\n  be searched.\n* 5889: LaTeX: user ``numfig_format`` is stripped of spaces and may cause\n  build failure\n* C++, fix hyperlinks for declarations involving east cv-qualifiers.\n* 5755: C++, fix duplicate declaration error on function templates with constraints\n  in the return type.\n* C++, parse unary right fold expressions and binary fold expressions.\n* pycode could not handle egg files on windows\n* 5928: KeyError: &#39;DOCUTILSCONFIG&#39; when running build\n* 5936: LaTeX: PDF build broken by inclusion of image taller than page height\n  in an admonition\n* 5231: &quot;make html&quot; does not read and build &quot;po&quot; files in &quot;locale&quot; dir\n* 5954: ``:scale:`` image option may break PDF build if image in an admonition\n* 5966: mathjax has not been loaded on incremental build\n* 5960: LaTeX: modified PDF layout since September 2018 TeXLive update of\n  :file:`parskip.sty`\n* 5948: LaTeX: duplicated labels are generated for sections\n* 5958: versionadded directive causes crash with Python 3.5.0\n* 5995: autodoc: autodoc_mock_imports conflict with metaclass on Python 3.7\n* 5871: texinfo: a section title ``.`` is not allowed\n   ```\n   \n  \n  \n   ### 1.8.3\n   ```\n   =====================================\n\nFeatures added\n--------------\n\n* LaTeX: it is possible to insert custom material to appear on back of title\n  page, see discussion of ``&#39;maketitle&#39;`` key of :confval:`latex_elements`\n  (``&#39;manual&#39;`` docclass only)\n\nBugs fixed\n----------\n\n* 5725: mathjax: Use CDN URL for &quot;latest&quot; version by default\n* 5460: html search does not work with some 3rd party themes\n* 5520: LaTeX, caption package incompatibility since Sphinx 1.6\n* 5614: autodoc: incremental build is broken when builtin modules are imported\n* 5627: qthelp: index.html missing in QtHelp\n* 5659: linkcheck: crashes for a hyperlink containing multibyte character\n* 5754: DOC: Fix some mistakes in :doc:`/latex`\n* 5810: LaTeX: sphinxVerbatim requires explicit &quot;hllines&quot; set-up since 1.6.6\n  (refs: 1238)\n* 5636: C++, fix parsing of floating point literals.\n* 5496 (again): C++, fix assertion in partial builds with duplicates.\n* 5724: quickstart: sphinx-quickstart fails when $LC_ALL is empty\n* 1956: Default conf.py is not PEP8-compliant\n* 5849: LaTeX: document class ``\\maketitle`` is overwritten with no\n  possibility to use original meaning in place of Sphinx custom one\n* 5834: apidoc: wrong help for ``--tocfile``\n* 5800: todo: crashed if todo is defined in TextElement\n* 5846: htmlhelp: convert hex escaping to decimal escaping in .hhc/.hhk files\n* htmlhelp: broken .hhk file generated when title contains a double quote\n   ```\n   \n  \n  \n   ### 1.8.2\n   ```\n   =====================================\n\nIncompatible changes\n--------------------\n\n* 5497: Do not include MathJax.js and jsmath.js unless it is really needed\n\nFeatures added\n--------------\n\n* 5471: Show appropriate deprecation warnings\n\nBugs fixed\n----------\n\n* 5490: latex: enumerated list causes a crash with recommonmark\n* 5492: sphinx-build fails to build docs w/ Python &lt; 3.5.2\n* 3704: latex: wrong ``\\label`` positioning for figures with a legend\n* 5496: C++, fix assertion when a symbol is declared more than twice.\n* 5493: gettext: crashed with broken template\n* 5495: csv-table directive with file option in included file is broken (refs:\n  4821)\n* 5498: autodoc: unable to find type hints for a ``functools.partial``\n* 5480: autodoc: unable to find type hints for unresolvable Forward references\n* 5419: incompatible math_block node has been generated\n* 5548: Fix ensuredir() in case of pre-existing file\n* 5549: graphviz Correctly deal with non-existing static dir\n* 3002: i18n: multiple footnote_references referring same footnote cause\n  duplicated node_ids\n* 5563: latex: footnote_references generated by extension causes a LaTeX\n  builder crash\n* 5561: make all-pdf fails with old xindy version\n* 5557: quickstart: --no-batchfile isn&#39;t honored\n* 3080: texinfo: multiline rubrics are broken\n* 3080: texinfo: multiline citations are broken\n   ```\n   \n  \n  \n   ### 1.8.1\n   ```\n   =====================================\n\nIncompatible changes\n--------------------\n\n* LaTeX ``\\pagestyle`` commands have been moved to the LaTeX template. No\n  changes in PDF, except possibly if ``\\sphinxtableofcontents``, which\n  contained them, had been customized in :file:`conf.py`. (refs: 5455)\n\nBugs fixed\n----------\n\n* 5418: Incorrect default path for sphinx-build -d/doctrees files\n* 5421: autodoc emits deprecation warning for :confval:`autodoc_default_flags`\n* 5422: lambda object causes PicklingError on storing environment\n* 5417: Sphinx fails to build with syntax error in Python 2.7.5\n* 4911: add latexpdf to make.bat for non make-mode\n* 5436: Autodoc does not work with enum subclasses with properties/methods\n* 5437: autodoc: crashed on modules importing eggs\n* 5433: latex: ImportError: cannot import name &#39;DEFAULT_SETTINGS&#39;\n* 5431: autodoc: ``autofunction`` emits a warning for callable objects\n* 5457: Fix TypeError in error message when override is prohibited\n* 5453: PDF builds of &#39;howto&#39; documents have no page numbers\n* 5463: mathbase: math_role and MathDirective was disappeared in 1.8.0\n* 5454: latex: Index has disappeared from PDF for Japanese documents\n* 5432: py domain: ``:type:`` field can&#39;t process ``:term:`` references\n* 5426: py domain: TypeError has been raised for class attribute\n   ```\n   \n  \n  \n   ### 1.8.0\n   ```\n   =====================================\n\nDependencies\n------------\n   ```\n   \n  \n  \n   ### 1.8.0b2\n   ```\n   * html: search box overrides to other elements if scrolled\n* i18n: warnings for translation catalogs have wrong line numbers (refs: 5321)\n* 5325: latex: cross references has been broken by multiply labeled objects\n* C++, fixes for symbol addition and lookup. Lookup should no longer break\n  in partial builds. See also 5337.\n* 5348: download reference to remote file is not displayed\n* 5282: html theme: ``pygments_style`` of theme was overridden by ``conf.py``\n  by default\n* 4379: toctree shows confusing warning when document is excluded\n* 2401: autodoc: ``:members:`` causes ``:special-members:`` not to be shown\n* autodoc: ImportError is replaced by AttributeError for deeper module\n* 2720, 4034: Incorrect links with ``:download:``, duplicate names, and\n  parallel builds\n* 5290: autodoc: failed to analyze source code in egg package\n* 5399: Sphinx crashes if unknown po file exists\n   ```\n   \n  \n  \n   ### 1.8.0b1\n   ```\n   * 5083: Fix wrong make.bat option for internationalization.\n* 5115: napoleon: add admonitions added by 4613 to the docs.\n   ```\n   \n  \n  \n   ### 1.7.9\n   ```\n   =====================================\n\nFeatures added\n--------------\n\n* 5359: Make generated texinfo files reproducible by sorting the anchors\n\nBugs fixed\n----------\n\n* 5361: crashed on incremental build if document uses include directive\n   ```\n   \n  \n  \n   ### 1.7.8\n   ```\n   =====================================\n\nIncompatible changes\n--------------------\n\n* The type of ``env.included`` has been changed to dict of set\n\nBugs fixed\n----------\n\n* 5320: intersphinx: crashed if invalid url given\n* 5326: manpage: crashed when invalid docname is specified as ``man_pages``\n* 5322: autodoc: ``Any`` typehint causes formatting error\n* 5327: &quot;document isn&#39;t included in any toctree&quot; warning on rebuild with\n  generated files\n* 5335: quickstart: escape sequence has been displayed with MacPorts&#39; python\n   ```\n   \n  \n  \n   ### 1.7.7\n   ```\n   =====================================\n\nBugs fixed\n----------\n\n* 5198: document not in toctree warning when including files only for parallel\n  builds\n* LaTeX: reduce &quot;Token not allowed in a PDF string&quot; hyperref warnings in latex\n  console output (refs: 5236)\n* LaTeX: suppress &quot;remreset Warning: The remreset package is obsolete&quot; in latex\n  console output with recent LaTeX (refs: 5237)\n* 5234: PDF output: usage of PAPER environment variable is broken since Sphinx\n  1.5\n* LaTeX: fix the :confval:`latex_engine` documentation regarding Latin Modern\n  font with XeLaTeX/LuaLateX (refs: 5251)\n* 5280: autodoc: Fix wrong type annotations for complex typing\n* autodoc: Optional types are wrongly rendered\n* 5291: autodoc crashed by ForwardRef types\n* 5211: autodoc: No docs generated for functools.partial functions\n* 5306: autodoc: ``getargspec()`` raises NameError for invalid typehints\n* 5298: imgmath: math_number_all causes equations to have two numbers in html\n* 5294: sphinx-quickstart blank prompts in PowerShell\n   ```\n   \n  \n  \n   ### 1.7.6\n   ```\n   =====================================\n\nBugs fixed\n----------\n\n* 5037: LaTeX ``\\sphinxupquote{}`` breaks in Russian\n* sphinx.testing uses deprecated pytest API; ``Node.get_marker(name)``\n* 5016: crashed when recommonmark.AutoStrictify is enabled\n* 5022: latex: crashed with docutils package provided by Debian/Ubuntu\n* 5009: latex: a label for table is vanished if table does not have a caption\n* 5048: crashed with numbered toctree\n* 2410: C, render empty argument lists for macros.\n* C++, fix lookup of full template specializations with no template arguments.\n* 4667: C++, fix assertion on missing references in global scope when using\n  intersphinx. Thanks to Alan M. Carroll.\n* 5019: autodoc: crashed by Form Feed Character\n* 5032: autodoc: loses the first staticmethod parameter for old styled classes\n* 5036: quickstart: Typing Ctrl-U clears the whole of line\n* 5066: html: &quot;relations&quot; sidebar is not shown by default\n* 5091: latex: curly braces in index entries are not handled correctly\n* 5070: epub: Wrong internal href fragment links\n* 5104: apidoc: Interface of ``sphinx.apidoc:main()`` has changed\n* 4272: PDF builds of French projects have issues with XeTeX\n* 5076: napoleon raises RuntimeError with python 3.7\n* 5125: sphinx-build: Interface of ``sphinx:main()`` has changed\n* sphinx-build: ``sphinx.cmd.build.main()`` refers ``sys.argv`` instead of given\n  argument\n* 5146: autosummary: warning is emitted when the first line of docstring ends\n  with literal notation\n* autosummary: warnings of autosummary indicates wrong location (refs: 5146)\n* 5143: autodoc: crashed on inspecting dict like object which does not support\n  sorting\n* 5139: autodoc: Enum argument missing if it shares value with another\n* 4946: py domain: rtype field could not handle &quot;None&quot; as a type\n* 5176: LaTeX: indexing of terms containing `, ``!``, or ``&quot;`` fails\n* 5161: html: crashes if copying static files are failed\n* 5167: autodoc: Fix formatting type annotations for tuples with more than two\n  arguments\n* 3329: i18n: crashed by auto-symbol footnote references\n* 5158: autosummary: module summary has been broken when it starts with heading\n   ```\n   \n  \n  \n   ### 1.7.5\n   ```\n   =====================================\n\nBugs fixed\n----------\n\n* 4924: html search: Upper characters problem in any other languages\n* 4932: apidoc: some subpackage is ignored if sibling subpackage contains a\n  module starting with underscore\n* 4863, 4938, 4939: i18n doesn&#39;t handle correctly node.title as used for\n  contents, topic, admonition, table and section.\n* 4913: i18n: literal blocks in bullet list are not translated\n* 4962: C++, raised TypeError on duplicate declaration.\n* 4825: C++, properly parse expr roles and give better error messages when\n  (escaped) line breaks are present.\n* C++, properly use ``desc_addname`` nodes for prefixes of names.\n* C++, parse pack expansions in function calls.\n* 4915, 4916: links on search page are broken when using dirhtml builder\n* 4969: autodoc: constructor method should not have return annotation\n* latex: deeply nested enumerated list which is beginning with non-1 causes\n  LaTeX engine crashed\n* 4978: latex: shorthandoff is not set up for Brazil locale\n* 4928: i18n: Ignore dot-directories like .git/ in LC_MESSAGES/\n* 4946: py domain: type field could not handle &quot;None&quot; as a type\n* 4979: latex: Incorrect escaping of curly braces in index entries\n* 4956: autodoc: Failed to extract document from a subclass of the class on\n  mocked module\n* 4973: latex: glossary directive adds whitespace to each item\n* 4980: latex: Explicit labels on code blocks are duplicated\n* 4919: node.asdom() crashes if toctree has :numbered: option\n* 4914: autodoc: Parsing error when using dataclasses without default values\n* 4931: autodoc: crashed when handler for autodoc-skip-member raises an error\n* 4931: autodoc: crashed when subclass of mocked class are processed by\n  napoleon module\n* 5007: sphinx-build crashes when error log contains a &quot;%&quot; character\n   ```\n   \n  \n</details>\n\n\n \n\n<details>\n  <summary>Links</summary>\n  \n  - PyPI: https://pypi.org/project/sphinx\n  - Changelog: https://pyup.io/changelogs/sphinx/\n  - Homepage: http://sphinx-doc.org/\n</details>\n\n\n\n\n\n### Update [pytest](https://pypi.org/project/pytest) from **3.5.1** to **4.2.0**.\n\n\n<details>\n  <summary>Changelog</summary>\n  \n  \n   ### 4.2.0\n   ```\n   =========================\n\nFeatures\n--------\n\n- `3094 &lt;https://github.com/pytest-dev/pytest/issues/3094&gt;`_: `Class xunit-style &lt;https://docs.pytest.org/en/latest/xunit_setup.html&gt;`__ functions and methods\n  now obey the scope of *autouse* fixtures.\n\n  This fixes a number of surprising issues like ``setup_method`` being called before session-scoped\n  autouse fixtures (see `517 &lt;https://github.com/pytest-dev/pytest/issues/517&gt;`__ for an example).\n\n\n- `4627 &lt;https://github.com/pytest-dev/pytest/issues/4627&gt;`_: 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\n  support those Python versions.\n\n\n- `4660 &lt;https://github.com/pytest-dev/pytest/issues/4660&gt;`_: The number of *selected* tests now are also displayed when the ``-k`` or ``-m`` flags are used.\n\n\n- `4688 &lt;https://github.com/pytest-dev/pytest/issues/4688&gt;`_: ``pytest_report_teststatus`` hook now can also receive a ``config`` parameter.\n\n\n- `4691 &lt;https://github.com/pytest-dev/pytest/issues/4691&gt;`_: ``pytest_terminal_summary`` hook now can also receive a ``config`` parameter.\n\n\n\nBug Fixes\n---------\n\n- `3547 &lt;https://github.com/pytest-dev/pytest/issues/3547&gt;`_: ``--junitxml`` can emit XML compatible with Jenkins xUnit.\n  ``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\n\n\n- `4280 &lt;https://github.com/pytest-dev/pytest/issues/4280&gt;`_: Improve quitting from pdb, especially with ``--trace``.\n\n  Using ``q[quit]`` after ``pdb.set_trace()`` will quit pytest also.\n\n\n- `4402 &lt;https://github.com/pytest-dev/pytest/issues/4402&gt;`_: Warning summary now groups warnings by message instead of by test id.\n\n  This makes the output more compact and better conveys the general idea of how much code is\n  actually generating warnings, instead of how many tests call that code.\n\n\n- `4536 &lt;https://github.com/pytest-dev/pytest/issues/4536&gt;`_: ``monkeypatch.delattr`` handles class descriptors like ``staticmethod``/``classmethod``.\n\n\n- `4649 &lt;https://github.com/pytest-dev/pytest/issues/4649&gt;`_: Restore marks being considered keywords for keyword expressions.\n\n\n- `4653 &lt;https://github.com/pytest-dev/pytest/issues/4653&gt;`_: ``tmp_path`` fixture and other related ones provides resolved path (a.k.a real path)\n\n\n- `4667 &lt;https://github.com/pytest-dev/pytest/issues/4667&gt;`_: ``pytest_terminal_summary`` uses result from ``pytest_report_teststatus`` hook, rather than hardcoded strings.\n\n\n- `4669 &lt;https://github.com/pytest-dev/pytest/issues/4669&gt;`_: Correctly handle ``unittest.SkipTest`` exception containing non-ascii characters on Python 2.\n\n\n- `4680 &lt;https://github.com/pytest-dev/pytest/issues/4680&gt;`_: Ensure the ``tmpdir`` and the ``tmp_path`` fixtures are the same folder.\n\n\n- `4681 &lt;https://github.com/pytest-dev/pytest/issues/4681&gt;`_: Ensure ``tmp_path`` is always a real path.\n\n\n\nTrivial/Internal Changes\n------------------------\n\n- `4643 &lt;https://github.com/pytest-dev/pytest/issues/4643&gt;`_: Use ``a.item()`` instead of the deprecated ``np.asscalar(a)`` in ``pytest.approx``.\n\n  ``np.asscalar`` has been `deprecated &lt;https://github.com/numpy/numpy/blob/master/doc/release/1.16.0-notes.rstnew-deprecations&gt;`__ in ``numpy 1.16.``.\n\n\n- `4657 &lt;https://github.com/pytest-dev/pytest/issues/4657&gt;`_: Copy saferepr from pylib\n   ```\n   \n  \n  \n   ### 4.1.1\n   ```\n   =========================\n\nBug Fixes\n---------\n\n- `2256 &lt;https://github.com/pytest-dev/pytest/issues/2256&gt;`_: Show full repr with ``assert a==b`` and ``-vv``.\n\n\n- `3456 &lt;https://github.com/pytest-dev/pytest/issues/3456&gt;`_: Extend Doctest-modules to ignore mock objects.\n\n\n- `4617 &lt;https://github.com/pytest-dev/pytest/issues/4617&gt;`_: Fixed ``pytest.warns`` bug when context manager is reused (e.g. multiple parametrization).\n\n\n- `4631 &lt;https://github.com/pytest-dev/pytest/issues/4631&gt;`_: Don&#39;t rewrite assertion when ``__getattr__`` is broken\n\n\n\nImproved Documentation\n----------------------\n\n- `3375 &lt;https://github.com/pytest-dev/pytest/issues/3375&gt;`_: 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.\n\n\n\nTrivial/Internal Changes\n------------------------\n\n- `4602 &lt;https://github.com/pytest-dev/pytest/issues/4602&gt;`_: Uninstall ``hypothesis`` in regen tox env.\n   ```\n   \n  \n  \n   ### 4.1.0\n   ```\n   =========================\n\nRemovals\n--------\n\n- `2169 &lt;https://github.com/pytest-dev/pytest/issues/2169&gt;`_: ``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.\n\n\n- `3078 &lt;https://github.com/pytest-dev/pytest/issues/3078&gt;`_: Remove legacy internal warnings system: ``config.warn``, ``Node.warn``. The ``pytest_logwarning`` now issues a warning when implemented.\n\n  See our `docs &lt;https://docs.pytest.org/en/latest/deprecations.htmlconfig-warn-and-node-warn&gt;`__ on information on how to update your code.\n\n\n- `3079 &lt;https://github.com/pytest-dev/pytest/issues/3079&gt;`_: Removed support for yield tests - they are fundamentally broken because they don&#39;t support fixtures properly since collection and test execution were separated.\n\n  See our `docs &lt;https://docs.pytest.org/en/latest/deprecations.htmlyield-tests&gt;`__ on information on how to update your code.\n\n\n- `3082 &lt;https://github.com/pytest-dev/pytest/issues/3082&gt;`_: Removed support for applying marks directly to values in ``pytest.mark.parametrize``. Use ``pytest.param`` instead.\n\n  See our `docs &lt;https://docs.pytest.org/en/latest/deprecations.htmlmarks-in-pytest-mark-parametrize&gt;`__ on information on how to update your code.\n\n\n- `3083 &lt;https://github.com/pytest-dev/pytest/issues/3083&gt;`_: Removed ``Metafunc.addcall``. This was the predecessor mechanism to ``pytest.mark.parametrize``.\n\n  See our `docs &lt;https://docs.pytest.org/en/latest/deprecations.htmlmetafunc-addcall&gt;`__ on information on how to update your code.\n\n\n- `3085 &lt;https://github.com/pytest-dev/pytest/issues/3085&gt;`_: Removed support for passing strings to ``pytest.main``. Now, always pass a list of strings instead.\n\n  See our `docs &lt;https://docs.pytest.org/en/latest/deprecations.htmlpassing-command-line-string-to-pytest-main&gt;`__ on information on how to update your code.\n\n\n- `3086 &lt;https://github.com/pytest-dev/pytest/issues/3086&gt;`_: ``[pytest]`` section in **setup.cfg** files is not longer supported, use ``[tool:pytest]`` instead. ``setup.cfg`` files\n  are meant for use with ``distutils``, and a section named ``pytest`` has notoriously been a source of conflicts and bugs.\n\n  Note that for **pytest.ini** and **tox.ini** files the section remains ``[pytest]``.\n\n\n- `3616 &lt;https://github.com/pytest-dev/pytest/issues/3616&gt;`_: Removed the deprecated compat properties for ``node.Class/Function/Module`` - use ``pytest.Class/Function/Module`` now.\n\n  See our `docs &lt;https://docs.pytest.org/en/latest/deprecations.htmlinternal-classes-accessed-through-node&gt;`__ on information on how to update your code.\n\n\n- `4421 &lt;https://github.com/pytest-dev/pytest/issues/4421&gt;`_: Removed the implementation of the ``pytest_namespace`` hook.\n\n  See our `docs &lt;https://docs.pytest.org/en/latest/deprecations.htmlpytest-namespace&gt;`__ on information on how to update your code.\n\n\n- `4489 &lt;https://github.com/pytest-dev/pytest/issues/4489&gt;`_: Removed ``request.cached_setup``. This was the predecessor mechanism to modern fixtures.\n\n  See our `docs &lt;https://docs.pytest.org/en/latest/deprecations.htmlcached-setup&gt;`__ on information on how to update your code.\n\n\n- `4535 &lt;https://github.com/pytest-dev/pytest/issues/4535&gt;`_: Removed the deprecated ``PyCollector.makeitem`` method. This method was made public by mistake a long time ago.\n\n\n- `4543 &lt;https://github.com/pytest-dev/pytest/issues/4543&gt;`_: Removed support to define fixtures using the ``pytest_funcarg__`` prefix. Use the ``pytest.fixture`` decorator instead.\n\n  See our `docs &lt;https://docs.pytest.org/en/latest/deprecations.htmlpytest-funcarg-prefix&gt;`__ on information on how to update your code.\n\n\n- `4545 &lt;https://github.com/pytest-dev/pytest/issues/4545&gt;`_: Calling fixtures directly is now always an error instead of a warning.\n\n  See our `docs &lt;https://docs.pytest.org/en/latest/deprecations.htmlcalling-fixtures-directly&gt;`__ on information on how to update your code.\n\n\n- `4546 &lt;https://github.com/pytest-dev/pytest/issues/4546&gt;`_: Remove ``Node.get_marker(name)`` the return value was not usable for more than a existence check.\n\n  Use ``Node.get_closest_marker(name)`` as a replacement.\n\n\n- `4547 &lt;https://github.com/pytest-dev/pytest/issues/4547&gt;`_: The deprecated ``record_xml_property`` fixture has been removed, use the more generic ``record_property`` instead.\n\n  See our `docs &lt;https://docs.pytest.org/en/latest/deprecations.htmlrecord-xml-property&gt;`__ for more information.\n\n\n- `4548 &lt;https://github.com/pytest-dev/pytest/issues/4548&gt;`_: An error is now raised if the ``pytest_plugins`` variable is defined in a non-top-level ``conftest.py`` file (i.e., not residing in the ``rootdir``).\n\n  See our `docs &lt;https://docs.pytest.org/en/latest/deprecations.htmlpytest-plugins-in-non-top-level-conftest-files&gt;`__ for more information.\n\n\n- `891 &lt;https://github.com/pytest-dev/pytest/issues/891&gt;`_: Remove ``testfunction.markername`` attributes - use ``Node.iter_markers(name=None)`` to iterate them.\n\n\n\nDeprecations\n------------\n\n- `3050 &lt;https://github.com/pytest-dev/pytest/issues/3050&gt;`_: Deprecated the ``pytest.config`` global.\n\n  See https://docs.pytest.org/en/latest/deprecations.htmlpytest-config-global for rationale.\n\n\n- `3974 &lt;https://github.com/pytest-dev/pytest/issues/3974&gt;`_: Passing the ``message`` parameter of ``pytest.raises`` now issues a ``DeprecationWarning``.\n\n  It is a common mistake to think this parameter will match the exception message, while in fact\n  it only serves to provide a custom message in case the ``pytest.raises`` check fails. To avoid this\n  mistake and because it is believed to be little used, pytest is deprecating it without providing\n  an alternative for the moment.\n\n  If you have concerns about this, please comment on `issue 3974 &lt;https://github.com/pytest-dev/pytest/issues/3974&gt;`__.\n\n\n- `4435 &lt;https://github.com/pytest-dev/pytest/issues/4435&gt;`_: Deprecated ``raises(..., &#39;code(as_a_string)&#39;)`` and ``warns(..., &#39;code(as_a_string)&#39;)``.\n\n  See https://docs.pytest.org/en/latest/deprecations.htmlraises-warns-exec for rationale and examples.\n\n\n\nFeatures\n--------\n\n- `3191 &lt;https://github.com/pytest-dev/pytest/issues/3191&gt;`_: A warning is now issued when assertions are made for ``None``.\n\n  This is a common source of confusion among new users, which write:\n\n  .. code-block:: python\n\n      assert mocked_object.assert_called_with(3, 4, 5, key=&quot;value&quot;)\n\n  When they should write:\n\n  .. code-block:: python\n\n      mocked_object.assert_called_with(3, 4, 5, key=&quot;value&quot;)\n\n  Because the ``assert_called_with`` method of mock objects already executes an assertion.\n\n  This warning will not be issued when ``None`` is explicitly checked. An assertion like:\n\n  .. code-block:: python\n\n      assert variable is None\n\n  will not issue the warning.\n\n\n- `3632 &lt;https://github.com/pytest-dev/pytest/issues/3632&gt;`_: Richer equality comparison introspection on ``AssertionError`` for objects created using `attrs &lt;http://www.attrs.org/en/stable/&gt;`__ or `dataclasses &lt;https://docs.python.org/3/library/dataclasses.html&gt;`_ (Python 3.7+, `backported to 3.6 &lt;https://pypi.org/project/dataclasses&gt;`__).\n\n\n- `4278 &lt;https://github.com/pytest-dev/pytest/issues/4278&gt;`_: ``CACHEDIR.TAG`` files are now created inside cache directories.\n\n  Those files are part of the `Cache Directory Tagging Standard &lt;http://www.bford.info/cachedir/spec.html&gt;`__, and can\n  be used by backup or synchronization programs to identify pytest&#39;s cache directory as such.\n\n\n- `4292 &lt;https://github.com/pytest-dev/pytest/issues/4292&gt;`_: ``pytest.outcomes.Exit`` is derived from ``SystemExit`` instead of ``KeyboardInterrupt``. This allows us to better handle ``pdb`` exiting.\n\n\n- `4371 &lt;https://github.com/pytest-dev/pytest/issues/4371&gt;`_: Updated the ``--collect-only`` option to display test descriptions when ran using ``--verbose``.\n\n\n- `4386 &lt;https://github.com/pytest-dev/pytest/issues/4386&gt;`_: Restructured ``ExceptionInfo`` object construction and ensure incomplete instances have a ``repr``/``str``.\n\n\n- `4416 &lt;https://github.com/pytest-dev/pytest/issues/4416&gt;`_: pdb: added support for keyword arguments with ``pdb.set_trace``.\n\n  It handles ``header`` similar to Python 3.7 does it, and forwards any\n  other keyword arguments to the ``Pdb`` constructor.\n\n  This allows for ``__import__(&quot;pdb&quot;).set_trace(skip=[&quot;foo.*&quot;])``.\n\n\n- `4483 &lt;https://github.com/pytest-dev/pytest/issues/4483&gt;`_: Added ini parameter ``junit_duration_report`` to optionally report test call durations, excluding setup and teardown times.\n\n  The JUnit XML specification and the default pytest behavior is to include setup and teardown times in the test duration\n  report. You can include just the call durations instead (excluding setup and teardown) by adding this to your ``pytest.ini`` file:\n\n  .. code-block:: ini\n\n      [pytest]\n      junit_duration_report = call\n\n\n- `4532 &lt;https://github.com/pytest-dev/pytest/issues/4532&gt;`_: ``-ra`` now will show errors and failures last, instead of as the first items in the summary.\n\n  This makes it easier to obtain a list of errors and failures to run tests selectively.\n\n\n- `4599 &lt;https://github.com/pytest-dev/pytest/issues/4599&gt;`_: ``pytest.importorskip`` now supports a ``reason`` parameter, which will be shown when the\n  requested module cannot be imported.\n\n\n\nBug Fixes\n---------\n\n- `3532 &lt;https://github.com/pytest-dev/pytest/issues/3532&gt;`_: ``-p`` now accepts its argument without a space between the value, for example ``-pmyplugin``.\n\n\n- `4327 &lt;https://github.com/pytest-dev/pytest/issues/4327&gt;`_: ``approx`` again works with more generic containers, more precisely instances of ``Iterable`` and ``Sized`` instead of more restrictive ``Sequence``.\n\n\n- `4397 &lt;https://github.com/pytest-dev/pytest/issues/4397&gt;`_: Ensure that node ids are printable.\n\n\n- `4435 &lt;https://github.com/pytest-dev/pytest/issues/4435&gt;`_: Fixed ``raises(..., &#39;code(string)&#39;)`` frame filename.\n\n\n- `4458 &lt;https://github.com/pytest-dev/pytest/issues/4458&gt;`_: Display actual test ids in ``--collect-only``.\n\n\n\nImproved Documentation\n----------------------\n\n- `4557 &lt;https://github.com/pytest-dev/pytest/issues/4557&gt;`_: Markers example documentation page updated to support latest pytest version.\n\n\n- `4558 &lt;https://github.com/pytest-dev/pytest/issues/4558&gt;`_: Update cache documentation example to correctly show cache hit and miss.\n\n\n- `4580 &lt;https://github.com/pytest-dev/pytest/issues/4580&gt;`_: Improved detailed summary report documentation.\n\n\n\nTrivial/Internal Changes\n------------------------\n\n- `4447 &lt;https://github.com/pytest-dev/pytest/issues/4447&gt;`_: Changed the deprecation type of ``--result-log`` to ``PytestDeprecationWarning``.\n\n  It was decided to remove this feature at the next major revision.\n   ```\n   \n  \n  \n   ### 4.0.2\n   ```\n   =========================\n\nBug Fixes\n---------\n\n- `4265 &lt;https://github.com/pytest-dev/pytest/issues/4265&gt;`_: Validate arguments from the ``PYTEST_ADDOPTS`` environment variable and the ``addopts`` ini option separately.\n\n\n- `4435 &lt;https://github.com/pytest-dev/pytest/issues/4435&gt;`_: Fix ``raises(..., &#39;code(string)&#39;)`` frame filename.\n\n\n- `4500 &lt;https://github.com/pytest-dev/pytest/issues/4500&gt;`_: When a fixture yields and a log call is made after the test runs, and, if the test is interrupted, capture attributes are ``None``.\n\n\n- `4538 &lt;https://github.com/pytest-dev/pytest/issues/4538&gt;`_: Raise ``TypeError`` for ``with raises(..., match=&lt;non-None falsey value&gt;)``.\n\n\n\nImproved Documentation\n----------------------\n\n- `1495 &lt;https://github.com/pytest-dev/pytest/issues/1495&gt;`_: Document common doctest fixture directory tree structure pitfalls\n   ```\n   \n  \n  \n   ### 4.0.1\n   ```\n   =========================\n\nBug Fixes\n---------\n\n- `3952 &lt;https://github.com/pytest-dev/pytest/issues/3952&gt;`_: Display warnings before &quot;short test summary info&quot; again, but still later warnings in the end.\n\n\n- `4386 &lt;https://github.com/pytest-dev/pytest/issues/4386&gt;`_: Handle uninitialized exceptioninfo in repr/str.\n\n\n- `4393 &lt;https://github.com/pytest-dev/pytest/issues/4393&gt;`_: Do not create ``.gitignore``/``README.md`` files in existing cache directories.\n\n\n- `4400 &lt;https://github.com/pytest-dev/pytest/issues/4400&gt;`_: Rearrange warning handling for the yield test errors so the opt-out in 4.0.x correctly works.\n\n\n- `4405 &lt;https://github.com/pytest-dev/pytest/issues/4405&gt;`_: Fix collection of testpaths with ``--pyargs``.\n\n\n- `4412 &lt;https://github.com/pytest-dev/pytest/issues/4412&gt;`_: Fix assertion rewriting involving ``Starred`` + side-effects.\n\n\n- `4425 &lt;https://github.com/pytest-dev/pytest/issues/4425&gt;`_: Ensure we resolve the absolute path when the given ``--basetemp`` is a relative path.\n\n\n\nTrivial/Internal Changes\n------------------------\n\n- `4315 &lt;https://github.com/pytest-dev/pytest/issues/4315&gt;`_: Use ``pkg_resources.parse_version`` instead of ``LooseVersion`` in minversion check.\n\n\n- `4440 &lt;https://github.com/pytest-dev/pytest/issues/4440&gt;`_: Adjust the stack level of some internal pytest warnings.\n   ```\n   \n  \n  \n   ### 4.0.0\n   ```\n   =========================\n\nRemovals\n--------\n\n- `3737 &lt;https://github.com/pytest-dev/pytest/issues/3737&gt;`_: **RemovedInPytest4Warnings are now errors by default.**\n\n  Following our plan to remove deprecated features with as little disruption as\n  possible, all warnings of type ``RemovedInPytest4Warnings`` now generate errors\n  instead of warning messages.\n\n  **The affected features will be effectively removed in pytest 4.1**, so please consult the\n  `Deprecations and Removals &lt;https://docs.pytest.org/en/latest/deprecations.html&gt;`__\n  section in the docs for directions on how to update existing code.\n\n  In the pytest ``4.0.X`` series, it is possible to change the errors back into warnings as a stop\n  gap measure by adding this to your ``pytest.ini`` file:\n\n  .. code-block:: ini\n\n      [pytest]\n      filterwarnings =\n          ignore::pytest.RemovedInPytest4Warning\n\n  But this will stop working when pytest ``4.1`` is released.\n\n  **If you have concerns** about the removal of a specific feature, please add a\n  comment to `4348 &lt;https://github.com/pytest-dev/pytest/issues/4348&gt;`__.\n\n\n- `4358 &lt;https://github.com/pytest-dev/pytest/issues/4358&gt;`_: Remove the ``::()`` notation to denote a test class instance in node ids.\n\n  Previously, node ids that contain test instances would use ``::()`` to denote the instance like this::\n\n      test_foo.py::Test::()::test_bar\n\n  The extra ``::()`` was puzzling to most users and has been removed, so that the test id becomes now::\n\n      test_foo.py::Test::test_bar\n\n  This change could not accompany a deprecation period as is usual when user-facing functionality changes because\n  it was not really possible to detect when the functionality was being used explicitly.\n\n  The extra ``::()`` might have been removed in some places internally already,\n  which then led to confusion in places where it was expected, e.g. with\n  ``--deselect`` (`4127 &lt;https://github.com/pytest-dev/pytest/issues/4127&gt;`_).\n\n  Test class instances are also not listed with ``--collect-only`` anymore.\n\n\n\nFeatures\n--------\n\n- `4270 &lt;https://github.com/pytest-dev/pytest/issues/4270&gt;`_: The ``cache_dir`` option uses ``$TOX_ENV_DIR`` as prefix (if set in the environment).\n\n  This uses a different cache per tox environment by default.\n\n\n\nBug Fixes\n---------\n\n- `3554 &lt;https://github.com/pytest-dev/pytest/issues/3554&gt;`_: Fix ``CallInfo.__repr__`` for when the call is not finished yet.\n   ```\n   \n  \n  \n   ### 3.10.1\n   ```\n   ==========================\n\nBug Fixes\n---------\n\n- `4287 &lt;https://github.com/pytest-dev/pytest/issues/4287&gt;`_: Fix nested usage of debugging plugin (pdb), e.g. with pytester&#39;s ``testdir.runpytest``.\n\n\n- `4304 &lt;https://github.com/pytest-dev/pytest/issues/4304&gt;`_: Block the ``stepwise`` plugin if ``cacheprovider`` is also blocked, as one depends on the other.\n\n\n- `4306 &lt;https://github.com/pytest-dev/pytest/issues/4306&gt;`_: Parse ``minversion`` as an actual version and not as dot-separated strings.\n\n\n- `4310 &lt;https://github.com/pytest-dev/pytest/issues/4310&gt;`_: Fix duplicate collection due to multiple args matching the same packages.\n\n\n- `4321 &lt;https://github.com/pytest-dev/pytest/issues/4321&gt;`_: Fix ``item.nodeid`` with resolved symlinks.\n\n\n- `4325 &lt;https://github.com/pytest-dev/pytest/issues/4325&gt;`_: Fix collection of direct symlinked files, where the target does not match ``python_files``.\n\n\n- `4329 &lt;https://github.com/pytest-dev/pytest/issues/4329&gt;`_: Fix TypeError in report_collect with _collect_report_last_write.\n\n\n\nTrivial/Internal Changes\n------------------------\n\n- `4305 &lt;https://github.com/pytest-dev/pytest/issues/4305&gt;`_: Replace byte/unicode helpers in test_capture with python level syntax.\n   ```\n   \n  \n  \n   ### 3.10.0\n   ```\n   ==========================\n\nFeatures\n--------\n\n- `2619 &lt;https://github.com/pytest-dev/pytest/issues/2619&gt;`_: Resume capturing output after ``continue`` with ``__import__(&quot;pdb&quot;).set_trace()``.\n\n  This also adds a new ``pytest_leave_pdb`` hook, and passes in ``pdb`` to the\n  existing ``pytest_enter_pdb`` hook.\n\n\n- `4147 &lt;https://github.com/pytest-dev/pytest/issues/4147&gt;`_: 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 &lt;https://docs.pytest.org/en/latest/cache.htmlstepwise&gt;`__ for more info.\n\n\n- `4188 &lt;https://github.com/pytest-dev/pytest/issues/4188&gt;`_: 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.\n\n\n- `4225 &lt;https://github.com/pytest-dev/pytest/issues/4225&gt;`_: Improve performance with collection reporting in non-quiet mode with terminals.\n\n  The &quot;collecting …&quot; message is only printed/updated every 0.5s.\n\n\n\nBug Fixes\n---------\n\n- `2701 &lt;https://github.com/pytest-dev/pytest/issues/2701&gt;`_: Fix false ``RemovedInPytest4Warning: usage of Session... is deprecated, please use pytest`` warnings.\n\n\n- `4046 &lt;https://github.com/pytest-dev/pytest/issues/4046&gt;`_: Fix problems with running tests in package ``__init__.py`` files.\n\n\n- `4260 &lt;https://github.com/pytest-dev/pytest/issues/4260&gt;`_: Swallow warnings during anonymous compilation of source.\n\n\n- `4262 &lt;https://github.com/pytest-dev/pytest/issues/4262&gt;`_: Fix access denied error when deleting stale directories created by ``tmpdir`` / ``tmp_path``.\n\n\n- `611 &lt;https://github.com/pytest-dev/pytest/issues/611&gt;`_: Naming a fixture ``request`` will now raise a warning: the ``request`` fixture is internal and\n  should not be overwritten as it will lead to internal errors.\n\n- `4266 &lt;https://github.com/pytest-dev/pytest/issues/4266&gt;`_: Hand"},"comment":{"url":"https://api.github.com/repos/creola/django-open-pms/issues/comments/462346454","html_url":"https://github.com/creola/django-open-pms/pull/40#issuecomment-462346454","issue_url":"https://api.github.com/repos/creola/django-open-pms/issues/40","id":462346454,"node_id":"MDEyOklzc3VlQ29tbWVudDQ2MjM0NjQ1NA==","user":{"login":"pyup-bot","id":16239342,"node_id":"MDQ6VXNlcjE2MjM5MzQy","avatar_url":"https://avatars0.githubusercontent.com/u/16239342?v=4","gravatar_id":"","url":"https://api.github.com/users/pyup-bot","html_url":"https://github.com/pyup-bot","followers_url":"https://api.github.com/users/pyup-bot/followers","following_url":"https://api.github.com/users/pyup-bot/following{/other_user}","gists_url":"https://api.github.com/users/pyup-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/pyup-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pyup-bot/subscriptions","organizations_url":"https://api.github.com/users/pyup-bot/orgs","repos_url":"https://api.github.com/users/pyup-bot/repos","events_url":"https://api.github.com/users/pyup-bot/events{/privacy}","received_events_url":"https://api.github.com/users/pyup-bot/received_events","type":"User","site_admin":false},"created_at":"2019-02-11T14:28:21Z","updated_at":"2019-02-11T14:28:21Z","author_association":"CONTRIBUTOR","body":"Closing this in favor of #41"}}
{"actor":{"display_login":"pyup-bot"}}