openstax / qualitas-server

Home to any tools or dashboards used by the OpenStax QA team.
https://qualitas-server.herokuapp.com
GNU Affero General Public License v3.0
0 stars 0 forks source link

Scheduled monthly dependency update for April #125

Open pyup-bot opened 2 years ago

pyup-bot commented 2 years ago

Update alembic from 1.7.1 to 1.7.7.

Changelog ### 1.7.5 ``` :include_notes_from: unreleased .. changelog:: ``` ### 1.7.4 ``` :released: October 6, 2021 .. change:: :tags: bug, regression :tickets: 934 Fixed a regression that prevented the use of post write hooks on python version lower than 3.9 .. change:: :tags: bug, environment :tickets: 944 Fixed issue where the :meth:`.MigrationContext.autocommit_block` feature would fail to function when using a SQLAlchemy engine using 2.0 future mode. .. changelog:: ``` ### 1.7.3 ``` :released: September 17, 2021 .. change:: :tags: bug, mypy :tickets: 914 Fixed type annotations for the "constraint_name" argument of operations ``create_primary_key()``, ``create_foreign_key()``. Pull request courtesy TilmanK. .. changelog:: ``` ### 1.7.2 ``` :released: September 17, 2021 .. change:: :tags: bug, typing :tickets: 900 Added missing attributes from context stubs. .. change:: :tags: bug, mypy :tickets: 897 Fixed an import in one of the .pyi files that was triggering an assertion error in some versions of mypy. .. change:: :tags: bug, regression, ops :tickets: 920 Fixed issue where registration of custom ops was prone to failure due to the registration process running ``exec()`` on generated code that as of the 1.7 series includes pep-484 annotations, which in the case of end user code would result in name resolution errors when the exec occurs. The logic in question has been altered so that the annotations are rendered as forward references so that the ``exec()`` can proceed. .. changelog:: ```
Links - PyPI: https://pypi.org/project/alembic - Changelog: https://pyup.io/changelogs/alembic/ - Homepage: https://alembic.sqlalchemy.org - Docs: https://pythonhosted.org/alembic/

Update attrs from 21.2.0 to 21.4.0.

Changelog ### 21.4.0 ``` ------------------- Changes ^^^^^^^ - Fixed the test suite on PyPy3.8 where ``cloudpickle`` does not work. `892 <https://github.com/python-attrs/attrs/issues/892>`_ - Fixed ``coverage report`` for projects that use ``attrs`` and don't set a ``--source``. `895 <https://github.com/python-attrs/attrs/issues/895>`_, `896 <https://github.com/python-attrs/attrs/issues/896>`_ ---- ``` ### 21.3.0 ``` ------------------- Backward-incompatible Changes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - When using ``define``, converters are now run by default when setting an attribute on an instance -- additionally to validators. I.e. the new default is ``on_setattr=[attrs.setters.convert, attrs.setters.validate]``. This is unfortunately a breaking change, but it was an oversight, impossible to raise a ``DeprecationWarning`` about, and it's better to fix it now while the APIs are very fresh with few users. `835 <https://github.com/python-attrs/attrs/issues/835>`_, `886 <https://github.com/python-attrs/attrs/issues/886>`_ - ``import attrs`` has finally landed! As of this release, you can finally import ``attrs`` using its proper name. Not all names from the ``attr`` namespace have been transferred; most notably ``attr.s`` and ``attr.ib`` are missing. See ``attrs.define`` and ``attrs.field`` if you haven't seen our next-generation APIs yet. A more elaborate explanation can be found `On The Core API Names <https://www.attrs.org/en/latest/names.html>`_ This feature is at least for one release **provisional**. We don't *plan* on changing anything, but such a big change is unlikely to go perfectly on the first strike. The API docs have been mostly updated, but it will be an ongoing effort to change everything to the new APIs. Please note that we have **not** moved -- or even removed -- anything from ``attr``! Please do report any bugs or documentation inconsistencies! `887 <https://github.com/python-attrs/attrs/issues/887>`_ Changes ^^^^^^^ - ``attr.asdict(retain_collection_types=False)`` (default) dumps collection-esque keys as tuples. `646 <https://github.com/python-attrs/attrs/issues/646>`_, `888 <https://github.com/python-attrs/attrs/issues/888>`_ - ``__match_args__`` are now generated to support Python 3.10's `Structural Pattern Matching <https://docs.python.org/3.10/whatsnew/3.10.html#pep-634-structural-pattern-matching>`_. This can be controlled by the ``match_args`` argument to the class decorators on Python 3.10 and later. On older versions, it is never added and the argument is ignored. `815 <https://github.com/python-attrs/attrs/issues/815>`_ - If the class-level *on_setattr* is set to ``attrs.setters.validate`` (default in ``define`` and ``mutable``) but no field defines a validator, pretend that it's not set. `817 <https://github.com/python-attrs/attrs/issues/817>`_ - The generated ``__repr__`` is significantly faster on Pythons with f-strings. `819 <https://github.com/python-attrs/attrs/issues/819>`_ - Attributes transformed via ``field_transformer`` are wrapped with ``AttrsClass`` again. `824 <https://github.com/python-attrs/attrs/issues/824>`_ - Generated source code is now cached more efficiently for identical classes. `828 <https://github.com/python-attrs/attrs/issues/828>`_ - Added ``attrs.converters.to_bool()``. `830 <https://github.com/python-attrs/attrs/issues/830>`_ - ``attrs.resolve_types()`` now resolves types of subclasses after the parents are resolved. `842 <https://github.com/python-attrs/attrs/issues/842>`_ `843 <https://github.com/python-attrs/attrs/issues/843>`_ - Added new validators: ``lt(val)`` (< val), ``le(va)`` (≤ val), ``ge(val)`` (≥ val), ``gt(val)`` (> val), and ``maxlen(n)``. `845 <https://github.com/python-attrs/attrs/issues/845>`_ - ``attrs`` classes are now fully compatible with `cloudpickle <https://github.com/cloudpipe/cloudpickle>`_ (no need to disable ``repr`` anymore). `857 <https://github.com/python-attrs/attrs/issues/857>`_ - Added new context manager ``attrs.validators.disabled()`` and functions ``attrs.validators.(set|get)_disabled()``. They deprecate ``attrs.(set|get)_run_validators()``. All functions are interoperable and modify the same internal state. They are not – and never were – thread-safe, though. `859 <https://github.com/python-attrs/attrs/issues/859>`_ - ``attrs.validators.matches_re()`` now accepts pre-compiled regular expressions in addition to pattern strings. `877 <https://github.com/python-attrs/attrs/issues/877>`_ ---- ```
Links - PyPI: https://pypi.org/project/attrs - Changelog: https://pyup.io/changelogs/attrs/ - Homepage: https://www.attrs.org/

Update beautifulsoup4 from 4.9.3 to 4.10.0.

