Changelog
### 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
- PyPI: https://pypi.org/project/whitenoise
- Changelog: https://pyup.io/changelogs/whitenoise/
- Homepage: http://whitenoise.evans.io
Changelog
### 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
- PyPI: https://pypi.org/project/brotli
- Changelog: https://pyup.io/changelogs/brotli/
- Repo: https://github.com/google/brotli
Changelog
### 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>`_.
```
Links
- PyPI: https://pypi.org/project/xlsxwriter
- Changelog: https://pyup.io/changelogs/xlsxwriter/
- Repo: https://github.com/jmcnamara/XlsxWriter
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
- PyPI: https://pypi.org/project/django-widget-tweaks
- Changelog: https://pyup.io/changelogs/django-widget-tweaks/
- Repo: https://github.com/jazzband/django-widget-tweaks
Changelog
### 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
- PyPI: https://pypi.org/project/rules
- Changelog: https://pyup.io/changelogs/rules/
- Repo: http://github.com/dfunckt/django-rules
Changelog
### 1.10.1
```
-------------------
* Fixed a problem where the duplicate query detection breaks for
non-hashable query parameters.
* Added support for structured types when recording SQL.
* Made Travis CI also run one test no PostgreSQL.
* Added fallbacks for inline images in CSS.
* Improved cross-browser compatibility around ``URLSearchParams`` usage.
* Fixed a few typos and redundancies in the documentation, removed
mentions of django-debug-toolbar's jQuery which aren't accurate
anymore.
```
### 1.10
```
-----------------
* Removed support for Django < 1.11.
* Added support and testing for Django 2.1 and Python 3.7. No actual code
changes were required.
* Removed the jQuery dependency. This means that django-debug-toolbar
now requires modern browsers with support for ``fetch``, ``classList``
etc.
* Added support for the server timing header.
* Added a differentiation between similar and duplicate queries. Similar
queries are what duplicate queries used to be (same SQL, different
parameters).
* Stopped hiding frames from Django's contrib apps in stacktraces by
default.
* Lots of small cleanups and bugfixes.
```
Links
- PyPI: https://pypi.org/project/django-debug-toolbar
- Changelog: https://pyup.io/changelogs/django-debug-toolbar/
- Repo: https://github.com/jazzband/django-debug-toolbar
Changelog
### 0.9.1
```
---------------------------------------------------------------------------------------
* Fix missing and misplaced comma's in many providers. Thanks 153957.
* Refactor IPv4 address generation to leverage ``ipaddress`` module. Thanks maticomp.
* An ``en_NZ`` provider for addresses, phone numbers and email addresses. Thanks doctorlard.
* Add ``unique`` argument to ``words()`` for returning unique words. Thanks micahstrube.
* Allow US territories to be excluded from ``state_abbr()`` for ``en_US`` provider. Thanks micahstrube.
* Add support for Python 3.7. Thanks michael-k.
```
### 0.9.0
```
-------------------------------------------------------------------------------------
* ``.random_sample()`` now returns a list of unique elements instead of a set.
* ``.random_sample_unique()`` is removed in favor of ``.random_sample()``.
* Added ``random_choices()``, ``random_elements()`` and ``random_letters()``.
* Added ``faker.utils.distribution.choices_distribution_unique()``.
* ``words()``, ``password()``, ``uri_path`` and ``pystr()`` now use the new the ``random_choices()``
method.
```
Links
- PyPI: https://pypi.org/project/faker
- Changelog: https://pyup.io/changelogs/faker/
- Repo: https://github.com/joke2k/faker
Changelog
### 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
- PyPI: https://pypi.org/project/pytest-cov
- Changelog: https://pyup.io/changelogs/pytest-cov/
- Repo: https://github.com/pytest-dev/pytest-cov
Changelog
### 3.8.1
```
=========================
Bug Fixes
---------
- `3286 <https://github.com/pytest-dev/pytest/issues/3286>`_: ``.pytest_cache`` directory is now automatically ignored by Git. Users who would like to contribute a solution for other SCMs please consult/comment on this issue.
- `3749 <https://github.com/pytest-dev/pytest/issues/3749>`_: Fix the following error during collection of tests inside packages::
TypeError: object of type 'Package' has no len()
- `3941 <https://github.com/pytest-dev/pytest/issues/3941>`_: Fix bug where indirect parametrization would consider the scope of all fixtures used by the test function to determine the parametrization scope, and not only the scope of the fixtures being parametrized.
- `3973 <https://github.com/pytest-dev/pytest/issues/3973>`_: Fix crash of the assertion rewriter if a test changed the current working directory without restoring it afterwards.
- `3998 <https://github.com/pytest-dev/pytest/issues/3998>`_: Fix issue that prevented some caplog properties (for example ``record_tuples``) from being available when entering the debugger with ``--pdb``.
- `3999 <https://github.com/pytest-dev/pytest/issues/3999>`_: Fix ``UnicodeDecodeError`` in python2.x when a class returns a non-ascii binary ``__repr__`` in an assertion which also contains non-ascii text.
Improved Documentation
----------------------
- `3996 <https://github.com/pytest-dev/pytest/issues/3996>`_: New `Deprecations and Removals <https://docs.pytest.org/en/latest/deprecations.html>`_ page shows all currently
deprecated features, the rationale to do so, and alternatives to update your code. It also list features removed
from pytest in past major releases to help those with ancient pytest versions to upgrade.
Trivial/Internal Changes
------------------------
- `3955 <https://github.com/pytest-dev/pytest/issues/3955>`_: Improve pre-commit detection for changelog filenames
- `3975 <https://github.com/pytest-dev/pytest/issues/3975>`_: Remove legacy code around im_func as that was python2 only
```
### 3.8.0
```
=========================
Deprecations and Removals
-------------------------
- `2452 <https://github.com/pytest-dev/pytest/issues/2452>`_: ``Config.warn`` and ``Node.warn`` have been
deprecated, see `<https://docs.pytest.org/en/latest/deprecations.htmlconfig-warn-and-node-warn>`_ for rationale and
examples.
- `3936 <https://github.com/pytest-dev/pytest/issues/3936>`_: ``pytest.mark.filterwarnings`` second parameter is no longer regex-escaped,
making it possible to actually use regular expressions to check the warning message.
**Note**: regex-escaping the match string was an implementation oversight that might break test suites which depend
on the old behavior.
Features
--------
- `2452 <https://github.com/pytest-dev/pytest/issues/2452>`_: Internal pytest warnings are now issued using the standard ``warnings`` module, making it possible to use
the standard warnings filters to manage those warnings. This introduces ``PytestWarning``,
``PytestDeprecationWarning`` and ``RemovedInPytest4Warning`` warning types as part of the public API.
Consult `the documentation <https://docs.pytest.org/en/latest/warnings.htmlinternal-pytest-warnings>`_ for more info.
- `2908 <https://github.com/pytest-dev/pytest/issues/2908>`_: ``DeprecationWarning`` and ``PendingDeprecationWarning`` are now shown by default if no other warning filter is
configured. This makes pytest more compliant with
`PEP-0506 <https://www.python.org/dev/peps/pep-0565/recommended-filter-settings-for-test-runners>`_. See
`the docs <https://docs.pytest.org/en/latest/warnings.htmldeprecationwarning-and-pendingdeprecationwarning>`_ for
more info.
- `3251 <https://github.com/pytest-dev/pytest/issues/3251>`_: Warnings are now captured and displayed during test collection.
- `3784 <https://github.com/pytest-dev/pytest/issues/3784>`_: ``PYTEST_DISABLE_PLUGIN_AUTOLOAD`` environment variable disables plugin auto-loading when set.
- `3829 <https://github.com/pytest-dev/pytest/issues/3829>`_: Added the ``count`` option to ``console_output_style`` to enable displaying the progress as a count instead of a percentage.
- `3837 <https://github.com/pytest-dev/pytest/issues/3837>`_: Added support for 'xfailed' and 'xpassed' outcomes to the ``pytester.RunResult.assert_outcomes`` signature.
Bug Fixes
---------
- `3911 <https://github.com/pytest-dev/pytest/issues/3911>`_: Terminal writer now takes into account unicode character width when writing out progress.
- `3913 <https://github.com/pytest-dev/pytest/issues/3913>`_: Pytest now returns with correct exit code (EXIT_USAGEERROR, 4) when called with unknown arguments.
- `3918 <https://github.com/pytest-dev/pytest/issues/3918>`_: Improve performance of assertion rewriting.
Improved Documentation
----------------------
- `3566 <https://github.com/pytest-dev/pytest/issues/3566>`_: Added a blurb in usage.rst for the usage of -r flag which is used to show an extra test summary info.
- `3907 <https://github.com/pytest-dev/pytest/issues/3907>`_: Corrected type of the exceptions collection passed to ``xfail``: ``raises`` argument accepts a ``tuple`` instead of ``list``.
Trivial/Internal Changes
------------------------
- `3853 <https://github.com/pytest-dev/pytest/issues/3853>`_: Removed ``"run all (no recorded failures)"`` message printed with ``--failed-first`` and ``--last-failed`` when there are no failed tests.
```
Links
- PyPI: https://pypi.org/project/pytest
- Changelog: https://pyup.io/changelogs/pytest/
- Homepage: https://docs.pytest.org/en/latest/
Update whitenoise from 3.3.1 to 4.1.
Changelog
### 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
- PyPI: https://pypi.org/project/whitenoise - Changelog: https://pyup.io/changelogs/whitenoise/ - Homepage: http://whitenoise.evans.ioUpdate brotli from 1.0.4 to 1.0.6.
Changelog
### 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
- PyPI: https://pypi.org/project/brotli - Changelog: https://pyup.io/changelogs/brotli/ - Repo: https://github.com/google/brotliUpdate XlsxWriter from 1.1.0 to 1.1.1.
Changelog
### 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>`_. ```Links
- PyPI: https://pypi.org/project/xlsxwriter - Changelog: https://pyup.io/changelogs/xlsxwriter/ - Repo: https://github.com/jmcnamara/XlsxWriterUpdate django-filter from 1.1.0 to 2.0.0.
Changelog
### 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
- PyPI: https://pypi.org/project/django-filter - Changelog: https://pyup.io/changelogs/django-filter/ - Repo: https://github.com/carltongibson/django-filter/tree/masterUpdate 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
- PyPI: https://pypi.org/project/django-widget-tweaks - Changelog: https://pyup.io/changelogs/django-widget-tweaks/ - Repo: https://github.com/jazzband/django-widget-tweaksUpdate rules from 1.3 to 2.0.
Changelog
### 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
- PyPI: https://pypi.org/project/rules - Changelog: https://pyup.io/changelogs/rules/ - Repo: http://github.com/dfunckt/django-rulesUpdate django-debug-toolbar from 1.9.1 to 1.10.1.
Changelog
### 1.10.1 ``` ------------------- * Fixed a problem where the duplicate query detection breaks for non-hashable query parameters. * Added support for structured types when recording SQL. * Made Travis CI also run one test no PostgreSQL. * Added fallbacks for inline images in CSS. * Improved cross-browser compatibility around ``URLSearchParams`` usage. * Fixed a few typos and redundancies in the documentation, removed mentions of django-debug-toolbar's jQuery which aren't accurate anymore. ``` ### 1.10 ``` ----------------- * Removed support for Django < 1.11. * Added support and testing for Django 2.1 and Python 3.7. No actual code changes were required. * Removed the jQuery dependency. This means that django-debug-toolbar now requires modern browsers with support for ``fetch``, ``classList`` etc. * Added support for the server timing header. * Added a differentiation between similar and duplicate queries. Similar queries are what duplicate queries used to be (same SQL, different parameters). * Stopped hiding frames from Django's contrib apps in stacktraces by default. * Lots of small cleanups and bugfixes. ```Links
- PyPI: https://pypi.org/project/django-debug-toolbar - Changelog: https://pyup.io/changelogs/django-debug-toolbar/ - Repo: https://github.com/jazzband/django-debug-toolbarUpdate Faker from 0.8.18 to 0.9.1.
Changelog
### 0.9.1 ``` --------------------------------------------------------------------------------------- * Fix missing and misplaced comma's in many providers. Thanks 153957. * Refactor IPv4 address generation to leverage ``ipaddress`` module. Thanks maticomp. * An ``en_NZ`` provider for addresses, phone numbers and email addresses. Thanks doctorlard. * Add ``unique`` argument to ``words()`` for returning unique words. Thanks micahstrube. * Allow US territories to be excluded from ``state_abbr()`` for ``en_US`` provider. Thanks micahstrube. * Add support for Python 3.7. Thanks michael-k. ``` ### 0.9.0 ``` ------------------------------------------------------------------------------------- * ``.random_sample()`` now returns a list of unique elements instead of a set. * ``.random_sample_unique()`` is removed in favor of ``.random_sample()``. * Added ``random_choices()``, ``random_elements()`` and ``random_letters()``. * Added ``faker.utils.distribution.choices_distribution_unique()``. * ``words()``, ``password()``, ``uri_path`` and ``pystr()`` now use the new the ``random_choices()`` method. ```Links
- PyPI: https://pypi.org/project/faker - Changelog: https://pyup.io/changelogs/faker/ - Repo: https://github.com/joke2k/fakerUpdate pytest-cov from 2.5.1 to 2.6.0.
Changelog
### 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
- PyPI: https://pypi.org/project/pytest-cov - Changelog: https://pyup.io/changelogs/pytest-cov/ - Repo: https://github.com/pytest-dev/pytest-covUpdate pytest-django from 3.4.2 to 3.4.3.
Changelog
### 3.4.3 ``` ------------------ Bugfixes ^^^^^^^^ * Fix OSError with arguments containing ``::`` on Windows (641). ```Links
- PyPI: https://pypi.org/project/pytest-django - Changelog: https://pyup.io/changelogs/pytest-django/ - Docs: https://pytest-django.readthedocs.io/Update pytest from 3.7.4 to 3.8.1.
Changelog
### 3.8.1 ``` ========================= Bug Fixes --------- - `3286 <https://github.com/pytest-dev/pytest/issues/3286>`_: ``.pytest_cache`` directory is now automatically ignored by Git. Users who would like to contribute a solution for other SCMs please consult/comment on this issue. - `3749 <https://github.com/pytest-dev/pytest/issues/3749>`_: Fix the following error during collection of tests inside packages:: TypeError: object of type 'Package' has no len() - `3941 <https://github.com/pytest-dev/pytest/issues/3941>`_: Fix bug where indirect parametrization would consider the scope of all fixtures used by the test function to determine the parametrization scope, and not only the scope of the fixtures being parametrized. - `3973 <https://github.com/pytest-dev/pytest/issues/3973>`_: Fix crash of the assertion rewriter if a test changed the current working directory without restoring it afterwards. - `3998 <https://github.com/pytest-dev/pytest/issues/3998>`_: Fix issue that prevented some caplog properties (for example ``record_tuples``) from being available when entering the debugger with ``--pdb``. - `3999 <https://github.com/pytest-dev/pytest/issues/3999>`_: Fix ``UnicodeDecodeError`` in python2.x when a class returns a non-ascii binary ``__repr__`` in an assertion which also contains non-ascii text. Improved Documentation ---------------------- - `3996 <https://github.com/pytest-dev/pytest/issues/3996>`_: New `Deprecations and Removals <https://docs.pytest.org/en/latest/deprecations.html>`_ page shows all currently deprecated features, the rationale to do so, and alternatives to update your code. It also list features removed from pytest in past major releases to help those with ancient pytest versions to upgrade. Trivial/Internal Changes ------------------------ - `3955 <https://github.com/pytest-dev/pytest/issues/3955>`_: Improve pre-commit detection for changelog filenames - `3975 <https://github.com/pytest-dev/pytest/issues/3975>`_: Remove legacy code around im_func as that was python2 only ``` ### 3.8.0 ``` ========================= Deprecations and Removals ------------------------- - `2452 <https://github.com/pytest-dev/pytest/issues/2452>`_: ``Config.warn`` and ``Node.warn`` have been deprecated, see `<https://docs.pytest.org/en/latest/deprecations.htmlconfig-warn-and-node-warn>`_ for rationale and examples. - `3936 <https://github.com/pytest-dev/pytest/issues/3936>`_: ``pytest.mark.filterwarnings`` second parameter is no longer regex-escaped, making it possible to actually use regular expressions to check the warning message. **Note**: regex-escaping the match string was an implementation oversight that might break test suites which depend on the old behavior. Features -------- - `2452 <https://github.com/pytest-dev/pytest/issues/2452>`_: Internal pytest warnings are now issued using the standard ``warnings`` module, making it possible to use the standard warnings filters to manage those warnings. This introduces ``PytestWarning``, ``PytestDeprecationWarning`` and ``RemovedInPytest4Warning`` warning types as part of the public API. Consult `the documentation <https://docs.pytest.org/en/latest/warnings.htmlinternal-pytest-warnings>`_ for more info. - `2908 <https://github.com/pytest-dev/pytest/issues/2908>`_: ``DeprecationWarning`` and ``PendingDeprecationWarning`` are now shown by default if no other warning filter is configured. This makes pytest more compliant with `PEP-0506 <https://www.python.org/dev/peps/pep-0565/recommended-filter-settings-for-test-runners>`_. See `the docs <https://docs.pytest.org/en/latest/warnings.htmldeprecationwarning-and-pendingdeprecationwarning>`_ for more info. - `3251 <https://github.com/pytest-dev/pytest/issues/3251>`_: Warnings are now captured and displayed during test collection. - `3784 <https://github.com/pytest-dev/pytest/issues/3784>`_: ``PYTEST_DISABLE_PLUGIN_AUTOLOAD`` environment variable disables plugin auto-loading when set. - `3829 <https://github.com/pytest-dev/pytest/issues/3829>`_: Added the ``count`` option to ``console_output_style`` to enable displaying the progress as a count instead of a percentage. - `3837 <https://github.com/pytest-dev/pytest/issues/3837>`_: Added support for 'xfailed' and 'xpassed' outcomes to the ``pytester.RunResult.assert_outcomes`` signature. Bug Fixes --------- - `3911 <https://github.com/pytest-dev/pytest/issues/3911>`_: Terminal writer now takes into account unicode character width when writing out progress. - `3913 <https://github.com/pytest-dev/pytest/issues/3913>`_: Pytest now returns with correct exit code (EXIT_USAGEERROR, 4) when called with unknown arguments. - `3918 <https://github.com/pytest-dev/pytest/issues/3918>`_: Improve performance of assertion rewriting. Improved Documentation ---------------------- - `3566 <https://github.com/pytest-dev/pytest/issues/3566>`_: Added a blurb in usage.rst for the usage of -r flag which is used to show an extra test summary info. - `3907 <https://github.com/pytest-dev/pytest/issues/3907>`_: Corrected type of the exceptions collection passed to ``xfail``: ``raises`` argument accepts a ``tuple`` instead of ``list``. Trivial/Internal Changes ------------------------ - `3853 <https://github.com/pytest-dev/pytest/issues/3853>`_: Removed ``"run all (no recorded failures)"`` message printed with ``--failed-first`` and ``--last-failed`` when there are no failed tests. ```Links
- PyPI: https://pypi.org/project/pytest - Changelog: https://pyup.io/changelogs/pytest/ - Homepage: https://docs.pytest.org/en/latest/