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

Initial Update #4

Merged
merged 19 commits into from
Apr 9, 2017
Merged

Initial Update #4

merged 19 commits into from
Apr 9, 2017

Conversation

pyup-bot
Copy link
Collaborator

This is my first visit to this fine repo so I have bundled all updates in a single pull request to make things easier for you to merge.

Close this pull request and delete the branch if you want me to start with single pull requests right away

Here's the executive summary:

Updates

Here's a list of all the updates bundled in this pull request. I've added some links to make it easier for you to find all the information you need.

click 6.6 » 6.7 PyPI | Changelog | Repo
Flask 0.11.1 » 0.12 PyPI | Changelog | Repo
gunicorn 19.6.0 » 19.7.0 PyPI | Homepage
Jinja2 2.8 » 2.9.5 PyPI | Changelog | Homepage
MarkupSafe 0.23 » 1.0 PyPI | Changelog | Repo
requests 2.10.0 » 2.13.0 PyPI | Changelog | Homepage
Werkzeug 0.11.10 » 0.12.1 PyPI | Changelog | Homepage
autopep8 1.2.4 » 1.3.1 PyPI | Repo
docker-compose 1.9.0 » 1.11.2 PyPI | Changelog | Homepage
elpy 1.12.0 » 1.14.1 PyPI | Changelog | Repo
flake8 3.0.4 » 3.3.0 PyPI | Repo
ipdb 0.10.1 » 0.10.2 PyPI | Changelog | Repo
ipython 5.0.0 » 5.3.0 PyPI | Homepage
ipython-genutils 0.1.0 » 0.2.0 PyPI | Homepage
jedi 0.9.0 » 0.10.0 PyPI | Changelog | Repo
pre-commit 0.9.0 » 0.13.3 PyPI | Changelog | Repo
pylint 1.4.4 » 1.6.5 PyPI | Changelog | Repo
yapf 0.11.1 » 0.16.0 PyPI | Homepage
tox 2.1.1 » 2.6.0 PyPI | Changelog | Docs

Changelogs

click 6.6 -> 6.7

6.7


(bugfix release; released on January 6th 2017)

  • Make click.progressbar work with codecs.open files. See 637.
  • Fix bug in bash completion with nested subcommands. See 639.
  • Fix test runner not saving caller env correctly. See 644.
  • Fix handling of SIGPIPE. See 626
  • Deal with broken Windows environments such as Google App Engine's. See 711.

Flask 0.11.1 -> 0.12

0.12


Released on December 21st 2016, codename Punsch.

  • the cli command now responds to --version.
  • Mimetype guessing and ETag generation for file-like objects in send_file
    has been removed, as per issue 104. See pull request 1849.
  • Mimetype guessing in send_file now fails loudly and doesn't fall back to
    application/octet-stream. See pull request 1988.
  • Make flask.safe_join able to join multiple paths like os.path.join
    (pull request 1730).
  • Revert a behavior change that made the dev server crash instead of returning
    a Internal Server Error (pull request 2006).
  • Correctly invoke response handlers for both regular request dispatching as
    well as error handlers.
  • Disable logger propagation by default for the app logger.
  • Add support for range requests in send_file.
  • app.test_client includes preset default environment, which can now be
    directly set, instead of per client.get.

0.11.2


Bugfix release, unreleased

  • Fix crash when running under PyPy3, see pull request 1814.

Jinja2 2.8 -> 2.9.5

2.9.5


(bugfix release, released on January 28th 2017)

  • Restored the original repr of the internal _GroupTuple because this
    caused issues with ansible and it was an unintended change. (654)
  • Added back support for custom contexts that override the old resolve
    method since it was hard for people to spot that this could cause a
    regression.
  • Correctly use the buffer for the else block of for loops. This caused
    invalid syntax errors to be caused on 2.x and completely wrong behavior
    on Python 3 (669)
  • Resolve an issue where the {% extends %} tag could not be used with
    async environments. (668)
  • Reduce memory footprint slightly by reducing our unicode database dump
    we use for identifier matching on Python 3 (666)
  • Fixed autoescaping not working for macros in async compilation mode. (671)

2.9.4


(bugfix release, released on January 10th 2017)

  • Solved some warnings for string literals. (646)
  • Increment the bytecode cache version which was not done due to an
    oversight before.
  • Corrected bad code generation and scoping for filtered loops. (649)
  • Resolved an issue where top-level output silencing after known extend
    blocks could generate invalid code when blocks where contained in if
    statements. (651)
  • Made the truncate.leeway default configurable to improve compatibility
    with older templates.

2.9.3


(bugfix release, released on January 8th 2017)

  • Restored the use of blocks in macros to the extend that was possible
    before. On Python 3 it would render a generator repr instead of
    the block contents. (645)
  • Set a consistent behavior for assigning of variables in inner scopes
    when the variable is also read from an outer scope. This now sets the
    intended behavior in all situations however it does not restore the
    old behavior where limited assignments to outer scopes was possible.
    For more information and a discussion see 641
  • Resolved an issue where block scoped would not take advantage of the
    new scoping rules. In some more exotic cases a variable overriden in a
    local scope would not make it into a block.
  • Change the code generation of the with statement to be in line with the
    new scoping rules. This resolves some unlikely bugs in edge cases. This
    also introduces a new internal With node that can be used by extensions.

2.9.2


(bugfix release, released on January 8th 2017)

  • Fixed a regression that caused for loops to not be able to use the same
    variable for the target as well as source iterator. (640)
  • Add support for a previously unknown behavior of macros. It used to be
    possible in some circumstances to explicitly provide a caller argument
    to macros. While badly buggy and unintended it turns out that this is a
    common case that gets copy pasted around. To not completely break backwards
    compatibility with the most common cases it's now possible to provide an
    explicit keyword argument for caller if it's given an explicit default.
    (642)

2.9.1


(bugfix release, released on January 7th 2017)

  • Resolved a regression with call block scoping for macros. Nested caller
    blocks that used the same identifiers as outer macros could refer to the
    wrong variable incorrectly.

2.9