Changelog ### 4.10.0 ``` * This is the first release of Beautiful Soup to only support Python 3. I dropped Python 2 support to maintain support for newer versions (58 and up) of setuptools. See: https://github.com/pypa/setuptools/issues/2769 [bug=1942919] * The behavior of methods like .get_text() and .strings now differs depending on the type of tag. The change is visible with HTML tags like <script>, <style>, and <template>. Starting in 4.9.0, methods like get_text() returned no results on such tags, because the contents of those tags are not considered 'text' within the document as a whole. But a user who calls script.get_text() is working from a different definition of 'text' than a user who calls div.get_text()--otherwise there would be no need to call script.get_text() at all. In 4.10.0, the contents of (e.g.) a <script> tag are considered 'text' during a get_text() call on the tag itself, but not considered 'text' during a get_text() call on the tag's parent. Because of this change, calling get_text() on each child of a tag may now return a different result than calling get_text() on the tag itself. That's because different tags now have different understandings of what counts as 'text'. [bug=1906226] [bug=1868861] * NavigableString and its subclasses now implement the get_text() method, as well as the properties .strings and .stripped_strings. These methods will either return the string itself, or nothing, so the only reason to use this is when iterating over a list of mixed Tag and NavigableString objects. [bug=1904309] * The 'html5' formatter now treats attributes whose values are the empty string as HTML boolean attributes. Previously (and in other formatters), an attribute value must be set as None to be treated as a boolean attribute. In a future release, I plan to also give this behavior to the 'html' formatter. Patch by Isaac Muse. [bug=1915424] * The 'replace_with()' method now takes a variable number of arguments, and can be used to replace a single element with a sequence of elements. Patch by Bill Chandos. [rev=605] * Corrected output when the namespace prefix associated with a namespaced attribute is the empty string, as opposed to None. [bug=1915583] * Performance improvement when processing tags that speeds up overall tree construction by 2%. Patch by Morotti. [bug=1899358] * Corrected the use of special string container classes in cases when a single tag may contain strings with different containers; such as the <template> tag, which may contain both TemplateString objects and Comment objects. [bug=1913406] * The html.parser tree builder can now handle named entities found in the HTML5 spec in much the same way that the html5lib tree builder does. Note that the lxml HTML tree builder doesn't handle named entities this way. [bug=1924908] * Added a second way to pass specify encodings to UnicodeDammit and EncodingDetector, based on the order of precedence defined in the HTML5 spec, starting at: https://html.spec.whatwg.org/multipage/parsing.html#parsing-with-a-known-character-encoding Encodings in 'known_definite_encodings' are tried first, then byte-order-mark sniffing is run, then encodings in 'user_encodings' are tried. The old argument, 'override_encodings', is now a deprecated alias for 'known_definite_encodings'. This changes the default behavior of the html.parser and lxml tree builders, in a way that may slightly improve encoding detection but will probably have no effect. [bug=1889014] * Improve the warning issued when a directory name (as opposed to the name of a regular file) is passed as markup into the BeautifulSoup constructor. [bug=1913628] ```
Links - PyPI: https://pypi.org/project/beautifulsoup4 - Changelog: https://pyup.io/changelogs/beautifulsoup4/ - Homepage: http://www.crummy.com/software/BeautifulSoup/bs4/

Update certifi from 2021.5.30 to 2021.10.8.

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

Links - PyPI: https://pypi.org/project/certifi - Docs: https://certifiio.readthedocs.io/en/latest/

Update click from 8.0.1 to 8.1.2.

Changelog ### 8.1.2 ``` ------------- Released 2022-03-31 - Fix error message for readable path check that was mixed up with the executable check. :pr:`2236` - Restore parameter order for ``Path``, placing the ``executable`` parameter at the end. It is recommended to use keyword arguments instead of positional arguments. :issue:`2235` ``` ### 8.1.1 ``` ------------- Released 2022-03-30 - Fix an issue with decorator typing that caused type checking to report that a command was not callable. :issue:`2227` ``` ### 8.1.0 ``` ------------- Released 2022-03-28 - Drop support for Python 3.6. :pr:`2129` - Remove previously deprecated code. :pr:`2130` - ``Group.resultcallback`` is renamed to ``result_callback``. - ``autocompletion`` parameter to ``Command`` is renamed to ``shell_complete``. - ``get_terminal_size`` is removed, use ``shutil.get_terminal_size`` instead. - ``get_os_args`` is removed, use ``sys.argv[1:]`` instead. - Rely on :pep:`538` and :pep:`540` to handle selecting UTF-8 encoding instead of ASCII. Click's locale encoding detection is removed. :issue:`2198` - Single options boolean flags with ``show_default=True`` only show the default if it is ``True``. :issue:`1971` - The ``command`` and ``group`` decorators can be applied with or without parentheses. :issue:`1359` - The ``Path`` type can check whether the target is executable. :issue:`1961` - ``Command.show_default`` overrides ``Context.show_default``, instead of the other way around. :issue:`1963` - Parameter decorators and ``group`` handles ``cls=None`` the same as not passing ``cls``. ``option`` handles ``help=None`` the same as not passing ``help``. :issue:`1959` - A flag option with ``required=True`` requires that the flag is passed instead of choosing the implicit default value. :issue:`1978` - Indentation in help text passed to ``Option`` and ``Command`` is cleaned the same as using the ``option`` and ``command`` decorators does. A command's ``epilog`` and ``short_help`` are also processed. :issue:`1985` - Store unprocessed ``Command.help``, ``epilog`` and ``short_help`` strings. Processing is only done when formatting help text for output. :issue:`2149` - Allow empty str input for ``prompt()`` when ``confirmation_prompt=True`` and ``default=""``. :issue:`2157` - Windows glob pattern expansion doesn't fail if a value is an invalid pattern. :issue:`2195` - It's possible to pass a list of ``params`` to ``command``. Any params defined with decorators are appended to the passed params. :issue:`2131`. - ``command`` decorator is annotated as returning the correct type if a ``cls`` argument is used. :issue:`2211` - A ``Group`` with ``invoke_without_command=True`` and ``chain=False`` will invoke its result callback with the group function's return value. :issue:`2124` - ``to_info_dict`` will not fail if a ``ParamType`` doesn't define a ``name``. :issue:`2168` - Shell completion prioritizes option values with option prefixes over new options. :issue:`2040` - Options that get an environment variable value using ``autoenvvar_prefix`` treat an empty value as ``None``, consistent with a direct ``envvar``. :issue:`2146` ``` ### 8.0.4 ``` ------------- Released 2022-02-18 - ``open_file`` recognizes ``Path("-")`` as a standard stream, the same as the string ``"-"``. :issue:`2106` - The ``option`` and ``argument`` decorators preserve the type annotation of the decorated function. :pr:`2155` - A callable default value can customize its help text by overriding ``__str__`` instead of always showing ``(dynamic)``. :issue:`2099` - Fix a typo in the Bash completion script that affected file and directory completion. If this script was generated by a previous version, it should be regenerated. :issue:`2163` - Fix typing for ``echo`` and ``secho`` file argument. :issue:`2174, 2185` ``` ### 8.0.3 ``` ------------- Released 2021-10-10 - Fix issue with ``Path(resolve_path=True)`` type creating invalid paths. :issue:`2088` - Importing ``readline`` does not cause the ``confirm()`` prompt to disappear when pressing backspace. :issue:`2092` - Any default values injected by ``invoke()`` are cast to the corresponding parameter's type. :issue:`2089, 2090` ``` ### 8.0.2 ``` ------------- Released 2021-10-08 - ``is_bool_flag`` is not set to ``True`` if ``is_flag`` is ``False``. :issue:`1925` - Bash version detection is locale independent. :issue:`1940` - Empty ``default`` value is not shown for ``multiple=True``. :issue:`1969` - Fix shell completion for arguments that start with a forward slash such as absolute file paths. :issue:`1929` - ``Path`` type with ``resolve_path=True`` resolves relative symlinks to be relative to the containing directory. :issue:`1921` - Completion does not skip Python's resource cleanup when exiting, avoiding some unexpected warning output. :issue:`1738, 2017` - Fix type annotation for ``type`` argument in ``prompt`` function. :issue:`2062` - Fix overline and italic styles, which were incorrectly added when adding underline. :pr:`2058` - An option with ``count=True`` will not show "[x>=0]" in help text. :issue:`2072` - Default values are not cast to the parameter type twice during processing. :issue:`2085` - Options with ``multiple`` and ``flag_value`` use the flag value instead of leaving an internal placeholder. :issue:`2001` ```
Links - PyPI: https://pypi.org/project/click - Changelog: https://pyup.io/changelogs/click/ - Homepage: https://palletsprojects.com/p/click/

