Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

pyup.io: Scheduled weekly dependency update for week 36 #396

Merged
merged 11 commits into from
Sep 7, 2020

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Sep 7, 2020

Update setuptools from 45.2.0 to 50.3.0.

Changelog

50.3.0

-------

* 2368: In distutils, restore support for monkeypatched CCompiler.spawn per pypa/distutils15.

50.2.0

-------

* 2355: When pip is imported as part of a build, leave distutils patched.
* 2380: There are some setuptools specific changes in the
`setuptools.command.bdist_rpm` module that are no longer needed, because
they are part of the `bdist_rpm` module in distutils in Python
3.5.0. Therefore, code was removed from `setuptools.command.bdist_rpm`.

50.1.0

-------

* 2350: Setuptools reverts using the included distutils by default. Platform maintainers and system integrators and others are *strongly* encouraged to set ``SETUPTOOLS_USE_DISTUTILS=local`` to help identify and work through the reported issues with distutils adoption, mainly to file issues and pull requests with pypa/distutils such that distutils performs as needed across every supported environment.

50.0.3

-------

* 2363: Restore link_libpython support on Python 3.7 and earlier (see pypa/distutils9).

50.0.2

-------

* 2352: In distutils hack, use absolute import rather than relative to avoid bpo-30876.

50.0.1

-------

* 2357: Restored Python 3.5 support in distutils.util for missing `subprocess._optim_args_from_interpreter_flags`.
* 2358: Restored AIX support on Python 3.8 and earlier.
* 2361: Add Python 3.10 support to _distutils_hack. Get the 'Loader' abstract class
from importlib.abc rather than importlib.util.abc (alias removed in Python
3.10).

50.0.0

-------

* 2232: Once again, Setuptools overrides the stdlib distutils on import. For environments or invocations where this behavior is undesirable, users are provided with a temporary escape hatch. If the environment variable ``SETUPTOOLS_USE_DISTUTILS`` is set to ``stdlib``, Setuptools will fall back to the legacy behavior. Use of this escape hatch is discouraged, but it is provided to ease the transition while proper fixes for edge cases can be addressed.
* 2334: In MSVC module, refine text in error message.

49.6.0

-------

* 2129: In pkg_resources, no longer detect any pathname ending in .egg as a Python egg. Now the path must be an unpacked egg or a zip file.

49.5.0

-------

* 2306: When running as a PEP 517 backend, setuptools does not try to install
``setup_requires`` itself. They are reported as build requirements for the
frontend to install.

49.4.0

-------

* 2310: Updated vendored packaging version to 20.4.

49.3.2

-------

* 2300: Improve the ``safe_version`` function documentation
* 2297: Once again, in stubs prefer exec_module to the deprecated load_module.

49.3.1

-------

* 2316: Removed warning when ``distutils`` is imported before ``setuptools`` when ``distutils`` replacement is not enabled.

49.3.0

-------

* 2259: Setuptools now provides a .pth file (except for editable installs of setuptools) to the target environment to ensure that when enabled, the setuptools-provided distutils is preferred before setuptools has been imported (and even if setuptools is never imported). Honors the SETUPTOOLS_USE_DISTUTILS environment variable.

49.2.1

-------

* 2257: Fixed two flaws in distutils._msvccompiler.MSVCCompiler.spawn.

49.2.0

-------

* 2230: Now warn the user when setuptools is imported after distutils modules have been loaded (exempting PyPy for 3.6), directing the users of packages to import setuptools first.

49.1.3

-------

* 2212: (Distutils) Allow spawn to accept environment. Avoid monkey-patching global state.
* 2249: Fix extension loading technique in stubs.

49.1.2

-------

* 2232: In preparation for re-enabling a local copy of distutils, Setuptools now honors an environment variable, SETUPTOOLS_USE_DISTUTILS. If set to 'stdlib' (current default), distutils will be used from the standard library. If set to 'local' (default in a imminent backward-incompatible release), the local copy of distutils will be used.

49.1.1

-------

* 2094: Removed pkg_resources.py2_warn module, which is no longer reachable.

49.1.0

-------

* 2228: Disabled distutils adoption for now while emergent issues are addressed.

49.0.1

-------

* 2228: Applied fix for pypa/distutils3, restoring expectation that spawn will raise a DistutilsExecError when attempting to execute a missing file.

49.0.0

-------

* 2165: Setuptools no longer installs a site.py file during easy_install or develop installs. As a result, .eggs on PYTHONPATH will no longer take precedence over other packages on sys.path. If this issue affects your production environment, please reach out to the maintainers at 2165.
* 2137: Removed (private) pkg_resources.RequirementParseError, now replaced by packaging.requirements.InvalidRequirement. Kept the name for compatibility, but users should catch InvalidRequirement instead.
* 2180: Update vendored packaging in pkg_resources to 19.2.
* 2199: Fix exception causes all over the codebase by using ``raise new_exception from old_exception``

48.0.0

-------