(codename Derivation, released on January 7th 2017)

  • Change cache key definition in environment. This fixes a performance
    regression introduced in 2.8.
  • Added support for generator_stop on supported Python versions
    (Python 3.5 and later)
  • Corrected a long standing issue with operator precedence of math operations
    not being what was expected.
  • Added support for Python 3.6 async iterators through a new async mode.
  • Added policies for filter defaults and similar things.
  • urlize now sets "rel noopener" by default.
  • Support attribute fallback for old-style classes in 2.x.
  • Support toplevel set statements in extend situations.
  • Restored behavior of Cycler for Python 3 users.
  • Subtraction now follows the same behavior as other operators on undefined
    values.
  • map and friends will now give better error messages if you forgot to
    quote the parameter.
  • Depend on MarkupSafe 0.23 or higher.
  • Improved the truncate filter to support better truncation in case
    the string is barely truncated at all.
  • Change the logic for macro autoescaping to be based on the runtime
    autoescaping information at call time instead of macro define time.
  • Ported a modified version of the tojson filter from Flask to Jinja2
    and hooked it up with the new policy framework.
  • Block sets are now marked safe by default.
  • On Python 2 the asciification of ASCII strings can now be disabled with
    the compiler.ascii_str policy.
  • Tests now no longer accept an arbitrary expression as first argument but
    a restricted one. This means that you can now properly use multiple
    tests in one expression without extra parentheses. In particular you can
    now write foo is divisibleby 2 or foo is divisibleby 3
    as you would expect.
  • Greatly changed the scoping system to be more consistent with what template
    designers and developers expect. There is now no more magic difference
    between the different include and import constructs. Context is now always
    propagated the same way. The only remaining differences is the defaults
    for with context and without context.
  • The with and autoescape tags are now built-in.
  • Added the new select_autoescape function which helps configuring better
    autoescaping easier.

2.8.2


(bugfix release, unreleased)

  • Fixed a runtime error in the sandbox when attributes of async generators
    were accessed.

2.8.1


(bugfix release, released on December 29th 2016)

  • Fixed the for_qs flag for urlencode.
  • Fixed regression when applying int to non-string values.
  • SECURITY: if the sandbox mode is used format expressions are now sandboxed
    with the same rules as in Jinja. This solves various information leakage
    problems that can occur with format strings.

MarkupSafe 0.23 -> 1.0

1.0


  • Fixed custom types not invoking __unicode__ when used
    with format().
  • Added __version__ module attribute
  • Improve unescape code to leave lone ampersands alone.

requests 2.10.0 -> 2.13.0

2.13.0

+++++++++++++++++++

Features

  • Only load the idna library when we've determined we need it. This will
    save some memory for users.

Miscellaneous

  • Updated bundled urllib3 to 1.20.
  • Updated bundled idna to 2.2.

2.12.5

+++++++++++++++++++

Bugfixes

  • Fixed an issue with JSON encoding detection, specifically detecting
    big-endian UTF-32 with BOM.

2.12.4

+++++++++++++++++++

Bugfixes

  • Fixed regression from 2.12.2 where non-string types were rejected in the
    basic auth parameters. While support for this behaviour has been readded,
    the behaviour is deprecated and will be removed in the future.

2.12.3

+++++++++++++++++++

Bugfixes

  • Fixed regression from v2.12.1 for URLs with schemes that begin with "http".
    These URLs have historically been processed as though they were HTTP-schemed
    URLs, and so have had parameters added. This was removed in v2.12.2 in an
    overzealous attempt to resolve problems with IDNA-encoding those URLs. This
    change was reverted: the other fixes for IDNA-encoding have been judged to
    be sufficient to return to the behaviour Requests had before v2.12.0.

2.12.2

+++++++++++++++++++

Bugfixes

  • Fixed several issues with IDNA-encoding URLs that are technically invalid but
    which are widely accepted. Requests will now attempt to IDNA-encode a URL if
    it can but, if it fails, and the host contains only ASCII characters, it will
    be passed through optimistically. This will allow users to opt-in to using
    IDNA2003 themselves if they want to, and will also allow technically invalid
    but still common hostnames.
  • Fixed an issue where URLs with leading whitespace would raise
    InvalidSchema errors.
  • Fixed an issue where some URLs without the HTTP or HTTPS schemes would still
    have HTTP URL preparation applied to them.
  • Fixed an issue where Unicode strings could not be used in basic auth.
  • Fixed an issue encountered by some Requests plugins where constructing a
    Response object would cause Response.content to raise an
    AttributeError.

2.12.1

+++++++++++++++++++

Bugfixes

  • Updated setuptools 'security' extra for the new PyOpenSSL backend in urllib3.

Miscellaneous

  • Updated bundled urllib3 to 1.19.1.

2.12.0

+++++++++++++++++++

Improvements

  • Updated support for internationalized domain names from IDNA2003 to IDNA2008.
    This updated support is required for several forms of IDNs and is mandatory
    for .de domains.
  • Much improved heuristics for guessing content lengths: Requests will no
    longer read an entire StringIO into memory.
  • Much improved logic for recalculating Content-Length headers for
    PreparedRequest objects.
  • Improved tolerance for file-like objects that have no tell method but
    do have a seek method.
  • Anything that is a subclass of Mapping is now treated like a dictionary
    by the data= keyword argument.
  • Requests now tolerates empty passwords in proxy credentials, rather than
    stripping the credentials.
  • If a request is made with a file-like object as the body and that request is
    redirected with a 307 or 308 status code, Requests will now attempt to
    rewind the body object so it can be replayed.

Bugfixes

  • When calling response.close, the call to close will be propagated
    through to non-urllib3 backends.
  • Fixed issue where the ALL_PROXY environment variable would be preferred
    over scheme-specific variables like HTTP_PROXY.
  • Fixed issue where non-UTF8 reason phrases got severely mangled by falling
    back to decoding using ISO 8859-1 instead.
  • Fixed a bug where Requests would not correctly correlate cookies set when
    using custom Host headers if those Host headers did not use the native
    string type for the platform.

Miscellaneous

  • Updated bundled urllib3 to 1.19.
  • Updated bundled certifi certs to 2016.09.26.

2.11.1

+++++++++++++++++++

Bugfixes

  • Fixed a bug when using iter_content with decode_unicode=True for
    streamed bodies would raise AttributeError. This bug was introduced in
    2.11.
  • Strip Content-Type and Transfer-Encoding headers from the header block when
    following a redirect that transforms the verb from POST/PUT to GET.

2.11.0

+++++++++++++++++++