Update coverage from 5.5 to 6.3.2.

Changelog ### 6.3.2 ``` -------------------------- - Fix: adapt to pypy3.9's decorator tracing behavior. It now traces function decorators like CPython 3.8: both the -line and the def-line are traced. Fixes `issue 1326`_. - Debug: added ``pybehave`` to the list of :ref:`cmd_debug` and :ref:`cmd_run_debug` options. - Fix: show an intelligible error message if ``--concurrency=multiprocessing`` is used without a configuration file. Closes `issue 1320`_. .. _issue 1320: https://github.com/nedbat/coveragepy/issues/1320 .. _issue 1326: https://github.com/nedbat/coveragepy/issues/1326 .. _changes_631: ``` ### 6.3.1 ``` -------------------------- - Fix: deadlocks could occur when terminating processes. Some of these deadlocks (described in `issue 1310`_) are now fixed. - Fix: a signal handler was being set from multiple threads, causing an error: "ValueError: signal only works in main thread". This is now fixed, closing `issue 1312`_. - Fix: ``--precision`` on the command-line was being ignored while considering ``--fail-under``. This is now fixed, thanks to `Marcelo Trylesinski <pull 1317_>`_. - Fix: releases no longer provide 3.11.0-alpha wheels. Coverage.py uses CPython internal fields which are moving during the alpha phase. Fixes `issue 1316`_. .. _issue 1310: https://github.com/nedbat/coveragepy/issues/1310 .. _issue 1312: https://github.com/nedbat/coveragepy/issues/1312 .. _issue 1316: https://github.com/nedbat/coveragepy/issues/1316 .. _pull 1317: https://github.com/nedbat/coveragepy/pull/1317 .. _changes_63: ``` ### 6.3 ``` ------------------------ - Feature: Added the ``lcov`` command to generate reports in LCOV format. Thanks, `Bradley Burns <pull 1289_>`_. Closes issues `587 <issue 587_>`_ and `626 <issue 626_>`_. - Feature: the coverage data file can now be specified on the command line with the ``--data-file`` option in any command that reads or writes data. This is in addition to the existing ``COVERAGE_FILE`` environment variable. Closes `issue 624`_. Thanks, `Nikita Bloshchanevich <pull 1304_>`_. - Feature: coverage measurement data will now be written when a SIGTERM signal is received by the process. This includes :meth:`Process.terminate <python:multiprocessing.Process.terminate>`, and other ways to terminate a process. Currently this is only on Linux and Mac; Windows is not supported. Fixes `issue 1307`_. - Dropped support for Python 3.6, which reached end-of-life on 2021-12-23. - Updated Python 3.11 support to 3.11.0a4, fixing `issue 1294`_. - Fix: the coverage data file is now created in a more robust way, to avoid problems when multiple processes are trying to write data at once. Fixes issues `1303 <issue 1303_>`_ and `883 <issue 883_>`_. - Fix: a .gitignore file will only be written into the HTML report output directory if the directory is empty. This should prevent certain unfortunate accidents of writing the file where it is not wanted. - Releases now have MacOS arm64 wheels for Apple Silicon, fixing `issue 1288`_. .. _issue 587: https://github.com/nedbat/coveragepy/issues/587 .. _issue 624: https://github.com/nedbat/coveragepy/issues/624 .. _issue 626: https://github.com/nedbat/coveragepy/issues/626 .. _issue 883: https://github.com/nedbat/coveragepy/issues/883 .. _issue 1288: https://github.com/nedbat/coveragepy/issues/1288 .. _issue 1294: https://github.com/nedbat/coveragepy/issues/1294 .. _issue 1303: https://github.com/nedbat/coveragepy/issues/1303 .. _issue 1307: https://github.com/nedbat/coveragepy/issues/1307 .. _pull 1289: https://github.com/nedbat/coveragepy/pull/1289 .. _pull 1304: https://github.com/nedbat/coveragepy/pull/1304 .. _changes_62: ``` ### 6.2 ``` ------------------------ - Feature: Now the ``--concurrency`` setting can now have a list of values, so that threads and another lightweight threading package can be measured together, such as ``--concurrency=gevent,thread``. Closes `issue 1012`_ and `issue 1082`_. - Fix: A module specified as the ``source`` setting is imported during startup, before the user program imports it. This could cause problems if the rest of the program isn't ready yet. For example, `issue 1203`_ describes a Django setting that is accessed before settings have been configured. Now the early import is wrapped in a try/except so errors then don't stop execution. - Fix: A colon in a decorator expression would cause an exclusion to end too early, preventing the exclusion of the decorated function. This is now fixed. - Fix: The HTML report now will not overwrite a .gitignore file that already exists in the HTML output directory (follow-on for `issue 1244`_). - API: The exceptions raised by Coverage.py have been specialized, to provide finer-grained catching of exceptions by third-party code. - API: Using ``suffix=False`` when constructing a Coverage object with multiprocessing wouldn't suppress the data file suffix (`issue 989`_). This is now fixed. - Debug: The ``coverage debug data`` command will now sniff out combinable data files, and report on all of them. - Debug: The ``coverage debug`` command used to accept a number of topics at a time, and show all of them, though this was never documented. This no longer works, to allow for command-line options in the future. .. _issue 989: https://github.com/nedbat/coveragepy/issues/989 .. _issue 1012: https://github.com/nedbat/coveragepy/issues/1012 .. _issue 1082: https://github.com/nedbat/coveragepy/issues/1082 .. _issue 1203: https://github.com/nedbat/coveragepy/issues/1203 .. _changes_612: ``` ### 6.1.2 ``` -------------------------- - Python 3.11 is supported (tested with 3.11.0a2). One still-open issue has to do with `exits through with-statements <issue 1270_>`_. - Fix: When remapping file paths through the ``[paths]`` setting while combining, the ``[run] relative_files`` setting was ignored, resulting in absolute paths for remapped file names (`issue 1147`_). This is now fixed. - Fix: Complex conditionals over excluded lines could have incorrectly reported a missing branch (`issue 1271`_). This is now fixed. - Fix: More exceptions are now handled when trying to parse source files for reporting. Problems that used to terminate coverage.py can now be handled with ``[report] ignore_errors``. This helps with plugins failing to read files (`django_coverage_plugin issue 78`_). - Fix: Removed another vestige of jQuery from the source tarball (`issue 840`_). - Fix: Added a default value for a new-to-6.x argument of an internal class. This unsupported class is being used by coveralls (`issue 1273`_). Although I'd rather not "fix" unsupported interfaces, it's actually nicer with a default value. .. _django_coverage_plugin issue 78: https://github.com/nedbat/django_coverage_plugin/issues/78 .. _issue 1147: https://github.com/nedbat/coveragepy/issues/1147 .. _issue 1270: https://github.com/nedbat/coveragepy/issues/1270 .. _issue 1271: https://github.com/nedbat/coveragepy/issues/1271 .. _issue 1273: https://github.com/nedbat/coveragepy/issues/1273 .. _changes_611: ``` ### 6.1.1 ``` -------------------------- - Fix: The sticky header on the HTML report didn't work unless you had branch coverage enabled. This is now fixed: the sticky header works for everyone. (Do people still use coverage without branch measurement!? j/k) - Fix: When using explicitly declared namespace packages, the "already imported a file that will be measured" warning would be issued (`issue 888`_). This is now fixed. .. _issue 888: https://github.com/nedbat/coveragepy/issues/888 .. _changes_61: ``` ### 6.1 ``` ------------------------ - Deprecated: The ``annotate`` command and the ``Coverage.annotate`` function will be removed in a future version, unless people let me know that they are using it. Instead, the ``html`` command gives better-looking (and more accurate) output, and the ``report -m`` command will tell you line numbers of missing lines. Please get in touch if you have a reason to use ``annotate`` over those better options: nednedbatchelder.com. - Feature: Coverage now sets an environment variable, ``COVERAGE_RUN`` when running your code with the ``coverage run`` command. The value is not important, and may change in the future. Closes `issue 553`_. - Feature: The HTML report pages for Python source files now have a sticky header so the file name and controls are always visible. - Feature: The ``xml`` and ``json`` commands now describe what they wrote where. - Feature: The ``html``, ``combine``, ``xml``, and ``json`` commands all accept a ``-q/--quiet`` option to suppress the messages they write to stdout about what they are doing (`issue 1254`_). - Feature: The ``html`` command writes a ``.gitignore`` file into the HTML output directory, to prevent the report from being committed to git. If you want to commit it, you will need to delete that file. Closes `issue 1244`_. - Feature: Added support for PyPy 3.8. - Fix: More generated code is now excluded from measurement. Code such as `attrs`_ boilerplate, or doctest code, was being measured though the synthetic line numbers meant they were never reported. Once Cython was involved though, the generated .so files were parsed as Python, raising syntax errors, as reported in `issue 1160`_. This is now fixed. - Fix: When sorting human-readable names, numeric components are sorted correctly: file10.py will appear after file9.py. This applies to file names, module names, environment variables, and test contexts. - Performance: Branch coverage measurement is faster, though you might only notice on code that is executed many times, such as long-running loops. - Build: jQuery is no longer used or vendored (`issue 840`_ and `issue 1118`_). Huge thanks to Nils Kattenbeck (septatrix) for the conversion to vanilla JavaScript in `pull request 1248`_. .. _issue 553: https://github.com/nedbat/coveragepy/issues/553 .. _issue 840: https://github.com/nedbat/coveragepy/issues/840 .. _issue 1118: https://github.com/nedbat/coveragepy/issues/1118 .. _issue 1160: https://github.com/nedbat/coveragepy/issues/1160 .. _issue 1244: https://github.com/nedbat/coveragepy/issues/1244 .. _pull request 1248: https://github.com/nedbat/coveragepy/pull/1248 .. _issue 1254: https://github.com/nedbat/coveragepy/issues/1254 .. _attrs: https://www.attrs.org/ .. _changes_602: ``` ### 6.0.2 ``` -------------------------- - Namespace packages being measured weren't properly handled by the new code that ignores third-party packages. If the namespace package was installed, it was ignored as a third-party package. That problem (`issue 1231`_) is now fixed. - Packages named as "source packages" (with ``source``, or ``source_pkgs``, or pytest-cov's ``--cov``) might have been only partially measured. Their top-level statements could be marked as unexecuted, because they were imported by coverage.py before measurement began (`issue 1232`_). This is now fixed, but the package will be imported twice, once by coverage.py, then again by your test suite. This could cause problems if importing the package has side effects. - The :meth:`.CoverageData.contexts_by_lineno` method was documented to return a dict, but was returning a defaultdict. Now it returns a plain dict. It also no longer returns negative numbered keys. .. _issue 1231: https://github.com/nedbat/coveragepy/issues/1231 .. _issue 1232: https://github.com/nedbat/coveragepy/issues/1232 .. _changes_601: ``` ### 6.0.1 ``` -------------------------- - In 6.0, the coverage.py exceptions moved from coverage.misc to coverage.exceptions. These exceptions are not part of the public supported API, CoverageException is. But a number of other third-party packages were importing the exceptions from coverage.misc, so they are now available from there again (`issue 1226`_). - Changed an internal detail of how tomli is imported, so that tomli can use coverage.py for their own test suite (`issue 1228`_). - Defend against an obscure possibility under code obfuscation, where a function can have an argument called "self", but no local named "self" (`pull request 1210`_). Thanks, Ben Carlsson. .. _pull request 1210: https://github.com/nedbat/coveragepy/pull/1210 .. _issue 1226: https://github.com/nedbat/coveragepy/issues/1226 .. _issue 1228: https://github.com/nedbat/coveragepy/issues/1228 .. _changes_60: ``` ### 6.0 ``` ------------------------ - The ``coverage html`` command now prints a message indicating where the HTML report was written. Fixes `issue 1195`_. - The ``coverage combine`` command now prints messages indicating each data file being combined. Fixes `issue 1105`_. - The HTML report now includes a sentence about skipped files due to ``skip_covered`` or ``skip_empty`` settings. Fixes `issue 1163`_. - Unrecognized options in the configuration file are no longer errors. They are now warnings, to ease the use of coverage across versions. Fixes `issue 1035`_. - Fix handling of exceptions through context managers in Python 3.10. A missing exception is no longer considered a missing branch from the with statement. Fixes `issue 1205`_. - Fix another rarer instance of "Error binding parameter 0 - probably unsupported type." (`issue 1010`_). - Creating a directory for the coverage data file now is safer against conflicts when two coverage runs happen simultaneously (`pull 1220`_). Thanks, Clément Pit-Claudel. .. _issue 1035: https://github.com/nedbat/coveragepy/issues/1035 .. _issue 1105: https://github.com/nedbat/coveragepy/issues/1105 .. _issue 1163: https://github.com/nedbat/coveragepy/issues/1163 .. _issue 1195: https://github.com/nedbat/coveragepy/issues/1195 .. _issue 1205: https://github.com/nedbat/coveragepy/issues/1205 .. _pull 1220: https://github.com/nedbat/coveragepy/pull/1220 .. _changes_60b1: ``` ### 6.0b1 ``` -------------------------- - Dropped support for Python 2.7, PyPy 2, and Python 3.5. - Added support for the Python 3.10 ``match/case`` syntax. - Data collection is now thread-safe. There may have been rare instances of exceptions raised in multi-threaded programs. - Plugins (like the `Django coverage plugin`_) were generating "Already imported a file that will be measured" warnings about Django itself. These have been fixed, closing `issue 1150`_. - Warnings generated by coverage.py are now real Python warnings. - Using ``--fail-under=100`` with coverage near 100% could result in the self-contradictory message :code:`total of 100 is less than fail-under=100`. This bug (`issue 1168`_) is now fixed. - The ``COVERAGE_DEBUG_FILE`` environment variable now accepts ``stdout`` and ``stderr`` to write to those destinations. - TOML parsing now uses the `tomli`_ library. - Some minor changes to usually invisible details of the HTML report: - Use a modern hash algorithm when fingerprinting, for high-security environments (`issue 1189`_). When generating the HTML report, we save the hash of the data, to avoid regenerating an unchanged HTML page. We used to use MD5 to generate the hash, and now use SHA-3-256. This was never a security concern, but security scanners would notice the MD5 algorithm and raise a false alarm. - Change how report file names are generated, to avoid leading underscores (`issue 1167`_), to avoid rare file name collisions (`issue 584`_), and to avoid file names becoming too long (`issue 580`_). .. _Django coverage plugin: https://pypi.org/project/django-coverage-plugin/ .. _issue 580: https://github.com/nedbat/coveragepy/issues/580 .. _issue 584: https://github.com/nedbat/coveragepy/issues/584 .. _issue 1150: https://github.com/nedbat/coveragepy/issues/1150 .. _issue 1167: https://github.com/nedbat/coveragepy/issues/1167 .. _issue 1168: https://github.com/nedbat/coveragepy/issues/1168 .. _issue 1189: https://github.com/nedbat/coveragepy/issues/1189 .. _tomli: https://pypi.org/project/tomli/ .. _changes_56b1: ``` ### 5.6b1 ``` -------------------------- Note: 5.6 final was never released. These changes are part of 6.0. - Third-party packages are now ignored in coverage reporting. This solves a few problems: - Coverage will no longer report about other people's code (`issue 876`_). This is true even when using ``--source=.`` with a venv in the current directory. - Coverage will no longer generate "Already imported a file that will be measured" warnings about coverage itself (`issue 905`_). - The HTML report uses j/k to move up and down among the highlighted chunks of code. They used to highlight the current chunk, but 5.0 broke that behavior. Now the highlighting is working again. - The JSON report now includes ``percent_covered_display``, a string with the total percentage, rounded to the same number of decimal places as the other reports' totals. .. _issue 876: https://github.com/nedbat/coveragepy/issues/876 .. _issue 905: https://github.com/nedbat/coveragepy/issues/905 .. _changes_55: ```
Links - PyPI: https://pypi.org/project/coverage - Changelog: https://pyup.io/changelogs/coverage/ - Repo: https://github.com/nedbat/coveragepy