* 2143: Setuptools adopts distutils from the Python 3.9 standard library and no longer depends on distutils in the standard library. When importing ``setuptools`` or ``setuptools.distutils_patch``, Setuptools will expose its bundled version as a top-level ``distutils`` package (and unload any previously-imported top-level distutils package), retaining the expectation that ``distutils``' objects are actually Setuptools objects.
To avoid getting any legacy behavior from the standard library, projects are advised to always "import setuptools" prior to importing anything from distutils. This behavior happens by default when using ``pip install`` or ``pep517.build``. Workflows that rely on ``setup.py (anything)`` will need to first ensure setuptools is imported. One way to achieve this behavior without modifying code is to invoke Python thus: ``python -c "import setuptools; exec(open('setup.py').read())" (anything)``.

47.3.2

-------

* 2071: Replaced references to the deprecated imp package with references to importlib

47.3.1

-------

* 1973: Removed ``pkg_resources.py31compat.makedirs`` in favor of the stdlib. Use ``os.makedirs()`` instead.
* 2198: Restore ``__requires__`` directive in easy-install wrapper scripts.

47.3.0

-------

* 2197: Console script wrapper for editable installs now has a unified template and honors importlib_metadata if present for faster script execution on older Pythons.
* 2195: Fix broken entry points generated by easy-install (pip editable installs).

47.2.0

-------

* 2194: Editable-installed entry points now load significantly faster on Python versions 3.8+.

47.1.1

-------

* 2156: Update mailing list pointer in developer docs

47.1.0

-------

* 2070: In wheel-to-egg conversion, use simple pkg_resources-style namespace declaration for packages that declare namespace_packages.

47.0.0

-------

* 2094: Setuptools now actively crashes under Python 2. Python 3.5 or later is required. Users of Python 2 should use ``setuptools<45``.
* 1700: Document all supported keywords by migrating the ones from distutils.

46.4.0

-------

* 1753: ``attr:`` now extracts variables through rudimentary examination of the AST,
thereby supporting modules with third-party imports. If examining the AST
fails to find the variable, ``attr:`` falls back to the old behavior of
importing the module. Works on Python 3 only.

46.3.1

-------

No significant changes.

46.3.0

-------

* 2089: Package index functionality no longer attempts to remove an md5 fragment from the index URL. This functionality, added for distribute 163 is no longer relevant.
* 2041: Preserve file modes during pkg files copying, but clear read only flag for target afterwards.
* 2105: Filter ``2to3`` deprecation warnings from ``TestDevelop.test_2to3_user_mode``.

46.2.0

-------

* 2040: Deprecated the ``bdist_wininst`` command. Binary packages should be built as wheels instead.
* 2062: Change 'Mac OS X' to 'macOS' in code.
* 2075: Stop recognizing files ending with ``.dist-info`` as distribution metadata.
* 2086: Deprecate 'use_2to3' functionality. Packagers are encouraged to use single-source solutions or build tool chains to manage conversions outside of setuptools.
* 1698: Added documentation for ``build_meta`` (a bare minimum, not completed).
* 2082: Filter ``lib2to3`` ``PendingDeprecationWarning`` and ``DeprecationWarning`` in tests,
because ``lib2to3`` is `deprecated in Python 3.9 <https://bugs.python.org/issue40360>`_.

46.1.3

-------

No significant changes.

46.1.2

-------

* 1458: Added template for reporting Python 2 incompatibilities.

46.1.1

-------

No significant changes.

46.1.0

-------

* 308: Allow version number normalization to be bypassed by wrapping in a 'setuptools.sic()' call.
* 1424: Prevent keeping files mode for package_data build. It may break a build if user's package data has read only flag.
* 1431: In ``easy_install.check_site_dir``, ensure the installation directory exists.
* 1563: In ``pkg_resources`` prefer ``find_spec`` (PEP 451) to ``find_module``.

46.0.0

-------

* 65: Once again as in 3.0, removed the Features feature.
* 1890: Fix vendored dependencies so importing ``setuptools.extern.some_module`` gives the same object as ``setuptools._vendor.some_module``. This makes Metadata picklable again.
* 1899: Test suite now fails on warnings.
* 2011: Fix broken link to distutils docs on package_data
* 1991: Include pkg_resources test data in sdist, so tests can be executed from it.

45.3.0

-------

* 1557: Deprecated eggsecutable scripts and updated docs.
* 1904: Update msvc.py to use CPython 3.8.0 mechanism to find msvc 14+
Links

Update bumpversion from 0.5.3 to 0.6.0.

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

Links

Update mypy from 0.761 to 0.782.

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

Links

Update pylint from 2.4.4 to 2.6.0.

Changelog

2.6.0

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

Release date: 2020-08-20

* Fix various scope-related bugs in ``undefined-variable`` checker

Close 1082, 3434, 3461

* bad-continuation and bad-whitespace have been removed, black or another formatter can help you with this better than Pylint

Close 246, 289, 638, 747, 1148, 1179, 1943, 2041, 2301, 2304, 2944, 3565

* The no-space-check option has been removed. It's no longer possible to consider empty line like a `trailing-whitespace` by using clever options

Close 1368

* ``missing-kwoa`` is no longer emitted when dealing with overload functions

Close 3655

* mixed-indentation has been removed, it is no longer useful since TabError is included directly in python3

Close 2984 3573

* Add `super-with-arguments` check for flagging instances of Python 2 style super calls.

* Add an faq detailing which messages to disable to avoid duplicates w/ other popular linters

* Fix superfluous-parens false-positive for the walrus operator

Close 3383

* Fix `fail-under` not accepting floats

* Fix a bug with `ignore-docstrings` ignoring all lines in a module

