************************** What's New In Pylint 1.9 ************************** :Release: 1.9 :Date: |TBA| Summary -- Release highlights ============================= * None so far New checkers ============ * A new Python 3 checker was added to warn about the removed ``operator.div`` function. * A new Python 3 checker was added to warn about accessing functions that have been moved from the urllib module in corresponding subpackages, such as ``urllib.request``. .. code-block:: python from urllib import urlencode Instead the previous code should use ``urllib.parse`` or ``six.moves`` to import a module in a Python 2 and 3 compatible fashion: .. code-block:: python from six.moves.urllib.parse import urlencode To have this working on Python 3 as well, please use the ``six`` library: .. code-block:: python six.reraise(Exception, "value", tb) * A new check was added to warn about using unicode raw string literals. This is a syntax error in Python 3: .. code-block:: python a = ur'...' Other Changes ============= * `defaultdict` and subclasses of `dict` are now handled for `dict-iter-*` checks. That means that the following code will now emit warnings for when `iteritems` and friends are accessed: .. code-block:: python some_dict = defaultdict(list) ... some_dict.iterkeys() * Enum classes no longer trigger `too-few-methods` * Special methods now count towards `too-few-methods`, and are considered part of the public API. They are still not counted towards the number of methods for `too-many-methods`.