Improvements

  • Added support for the ALL_PROXY environment variable.
  • Reject header values that contain leading whitespace or newline characters to
    reduce risk of header smuggling.

Bugfixes

  • Fixed occasional TypeError when attempting to decode a JSON response that
    occurred in an error case. Now correctly returns a ValueError.
  • Requests would incorrectly ignore a non-CIDR IP address in the NO_PROXY
    environment variables: Requests now treats it as a specific IP.
  • Fixed a bug when sending JSON data that could cause us to encounter obscure
    OpenSSL errors in certain network conditions (yes, really).
  • Added type checks to ensure that iter_content only accepts integers and
    None for chunk sizes.
  • Fixed issue where responses whose body had not been fully consumed would have
    the underlying connection closed but not returned to the connection pool,
    which could cause Requests to hang in situations where the HTTPAdapter
    had been configured to use a blocking connection pool.

Miscellaneous

  • Updated bundled urllib3 to 1.16.
  • Some previous releases accidentally accepted non-strings as acceptable header values. This release does not.

Werkzeug 0.11.10 -> 0.12.1

0.12.1


Released on March 15th 2017

  • Fix crash of reloader (used on debug mode) on Windows.
    (OSError: [WinError 10038]). See pull request 1081
  • Partially revert change to class hierarchy of Headers. See 1084.

0.12


Released on March 10th 2017

  • Spit out big deprecation warnings for werkzeug.script
  • Use inspect.getfullargspec internally when available as
    inspect.getargspec is gone in 3.6
  • Added support for status code 451 and 423
  • Improved the build error suggestions. In particular only if
    someone stringifies the error will the suggestions be calculated.
  • Added support for uWSGI's caching backend.
  • Fix a bug where iterating over a FileStorage would result in an infinite
    loop.
  • Datastructures now inherit from the relevant baseclasses from the
    collections module in the stdlib. See 794.
  • Add support for recognizing NetBSD, OpenBSD, FreeBSD, DragonFlyBSD platforms
    in the user agent string.
  • Recognize SeaMonkey browser name and version correctly
  • Recognize Baiduspider, and bingbot user agents
  • If LocalProxy's wrapped object is a function, refer to it with wrapped
    attribute.
  • The defaults of generate_password_hash have been changed to more secure
    ones, see pull request 753.
  • Add support for encoding in options header parsing, see pull request
    933.
  • test.Client now properly handles Location headers with relative URLs, see
    pull request 879.
  • When HTTPException is raised, it now prints the description, for easier
    debugging.
  • Werkzeug's dict-like datastructures now have view-methods under Python 2,
    see pull request 968.
  • Fix a bug in MultiPartParser when no stream_factory was provided
    during initialization, see pull request 973.
  • Disable autocorrect and spellchecker in the debugger middleware's Python
    prompt, see pull request 994.
  • Don't redirect to slash route when method doesn't match, see pull request
    907.
  • Fix a bug when using SharedDataMiddleware with frozen packages, see pull
    request 959.
  • Range header parsing function fixed for invalid values 974.
  • Add support for byte Range Requests, see pull request 978.
  • Use modern cryptographic defaults in the dev servers 1004.
  • the post() method of the test client now accept file object through the data
    parameter.
  • Color run_simple's terminal output based on HTTP codes 1013.
  • Fix self-XSS in debugger console, see 1031.
  • Fix IPython 5.x shell support, see 1033.

0.11.16


  • werkzeug.serving: set CONTENT_TYPE / CONTENT_LENGTH if only they're provided by the client
  • werkzeug.serving: Fix crash of reloader when using python -m werkzeug.serving.

0.11.15


Released on December 30th 2016.

  • Bugfix for the bugfix in the previous release.

0.11.14


Released on December 30th 2016.

  • Check if platform can fork before importing ForkingMixIn, raise exception
    when creating ForkingWSGIServer on such a platform, see PR 999.

0.11.13


Released on December 26th 2016.

  • Correct fix for the reloader issuer on certain Windows installations.

0.11.12


Released on December 26th 2016.

  • Fix more bugs in multidicts regarding empty lists. See 1000.
  • Add some docstrings to some EnvironBuilder properties that were previously
    unintentionally missing.
  • Added a workaround for the reloader on windows.

0.11.11


Released on August 31st 2016.

  • Fix JSONRequestMixin for Python3. See 731
  • Fix broken string handling in test client when passing integers. See 852
  • Fix a bug in parse_options_header where an invalid content type
    starting with comma or semi-colon would result in an invalid return value,
    see issue 995.
  • Fix a bug in multidicts when passing empty lists as values, see issue
    979.
  • Fix a security issue that allows XSS on the Werkzeug debugger. See 1001.

docker-compose 1.9.0 -> 1.11.2

1.11.0


New Features

1.10.1


Bugfixes

  • Fixed an issue where presence of older versions of the docker-py
    package would cause unexpected crashes while running Compose
  • Fixed an issue where healthcheck dependencies would be lost when
    using multiple compose files for a project
  • Fixed a few issues that made the output of the config command
    invalid
  • Fixed an issue where adding volume labels to v3 Compose files would
    result in an error
  • Fixed an issue on Windows where build context paths containing unicode
    characters were being improperly encoded
  • Fixed a bug where Compose would occasionally crash while streaming logs
    when containers would stop or restart

1.10.0


New Features

elpy 1.12.0 -> 1.14.1

1.14.0

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

  • Basic Django support. Try C-c C-x c and C-c C-x r! Thanks to
    Daniel Gopar for this.
  • You can now use manage.py to run Django tests, instead of always
    using django-admin.py.
  • When called with a prefix argument elpy-importmagic-add-import
    will now ask for an alias name to import as.

1.13.0

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

  • Fewer surprises with syntax checks, C-c C-z, reformatting
  • Improved behavior for reformatting.
  • Improved documentation for IPython. IPython 5 broke a lot of things with Emacs. Use it at your own risk.

ipdb 0.10.1 -> 0.10.2

0.10.2


jedi 0.9.0 -> 0.10.0

0.10.0

+++++++++++++++++

  • Actual semantic completions for the complete Python syntax.
  • Basic type inference for yield from PEP 380.
  • PEP 484 support (most of the important features of it). Thanks Claude! (reinhrst)
  • Added get_line_code to Definition and Completion objects.
  • Completely rewritten the type inference engine.
  • A new and better parser for parsing parts of Python code.