* Fix `pre-commit` config that could lead to undetected duplicate lines of code

* Fix a crash in parallel mode when the module's filepath is not set

Close 3564

* Add `raise-missing-from` check for exceptions that should have a cause.

* Support both isort 4 and isort 5. If you have pinned isort 4 in your projet requirements, nothing changes. If you use isort 5, though, note that the `known-standard-library` option is not interpreted the same in isort 4 and isort 5 (see the migration guide in isort documentation for further details). For compatibility's sake for most pylint users, the `known-standard-library` option in pylint now maps to `extra-standard-library` in isort 5. If you really want what `known-standard-library` now means in isort 5, you must disable the `wrong-import-order` check in pylint and run isort manually with a proper isort configuration file.

Close 3722

2.5.4

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

* Fix a crash caused by not guarding against `InferenceError` when calling `infer_call_result`

Close 3690

* Fix a crash in parallel mode when the module's filepath is not set

Close 3564

2.5.3

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

Release date: 2020-06-8

* Fix a regression where disable comments that have checker names with numbers in them are not parsed correctly

Close 3666

* `property-with-parameters` properly handles abstract properties

Close 3600

* `continue-in-finally` no longer emitted on Python 3.8 where it's now valid

Close 3612

* Fix a regression where messages with dash are not fully parsed

Close 3604

* In a TOML configuration file, it's now possible to use rich (non-string) types, such as list, integer or boolean instead of strings. For example, one can now define a *list* of message identifiers to enable like this::

 enable = [
     "use-symbolic-message-instead",
     "useless-suppression",
 ]

Close 3538

* Fix a regression where the score was not reported with multiple jobs

Close 3547

* Protect against `AttributeError` when checking `cell-var-from-loop`

Close 3646

2.5.2

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

Release date: 2020-05-05

* ``pylint.Run`` accepts ``do_exit`` as a deprecated parameter

Close 3590

2.5.1

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

Release date: 2020-05-05

* Fix a crash in `method-hidden` lookup for unknown base classes

Close 3527

* Revert pylint.Run's `exit` parameter to ``do_exit``

This has been inadvertently changed several releases ago to ``do_exit``.

Close 3533

* ``no-value-for-parameter`` variadic detection has improved for assign statements

Close 3563

* Allow package files to be properly discovered with multiple jobs

Close 3524

* Allow linting directories without `__init__.py` which was a regression in 2.5.

Close 3528

2.5.0

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

Release date: 2020-04-27

* Fix a false negative for ``undefined-variable`` when using class attribute in comprehension.

Close 3494

* Fix a false positive for ``undefined-variable`` when using class attribute in decorator or as type hint.

Close 511
Close 1976

* Remove HTML quoting of messages in JSON output.

Close 2769

* Adjust the `invalid-name` rule to work with non-ASCII identifiers and add the `non-ascii-name` rule.

Close 2725

* Positional-only arguments are taken in account for ``useless-super-delegation``

* ``unidiomatic-typecheck`` is no longer emitted for ``in`` and ``not in`` operators

Close 3337

* Positional-only argument annotations are taken in account for ``unused-import``

Close 3462

* Add a command to list available extensions.

* Allow used variables to be properly consumed when different checks are enabled / disabled

Close 3445

* Fix dangerous-default-value rule to account for keyword argument defaults

Close 3373

* Fix a false positive of ``self-assigning-variable`` on tuple unpacking.

Close 3433

* ``no-self-use`` is no longer emitted for typing stubs.

Close 3439

* Fix a false positive for ``undefined-variable`` when ``__class__`` is used

Close 3090

* Emit ``invalid-name`` for variables defined in loops at module level.

Close 2695

* Add a check for cases where the second argument to `isinstance` is not a type.

Close 3308

* Add 'notes-rgx' option, to be used for fixme check.

Close 2874

* ``function-redefined`` exempts function redefined on a condition.

Close 2410

* ``typing.overload`` functions are exempted from docstring checks

Close 3350

* Emit ``invalid-overridden-method`` for improper async def overrides.

Close 3355

* Do not allow ``python -m pylint ...`` to import user code

``python -m pylint ...`` adds the current working directory as the first element
of ``sys.path``. This opens up a potential security hole where ``pylint`` will import
user level code as long as that code resides in modules having the same name as stdlib
or pylint's own modules.

Close 3386

* Add `dummy-variables-rgx` option for `_redeclared-assigned-name` check.

Close 3341

* Fixed graph creation for relative paths

* Add a check for asserts on string literals.

Close 3284

* `not in` is considered iterating context for some of the Python 3 porting checkers.

* A new check `inconsistent-quotes` was added.

* Add a check for non string assignment to __name__ attribute.

Close 583

* `__pow__`, `__imatmul__`, `__trunc__`, `__floor__`, and `__ceil__` are recognized as special method names.

Close 3281

* Added errors for protocol functions when invalid return types are detected.
E0304 (invalid-bool-returned): __bool__ did not return a bool
E0305 (invalid-index-returned): __index__ did not return an integer
E0306 (invalid-repr-returned): __repr__ did not return a string
E0307 (invalid-str-returned): __str__ did not return a string
E0308 (invalid-bytes-returned): __bytes__ did not return a string
E0309 (invalid-hash-returned): __hash__ did not return an integer
E0310 (invalid-length-hint-returned): __length_hint__ did not return a non-negative integer
E0311 (invalid-format-returned): __format__ did not return a string
E0312 (invalid-getnewargs-returned): __getnewargs__ did not return a tuple
E0313 (invalid-getnewargs-ex-returned): __getnewargs_ex__ did not return a tuple of the form (tuple, dict)