Update Flask from 2.0.1 to 2.1.1.

Changelog ### 2.1.1 ``` ------------- Released on 2022-03-30 - Set the minimum required version of importlib_metadata to 3.6.0, which is required on Python < 3.10. :issue:`4502` ``` ### 2.1.0 ``` ------------- Released 2022-03-28 - Drop support for Python 3.6. :pr:`4335` - Update Click dependency to >= 8.0. :pr:`4008` - Remove previously deprecated code. :pr:`4337` - The CLI does not pass ``script_info`` to app factory functions. - ``config.from_json`` is replaced by ``config.from_file(name, load=json.load)``. - ``json`` functions no longer take an ``encoding`` parameter. - ``safe_join`` is removed, use ``werkzeug.utils.safe_join`` instead. - ``total_seconds`` is removed, use ``timedelta.total_seconds`` instead. - The same blueprint cannot be registered with the same name. Use ``name=`` when registering to specify a unique name. - The test client's ``as_tuple`` parameter is removed. Use ``response.request.environ`` instead. :pr:`4417` - Some parameters in ``send_file`` and ``send_from_directory`` were renamed in 2.0. The deprecation period for the old names is extended to 2.2. Be sure to test with deprecation warnings visible. - ``attachment_filename`` is renamed to ``download_name``. - ``cache_timeout`` is renamed to ``max_age``. - ``add_etags`` is renamed to ``etag``. - ``filename`` is renamed to ``path``. - The ``RequestContext.g`` property is deprecated. Use ``g`` directly or ``AppContext.g`` instead. :issue:`3898` - ``copy_current_request_context`` can decorate async functions. :pr:`4303` - The CLI uses ``importlib.metadata`` instead of ``setuptools`` to load command entry points. :issue:`4419` - Overriding ``FlaskClient.open`` will not cause an error on redirect. :issue:`3396` - Add an ``--exclude-patterns`` option to the ``flask run`` CLI command to specify patterns that will be ignored by the reloader. :issue:`4188` - When using lazy loading (the default with the debugger), the Click context from the ``flask run`` command remains available in the loader thread. :issue:`4460` - Deleting the session cookie uses the ``httponly`` flag. :issue:`4485` - Relax typing for ``errorhandler`` to allow the user to use more precise types and decorate the same function multiple times. :issue:`4095, 4295, 4297` - Fix typing for ``__exit__`` methods for better compatibility with ``ExitStack``. :issue:`4474` - From Werkzeug, for redirect responses the ``Location`` header URL will remain relative, and exclude the scheme and domain, by default. :pr:`4496` - Add ``Config.from_prefixed_env()`` to load config values from environment variables that start with ``FLASK_`` or another prefix. This parses values as JSON by default, and allows setting keys in nested dicts. :pr:`4479` ``` ### 2.0.3 ``` ------------- Released 2022-02-14 - The test client's ``as_tuple`` parameter is deprecated and will be removed in Werkzeug 2.1. It is now also deprecated in Flask, to be removed in Flask 2.1, while remaining compatible with both in 2.0.x. Use ``response.request.environ`` instead. :pr:`4341` - Fix type annotation for ``errorhandler`` decorator. :issue:`4295` - Revert a change to the CLI that caused it to hide ``ImportError`` tracebacks when importing the application. :issue:`4307` - ``app.json_encoder`` and ``json_decoder`` are only passed to ``dumps`` and ``loads`` if they have custom behavior. This improves performance, mainly on PyPy. :issue:`4349` - Clearer error message when ``after_this_request`` is used outside a request context. :issue:`4333` ``` ### 2.0.2 ``` ------------- Released 2021-10-04 - Fix type annotation for ``teardown_*`` methods. :issue:`4093` - Fix type annotation for ``before_request`` and ``before_app_request`` decorators. :issue:`4104` - Fixed the issue where typing requires template global decorators to accept functions with no arguments. :issue:`4098` - Support View and MethodView instances with async handlers. :issue:`4112` - Enhance typing of ``app.errorhandler`` decorator. :issue:`4095` - Fix registering a blueprint twice with differing names. :issue:`4124` - Fix the type of ``static_folder`` to accept ``pathlib.Path``. :issue:`4150` - ``jsonify`` handles ``decimal.Decimal`` by encoding to ``str``. :issue:`4157` - Correctly handle raising deferred errors in CLI lazy loading. :issue:`4096` - The CLI loader handles ``**kwargs`` in a ``create_app`` function. :issue:`4170` - Fix the order of ``before_request`` and other callbacks that trigger before the view returns. They are called from the app down to the closest nested blueprint. :issue:`4229` ```
Links - PyPI: https://pypi.org/project/flask - Changelog: https://pyup.io/changelogs/flask/ - Homepage: https://palletsprojects.com/p/flask