pre-commit 0.9.0 -> 0.13.3

0.13.3

======

  • Add --allow-missing-config to install: allows git commit without a
    configuration.

0.13.2

======

  • Version the local hooks repo
  • Allow minimum_pre_commit_version for local hooks

0.13.1

======

  • Fix dummy gem for ruby local hooks

0.13.0

======

  • Autoupdate now works even when the current state is broken.
  • Improve pre-push fileset on new branches
  • Allow "language local" hooks, hooks which install dependencies using
    additional_dependencies and language are now allowed in repo: local.

0.12.2

======

  • Fix docker hooks on older (<1.12) docker

0.12.1

======

  • golang hooks now support additional_dependencies
  • Added a --tags-only option to pre-commit autoupdate

0.12.0

======

  • The new default file for implementing hooks in remote repositories is now
    .pre-commit-hooks.yaml to encourage repositories to add the metadata. As
    such, the previous hooks.yaml is now deprecated and generates a warning.
  • Fix bug with local configuration interfering with ruby hooks
  • Added support for hooks written in golang.

0.11.0

======

  • SwiftPM support.

0.10.1

======

  • shlex entry of docker based hooks.
  • Make shlex behaviour of entry more consistent.

0.10.0

======

  • Add an install-hooks command similar to install --install-hooks but
    without the install side-effects.
  • Adds support for docker based hooks.

0.9.4

=====

  • Warn when cygwin / python mismatch
  • Add --config for customizing configuration during run
  • Update rbenv + plugins to latest versions
  • pcre hooks now fail when grep / ggrep are not present

0.9.3

=====

  • Fix python hook installation when a strange setup.cfg exists

0.9.2

=====

  • Remove some python2.6 compatibility
  • UI is no longer sized to terminal width, instead 80 characters or longest
    necessary width.
  • Fix inability to create python hook environments when using venv / pyvenv on
    osx

0.9.1

=====

  • Remove some python2.6 compatibility
  • Fix staged-files-only with external diff tools

pylint 1.4.4 -> 1.6.5

1.6.3

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

Release date: 2016-07-18

  • Do not crash when inferring uninferable exception types for docparams extension
 Close 998

1.6.2

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

Release date: TBA

  • Do not crash when printing the help of options with default regular expressions
 Close 990
  • More granular versions for deprecated modules.
 Close 991

1.6.1

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

Release date: 2016-07-07

  • Use environment markers for supporting conditional dependencies.

1.6.0

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

Release date: 2016-07-03

  • Added a new extension, pylint.extensions.mccabe, for warning
    about complexity in code.
  • Deprecate support for --optimize-ast. Part of 975.
  • Deprecate support for the HTML output. Part of 975.
  • Deprecate support for --output-files. Part of 975.
  • Fixed a documentation error for the check_docs extension. Fixes 735.
  • Made the list of property-defining decorators configurable.
  • Fix a bug where the top name of a qualified import was detected as unused variable.
 Close 923.
  • bad-builtin is now an extension check.
  • generated-members support qualified name through regular expressions.
 For instance, one can specify a regular expression as --generated-members=astroid.node_classes.*
 for ignoring every no-member error that is accessed as in `astroid.node_classes.missing.object`.
  • Add the ability to ignore files based on regex matching, with the new --ignore-patterns
    option.
 This addresses issue 156 by allowing for multiple ignore patterns
 to be specified. Rather than clobber the existing ignore option, we
 introduced a new one called ignore-patterns.
  • Added a new error, 'trailing-newlines', which is emitted when a file
    has trailing new lines.
 Closes issue 682.
  • Add a new option, 'redefining-builtins-modules', for controlling the modules
    which can redefine builtins, such as six.moves and future.builtins.
 Close 464.
  • 'reimported' is emitted when the same name is imported from different module.
 Close 162.
  • Add a new recommendation checker, 'consider-iterating-dictionary', which is emitted
    which is emitted when a dictionary is iterated through .keys().
 Close 699
  • Use the configparser backport for Python 2
 This fixes a problem we were having with comments inside values, which is fixed
 in Python 3&#39;s configparser.
 Close 828
  • A new error was added, 'invalid-length-returned', when the __len__
    special method returned something else than a non-negative number.
 Close issue 557
  • Switch to using isort internally for wrong-import-order.
 Closes 879.
  • check_docs extension can find constructor parameters in init.
 Closes 887.
  • Don't warn about invalid-sequence-index if the indexed object has unknown base
    classes.
 Closes 867
  • Don't crash when checking, for super-init-not-called, a method defined in an if block.
  • Do not emit import-error or no-name-in-module for fallback import blocks by default.
 Until now, we warned with these errors when a fallback import block (a TryExcept block
 that contained imports for Python 2 and 3) was found, but this gets cumbersome when
 trying to write compatible code. As such, we don&#39;t check these blocks by default,
 but the analysis can be enforced by using the new ``--analyse-fallback-block`` flag.
 Close 769.

1.5.5

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

Release date: 2016-03-21

  • Let visit_importfrom from Python 3 porting checker be called when everything is disabled
 Because the visit method was filtering the patterns it was expecting to be activated,
 it didn&#39;t run when everything but one pattern was disabled, leading to spurious false 
 positives
 Close 852
  • Don't emit unsubscriptable-value for classes with unknown
    base classes.
 Close 776.
  • Use an OrderedDict for storing the configuration elements
 This fixes an issue related to impredictible order of the disable / enable
 elements from a config file. In certain cases, the disable was coming before
 the enable which resulted in classes of errors to be enabled, even though the intention
 was to disable them. The best example for this was in the context of running multiple
 processes, each one of it having different enables / disables that affected the output.
 Close 815
  • Don't consider bare and broad except handlers as ignoring NameError,
    AttributeError and similar exceptions, in the context of checkers for
    these issues.
 Closes issue 826

1.5.4

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

Release date: 2016-01-15

  • Merge StringMethodChecker with StringFormatChecker. This fixes a
    bug where disabling all the messages and enabling only a handful of
    messages from the StringFormatChecker would have resulted in no
    messages at all.
  • Don't apply unneeded-not over sets.

1.5.3

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