Close 560

* ``missing-*-docstring`` can look for ``__doc__`` assignments.

Close 3301

* ``undefined-variable`` can now find undefined loop iterables

Close 498

* ``safe_infer`` can infer a value as long as all the paths share the same type.

Close 2503

* Add a --fail-under <score> flag, also configurable in a .pylintrc file. If the final score is more than the specified score, it's considered a success and pylint exits with exitcode 0. Otherwise, it's considered a failure and pylint exits with its current exitcode based on the messages issued.

Close 2242

* Don't emit ``line-too-long`` for multilines when `disable=line-too-long` comment stands at their end

Close 2957

* Fixed an ``AttributeError`` caused by improper handling of ``dataclasses`` inference in ``pyreverse``

Close 3256

* Do not exempt bare except from ``undefined-variable`` and similar checks

If a node was wrapped in a ``TryExcept``, ``pylint`` was taking a hint
from the except handler when deciding to emit or not a message.
We were treating bare except as a fully fledged ignore but only
the corresponding exceptions should be handled that way (e.g. ``NameError`` or ``ImportError``)

Close 3235

* No longer emit ``assignment-from-no-return`` when a function only raises an exception

Close 3218

* Allow import aliases to exempt ``import-error`` when used in type annotations.

Close 3178

* ``Ellipsis` is exempted from ``multiple-statements`` for function overloads.

Close 3224

* No longer emit ``invalid-name`` for non-constants found at module level.

Pylint was taking the following statement from PEP-8 too far, considering
all module level variables as constants, which is not what the statement is saying:

`Constants are usually defined on a module level and written in
all capital letters with underscores separating words.`

Close 3111
Close 3132

* Allow ``implicit-str-concat-in-sequence`` to be emitted for string juxtaposition

Close 3030

* ``implicit-str-concat-in-sequence`` was renamed ``implicit-str-concat``

* The ``json`` reporter no longer bypasses ``redirect_stdout``. Close 3227

* Move ``NoFileError``, ``OutputLine``, ``FunctionalTestReporter``,
``FunctionalTestFile``, ``LintModuleTest`` and related methods from
``test_functional.py`` to ``pylint.testutils`` to help testing for 3rd
party pylint plugins.

* Can read config from a setup.cfg or pyproject.toml file.

Close 617

* Fix exception-escape false positive with generators

Close 3128

* ``inspect.getargvalues`` is no longer marked as deprecated.

* A new check ``f-string-without-interpolation`` was added

Close 3190

* Flag mutable ``collections.*`` utilities as dangerous defaults

Close 3183

* ``docparams`` extension supports multiple types in raises sections.

Multiple types can also be separated by commas in all valid sections.

Closes 2729

* Allow parallel linting when run under Prospector

* Fixed false positives of ``method-hidden`` when a subclass defines the method that is being hidden.

Closes 414

* Python 3 porting mode is 30-50% faster on most codebases

* Python 3 porting mode no longer swallows syntax errors

Closes 2956

* Pass the actual PyLinter object to sub processes to allow using custom
PyLinter classes.

PyLinter object (and all its members except reporter) needs to support
pickling so the PyLinter object can be passed to worker processes.

* Clean up setup.py

Make pytest-runner a requirement only if running tests, similar to McCabe.

Clean up the setup.py file, resolving a number of warnings around it.

* Handle SyntaxError in files passed via ``--from-stdin`` option

Pylint no longer outputs a traceback, if a file, read from stdin,
contains a syntaxerror.

* Fix uppercase style to disallow 3+ uppercase followed by lowercase.

* Fixed ``undefined-variable`` and ``unused-import`` false positives
when using a metaclass via an attribute.

Close 1603

* Emit ``unused-argument`` for functions that partially uses their argument list before raising an exception.

Close 3246

* Fixed ``broad_try_clause`` extension to check try/finally statements and to
check for nested statements (e.g., inside of an ``if`` statement).

* Recognize classes explicitly inheriting from ``abc.ABC`` or having an
``abc.ABCMeta`` metaclass as abstract. This makes them not trigger W0223.

Closes 3098

* Fix overzealous `arguments-differ` when overridden function uses variadics

No message is emitted if the overriding function provides positional or
keyword variadics in its signature that can feasibly accept and pass on
all parameters given by the overridden function.

Close 1482
Close 1553

* Multiple types of string formatting are allowed in logging functions.

The `logging-fstring-interpolation` message has been brought back to allow
multiple types of string formatting to be used.

Close 3361
Links

Update safety from 1.8.5 to 1.9.0.

Changelog

1.9.0

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

* Dropped Python 2.7 support, requiring Python 3.5+
* Binary adjustments and enhancements on top of reported vulnerability
* Using tox to help with local tests against different Python versions

1.8.7

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

* Fixed a hidden import caused the binary to produce errors on Linux.

1.8.6

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

* Safety is now available as a binary release for macOS, Windows and Linux.
Links

Update isort from 4.3.21 to 5.5.1.

Changelog

5.5.1

- Fixed 1454: Ensure indented import sections with import heading and a preceding comment don't cause import sorting loops.
- Fixed 1453: isort error when float to top on almost empty file.
- Fixed 1456 and 1415: noqa comment moved to where flake8 cant see it.
- Fixed 1460: .svn missing from default ignore list.

5.5.0

- Fixed 1398: isort: off comment doesn't work, if it's the top comment in the file.
- Fixed 1395: reverse_relative setting doesn't have any effect when combined with force_sort_within_sections.
- Fixed 1399: --skip can error in the case of projects that contain recursive symlinks.
- Fixed 1389: ensure_newline_before_comments doesn't work if comment is at top of section and sections don't have lines between them.
- Fixed 1396: comments in imports with ";" can keep isort from recognizing import line.
- Fixed 1380: As imports removed when `combine_star` is set.
- Fixed 1382: --float-to-top has no effect if no import is already at the top.
- Fixed 1420: isort never settles on module docstring + add import.
- Fixed 1421: Error raised when repo contains circular symlinks.
- Fixed 1427: noqa comment is moved from star import to constant import.
- Fixed 1444 & 1445: Incorrect placement of import additions.
- Fixed 1447: isort5 throws error when stdin used on Windows with deprecated args.
- Implemented 1397: Added support for specifying config file when using git hook (thanks diseraluca!).
- Implemented 1405: Added support for coloring diff output.
- Implemented 1434: New multi-line grid mode without parentheses.

Goal Zero (Tickets related to aspirational goal of achieving 0 regressions for remaining 5.0.0 lifespan):
- Implemented 1392: Extensive profile testing.
- Implemented 1393: Proprety based testing applied to code snippets.
- Implemented 1391: Create automated integration test that includes full code base of largest OpenSource isort users.

Potentially breaking changes:
- Fixed 1429: --check doesn't print to stderr as the documentation says. This means if you were looking for `ERROR:` messages for files that contain incorrect imports within stdout you will now need to look in stderr.

5.4.2

- Fixed 1383: Known other does not work anymore with .editorconfig.
- Fixed: Regression in first known party path expansion.

5.4.1

- Fixed 1381: --combine-as loses  noqa in different circumstances.

5.4.0

- Implemented 1373: support for length sort only of direct (AKA straight) imports.
- Fixed 1321: --combine-as loses  noqa.
- Fixed 1375: --dont-order-by-type CLI broken.

5.3.2

- Fixed incorrect warning code (W503->W0503).

5.3.1

- Improve upgrade warnings to be less noisy and point to error codes for easy interoperability with Visual Studio Code (see: 1363).

5.3.0

- Implemented ability to treat all or select comments as code (issue 1357)
- Implemented ability to use different configs for different file extensions (issue 1162)
- Implemented ability to specify the types of imports (issue 1181)
- Implemented ability to dedup import headings (issue 953)
- Added experimental support for sorting literals (issue 1358)
- Added experimental support for sorting and deduping groupings of assignments.
- Improved handling of deprecated single line variables for usage with Visual Studio Code (issue 1363)
- Improved handling of mixed newline forms within same source file.
- Improved error handling for known sections.
- Improved API consistency, returning a boolean value for all modification API calls to indicate if changes were made.
- Fixed 1366: spurious errors when combining skip with --gitignore.
- Fixed 1359: --skip-gitignore does not honor ignored symlink

Internal Development:
- Initial hypothesmith powered test to help catch unexpected syntax parsing and output errors (thanks Zac-HD!)

5.2.2

- Fixed 1356: return status when arguments are passed in without files or a content stream.

5.2.1

- Update precommit to default to filtering files that are defined in skip.
- Improved relative path detection for `skip` config usage.
- Added recursive symbolic link protection.
- Implemented 1177: Support for color output using `--color`.
- Implemented recursive symlink detection support.

5.2.0

- Implemented 1335: Official API for diff capturing.
- Implemented 1331: Warn when sections don't match up.
- Implemented 1261: By popular demand, `filter_files` can now be set in the config option.
- Implemented 960: Support for respecting git ignore via "--gitignore" or "skip_gitignore=True".
- Implemented 727: Ability to only add imports if existing imports exist.
- Implemented 970: Support for custom sharable isort profiles.
- Implemented 1214: Added support for git_hook lazy option (Thanks sztamas!)
- Implemented 941: Added an additional `multi_line_output` mode for more compact formatting (Thanks sztamas!)
- Implemented 1020: Option for LOCALFOLDER.
- Implemented 1353: Added support for output formatting plugins.
- ` isort: split` can now be used at the end of an import line.
- Fixed 1339: Extra indent is not preserved when isort:skip is used in nested imports.
- Fixed 1348: `--diff` works incorrectly with files that have CRLF line endings.
- Improved code repositories usage of pylint tags (1350).

5.1.4

- Fixed issue 1333: Use of wrap_length raises an exception about it not being lower or equal to line_length.
- Fixed issue 1330: Ensure stdout can be stubbed dynamically for `show_unified_diff` function.

5.1.3

- Fixed issue 1329: Fix comments duplicated when --fass option is set.

5.1.2

- Fixed issue 1219 / 1326: Comments not wrapped for long lines
- Fixed issue 1156: Bug related to isort:skip usage followed by a multiline comment block

5.1.1

- Fixed issue 1322: Occasionally two extra newlines before comment with `-n` & `--fss`.
- Fixed issue 1189: `--diff` broken when reading from standard input.

5.1.0

- isort now throws an exception if an invalid settings path is given (issue 1174).
- Implemented support for automatic redundant alias removal (issue 1281).
- Implemented experimental support for floating all imports to the top of a file (issue 1228)
- Fixed 1178: support for semicolons in decorators.
- Fixed 1315: Extra newline before comment with -n + --fss.
- Fixed 1192: `-k` or `--keep-direct-and-as-imports` option has been deprecated as it is now always on.

**Formatting changes implied:**
- Fixed 1280: rewrite of as imports changes the behavior of the imports.

5.0.9

- Fixed 1301: Import headings in nested sections leads to check errors

5.0.8

- Fixed 1277 & 1278: New line detection issues on Windows.
- Fixed 1294: Fix bundled git hook.

5.0.7

- Fixed 1306: unexpected --diff behavior.
- Fixed 1279: Fixed NOQA comment regression.

5.0.6

- Fixed 1302: comments and --trailing-comma can generate invalid code.
- Fixed 1293: extra new line in indented imports, when immediately followed by a comment.
- Fixed 1304: isort 5 no longer recognises `sre_parse` as a stdlib module.
- Fixed 1300: add_imports moves comments following import section.
- Fixed 1276: Fix a bug that creates only one line after triple quotes.

5.0.5

- Fixed 1285: packaging issue with bundling tests via poetry.
- Fixed 1284: Regression when sorting `.pyi` files from CLI using black profile.
- Fixed 1275 & 1283: Blank line after docstring removed.
- Fixed 1298: CLI Help out of date with isort 5.
- Fixed 1290: Unecessary blank lines above nested imports when import comments turned on.
- Fixed 1297: Usage of `--add-imports` alongside `--check` is broken.
- Fixed 1289: Stream usage no longer auto picking up config file from current working directory.
- Fixed 1296: Force_single_line setting removes immediately following comment line.
- Fixed 1295: `ensure_newline_before_comments` doesnt work with `force_sort_within_sections`.
- Setting not_skip will no longer immediately fail but instead give user a warning and direct
 to upgrade docs.

5.0.4

- Fixed 1264: a regression with comment handling and `force_sort_within_sections` config option
- Added warning for deprecated CLI flags and linked to upgrade guide.

5.0.3

- Fixed setup.py command incorrectly passing check=True as a configuration parameter (see: https://github.com/pycqa/isort/issues/1258)
- Fixed missing patch version
- Fixed issue 1253: Atomic fails when passed in not readable output stream

5.0.2

- Ensured black profile was complete, adding missing line_length definition.

5.0.1

- Fixed a runtime error in a vendored dependency (toml).

5.0.0

**Breaking changes:**

- isort now requires Python 3.6+ to run but continues to support formatting on ALL versions of python including
 Python 2 code.
- isort deprecates official support for Python 3.4, removing modules only in this release from known_standard_library:
   - user
- Config files are no longer composed on-top of each-other. Instead the first config file found is used.
 - Since there is no longer composition negative form settings (such as --dont-skip or it's config file variant `not_skip`) are no longer required and have been removed.
- Two-letter shortened setting names (like `ac` for `atomic`) now require two dashes to avoid ambiguity: `--ac`.
- For consistency with other tools `-v` now is shorthand for verbose and `-V` is shorthand for version. See Issue: 1067.
- `length_sort_{section_name}` config usage has been deprecated. Instead `length_sort_sections` list can be used to specify a list of sections that need to be length sorted.
- `safety_excludes` and `unsafe` have been deprecated
- Config now includes as default full set of safety directories defined by safety excludes.
- `--recursive` option has been removed. Directories passed in are now automatically sorted recursive.
- `--apply` option has been removed as it is the default behaviour.
- isort now does nothing, beyond giving instructions and exiting status code 0, when ran with no arguments.
 - a new `--interactive` flag has been added to enable the old style behaviour.
- isort now works on contiguous sections of imports, instead of one whole file at a time.
- ~~isort now formats all nested "as" imports in the "from" form. `import x.y as a` becomes `from x import y as a`.~~ NOTE: This was undone in version 5.1.0 due to feedback it caused issues with some project conventions.
- `keep_direct_and_as_imports` option now defaults to `True`.
- `appdirs` is no longer supported. Unless manually specified, config should be project config only.
- `toml` is now installed as a vendorized module, meaning pyproject.toml based config is always supported.
- Completely new Python API, old version is removed and no longer accessible.
- New module placement logic and module fully replaces old finders. Old approach is still available via `--old-finders`.

Internal:

- isort now utilizes mypy and typing to filter out typing related issues before deployment.
- isort now utilizes black internally to ensure more consistent formatting.

- profile support for common project types (black, django, google, etc)

- Much much more. There is some difficulty in fully capturing the extent of changes in this release - just because of how all encompassing the release is. See: [Github Issues](https://github.com/pycqa/isort/issues?q=is%3Aissue+is%3Aclosed) for more.
Links

Update coverage from 5.0.3 to 5.2.1.

Changelog

5.2.1

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

- The dark mode HTML report still used light colors for the context listing,
making them unreadable (`issue 1009`_).  This is now fixed.

- The time stamp on the HTML report now includes the time zone. Thanks, Xie
Yanbo (`pull request 960`_).

.. _pull request 960: https://github.com/nedbat/coveragepy/pull/960
.. _issue 1009: https://github.com/nedbat/coveragepy/issues/1009


.. _changes_52:

5.2

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

- The HTML report has been redesigned by Vince Salvino.  There is now a dark
mode, the code text is larger, and system sans serif fonts are used, in
addition to other small changes (`issue 858`_ and `pull request 931`_).

- The ``coverage report`` and ``coverage html`` commands now accept a
``--precision`` option to control the number of decimal points displayed.
Thanks, Teake Nutma (`pull request 982`_).

- The ``coverage report`` and ``coverage html`` commands now accept a
``--no-skip-covered`` option to negate ``--skip-covered``.  Thanks, Anthony
Sottile (`issue 779`_ and `pull request 932`_).

- The ``--skip-empty`` option is now available for the XML report, closing
`issue 976`_.

- The ``coverage report`` command now accepts a ``--sort`` option to specify
how to sort the results.  Thanks, Jerin Peter George (`pull request 1005`_).

- If coverage fails due to the coverage total not reaching the ``--fail-under``
value, it will now print a message making the condition clear.  Thanks,
Naveen Yadav (`pull request 977`_).

- TOML configuration files with non-ASCII characters would cause errors on
Windows (`issue 990`_).  This is now fixed.

- The output of ``--debug=trace`` now includes information about how the
``--source`` option is being interpreted, and the module names being
considered.

.. _pull request 931: https://github.com/nedbat/coveragepy/pull/931
.. _pull request 932: https://github.com/nedbat/coveragepy/pull/932
.. _pull request 977: https://github.com/nedbat/coveragepy/pull/977
.. _pull request 982: https://github.com/nedbat/coveragepy/pull/982
.. _pull request 1005: https://github.com/nedbat/coveragepy/pull/1005
.. _issue 779: https://github.com/nedbat/coveragepy/issues/779
.. _issue 858: https://github.com/nedbat/coveragepy/issues/858
.. _issue 976: https://github.com/nedbat/coveragepy/issues/976
.. _issue 990: https://github.com/nedbat/coveragepy/issues/990


.. _changes_51:

5.1

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

- The JSON report now includes counts of covered and missing branches. Thanks,
Salvatore Zagaria.

- On Python 3.8, try-finally-return reported wrong branch coverage with
decorated async functions (`issue 964`_).  This is now fixed. Thanks, Kjell
Braden.

- The :meth:`~coverage.Coverage.get_option` and
:meth:`~coverage.Coverage.set_option` methods can now manipulate the
``[paths]`` configuration setting.  Thanks to Bernát Gábor for the fix for
`issue 967`_.

.. _issue 964: https://github.com/nedbat/coveragepy/issues/964
.. _issue 967: https://github.com/nedbat/coveragepy/issues/967


.. _changes_504:

5.0.4

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

- If using the ``[run] relative_files`` setting, the XML report will use
relative files in the ``<source>`` elements indicating the location of source
code.  Closes `issue 948`_.

- The textual summary report could report missing lines with negative line
numbers on PyPy3 7.1 (`issue 943`_).  This is now fixed.

- Windows wheels for Python 3.8 were incorrectly built, but are now fixed.
(`issue 949`_)

- Updated Python 3.9 support to 3.9a4.

- HTML reports couldn't be sorted if localStorage wasn't available. This is now
fixed: sorting works even though the sorting setting isn't retained. (`issue
944`_ and `pull request 945`_). Thanks, Abdeali Kothari.

.. _issue 943: https://github.com/nedbat/coveragepy/issues/943
.. _issue 944: https://github.com/nedbat/coveragepy/issues/944
.. _pull request 945: https://github.com/nedbat/coveragepy/pull/945
.. _issue 948: https://github.com/nedbat/coveragepy/issues/948
.. _issue 949: https://github.com/nedbat/coveragepy/issues/949


.. _changes_503:
Links

Update pytest from 5.3.5 to 6.0.1.

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

Links

Update pytest-cov from 2.8.1 to 2.10.1.

Changelog

2.10.1

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

* Support for ``pytest-xdist`` 2.0, which breaks compatibility with ``pytest-xdist`` before 1.22.3 (from 2017).
Contributed by Zac Hatfield-Dodds in `412 <https://github.com/pytest-dev/pytest-cov/pull/412>`_.
* Fixed the ``LocalPath has no attribute startswith`` failure that occurred when using the ``pytester`` plugin
in inline mode.