Update Flask-Login from 0.5.0 to 0.6.0.

Changelog ### 0.6.0 ``` ------------- Released on March 30th, 2022 - Drop support for Python 2.7, 3.5, and 3.6, which have all reached the end of their official support. 594, 638 - The minimum supported version of Flask is 1.0.4, and Werkzeug is 1.0.1. However, projects are advised to use the latest versions of both. 639 - Only flash "needs_refresh_message" if value is set 464 - Modify `expand_login_view` to allow for subdomain and host matching for `login_view` 462 - Add accessors for `request_loader` and `user_loader` callback functions 472 - Change "remember_me" cookie to match Werkzeug default value 488 - Change "remember_me" cookie to `HttpOnly`, matching Flask session cookie 488 - Add example for using `unauthorized_handler` 492 - Fix `assertEqual` deprecation warning in pytest 518 - Fix `collections` deprecation warning under Python 3.8 525 - Replace `safe_str_cmp` with `hmac.compare_digest` 585 - Document `REMEMBER_COOKIE_SAMESITE` config 577 - Revise setup.py to use README.md for long description 598 - Various documentation corrections 484, 482, 487, 534 - Fix `from flask_login import *` behavior, although note that `import *` is not usually a good pattern in code. 485 - `UserMixin.is_authenticated` will return whatever `is_active` returns by default. This prevents inactive users from logging in. 486, 530 - Session protection will only mark the session as not fresh if it's not already marked as such, avoiding modifying the session cookie unnecessarily. 612 ```
Links - PyPI: https://pypi.org/project/flask-login - Changelog: https://pyup.io/changelogs/flask-login/ - Repo: https://github.com/maxcountryman/flask-login - Docs: https://pythonhosted.org/Flask-Login/

Update Flask-WTF from 0.15.1 to 1.0.1.

Changelog ### 1.0.0 ``` -------------- Released 2021-11-07 - Deprecated items removal :pr:`484` - Support for alternatives captcha services :pr:`425` :pr:`342` :pr:`387` :issue:`384` ```
Links - PyPI: https://pypi.org/project/flask-wtf - Changelog: https://pyup.io/changelogs/flask-wtf/ - Repo: https://github.com/wtforms/flask-wtf/ - Docs: https://pythonhosted.org/Flask-WTF/

Update github3.py from 1.3.0 to 3.2.0.

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

Links - PyPI: https://pypi.org/project/github3.py - Repo: https://github3.readthedocs.io

Update idna from 3.2 to 3.3.

Changelog ### 3.3 ``` ++++++++++++++++ - Update to Unicode 14.0.0 - Update to in-line type annotations - Throw IDNAError exception correctly for some malformed input - Advertise support for Python 3.10 - Improve testing regime on Github - Fix Russian typo in documentation Thanks to Jon Defresne, Hugo van Kemenade, Seth Michael Larson, Patrick Ventuzelo and Boris Verhovsky for contributions to this release. ```
Links - PyPI: https://pypi.org/project/idna - Changelog: https://pyup.io/changelogs/idna/ - Repo: https://github.com/kjd/idna

Update itsdangerous from 2.0.1 to 2.1.2.

Changelog ### 2.1.2 ``` ------------- Released 2022-03-24 - Handle date overflow in timed unsign on 32-bit systems. :pr:`299` ``` ### 2.1.1 ``` ------------- Released 2022-03-09 - Handle date overflow in timed unsign. :pr:`296` ``` ### 2.1.0 ``` ------------- Released 2022-02-17 - Drop support for Python 3.6. :pr:`272` - Remove previously deprecated code. :pr:`273` - JWS functionality: Use a dedicated library such as Authlib instead. - ``import itsdangerous.json``: Import ``json`` from the standard library instead. ```
Links - PyPI: https://pypi.org/project/itsdangerous - Changelog: https://pyup.io/changelogs/itsdangerous/ - Homepage: https://palletsprojects.com/p/itsdangerous/

Update Jinja2 from 3.0.1 to 3.1.1.

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

Links - PyPI: https://pypi.org/project/jinja2 - Homepage: https://palletsprojects.com/p/jinja/

Update Mako from 1.1.5 to 1.2.0.

Changelog ### 1.1.6 ``` :include_notes_from: unreleased .. changelog:: ```
Links - PyPI: https://pypi.org/project/mako - Changelog: https://pyup.io/changelogs/mako/ - Homepage: https://www.makotemplates.org/

Update Markdown from 3.3.4 to 3.3.6.

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

Links - PyPI: https://pypi.org/project/markdown - Repo: https://Python-Markdown.github.io/

Update MarkupSafe from 2.0.1 to 2.1.1.

Changelog ### 2.1.1 ``` ------------- Released 2022-03-14 - Avoid ambiguous regex matches in ``striptags``. :pr:`293` ``` ### 2.1.0 ``` ------------- Released 2022-02-17 - Drop support for Python 3.6. :pr:`262` - Remove ``soft_unicode``, which was previously deprecated. Use ``soft_str`` instead. :pr:`261` - Raise error on missing single placeholder during string interpolation. :issue:`225` - Disable speedups module for GraalPython. :issue:`277` ```
Links - PyPI: https://pypi.org/project/markupsafe - Changelog: https://pyup.io/changelogs/markupsafe/ - Homepage: https://palletsprojects.com/p/markupsafe/

Update mirakuru from 2.4.1 to 2.4.2.

Changelog ### 2.4.2 ``` ---------- Misc ++++ + Added Python 3.10 to classifiers ```
Links - PyPI: https://pypi.org/project/mirakuru - Changelog: https://pyup.io/changelogs/mirakuru/ - Repo: https://github.com/ClearcodeHQ/mirakuru

Update more-itertools from 8.8.0 to 8.12.0.

Changelog ### 8.12.0 ``` ------ * Bug fixes * Some documentation issues were fixed (thanks to Masynchin, spookylukey, astrojuanlu, and stephengmatthews) * Python 3.5 support was temporarily restored (thanks to mattbonnell) ``` ### 8.11.0 ``` ------ * New functions * The :func:`before_and_after`, :func:`sliding_window`, and :func:`triplewise` recipes from the Python 3.10 docs were added * :func:`duplicates_everseen` and :func:`duplicates_justseen` (thanks to OrBin and DavidPratt512) * :func:`minmax` (thanks to Ricocotam, MSeifert04, and ruancomelli) * :func:`strictly_n` (thanks to hwalinga and NotWearingPants) * :func:`unique_in_window` * Changes to existing functions * :func:`groupby_transform` had its type stub improved (thanks to mjk4 and ruancomelli) * :func:`is_sorted` now accepts a ``strict`` parameter (thanks to Dutcho and ruancomelli) * :func:`zip_broadcast` was updated to fix a bug (thanks to kalekundert) ``` ### 8.10.0 ``` ------ * Changes to existing functions * The type stub for :func:`iter_except` was improved (thanks to MarcinKonowalczyk) * Other changes: * Type stubs now ship with the source release (thanks to saaketp) * The Sphinx docs were improved (thanks to MarcinKonowalczyk) ``` ### 8.9.0 ``` ----- * New functions * :func:`interleave_evenly` (thanks to mbugert) * :func:`repeat_each` (thanks to FinalSh4re) * :func:`chunked_even` (thanks to valtron) * :func:`map_if` (thanks to sassbalint) * :func:`zip_broadcast` (thanks to kalekundert) * Changes to existing functions * The type stub for :func:`chunked` was improved (thanks to PhilMacKay) * The type stubs for :func:`zip_equal` and `zip_offset` were improved (thanks to maffoo) * Building Sphinx docs locally was improved (thanks to MarcinKonowalczyk) ```
Links - PyPI: https://pypi.org/project/more-itertools - Changelog: https://pyup.io/changelogs/more-itertools/ - Repo: https://github.com/more-itertools/more-itertools - Docs: https://pythonhosted.org/more-itertools/

Update port-for from 0.6.1 to 0.6.2.

Changelog ### 0.6.2 ``` ---------- Misc ++++ - Added Python 3.10 to trove classifiers and to CI ```
Links - PyPI: https://pypi.org/project/port-for - Changelog: https://pyup.io/changelogs/port-for/ - Repo: https://github.com/kmike/port-for/

Update psutil from 5.8.0 to 5.9.0.

Changelog ### 5.9.0 ``` ===== 2021-12-29 **Enhancements** - 1851_, [Linux]: `cpu_freq()`_ is slow on systems with many CPUs. Read current frequency values for all CPUs from ``/proc/cpuinfo`` instead of opening many files in ``/sys`` fs. (patch by marxin) - 1992_: `NoSuchProcess`_ message now specifies if the PID has been reused. - 1992_: error classes (`NoSuchProcess`_, `AccessDenied`_, etc.) now have a better formatted and separated ``__repr__`` and ``__str__`` implementations. - 1996_, [BSD]: add support for MidnightBSD. (patch by Saeed Rasooli) - 1999_, [Linux]: `disk_partitions()`_: convert ``/dev/root`` device (an alias used on some Linux distros) to real root device path. - 2005_: ``PSUTIL_DEBUG`` mode now prints file name and line number of the debug messages coming from C extension modules. - 2042_: rewrite HISTORY.rst to use hyperlinks pointing to psutil API doc. **Bug fixes** - 1456_, [macOS], **[critical]**: `cpu_freq()`_ ``min`` and ``max`` are set to 0 if can't be determined (instead of crashing). - 1512_, [macOS]: sometimes `Process.connections()`_ will crash with ``EOPNOTSUPP`` for one connection; this is now ignored. - 1598_, [Windows]: `disk_partitions()`_ only returns mountpoints on drives where it first finds one. - 1874_, [SunOS]: swap output error due to incorrect range. - 1892_, [macOS]: `cpu_freq()`_ broken on Apple M1. - 1901_, [macOS]: different functions, especially `Process.open_files()`_ and `Process.connections()`_, could randomly raise `AccessDenied`_ because the internal buffer of ``proc_pidinfo(PROC_PIDLISTFDS)`` syscall was not big enough. We now dynamically increase the buffer size until it's big enough instead of giving up and raising `AccessDenied`_, which was a fallback to avoid crashing. - 1904_, [Windows]: ``OpenProcess`` fails with ``ERROR_SUCCESS`` due to ``GetLastError()`` called after ``sprintf()``. (patch by alxchk) - 1913_, [Linux]: `wait_procs()`_ should catch ``subprocess.TimeoutExpired`` exception. - 1919_, [Linux]: `sensors_battery()`_ can raise ``TypeError`` on PureOS. - 1921_, [Windows]: `swap_memory()`_ shows committed memory instead of swap. - 1940_, [Linux]: psutil does not handle ``ENAMETOOLONG`` when accessing process file descriptors in procfs. (patch by Nikita Radchenko) - 1948_, **[critical]**: ``memoize_when_activated`` decorator is not thread-safe. (patch by Xuehai Pan) - 1953_, [Windows], **[critical]**: `disk_partitions()`_ crashes due to insufficient buffer len. (patch by MaWe2019) - 1965_, [Windows], **[critical]**: fix "Fatal Python error: deallocating None" when calling `users()`_ multiple times. - 1980_, [Windows]: 32bit / WoW64 processes fails to read `Process.name()`_ longer than 128 characters resulting in `AccessDenied`_. This is now fixed. (patch by PetrPospisil) - 1991_, **[critical]**: `process_iter()`_ is not thread safe and can raise ``TypeError`` if invoked from multiple threads. - 1956_, [macOS]: `Process.cpu_times()`_ reports incorrect timings on M1 machines. (patch by Olivier Dormond) - 2023_, [Linux]: `cpu_freq()`_ return order is wrong on systems with more than 9 CPUs. ```
Links - PyPI: https://pypi.org/project/psutil - Changelog: https://pyup.io/changelogs/psutil/ - Repo: https://github.com/giampaolo/psutil

Update psycopg2-binary from 2.9.1 to 2.9.3.

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

Links - PyPI: https://pypi.org/project/psycopg2-binary - Homepage: https://psycopg.org/

Update py from 1.10.0 to 1.11.0.

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

Links - PyPI: https://pypi.org/project/py - Docs: https://py.readthedocs.io/

Update Pygments from 2.10.0 to 2.11.2.

Changelog ### 2.11.2 ``` -------------- (released January 6th, 2022) - Updated lexers: * C-family: Fix incorrect handling of labels (2022, 1996, 1182) * Java: Fixed an issue with ``record`` keywords result in ``Error`` tokens in some cases (2018) - Fix links to line numbers not working correctly (2014) - Remove ``underline`` from ``Whitespace`` style in the ``Tango`` theme (2020) - Fix ``IRC`` and ``Terminal256`` formatters not backtracking correctly for custom token types, resulting in some unstyled tokens (1986) ``` ### 2.11.1 ``` -------------- (released December 31st, 2021) - Updated lexers: * C-family: Handle return types with multiple tokens (e.g. ``unsigned int``) (2008) * JSON: Fix a regression which caused whitespace before ``:`` to result in ``Error`` tokens (2010) * SPICE: Various improvements (2009) ``` ### 2.11.0 ``` -------------- (released December 30th, 2021) - Added lexers: * BDD (1803) * Elpi (1894) * LilyPond (1845, 1968, 1971, 2001). This comes with a custom style as well. * Maxima (1885) * Rita (1541, 2003) * Savi (1863) * Sed (1935) * Sophia contracts (1974) * Spice (1980) * ``.SRCINFO`` (1951) - Updated lexers: * ABNF: Allow one-character rules (1804) * Assembly: Fix incorrect token endings (1895, 1961) * Bibtex: Distinguish between ``comment`` and ``commentary`` (1899, 1806) * C family: Support unicode identifiers (1848) * CDDL: Fix slow lexing speed (1959) * Debian control: Add missing fields (1946) * Devicetree: Recognize hexadecimal addresses for nodes (1949) * GDScript: Add ``void`` data type (1948) * GSQL - Fix comment handling (2002) - Fix catastrophic backtracking (2006) * HTML, XML: Improve comment handling (1896) * Java: Add ``yield`` (1941) and sealed classes/record (1902) * Makefiles (1860, 1898) * objdump-nasm: Improve handling of ``--no-show-raw-insn`` dumps (1981) * Prolog: Support escaped ``\`` inside quoted strings (1479) * Python: - Support ``~`` in tracebacks (2004) - Support the pattern matching keywords (1797, 1994) * RobotFramework: Improve empty brace handling (1921, 1922) * Terraform - Add the 'set' type (1909) - Support heredocs (1909) - Added styles: * Dracula (1796) * Friendly Grayscale (1040, 1273) * LilyPond (1845) -- to be used for the ``LilyPond`` language. * One-Dark (1924, 1979) .. note:: All of the new styles unfortunately do not conform to WCAG recommendations. - There is new infrastructure in place to improve style accessibility. The default style has been updated to conform to WCAG recommendations. All styles are now checked for sufficient contrast by default to prevent regressions. (1919, 1937, 1938, 1940) - Clean up unused imports (1887) - Fix multiple lexers producing repeated single-character tokens - Fix multiple lexers marking whitespace as ``Text`` (1237, 1905, 1908, 1914, 1911, 1923, 1939, 1957, 1978) - Remove duplicated assignments in the Paraiso style (1934) - ``pygmentize`` supports JSON output for the various list functions now, making it easier to consume them from scripts. (1437, 1890) - Use the ``shell`` lexer for ``kshrc`` files (1947) - Use the ``ruby`` lexer for ``Vagrantfile`` files (1936) - Use the C lexer for ``.xbm`` and ``.xpm`` files (1802) - Add a ``groff`` formatter (1873) - Update documentation (1928) - Line anchors now link to themselves (1973) - Add official support for Python 3.10 (1917) - Fix several missing colors in dark styles: Gruvbox dark, Monokai, Rrt, Sas, Strata dark (1955) - Associate more file types with ``man`` pages - The ``HtmlFormatter`` can now emit tooltips for each token to ease debugging of lexers (1822) - Add ``f90`` as an alias for ``fortran`` (2000) ```
Links - PyPI: https://pypi.org/project/pygments - Changelog: https://pyup.io/changelogs/pygments/ - Homepage: https://pygments.org/

Update pytest from 6.2.5 to 7.1.1.

Changelog ### 7.1.0 ``` ========================= Breaking Changes ---------------- - `8838 <https://github.com/pytest-dev/pytest/issues/8838>`_: As per our policy, the following features have been deprecated in the 6.X series and are now removed: * ``pytest._fillfuncargs`` function. * ``pytest_warning_captured`` hook - use ``pytest_warning_recorded`` instead. * ``-k -foobar`` syntax - use ``-k 'not foobar'`` instead. * ``-k foobar:`` syntax. * ``pytest.collect`` module - import from ``pytest`` directly. For more information consult `Deprecations and Removals <https://docs.pytest.org/en/latest/deprecations.html>`__ in the docs. - `9437 <https://github.com/pytest-dev/pytest/issues/9437>`_: Dropped support for Python 3.6, which reached `end-of-life <https://devguide.python.org/#status-of-python-branches>`__ at 2021-12-23. Improvements ------------ - `5192 <https://github.com/pytest-dev/pytest/issues/5192>`_: Fixed test output for some data types where ``-v`` would show less information. Also, when showing diffs for sequences, ``-q`` would produce full diffs instead of the expected diff. - `9362 <https://github.com/pytest-dev/pytest/issues/9362>`_: pytest now avoids specialized assert formatting when it is detected that the default ``__eq__`` is overridden in ``attrs`` or ``dataclasses``. - `9536 <https://github.com/pytest-dev/pytest/issues/9536>`_: When ``-vv`` is given on command line, show skipping and xfail reasons in full instead of truncating them to fit the terminal width. - `9644 <https://github.com/pytest-dev/pytest/issues/9644>`_: More information about the location of resources that led Python to raise :class:`ResourceWarning` can now be obtained by enabling :mod:`tracemalloc`. See :ref:`resource-warnings` for more information. - `9678 <https://github.com/pytest-dev/pytest/issues/9678>`_: More types are now accepted in the ``ids`` argument to ``pytest.mark.parametrize``. Previously only `str`, `float`, `int` and `bool` were accepted; now `bytes`, `complex`, `re.Pattern`, `Enum` and anything with a `__name__` are also accepted. - `9692 <https://github.com/pytest-dev/pytest/issues/9692>`_: :func:`pytest.approx` now raises a :class:`TypeError` when given an unordered sequence (such as :class:`set`). Note that this implies that custom classes which only implement ``__iter__`` and ``__len__`` are no longer supported as they don't guarantee order. Bug Fixes --------- - `8242 <https://github.com/pytest-dev/pytest/issues/8242>`_: The deprecation of raising :class:`unittest.SkipTest` to skip collection of tests during the pytest collection phase is reverted - this is now a supported feature again. - `9493 <https://github.com/pytest-dev/pytest/issues/9493>`_: Symbolic link components are no longer resolved in conftest paths. This means that if a conftest appears twice in collection tree, using symlinks, it will be executed twice. For example, given tests/real/conftest.py tests/real/test_it.py tests/link -> tests/real running ``pytest tests`` now imports the conftest twice, once as ``tests/real/conftest.py`` and once as ``tests/link/conftest.py``. This is a fix to match a similar change made to test collection itself in pytest 6.0 (see :pull:`6523` for details). - `9626 <https://github.com/pytest-dev/pytest/issues/9626>`_: Fixed count of selected tests on terminal collection summary when there were errors or skipped modules. If there were errors or skipped modules on collection, pytest would mistakenly subtract those from the selected count. - `9645 <https://github.com/pytest-dev/pytest/issues/9645>`_: Fixed regression where ``--import-mode=importlib`` used together with :envvar:`PYTHONPATH` or :confval:`pythonpath` would cause import errors in test suites. - `9708 <https://github.com/pytest-dev/pytest/issues/9708>`_: :fixture:`pytester` now requests a :fixture:`monkeypatch` fixture instead of creating one internally. This solves some issues with tests that involve pytest environment variables. - `9730 <https://github.com/pytest-dev/pytest/issues/9730>`_: Malformed ``pyproject.toml`` files now produce a clearer error message. ``` ### 7.0.1 ``` ========================= Bug Fixes --------- - `9608 <https://github.com/pytest-dev/pytest/issues/9608>`_: Fix invalid importing of ``importlib.readers`` in Python 3.9. - `9610 <https://github.com/pytest-dev/pytest/issues/9610>`_: Restore `UnitTestFunction.obj` to return unbound rather than bound method. Fixes a crash during a failed teardown in unittest TestCases with non-default `__init__`. Regressed in pytest 7.0.0. - `9636 <https://github.com/pytest-dev/pytest/issues/9636>`_: The ``pythonpath`` plugin was renamed to ``python_path``. This avoids a conflict with the ``pytest-pythonpath`` plugin. - `9642 <https://github.com/pytest-dev/pytest/issues/9642>`_: Fix running tests by id with ``::`` in the parametrize portion. - `9643 <https://github.com/pytest-dev/pytest/issues/9643>`_: Delay issuing a :class:`~pytest.PytestWarning` about diamond inheritance involving :class:`~pytest.Item` and :class:`~pytest.Collector` so it can be filtered using :ref:`standard warning filters <warnings>`. ``` ### 7.0.0 ``` ========================= (**Please see the full set of changes for this release also in the 7.0.0rc1 notes below**)