Release date: 2016-01-11

  • Handle the import fallback idiom with regard to wrong-import-order.
 Closes issue 750.
  • Decouple the displaying of reports from the displaying of messages
 Some reporters are aggregating the messages instead of displaying
 them when they are available. The actual displaying was conflatted
 in the generate_reports. Unfortunately this behaviour was flaky
 and in the case of the JSON reporter, the messages weren&#39;t shown
 at all if a file had syntax errors or if it was missing.
 In order to fix this, the aggregated messages can now be
 displayed with Reporter.display_message, while the reports are
 displayed with display_reports.
 
 Closes issues 766 and 765.
  • Ignore function calls with variadic arguments without a context.
 Inferring variadic positional arguments and keyword arguments
 will result into empty Tuples and Dicts, which can lead in
 some cases to false positives with regard to no-value-for-parameter.
 In order to avoid this, until we&#39;ll have support for call context
 propagation, we&#39;re ignoring such cases if detected.
 Closes issue 722.
  • Treat AsyncFunctionDef just like FunctionDef nodes,
    by implementing visit_asyncfunctiondef in terms of
    visit_functiondef.
 Closes issue 767.
  • Take in account kwonlyargs when verifying that arguments
    are defined with the check_docs extension.
 Closes issue 745.
  • Suppress reporting 'unneeded-not' inside __ne__ methods
 Closes issue 749.

1.5.2

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

Release date: 2015-12-21

  • Don't crash if graphviz is not installed, instead emit a
    warning letting the user to know.
 Closes issue 168.
  • Accept only functions and methods for the deprecated-method checker.
 This prevents a crash which can occur when an object doesn&#39;t have
 .qname() method after the inference.
  • Don't emit super-on-old-class on classes with unknown bases.
    Closes issue 721.
  • Allow statements in if or try blocks containing imports.
 Closes issue 714. 

1.5.1

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

Release date: 2015-12-02

  • Fix a crash which occurred when old visit methods are encountered
    in plugin modules. Closes issue 711.
  • Add wrong-import-position to check_messages's decorator arguments
    for ImportChecker.leave_module
    This fixes an esoteric bug which occurs when ungrouped-imports and
    wrong-import-order are disabled and pylint is executed on multiple files.
    What happens is that without wrong-import-position in check_messages,
    leave_module will never be called, which means that the first non-import node
    from other files might leak into the current file,
    leading to wrong-import-position being emitted by pylint.
  • Fix a crash which occurred when old visit methods are encountered
    in plugin modules. Closes issue 711.
  • Don't emit import-self and cyclic-import for relative imports
    of modules with the same name as the package itself.
    Closes issues 708 and 706.

1.5.0

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

Release date: 2015-11-29

  • Added multiple warnings related to imports. 'wrong-import-order'
    is emitted when PEP 8 recommendations regarding imports are not
    respected (that is, standard imports should be followed by third-party
    imports and then by local imports). 'ungrouped-imports' is emitted
    when imports from the same package or module are not placed
    together, but scattered around in the code. 'wrong-import-position'
    is emitted when code is mixed with imports, being recommended for the
    latter to be at the top of the file, in order to figure out easier by
    a human reader what dependencies a module has.
    Closes issue 692.

  • Added a new refactoring warning, 'unneeded-not', emitted
    when an expression with the not operator could be simplified.
    Closes issue 670.

  • Added a new refactoring warning, 'simplifiable-if-statement',
    used when an if statement could be reduced to a boolean evaluation
    of its test. Closes issue 698.

  • Added a new refactoring warning, 'too-many-boolean-expressions',
    used when an if statement contains too many boolean expressions,
    which makes the code less maintainable and harder to understand.
    Closes issue 677.

  • Property methods are shown as attributes instead of functions in
    pyreverse class diagrams. Closes Issue 284
  • Add a new refactoring error, 'too-many-nested-blocks', which is emitted
    when a function or a method has too many nested blocks, which makes the
    code less readable and harder to understand. Closes issue 668.
  • Add a new error, 'unsubscriptable-object', that is emitted when
    value used in subscription expression doesn't support subscription
    (i.e. doesn't define getitem method).
  • Don't warn about abstract classes instantiated in their own
    body. Closes issue 627.
  • Obsolete options are not present by default in the generated
    configuration file. Closes issue 632.
  • non-iterator-returned can detect classes with iterator-metaclasses.
    Closes issue 679.
  • Add a new error, 'unsupported-membership-test', emitted when value
    to the right of the 'in' operator doesn't support membership test
    protocol (i.e. doesn't define contains/iter/getitem)
  • Add new errors, 'not-an-iterable', emitted when non-iterable value
    is used in an iterating context (starargs, for-statement,
    comprehensions, etc), and 'not-a-mapping', emitted when non-mapping
    value is used in a mapping context. Closes issue 563.
  • Make 'no-self-use' checker not emit a warning if there is a 'super()'
    call inside the method.
    Closes issue 667.
  • Add checker to identify multiple imports on one line.
    Closes issue 598.
  • Fix unused-argument false positive when the "+=" operator is used.
    Closes issue 518.
  • Don't emit import-error for ignored modules. PyLint will not emit import
    errors for any import which is, or is a subpackage of, a module in
    the ignored-modules list. Closes issue 223.
  • Fix unused-import false positive when the import is used in a
    class assignment. Closes issue 475
  • Add a new error, 'not-context-manager', emitted when something
    that doesn't implement enter and exit is used in a with
    statement.
  • Add a new warning, 'confusing-with-statement', emitted by the
    base checker, when an ambiguous looking with statement is used.
    For example with open() as first, second which looks like a
    tuple assignment but is actually 2 context managers.
  • Add a new warning, 'duplicate-except', emitted when there is an
    exception handler which handles an exception type that was handled
    before. Closes issue 485.
  • A couple of warnings got promoted to errors, since they could uncover
    potential bugs in the code. These warnings are: assignment-from-none,
    unbalanced-tuple-unpacking, unpacking-non-sequence, non-iterator-returned.
    Closes issue 388.
  • Allow ending a pragma control with a semicolon. In this way, users
    can continue a pragma control with a reason for why it is used,
    as in pylint: disable=old-style-class;reason=....
    Closes issue 449.
  • --jobs can be used with --load-plugins now. Closes issue 456.
  • Improve the performance of --jobs when dealing only with a package
    name. Closes issue 479.
  • Don't emit an unused-wildcard-import when the imported name comes
    from another module and it is in fact a future name.
  • The colorized reporter now works on Windows. Closes issue 96.
  • Remove pointless-except warning. It was previously disabled by
    default and it wasn't very useful. Closes issue 506.
  • Fix a crash on Python 3 related to the string checker, which
    crashed when it encountered a bytes string with a .format
    method called.
  • Don't warn about no-self-use for builtin properties.
  • Fix a false positive for bad-reversed-sequence, when a subclass
    of a dict provides a reversed method.
  • Change the default no-docstring-rgx so missing-docstring isn't
    emitted for private functions.
  • Don't emit redefined-outer-name for future directives.
    Closes issue 520.
  • Provide some hints for the bad-builtin message. Closes issue 522.
  • When checking for invalid arguments to a callable, in typecheck.py,
    look up for the init in case the found new comes from builtins.
 Since the __new__ comes from builtins, it will not have attached any
 information regarding what parameters it expects, so the check
 will be useless. Retrieving __init__ in that case will at least
 detect a couple of false negatives. Closes issue 429.
  • Don't emit no-member for classes with unknown bases.
 Since we don&#39;t know what those bases might add, we simply ignore
 the error in this case.
  • Lookup in the implicit metaclass when checking for no-member,
    if the class in question has an implicit metaclass, which is
    True for new style classes. Closes issue 438.
  • Add two new warnings, duplicate-bases and inconsistent-mro.
 duplicate-bases is emitted when a class has the same bases
 listed more than once in its bases definition, while inconsistent-mro
 is emitted when no sane mro hierarchy can be determined. Closes issue 526.
  • Remove interface-not-implemented warning. Closes issue 532.
  • Remove the rest of interface checks: interface-is-not-class,
    missing-interface-method, unresolved-interface. The reason is that
    its better to start recommending ABCs instead of the old Zope era
    of interfaces. One side effect of this change is that ignore-iface-methods
    becomes a noop, it's deprecated and it will be removed at some time.
  • Emit a proper deprecation warning for reporters.BaseReporter.add_message.
 The alternative way is to use handle_message. add_message will be removed in
 Pylint 1.6.
  • Added new module 'extensions' for optional checkers with the test
    directory 'test/extensions' and documentation file 'doc/extensions.rst'.
  • Added new checker 'extensions.check_docs' that verifies parameter
    documention in Sphinx, Google, and Numpy style.
  • Detect undefined variable cases, where the "definition" of an undefined
    variable was in del statement. Instead of emitting used-before-assignment,
    which is totally misleading, it now emits undefined-variable.
    Closes issue 528.
  • Don't emit attribute-defined-outside-init and access-member-before-definition
    for mixin classes. Actual errors can occur in mixin classes, but this is
    controlled by the ignore-mixin-members option. Closes issue 412.
  • Improve the detection of undefined variables and variables used before
    assignment for variables used as default arguments to function,
    where the variable was first defined in the class scope.
    Closes issue 342 and issue 404.
  • Add a new warning, 'unexpected-special-method-signature', which is emitted
    when a special method (dunder method) doesn't have the expected signature,
    which can lead to actual errors in the application code.
    Closes issue 253.
  • Remove 'bad-context-manager' due to the inclusion of 'unexpected-special-method-signature'.
  • Don't emit no-name-in-module if the import is guarded by an ImportError, Exception or
    a bare except clause.
  • Don't emit no-member if the attribute access node is protected by an
    except handler, which handles AttributeError, Exception or it is a
    bare except.
  • Don't emit import-error if the import is guarded by an ImportError, Exception or a
    bare except clause.
  • Don't emit undefined-variable if the node is guarded by a NameError, Exception
    or bare except clause.
  • Add a new warning, 'using-constant-test', which is emitted when a conditional
    statement (If, IfExp) uses a test which is always constant, such as numbers,
    classes, functions etc. This is most likely an error from the user's part.
    Closes issue 524.
  • Don't emit 'raising-non-exception' when the exception has unknown
    bases. We don't know what those bases actually are and it's better
    to assume that the user knows what he is doing rather than emitting
    a message which can be considered a false positive.
  • Look for a .pylintrc configuration file in the current folder,
    if pylintrc is not found. Dotted pylintrc files will not be searched
    in the parents of the current folder, as it is done for pylintrc.
  • Add a new error, 'invalid-unary-type-operand', emitted when
    an unary operand is used on something which doesn't support that
    operation (for instance, using the unary bitwise inversion operator
    on an instance which doesn't implement invert).
  • Take in consideration differences between arguments of various
    type of functions (classmethods, staticmethods, properties)
    when checking for arguments-differ. Closes issue 548.
  • astroid.inspector was moved to pylint.pyreverse, since it belongs
    there and it doesn't need to be in astroid.
  • astroid.utils.LocalsVisitor was moved to pylint.pyreverse.LocalsVisitor.
  • pylint.checkers.utils.excepts_import_error was removed.
    Use pylint.chekcers.utils.error_of_type instead.
  • Don't emit undefined-all-variables for nodes which can't be
    inferred (YES nodes).
  • yield-outside-func is also emitted for yield from.
  • Add a new error, 'too-many-star-expressions', emitted when
    there are more than one starred expression (*x) in an assignment.
    The warning is emitted only on Python 3.
  • Add a new error, 'invalid-star-assignment-target', emitted when
    a starred expression (*x) is used as the lhs side of an assignment,
    as in *x = [1, 2]. This is not a SyntaxError on Python 3 though.
  • Detect a couple of objects which can't be base classes (bool,
    slice, range and memoryview, which weren't detected until now).
  • Add a new error for the Python 3 porting checker, import-star-module-level,
    which is used when a star import is detected in another scope than the
    module level, which is an error on Python 3. Using this will emit a
    SyntaxWarning on Python 2.
  • Add a new error, 'star-needs-assignment-target', emitted on Python 3 when
    a Starred expression (*x) is not used in an assignment target. This is not
    caught when parsing the AST on Python 3, so it needs to be a separate check.
  • Add a new error, 'unsupported-binary-operation', emitted when
    two a binary arithmetic operation is executed between two objects
    which don't support it (a number plus a string for instance).
    This is currently disabled, since the it exhibits way too many false
    positives, but it will be reenabled as soon as possible.
  • New imported features from astroid into pyreverse: pyreverse.inspector.Project,
    pyreverse.inspector.project_from_files and pyreverse.inspector.interfaces.
 These were moved since they didn&#39;t belong in astroid.
  • Enable misplaced-future for Python 3. Closes issue 580.
  • Add a new error, 'nonlocal-and-global', which is emitted when a
    name is found to be both nonlocal and global in the same scope.
    Closes issue 581.
  • ignored-classes option can work with qualified names (ignored-classes=optparse.Values)
    Closes issue 297.
  • ignored-modules can work with qualified names as well as with Unix pattern
    matching for recursive ignoring. Closes issues 244.
  • Improve detection of relative imports in non-packages, as well as importing
    missing modules with a relative import from a package.
  • Don't emit no-init if not all the bases from a class are known.
    Closes issue 604.
  • --no-space-check option accepts empty-line as a possible option.
    Closes issue 541.
  • --generate-rcfile generates by default human readable symbols
    for the --disable option. Closes issue 608.
  • Improved the not-in-loop checker to properly detect more cases.
  • Add a new error, 'continue-in-finally', which is emitted when
    the continue keyword is found inside a finally clause, which
    is a SyntaxError.
  • The --zope flag is deprecated and it is slated for removal
    in Pylint 1.6.
 The reason behind this removal is the fact that it&#39;s a specialized
 flag and there are solutions for the original problem:
 use --generated-members with the members that causes problems
 when using Zope or add AST transforms tailored to the zope
 project.
 At the same time, --include-ids and --symbols will also be removed
 in Pylint 1.6. Closes issue 570.
  • missing-module-attribute was removed and the corresponding
    CLI option, required-attributes, which is slated for removal
    in Pylint 1.6.
  • missing-reversed-argument was removed.
 The reason behind this is that this kind of errors should be
 detected by the type checker for *all* the builtins and not
 as a special case for the reversed builtin. This will happen
 shortly in the future.
  • --comment flag is obsolete and it will be removed in Pylint 1.6.
  • --profile flag is obsolete and it will be removed in Pylint 1.6.
  • Add a new error, 'misplaced-bare-raise'.
 The error is used when a bare raise is not used inside an except clause.
 This can generate a RuntimeError in Python, if there are no active exceptions
 to be reraised. While it works in Python 2 due to the fact that the exception
 leaks outside of the except block, it&#39;s nevertheless a behaviour that
 a user shouldn&#39;t depend upon, since it&#39;s not obvious to the reader of the code
 what exception will be raised and it will not be compatible with Python 3 anyhow.
 Closes issue 633.
  • Bring logilab-common's ureports into pylint.reporters.
 With this change, we moved away from depending on logilab-common,
 having in Pylint all the components that were used from logilab-common.
 The API should be considered an implementation detail and can change at
 some point in the future.
 Closes issue 621.
  • reimported is emitted for reimported objects on the same line.
 Closes issue 639.
  • Abbreviations of command line options are not supported anymore.
 Using abbreviations for CLI options was never considered to be
 a feature of pylint, this fact being only a side effect of using optparse.
 As this was the case, using --load-plugin or other abbreviation
 for --load-plugins never actually worked, while it also didn&#39;t raise
 an error. Closes issue 424.
  • Add a new error, 'nonlocal-without-binding'
 The error is emitted on Python 3 when a nonlocal name is not bound
 to any variable in the parents scopes. Closes issue 582.
  • 'deprecated-module' can be shown for modules which aren't
    available. Closes issue 362.
  • Don't consider a class abstract if its members can't
    be properly inferred.
 This fixes a false positive related to abstract-class-instantiated.
 Closes issue 648.
  • Add a new checker for the async features added by PEP 492.
  • Add a new error, 'yield-inside-async-function', emitted on
    Python 3.5 and upwards when the yield statement is found inside
    a new coroutine function (PEP 492).
  • Add a new error, 'not-async-context-manager', emitted when
    an async context manager block is used with an object which doesn't
    support this protocol (PEP 492).
  • Add a new convention warning, 'singleton-comparison', emitted when
    comparison to True, False or None is found.
  • Don't emit 'assigning-non-slot' for descriptors. Closes issue 652.
  • Add a new error, 'repeated-keyword', when a keyword argument is passed
    multiple times into a function call.
 This is similar with redundant-keyword-arg, but it&#39;s mildly different
 that it needs to be a separate error.
  • --enable=all can now be used. Closes issue 142.
  • Add a new convention message, 'misplaced-comparison-constant',
    emitted when a constant is placed in the left hand side of a comparison,
    as in '5 == func()'. This is also called Yoda condition, since the
    flow of code reminds of the Star Wars green character, conditions usually
    encountered in languages with variabile assignments in conditional
    statements.
  • Add a new convention message, 'consider-using-enumerate', which is
    emitted when code that uses range and len for iterating is encountered.
    Closes issue 684.
  • Added two new refactoring messages, 'no-classmethod-decorator' and
    'no-staticmethod-decorator', which are emitted when a static method or a class
    method is declared without using decorators syntax.
 Closes issue 675.

tox 2.1.1 -> 2.6.0

2.6.0


  • add "alwayscopy" config option to instruct virtualenv to always copy
    files instead of symlinking. Thanks Igor Duarte Cardoso (igordcard).
  • pass setenv variables to setup.py during a usedevelop install.
    Thanks Eli Collins (eli-collins).
  • replace all references to testrun.org with readthedocs ones.
    Thanks Oliver Bestwalter (obestwalter).
  • fix 323 by avoiding virtualenv14 is not used on py32
    (although we don't officially support py32).
    Thanks Jason R. Coombs (jaraco).
  • add Python 3.6 to envlist and CI.
    Thanks Andrii Soldatenko (andriisoldatenko).
  • fix glob resolution from TOX_TESTENV_PASSENV env variable
    Thanks Allan Feldman (a-feld).

2.5.0


  • slightly backward incompatible: fix issue310: the {posargs} substitution
    now properly preserves the tox command line positional arguments. Positional
    arguments with spaces are now properly handled.
    NOTE: if your tox invocation previously used extra quoting for positional arguments to
    work around issue310, you need to remove the quoting. Example:
    tox -- "'some string'" has to now be written simply as
    tox -- "some string"
    thanks holger krekel. You can set minversion = 2.5.0 in the [tox]
    section of tox.ini to make sure people using your tox.ini use the correct version.
  • fix 359: add COMSPEC to default passenv on windows. Thanks
    anthrotype.
  • add support for py36 and py37 and add py36-dev and py37(nightly) to
    travis builds of tox. Thanks John Vandenberg.
  • fix 348: add py2 and py3 as default environments pointing to
    "python2" and "python3" basepython executables. Also fix 347 by
    updating the list of default envs in the tox basic example.
    Thanks Tobias McNulty.
  • make "-h" and "--help-ini" options work even if there is no tox.ini,
    thanks holger krekel.
  • add {:} substitution, which is replaced with os-specific path
    separator, thanks Lukasz Rogalski.
  • fix 305: downloadcache test env config is now ignored as pip-8
    does caching by default. Thanks holger krekel.
  • output from install command in verbose (-vv) mode is now printed to console instead of
    being redirected to file, thanks Lukasz Rogalski
  • fix 399. Make sure {envtmpdir} is created if it doesn't exist at the
    start of a testenvironment run. Thanks Manuel Jacob.
  • fix 316: Lack of commands key in ini file is now treated as an error.
    Reported virtualenv status is 'nothing to do' instead of 'commands
    succeeded', with relevant error message displayed. Thanks Lukasz Rogalski.

2.4.1


  • fix issue380: properly perform substitution again. Thanks Ian
    Cordasco.

2.4.0


  • remove PYTHONPATH from environment during the install phase because a
    tox-run should not have hidden dependencies and the test commands will also
    not see a PYTHONPATH. If this causes unforeseen problems it may be
    reverted in a bugfix release. Thanks Jason R. Coombs.
  • fix issue352: prevent a configuration where envdir==toxinidir and
    refine docs to warn people about changing "envdir". Thanks Oliver Bestwalter and holger krekel.
  • fix issue375, fix issue330: warn against tox-setup.py integration as
    "setup.py test" should really just test with the current interpreter. Thanks Ronny Pfannschmidt.
  • fix issue302: allow cross-testenv substitution where we substitute
    with {x,y} generative syntax. Thanks Andrew Pashkin.
  • fix issue212: allow escaping curly brace chars "{" and "}" if you need the
    chars "{" and "}" to appear in your commands or other ini values.
    Thanks John Vandenberg.
  • addresses issue66: add --workdir option to override where tox stores its ".tox" directory
    and all of the virtualenv environment. Thanks Danring.
  • introduce per-venv list_dependencies_command which defaults
    to "pip freeze" to obtain the list of installed packages.
    Thanks Ted Shaw, Holger Krekel.
  • close issue66: add documentation to jenkins page on how to avoid
    "too long shebang" lines when calling pip from tox. Note that we
    can not use "python -m pip install X" by default because the latter
    adds the CWD and pip will think X is installed if it is there.
    "pip install X" does not do that.
  • new list_dependencies_command to influence how tox determines
    which dependencies are installed in a testenv.
  • (experimental) New feature: When a search for a config file fails, tox tries loading
    setup.cfg with a section prefix of "tox".
  • fix issue275: Introduce hooks tox_runtest_pre``` and tox_runtest_post`` which run before and after the tests of a venv,
    respectively. Thanks to Matthew Schinckel and itxaka serrano.
  • fix issue317: evaluate minversion before tox config is parsed completely.
    Thanks Sachi King for the PR.
  • added the "extras" environment option to specify the extras to use when doing the
    sdist or develop install. Contributed by Alex Grönholm.
  • use pytest-catchlog instead of pytest-capturelog (latter is not
    maintained, uses deprecated pytest API)

2.3.2


  • fix issue314: fix command invocation with .py scripts on windows.
  • fix issue279: allow cross-section substitution when the value contains
    posargs. Thanks Sachi King for the PR.

2.3.1


  • fix issue294: re-allow cross-section substitution for setenv.

2.3.0


  • DEPRECATE use of "indexservers" in tox.ini. It complicates
    the internal code and it is recommended to rather use the
    devpi system for managing indexes for pip.
  • fix issue285: make setenv processing fully lazy to fix regressions
    of tox-2.2.X and so that we can now have testenv attributes like
    "basepython" depend on environment variables that are set in
    a setenv section. Thanks Nelfin for some tests and initial
    work on a PR.
  • allow "" in commands. This is slightly incompatible with commands
    sections that used a comment after a "&quot; line continuation.
    Thanks David Stanek for the PR.
  • fix issue289: fix build_sphinx target, thanks Barry Warsaw.
  • fix issue252: allow environment names with special characters.
    Thanks Julien Castets for initial PR and patience.
  • introduce experimental tox_testenv_create(venv, action) and
    tox_testenv_install_deps(venv, action) hooks to allow
    plugins to do additional work on creation or installing
    deps. These hooks are experimental mainly because of
    the involved "venv" and session objects whose current public
    API is not fully guranteed.
  • internal: push some optional object creation into tests because
    tox core doesn't need it.

2.2.1


  • fix bug where {envdir} substitution could not be used in setenv
    if that env value is then used in {basepython}. Thanks Florian Bruhin.

2.2.0


  • fix issue265 and add LD_LIBRARY_PATH to passenv on linux by default
    because otherwise the python interpreter might not start up in
    certain configurations (redhat software collections). Thanks David Riddle.
  • fix issue246: fix regression in config parsing by reordering
    such that {envbindir} can be used again in tox.ini. Thanks Olli Walsh.
  • fix issue99: the {env:...} substitution now properly uses environment
    settings from the setenv section. Thanks Itxaka Serrano.
  • fix issue281: make --force-dep work when urls are present in
    dependency configs. Thanks Glyph Lefkowitz for reporting.
  • fix issue174: add new ignore_outcome testenv attribute which
    can be set to True in which case it will produce a warning instead
    of an error on a failed testenv command outcome.
    Thanks Rebecka Gulliksson for the PR.
  • fix issue280: properly skip missing interpreter if
    {envsitepackagesdir} is present in commands. Thanks BB:ceridwenv

Once you have closed this pull request, I'll create seperate pull requests for every update as soon as I find them.

That's it for now!

Happy merging! 🤖

@luismayta luismayta merged commit 0101089 into develop Apr 9, 2017
@luismayta luismayta deleted the pyup-initial-update branch April 9, 2017 05:49
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.

ipdb should ask iPython 5 which debugger class to use Using set_trace in 0.9.1 raises an error
2 participants