2.10.0

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

* Improved the ``--no-cov`` warning. Now it's only shown if ``--no-cov`` is present before ``--cov``.
* Removed legacy pytest support. Changed ``setup.py`` so that ``pytest>=4.6`` is required.

2.9.0

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

* Fixed ``RemovedInPytest4Warning`` when using Pytest 3.10.
Contributed by Michael Manganiello in `354 <https://github.com/pytest-dev/pytest-cov/pull/354>`_.
* Made pytest startup faster when plugin not active by lazy-importing.
Contributed by Anders Hovmöller in `339 <https://github.com/pytest-dev/pytest-cov/pull/339>`_.
* Various CI improvements.
Contributed by Daniel Hahler in `363 <https://github.com/pytest-dev/pytest-cov/pull/>`_ and
`364 <https://github.com/pytest-dev/pytest-cov/pull/364>`_.
* Various Python support updates (drop EOL 3.4, test against 3.8 final).
Contributed by Hugo van Kemenade in
`336 <https://github.com/pytest-dev/pytest-cov/pull/336>`_ and
`367 <https://github.com/pytest-dev/pytest-cov/pull/367>`_.
* Changed ``--cov-append`` to always enable ``data_suffix`` (a coverage setting).
Contributed by Harm Geerts in
`387 <https://github.com/pytest-dev/pytest-cov/pull/387>`_.
* Changed ``--cov-append`` to handle loading previous data better
(fixes various path aliasing issues).
* Various other testing improvements, github issue templates, example updates.
* Fixed internal failures that are caused by tests that change the current working directory by
ensuring a consistent working directory when coverage is called.
See `306 <https://github.com/pytest-dev/pytest-cov/issues/306>`_ and
`coveragepy881 <https://github.com/nedbat/coveragepy/issues/881>`_
Links

Update pytest-mock from 2.0.0 to 3.3.1.

Changelog

3.3.1

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

* Introduce ``MockFixture`` as an alias to ``MockerFixture``.

Before ``3.3.0``, the fixture class was named ``MockFixture``, but was renamed to ``MockerFixture`` to better
match the ``mocker`` fixture. While not officially part of the API, it was later discovered that this broke
the code of some users which already imported ``pytest_mock.MockFixture`` for type annotations, so we
decided to reintroduce the name as an alias.

Note however that this is just a stop gap measure, and new code should use ``MockerFixture`` for type annotations.

3.3.0

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

* ``pytest-mock`` now includes inline type annotations and exposes them to user programs. The ``mocker`` fixture returns ``pytest_mock.MockerFixture``, which can be used to annotate your tests:

.. code-block:: python

     from pytest_mock import MockerFixture

     def test_foo(mocker: MockerFixture) -> None:
         ...

The type annotations were developed against mypy version ``0.782``, the
minimum version supported at the moment. If you run into an error that you believe to be incorrect, please open an issue.

Many thanks to `staticdev`_ for providing the initial patch (`199`_).

.. _staticdev: https://github.com/staticdev
.. _199: https://github.com/pytest-dev/pytest-mock/pull/199

3.2.0

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

* `AsyncMock <https://docs.python.org/3/library/unittest.mock.htmlunittest.mock.AsyncMock>`__ is now exposed in ``mocker`` and supports provides assertion introspection similar to ``Mock`` objects.

Added by `tirkarthi`_ in `197`_.

.. _tirkarthi: https://github.com/tirkarthi
.. _197: https://github.com/pytest-dev/pytest-mock/pull/197

3.1.1

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

* Fixed performance regression caused by the ``ValueError`` raised
when ``mocker`` is used as context manager (`191`_).

.. _191: https://github.com/pytest-dev/pytest-mock/issues/191

3.1.0

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

* New mocker fixtures added that allow using mocking functionality in other scopes:

* ``class_mocker``
* ``module_mocker``
* ``package_mocker``
* ``session_mocker``

Added by `scorphus`_ in `182`_.

.. _scorphus: https://github.com/scorphus
.. _182: https://github.com/pytest-dev/pytest-mock/pull/182

3.0.0

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

* Python 2.7 and 3.4 are no longer supported. Users using ``pip 9`` or later will install
a compatible version automatically.

* ``mocker.spy`` now also works with ``async def`` functions (`179`_). Thanks `frankie567`_ for the PR!

.. _179: https://github.com/pytest-dev/pytest-mock/issues/179
.. _frankie567: https://github.com/frankie567
Links

Update tox from 3.14.3 to 3.20.0.

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

Links
PyPI
Easily download, build, install, upgrade, and uninstall Python packages
GitHub
Official project repository for the Setuptools build system - pypa/setuptools
PyPI
Version-bump your software with a single command!
GitHub
Version-bump your software with a single command. Contribute to peritus/bumpversion development by creating an account on GitHub.
PyPI
Optional static typing for Python
Mypy is an optional static type checker for Python.
PyPI
python code static checker
GitHub
It's not just a linter that annoys you! Contribute to PyCQA/pylint development by creating an account on GitHub.
PyPI
Checks installed dependencies for known vulnerabilities.
GitHub
Safety checks your installed dependencies for known security vulnerabilities - pyupio/safety
PyPI
A Python utility / library to sort Python imports.
PyPI
Code coverage measurement for Python
GitHub
Code coverage measurement for Python. Contribute to nedbat/coveragepy development by creating an account on GitHub.
PyPI
pytest: simple powerful testing with Python
PyPI
Pytest plugin for measuring coverage.
GitHub
Coverage plugin for pytest. Contribute to pytest-dev/pytest-cov development by creating an account on GitHub.
PyPI
Thin-wrapper around the mock package for easier use with pytest
GitHub
Thin-wrapper around the mock package for easier use with pytest - pytest-dev/pytest-mock
PyPI
tox is a generic virtualenv management and test command line tool

@ahawker ahawker merged commit 51e1bf4 into master Sep 7, 2020
@personal-probot personal-probot bot deleted the pyup/scheduled-update-2020-09-07 branch September 7, 2020 19:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants