dssg / collate

Aggregation SQL Query Builder
Other
1 stars 3 forks source link

Scheduled biweekly dependency update for week 49 #110

Closed pyup-bot closed 6 years ago

pyup-bot commented 6 years ago

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.

SQLAlchemy 1.1.11 » 1.1.15 PyPI | Changelog | Homepage
wheel 0.29.0 » 0.30.0 PyPI | Changelog | Repo
flake8 3.3.0 » 3.5.0 PyPI | Changelog | Repo
tox 2.7.0 » 2.9.1 PyPI | Changelog | Docs
coverage 4.4.1 » 4.4.2 PyPI | Changelog | Repo
Sphinx 1.6.3 » 1.6.5 PyPI | Changelog | Homepage
cryptography 1.9 » 2.1.4 PyPI | Changelog | Repo
pytest 3.1.3 » 3.3.0 PyPI | Changelog | Repo | Homepage
psycopg2 2.7.1 » 2.7.3.2 PyPI | Changelog | Homepage
pandas 0.21.0 » 0.21.0 PyPI | Changelog | Homepage

Changelogs

SQLAlchemy 1.1.11 -> 1.1.15

1.1.15

:released: November 3, 2017

.. change: :tags: bug, sqlite :tickets: 4099 :versions: 1.2.0b3

   Fixed bug where SQLite CHECK constraint reflection would fail
   if the referenced table were in a remote schema, e.g. on SQLite a
   remote database referred to by ATTACH.

.. change:: :tags: bug, mysql :tickets: 4097 :versions: 1.2.0b3

   Warning emitted when MariaDB 10.2.8 or earlier in the 10.2
   series is detected as there are major issues with CHECK
   constraints within these versions that were resolved as of
   10.2.9.

   Note that this changelog message was NOT released with
   SQLAlchemy 1.2.0b3 and was added retroactively.

.. change:: :tags: bug, mssql :tickets: 4095 :versions: 1.2.0b3

   Added a full range of "connection closed" exception codes to the
   PyODBC dialect for SQL Server, including '08S01', '01002', '08003',
   '08007', '08S02', '08001', 'HYT00', 'HY010'.  Previously, only '08S01'
   was covered.

.. change:: :tags: bug, sql :tickets: 4126 :versions: 1.2.0b4

   Fixed bug where ``__repr__`` of :class:`.ColumnDefault` would fail
   if the argument were a tuple.  Pull request courtesy Nicolas Caniart.

.. change:: :tags: bug, orm, declarative :tickets: 4124 :versions: 1.2.0b4

   Fixed bug where a descriptor that is elsewhere a mapped column
   or relationship within a hierarchy based on :class:`.AbstractConcreteBase`
   would be referred towards during a refresh operation, causing an error
   as the attribute is not mapped as a mapper property.
   A similar issue can arise for other attributes like the "type" column
   added by :class:`.AbstractConcreteBase` if the class fails to include
   "concrete=True" in its mapper, however the check here should also
   prevent that scenario from causing a problem.

.. change:: 4006 :tags: bug, postgresql :tickets: 4006 :versions: 1.2.0b3

   Made further fixes to the :class:`.ARRAY` class in conjunction with
   COLLATE, as the fix made in :ticket:`4006` failed to accommodate
   for a multidimensional array.

.. change:: :tags: bug, orm, ext :tickets: 4116 :versions: 1.2.0b4

   Fixed bug where the association proxy would inadvertently link itself
   to an :class:`.AliasedClass` object if it were called first with
   the :class:`.AliasedClass` as a parent, causing errors upon subsequent
   usage.

.. change:: :tags: bug, mysql :tickets: 4120 :versions: 1.2.0b4

   MySQL 5.7.20 now warns for use of the tx_isolation variable; a version
   check is now performed and uses transaction_isolation instead
   to prevent this warning.

.. change:: :tags: bug, postgresql :tickets: 4107 :versions: 1.2.0b3

   Fixed bug in :obj:`.array_agg` function where passing an argument
   that is already of type :class:`.ARRAY`, such as a Postgresql
   :obj:`.postgresql.array` construct, would produce a ``ValueError``, due
   to the function attempting to nest the arrays.

.. change:: :tags: bug, orm :tickets: 4078 :versions: 1.2.0b3

   Fixed bug where ORM relationship would warn against conflicting sync
   targets (e.g. two relationships would both write to the same column) for
   sibling classes in an inheritance hierarchy, where the two relationships
   would never actually conflict during writes.

.. change:: :tags: bug, postgresql :tickets: 4074 :versions: 1.2.0b3

   Fixed bug in Postgresql :meth:`.postgresql.dml.Insert.on_conflict_do_update`
   which would prevent the insert statement from being used as a CTE,
   e.g. via :meth:`.Insert.cte`, within another statement.

.. change:: :tags: bug, orm :tickets: 4103 :versions: 1.2.0b3

   Fixed bug where correlated select used against single-table inheritance
   entity would fail to render correctly in the outer query, due to adjustment
   for single inheritance discriminator criteria inappropriately re-applying
   the criteria to the outer query.

.. change: :tags: bug, mysql :tickets: 4096 :versions: 1.2.0b3

   Fixed issue where CURRENT_TIMESTAMP would not reflect correctly
   in the MariaDB 10.2 series due to a syntax change, where the function
   is now represented as ``current_timestamp()``.

.. change: :tags: bug, mysql :tickets: 4098 :versions: 1.2.0b3

   MariaDB 10.2 now supports CHECK constraints (warning: use version 10.2.9
   or greater due to upstream issues noted in :ticket:`4097`).  Reflection
   now takes these CHECK constraints into account when they are present in
   the ``SHOW CREATE TABLE`` output.

.. change:: :tags: bug, sql :tickets: 4093 :versions: 1.2.0b3

   Fixed bug where the recently added :meth:`.ColumnOperators.any_`
   and :meth:`.ColumnOperators.all_` methods didn't work when called
   as methods, as opposed to using the standalone functions
   :func:`~.expression.any_` and :func:`~.expression.all_`.  Also
   added documentation examples for these relatively unintuitive
   SQL operators.

.. changelog::

1.1.14

:released: September 5, 2017

.. change:: :tags: bug, orm :tickets: 4069 :versions: 1.2.0b3

   Fixed bug in :meth:`.Session.merge` following along similar lines as that
   of :ticket:`4030`, where an internal check for a target object in
   the identity map could lead to an error if it were to be garbage collected
   immediately before the merge routine actually retrieves the object.

.. change:: :tags: bug, orm :tickets: 4048 :versions: 1.2.0b3

   Fixed bug where an :func:`.undefer_group` option would not be recognized
   if it extended from a relationship that was loading using joined eager
   loading.  Additionally, as the bug led to excess work being performed,
   Python function call counts are also improved by 20% within the initial
   calculation of result set columns, complementing the joined eager load
   improvements of :ticket:`3915`.

.. change:: :tags: bug, orm :tickets: 4068

   Fixed race condition in ORM identity map which would cause objects
   to be inappropriately removed during a load operation, causing
   duplicate object identities to occur, particularly under joined eager
   loading which involves deduplication of objects.  The issue is specific
   to garbage collection of weak references and is observed only under the
   Pypy interpreter.

.. change:: :tags: bug, orm :tickets: 4056 :versions: 1.2.0b3

   Fixed bug in :meth:`.Session.merge` where objects in a collection that had
   the primary key attribute set to ``None`` for a key that is  typically
   autoincrementing would be considered to be a database-persisted key for
   part of the internal deduplication process, causing only one object to
   actually be inserted in the database.

.. change:: :tags: bug, sql :tickets: 4053

   Altered the range specification for window functions to allow
   for two of the same PRECEDING or FOLLOWING keywords in a range
   by allowing for the left side of the range to be positive
   and for the right to be negative, e.g. (1, 3) is
   "1 FOLLOWING AND 3 FOLLOWING".

.. change:: :tags: bug, orm :tickets: 4067 :versions: 1.2.0b3

   An :class:`.InvalidRequestError` is raised when a :func:`.synonym`
   is used against an attribute that is not against a :class:`.MapperProperty`,
   such as an association proxy.  Previously, a recursion overflow would
   occur trying to locate non-existent attributes.

.. changelog::

1.1.13

:released: August 3, 2017

.. changelog::

1.1.12

:released: July 24, 2017

.. change:: cache_order_sequence :tags: feature, oracle, posgresql :versions: 1.2.0b1

   Added new keywords :paramref:`.Sequence.cache` and
   :paramref:`.Sequence.order` to :class:`.Sequence`, to allow rendering
   of the CACHE parameter understood by Oracle and PostgreSQL, and the
   ORDER parameter understood by Oracle.  Pull request
   courtesy David Moore.

.. change:: 4033 :tags: bug, orm :tickets: 4033 :versions: 1.2.0b2

   Fixed regression from 1.1.11 where adding additional non-entity
   columns to a query that includes an entity with subqueryload
   relationships would fail, due to an inspection added in 1.1.11 as a
   result of :ticket:`4011`.

.. change:: 4031 :tags: bug, orm :versions: 1.2.0b2 :tickets: 4031

   Fixed bug involving JSON NULL evaluation logic added in 1.1 as part
   of :ticket:`3514` where the logic would not accommodate ORM
   mapped attributes named differently from the :class:`.Column`
   that was mapped.

.. change:: 4030 :tags: bug, orm :versions: 1.2.0b2 :tickets: 4030

   Added ``KeyError`` checks to all methods within
   :class:`.WeakInstanceDict` where a check for ``key in dict`` is
   followed by indexed access to that key, to guard against a race against
   garbage collection that under load can remove the key from the dict
   after the code assumes its present, leading to very infrequent
   ``KeyError`` raises.

.. changelog::

wheel 0.29.0 -> 0.30.0

0.30.0

======

  • Added py-limited-api {cp32|cp33|cp34|...} flag to produce cpNN.abi3.{arch} tags on CPython 3.
  • Documented the license_file metadata key
  • Improved Python, abi tagging for wheel convert. Thanks Ales Erjavec.
  • Fixed > being prepended to lines starting with "From" in the long description
  • Added support for specifying a build number (as per PEP 427). Thanks Ian Cordasco.
  • Made the order of files in generated ZIP files deterministic. Thanks Matthias Bach.
  • Made the order of requirements in metadata deterministic. Thanks Chris Lamb.
  • Fixed wheel install clobbering existing files
  • Improved the error message when trying to verify an unsigned wheel file
  • Removed support for Python 2.6, 3.2 and 3.3.

flake8 3.3.0 -> 3.5.0

3.5.0


You can view the 3.5.0 milestone_ on GitLab for more details.

New Dependency Information


- Allow for PyFlakes 1.6.0 (See also `GitLab359`_)

- Start using new PyCodestyle checks for bare excepts and ambiguous identifier
 (See also `GitLab361`_)

Features
  • Print out information about configuring VCS hooks (See also GitLab335_)

  • Allow users to develop plugins "local" to a repository without using setuptools. See our documentation on local plugins for more information. (See also GitLab357_)

Bugs Fixed



- Catch and helpfully report ``UnicodeDecodeError``\ s when parsing
 configuration files. (See also `GitLab358`_)

.. all links
.. _3.5.0 milestone:
   https://gitlab.com/pycqa/flake8/milestones/20

.. issue links
.. _GitLab335:
   https://gitlab.com/pycqa/flake8/issues/335
.. _GitLab357:
   https://gitlab.com/pycqa/flake8/issues/357
.. _GitLab358:
   https://gitlab.com/pycqa/flake8/issues/358
.. _GitLab359:
   https://gitlab.com/pycqa/flake8/issues/359
.. _GitLab361:
   https://gitlab.com/pycqa/flake8/issues/361

.. merge request links

### 3.4.1

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

You can view the `3.4.1 milestone`_ on GitLab for more details.

- Fix minor regression when users specify only a ``--select`` list with items
 in the enabled/extended select list.  (See also `GitLab354`_)

.. all links
.. _3.4.1 milestone:
   https://gitlab.com/pycqa/flake8/milestones/19

.. issue links
.. _GitLab354:
   https://gitlab.com/pycqa/flake8/issues/354

.. merge request links

### 3.4.0

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

You can view the `3.4.0 milestone`_ on GitLab for more details.

- Refine logic around ``--select`` and ``--ignore`` when combined with the
 default values for each. (See also `GitLab318`_)

- Handle spaces as an alternate separate for error codes, e.g.,
 ``--ignore 'E123 E234'``. (See also `GitLab329`_)

- Filter out empty select and ignore codes, e.g., ``--ignore E123,,E234``.
 (See also `GitLab330`_)

- Specify dependencies appropriately in ``setup.py`` (See also `Gitlab341_`)

- Fix bug in parsing ``--quiet`` and ``--verbose`` from config files.
 (See also `GitLab!193`_)

- Remove unused import of ``os`` in the git hook template (See also
 `GitLab!194`_)

.. all links
.. _3.4.0 milestone:
   https://gitlab.com/pycqa/flake8/milestones/18

.. issue links
.. _GitLab318:
   https://gitlab.com/pycqa/flake8/issues/318
.. _GitLab329:
   https://gitlab.com/pycqa/flake8/issues/329
.. _GitLab330:
   https://gitlab.com/pycqa/flake8/issues/330
.. _GitLab341:
   https://gitlab.com/pycqa/flake8/issues/341

.. merge request links
.. _GitLab!193:
   https://gitlab.com/pycqa/flake8/merge_requests/193
.. _GitLab!194:
   https://gitlab.com/pycqa/flake8/merge_requests/194

tox 2.7.0 -> 2.9.1

2.9.1


Misc ^^^^

  • integrated new release process and fixed changelog rendering for pypi.org - by obestwalter <https://github.com/obestwalter>_.

2.9

2.9.0


Features ^^^^^^^^

  • tox --version now shows information about all registered plugins - by obestwalter <https://github.com/obestwalter> (544 <https://github.com/tox-dev/tox/issues/544>)

Bugfixes ^^^^^^^^

  • skip_install overrides usedevelop (usedevelop is an option to choose the installation type if the package is installed and skip_install determines if it should be installed at all) - by ferdonline <https://github.com/ferdonline> (571 <https://github.com/tox-dev/tox/issues/571>)

Misc ^^^^

  • 635 <https://github.com/tox-dev/tox/issues/635> inherit from correct exception - by obestwalter <https://github.com/obestwalter> (635 <https://github.com/tox-dev/tox/issues/635>_).
  • spelling and escape sequence fixes - by scoop <https://github.com/scoop> (637 <https://github.com/tox-dev/tox/issues/637> and 638 <https://github.com/tox-dev/tox/issues/638>_).
  • add a badge to show build status of documentation on readthedocs.io - by obestwalter <https://github.com/obestwalter>_.

Improved Documentation ^^^^^^^^^^^^^^^^^^^^^^

  • add towncrier <https://github.com/hawkowl/towncrier> to allow adding changelog entries with the pull requests without generating merge conflicts; with this release notes are now grouped into four distinct collections: Features, Bugfixes, Improved Documentation and Deprecations and Removals. (614 <https://github.com/tox-dev/tox/issues/614>)

2.8.2


  • 466 <https://github.com/tox-dev/tox/issues/466>_: stop env var leakage if popen failed with resultjson or redirect

2.8.1


  • pull request 599 <https://github.com/tox-dev/tox/pull/599>: fix problems with implementation of 515 <https://github.com/tox-dev/tox/issues/515>. Substitutions from other sections were not made anymore if they were not in envlist. Thanks to Clark Boylan (cboylan <https://github.com/cboylan>) for helping to get this fixed (pull request 597 <https://github.com/tox-dev/tox/pull/597>).

2.8

.. Everything below here is generated by towncrier <https://pypi.python.org/pypi/towncrier>_. It is generated once as part of the release process rendering fragments from the changelog folder. If necessary, the generated text can be edited afterwards to e.g. merge rc changes into the final release notes.

.. towncrier release notes start

2.8.0


  • 276 <https://github.com/tox-dev/tox/issues/276>_: Remove easyinstall from docs (TL;DR: use pip). Thanks Martin Andrysík (sifuraz <https://github.com/sifuraz>).

  • 301 <https://github.com/tox-dev/tox/issues/301>: Expand nested substitutions in tox.ini. Thanks vlaci <https://github.com/vlaci>. Thanks to Eli Collins (eli-collins <https://github.com/eli-collins>_) for creating a reproducer.

  • 315 <https://github.com/tox-dev/tox/issues/315>: add --help and --version to helptox-quickstart. Thanks vlaci <https://github.com/vlaci>.

  • 326 <https://github.com/tox-dev/tox/issues/326>: Fix OSError 'Not a directory' when creating env on Jython 2.7.0. Thanks Nick Douma (LordGaav <https://github.com/LordGaav>).

  • 429 <https://github.com/tox-dev/tox/issues/429>: Forward MSYSTEM by default on Windows. Thanks Marius Gedminas (mgedmin <https://github.com/mgedmin>) for reporting this.

  • 449 <https://github.com/tox-dev/tox/issues/449>: add multi platform example to the docs. Thanks Aleks Bunin (sashkab <https://github.com/sashkab>) and rndr <https://github.com/rndr>_.

  • 474 <https://github.com/tox-dev/tox/issues/474>_: Start using setuptools_scm for tag based versioning.

  • 484 <https://github.com/tox-dev/tox/issues/484>: Renamed py.test to pytest throughout the project. Thanks Slam (3lnc <https://github.com/3lnc>).

  • 504 <https://github.com/tox-dev/tox/issues/504>: With -a: do not show additional environments header if there are none. Thanks rndr <https://github.com/rndr>.

  • 515 <https://github.com/tox-dev/tox/issues/515>: Don't require environment variables in test environments where they are not used. Thanks André Caron (AndreLouisCaron <https://github.com/AndreLouisCaron>).

  • 517 <https://github.com/tox-dev/tox/issues/517>_: Forward NUMBER_OF_PROCESSORS by default on Windows to fix multiprocessor.cpu_count(). Thanks André Caron (AndreLouisCaron <https://github.com/AndreLouisCaron>_).

  • 518 <https://github.com/tox-dev/tox/issues/518>: Forward USERPROFILE by default on Windows. Thanks André Caron (AndreLouisCaron <https://github.com/AndreLouisCaron>).

  • pull request 528 <https://github.com/tox-dev/tox/pull/528>: Fix some of the warnings displayed by pytest 3.1.0. Thanks Bruno Oliveira (nicoddemus <https://github.com/nicoddemus>).

  • pull request 547 <https://github.com/tox-dev/tox/pull/547>: Add regression test for 137 <https://github.com/tox-dev/tox/issues/137>. Thanks Martin Andrysík (sifuraz <https://github.com/sifuraz>_).

  • pull request 553 <https://github.com/tox-dev/tox/pull/553>: Add an XFAIL test to reproduce upstream bug 203 <https://github.com/tox-dev/tox/issues/203>. Thanks Bartolomé Sánchez Salado (bartsanchez <https://github.com/bartsanchez>_).

  • pull request 556 <https://github.com/tox-dev/tox/pull/556>: Report more meaningful errors on why virtualenv creation failed. Thanks vlaci <https://github.com/vlaci>. Also thanks to Igor Sadchenko (igor-sadchenko <https://github.com/igor-sadchenko>_) for pointing out a problem with that PR before it hit the masses ☺

  • pull request 575 <https://github.com/tox-dev/tox/pull/575>_: Add announcement doc to end all announcement docs (using only CHANGELOG and Github issues since 2.5 already).

  • pull request 580 <https://github.com/tox-dev/tox/pull/580>: Do not ignore Sphinx warnings anymore. Thanks Bernát Gábor (gaborbernat <https://github.com/gaborbernat>).

  • pull request 585 <https://github.com/tox-dev/tox/pull/585>: Expand documentation to explain pass through of flags from deps to pip (e.g. -rrequirements.txt, -cconstraints.txt). Thanks Alexander Loechel (loechel <https://github.com/loechel>).

  • pull request 588 <https://github.com/tox-dev/tox/pull/588>_: Run pytest wit xfail_strict and adapt affected tests.

coverage 4.4.1 -> 4.4.2

4.4.2


  • Support for Python 3.7. In some cases, class and module docstrings are no longer counted in statement totals, which could slightly change your total results.

  • Specifying both --source and --include no longer silently ignores the include setting, instead it displays a warning. Thanks, Loïc Dachary. Closes issue 265 and issue 101.

  • Fixed a race condition when saving data and multiple threads are tracing (issue 581_). It could produce a "dictionary changed size during iteration" RuntimeError. I believe this mostly but not entirely fixes the race condition. A true fix would likely be too expensive. Thanks, Peter Baughman for the debugging, and Olivier Grisel for the fix with tests.

  • Configuration values which are file paths will now apply tilde-expansion, closing issue 589_.

  • Now secondary config files like tox.ini and setup.cfg can be specified explicitly, and prefixed sections like [coverage:run] will be read. Fixes issue 588_.

  • Be more flexible about the command name displayed by help, fixing issue 600_. Thanks, Ben Finney.

.. _issue 101: https://bitbucket.org/ned/coveragepy/issues/101/settings-under-report-affect-running .. _issue 581: https://bitbucket.org/ned/coveragepy/issues/581/race-condition-when-saving-data-under .. _issue 588: https://bitbucket.org/ned/coveragepy/issues/588/using-rcfile-path-to-toxini-uses-run .. _issue 589: https://bitbucket.org/ned/coveragepy/issues/589/allow-expansion-in-coveragerc .. _issue 600: https://bitbucket.org/ned/coveragepy/issues/600/get-program-name-from-command-line-when

.. _changes_441:

Sphinx 1.6.3 -> 1.6.5

1.6.5

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

Features added

  • 4107: Make searchtools.js compatible with pre-Sphinx1.5 templates
  • 4112: Don't override the smart_quotes setting if it was already set
  • 4125: Display reference texts of original and translated passages on i18n warning message
  • 4147: Include the exception when logging PO/MO file read/write

Bugs fixed

  • 4085: Failed PDF build from image in parsed-literal using :align: option
  • 4100: Remove debug print from autodoc extension
  • 3987: Changing theme from alabaster causes HTML build to fail
  • 4096: C++, don't crash when using the wrong role type. Thanks to mitya57.
  • 4070, 4111: crashes when the warning message contains format strings (again)
  • 4108: Search word highlighting breaks SVG images
  • 3692: Unable to build HTML if writing .buildinfo failed
  • 4152: HTML writer crashes if a field list is placed on top of the document
  • 4063: Sphinx crashes when labeling directive .. todolist::
  • 4134: [doc] :file:docutils.conf is not documented explicitly
  • 4169: Chinese language doesn't trigger Chinese search automatically
  • 1020: ext.todo todolist not linking to the page in pdflatex
  • 3965: New quickstart generates wrong SPHINXBUILD in Makefile
  • 3739: :module: option is ignored at content of pyobjects
  • 4149: Documentation: Help choosing :confval:latex_engine
  • 4090: [doc] :confval:latex_additional_files with extra LaTeX macros should not use .tex extension
  • Failed to convert reST parser error to warning (refs: 4132)

1.6.4

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

Features added

  • 3926: Add autodoc_warningiserror to suppress the behavior of -W option during importing target modules on autodoc

Bugs fixed

  • 3924: docname lost after dynamically parsing RST in extension
  • 3946: Typo in sphinx.sty (this was a bug with no effect in default context)
  • :pep: and :rfc: does not supports default-role directive (refs: 3960)
  • 3960: default_role = 'guilabel' not functioning
  • Missing texinputs_win/Makefile to be used in latexpdf builder on windows.
  • 4026: nature: Fix macOS Safari scrollbar color
  • 3877: Fix for C++ multiline signatures.
  • 4006: Fix crash on parallel build
  • 3969: private instance attributes causes AttributeError
  • 4041: C++, remove extra name linking in function pointers.
  • 4038: C, add missing documentation of member role.
  • 4044: An empty multicolumn cell causes extra row height in PDF output
  • 4049: Fix typo in output of sphinx-build -h
  • 4062: hashlib.sha1() must take bytes, not unicode on Python 3
  • Avoid indent after index entries in latex (refs: 4066)
  • 4070: crashes when the warning message contains format strings
  • 4067: Return non-zero exit status when make subprocess fails
  • 4055: graphviz: the :align: option does not work for SVG output
  • 4055: graphviz: the :align: center option does not work for latex output
  • 4051: warn() function for HTML theme outputs 'None' string

cryptography 1.9 -> 2.1.4

2.1.3


* Updated Windows, macOS, and ``manylinux1`` wheels to be compiled with
 OpenSSL 1.1.0g.

.. _v2-1-2:

### 2.1.2
  • Corrected a bug with the manylinux1 wheels where OpenSSL's stack was marked executable.

.. _v2-1-1:

2.1.1


* Fixed support for install with the system ``pip`` on Ubuntu 16.04.

.. _v2-1:

### 2.1
  • FINAL DEPRECATION Python 2.6 support is deprecated, and will be removed in the next release of cryptography.
  • BACKWARDS INCOMPATIBLE: Whirlpool, RIPEMD160, and UnsupportedExtension have been removed in accordance with our :doc:/api-stability policy.
  • BACKWARDS INCOMPATIBLE: :attr:DNSName.value <cryptography.x509.DNSName.value>, :attr:RFC822Name.value <cryptography.x509.RFC822Name.value>, and :attr:UniformResourceIdentifier.value <cryptography.x509.UniformResourceIdentifier.value> will now return an :term:A-label string when parsing a certificate containing an internationalized domain name (IDN) or if the caller passed a :term:U-label to the constructor. See below for additional deprecations related to this change.
  • Installing cryptography now requires pip 6 or newer.
  • Deprecated passing :term:U-label strings to the :class:~cryptography.x509.DNSName, :class:~cryptography.x509.UniformResourceIdentifier, and :class:~cryptography.x509.RFC822Name constructors. Instead, users should pass values as :term:A-label strings with idna encoding if necessary. This change will not affect anyone who is not processing internationalized domains.
  • Added support for :class:~cryptography.hazmat.primitives.ciphers.algorithms.ChaCha20. In most cases users should choose :class:~cryptography.hazmat.primitives.ciphers.aead.ChaCha20Poly1305 rather than using this unauthenticated form.
  • Added :meth:~cryptography.x509.CertificateRevocationList.is_signature_valid to :class:~cryptography.x509.CertificateRevocationList.
  • Support :class:~cryptography.hazmat.primitives.hashes.BLAKE2b and :class:~cryptography.hazmat.primitives.hashes.BLAKE2s with :class:~cryptography.hazmat.primitives.hmac.HMAC.
  • Added support for :class:~cryptography.hazmat.primitives.ciphers.modes.XTS mode for AES.
  • Added support for using labels with :class:~cryptography.hazmat.primitives.asymmetric.padding.OAEP when using OpenSSL 1.0.2 or greater.
  • Improved compatibility with NSS when issuing certificates from an issuer that has a subject with non-UTF8String string types.
  • Add support for the :class:~cryptography.x509.DeltaCRLIndicator extension.
  • Add support for the :class:~cryptography.x509.TLSFeature extension. This is commonly used for enabling OCSP Must-Staple in certificates.
  • Add support for the :class:~cryptography.x509.FreshestCRL extension.

.. _v2-0-3:

2.0.3


* Fixed an issue with weak linking symbols when compiling on macOS
 versions older than 10.12.

.. _v2-0-2:

### 2.0.2
  • Marked all symbols as hidden in the manylinux1 wheel to avoid a bug with symbol resolution in certain scenarios.

.. _v2-0-1:

2.0.1


* Fixed a compilation bug affecting OpenBSD.
* Altered the ``manylinux1`` wheels to statically link OpenSSL instead of
 dynamically linking and bundling the shared object. This should resolve
 crashes seen when using ``uwsgi`` or other binaries that link against
 OpenSSL independently.
* Fixed the stack level for the ``signer`` and ``verifier`` warnings.

.. _v2-0:

### 2.0
  • BACKWARDS INCOMPATIBLE: Support for Python 3.3 has been dropped.
  • We now ship manylinux1 wheels linked against OpenSSL 1.1.0f. These wheels will be automatically used with most Linux distributions if you are running the latest pip.
  • Deprecated the use of signer on :class:~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey, :class:~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey, and :class:~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey in favor of sign.
  • Deprecated the use of verifier on :class:~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey, :class:~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey, and :class:~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey in favor of verify.
  • Added support for parsing :class:~cryptography.x509.certificate_transparency.SignedCertificateTimestamp objects from X.509 certificate extensions.
  • Added support for :class:~cryptography.hazmat.primitives.ciphers.aead.ChaCha20Poly1305.
  • Added support for :class:~cryptography.hazmat.primitives.ciphers.aead.AESCCM.
  • Added :class:~cryptography.hazmat.primitives.ciphers.aead.AESGCM, a "one shot" API for AES GCM encryption.
  • Added support for :doc:/hazmat/primitives/asymmetric/x25519.
  • Added support for serializing and deserializing Diffie-Hellman parameters with :func:~cryptography.hazmat.primitives.serialization.load_pem_parameters, :func:~cryptography.hazmat.primitives.serialization.load_der_parameters, and :meth:~cryptography.hazmat.primitives.asymmetric.dh.DHParameters.parameter_bytes .
  • The extensions attribute on :class:~cryptography.x509.Certificate, :class:~cryptography.x509.CertificateSigningRequest, :class:~cryptography.x509.CertificateRevocationList, and :class:~cryptography.x509.RevokedCertificate now caches the computed Extensions object. There should be no performance change, just a performance improvement for programs accessing the extensions attribute multiple times.

.. _v1-9:

pytest 3.1.3 -> 3.3.0

3.3.0

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

Deprecations and Removals

  • Pytest no longer supports Python 2.6 and 3.3. Those Python versions are EOL for some time now and incur maintenance and compatibility costs on the pytest core team, and following up with the rest of the community we decided that they will no longer be supported starting on this version. Users which still require those versions should pin pytest to <3.3. (2812 <https://github.com/pytest-dev/pytest/issues/2812>_)

  • Remove internal _preloadplugins() function. This removal is part of the pytest_namespace() hook deprecation. (2236 <https://github.com/pytest-dev/pytest/issues/2236>_)

  • Internally change CallSpec2 to have a list of marks instead of a broken mapping of keywords. This removes the keywords attribute of the internal CallSpec2 class. (2672 <https://github.com/pytest-dev/pytest/issues/2672>_)

  • Remove ParameterSet.deprecated_argdict - its not a public api and the lack of the underscore was a naming error. (2675 <https://github.com/pytest-dev/pytest/issues/2675>)

  • Remove the internal multi-typed attribute Node._evalskip and replace it with the boolean Node._skipped_by_mark. (2767 <https://github.com/pytest-dev/pytest/issues/2767>_)

Features

  • pytest_fixture_post_finalizer hook can now receive a request argument. (2124 <https://github.com/pytest-dev/pytest/issues/2124>_)

  • Replace the old introspection code in compat.py that determines the available arguments of fixtures with inspect.signature on Python 3 and funcsigs.signature on Python 2. This should respect __signature__ declarations on functions. (2267 <https://github.com/pytest-dev/pytest/issues/2267>_)

  • Report tests with global pytestmark variable only once. (2549 <https://github.com/pytest-dev/pytest/issues/2549>_)

  • Now pytest displays the total progress percentage while running tests. The previous output style can be set by configuring the console_output_style setting to classic. (2657 <https://github.com/pytest-dev/pytest/issues/2657>_)

  • Match warns signature to raises by adding match keyword. (2708 <https://github.com/pytest-dev/pytest/issues/2708>_)

  • Pytest now captures and displays output from the standard logging module. The user can control the logging level to be captured by specifying options in pytest.ini, the command line and also during individual tests using markers. Also, a caplog fixture is available that enables users to test the captured log during specific tests (similar to capsys for example). For more information, please see the logging docs <https://docs.pytest.org/en/latest/logging.html>. This feature was introduced by merging the popular pytest-catchlog <https://pypi.org/project/pytest-catchlog/> plugin, thanks to Thomas Hisch <https://github.com/thisch>. Be advised that during the merging the backward compatibility interface with the defunct pytest-capturelog has been dropped. (2794 <https://github.com/pytest-dev/pytest/issues/2794>)

  • Add allow_module_level kwarg to pytest.skip(), enabling to skip the whole module. (2808 <https://github.com/pytest-dev/pytest/issues/2808>_)

  • Allow setting file_or_dir, -c, and -o in PYTESTADDOPTS. (2824 <https://github.com/pytest-dev/pytest/issues/2824>)

  • Return stdout/stderr capture results as a namedtuple, so out and err can be accessed by attribute. (2879 <https://github.com/pytest-dev/pytest/issues/2879>_)

  • Add capfdbinary, a version of capfd which returns bytes from readouterr(). (2923 <https://github.com/pytest-dev/pytest/issues/2923>_)

  • Add capsysbinary a version of capsys which returns bytes from readouterr(). (2934 <https://github.com/pytest-dev/pytest/issues/2934>_)

  • Implement feature to skip setup.py files when run with --doctest-modules. (502 <https://github.com/pytest-dev/pytest/issues/502>_)

Bug Fixes

  • Resume output capturing after capsys/capfd.disabled() context manager. (1993 <https://github.com/pytest-dev/pytest/issues/1993>_)

  • pytest_fixture_setup and pytest_fixture_post_finalizer hooks are now called for all conftest.py files. (2124 <https://github.com/pytest-dev/pytest/issues/2124>_)

  • If an exception happens while loading a plugin, pytest no longer hides the original traceback. In python2 it will show the original traceback with a new message that explains in which plugin. In python3 it will show 2 canonized exceptions, the original exception while loading the plugin in addition to an exception that PyTest throws about loading a plugin. (2491 <https://github.com/pytest-dev/pytest/issues/2491>_)

  • capsys and capfd can now be used by other fixtures. (2709 <https://github.com/pytest-dev/pytest/issues/2709>_)

  • Internal pytester plugin properly encodes bytes arguments to utf-8. (2738 <https://github.com/pytest-dev/pytest/issues/2738>_)

  • testdir now uses use the same method used by tmpdir to create its temporary directory. This changes the final structure of the testdir directory slightly, but should not affect usage in normal scenarios and avoids a number of potential problems. (2751 <https://github.com/pytest-dev/pytest/issues/2751>_)

  • Pytest no longer complains about warnings with unicode messages being non-ascii compatible even for ascii-compatible messages. As a result of this, warnings with unicode messages are converted first to an ascii representation for safety. (2809 <https://github.com/pytest-dev/pytest/issues/2809>_)

  • Change return value of pytest command when --maxfail is reached from 2 (interrupted) to 1 (failed). (2845 <https://github.com/pytest-dev/pytest/issues/2845>_)

  • Fix issue in assertion rewriting which could lead it to rewrite modules which should not be rewritten. (2939 <https://github.com/pytest-dev/pytest/issues/2939>_)

  • Handle marks without description in pytest.ini. (2942 <https://github.com/pytest-dev/pytest/issues/2942>_)

Trivial/Internal Changes

  • pytest now depends on attrs <https://pypi.org/project/attrs/> for internal structures to ease code maintainability. (2641 <https://github.com/pytest-dev/pytest/issues/2641>)

  • Refactored internal Python 2/3 compatibility code to use six. (2642 <https://github.com/pytest-dev/pytest/issues/2642>_)

  • Stop vendoring pluggy - we're missing out on its latest changes for not much benefit (2719 <https://github.com/pytest-dev/pytest/issues/2719>_)

  • Internal refactor: simplify ascii string escaping by using the backslashreplace error handler in newer Python 3 versions. (2734 <https://github.com/pytest-dev/pytest/issues/2734>_)

  • Remove unnecessary mark evaluator in unittest plugin (2767 <https://github.com/pytest-dev/pytest/issues/2767>_)

  • Calls to Metafunc.addcall now emit a deprecation warning. This function is scheduled to be removed in pytest-4.0. (2876 <https://github.com/pytest-dev/pytest/issues/2876>_)

  • Internal move of the parameterset extraction to a more maintainable place. (2877 <https://github.com/pytest-dev/pytest/issues/2877>_)

  • Internal refactoring to simplify scope node lookup. (2910 <https://github.com/pytest-dev/pytest/issues/2910>_)

  • Configure pytest to prevent pip from installing pytest in unsupported Python versions. (2922 <https://github.com/pytest-dev/pytest/issues/2922>_)

3.2.5

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

Bug Fixes

  • Remove py<1.5 restriction from pytest as this can cause version conflicts in some installations. (2926 <https://github.com/pytest-dev/pytest/issues/2926>_)

3.2.4

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

Bug Fixes

  • Fix the bug where running with --pyargs will result in items with empty parent.nodeid if run from a different root directory. (2775 <https://github.com/pytest-dev/pytest/issues/2775>_)

  • Fix issue with pytest.parametrize if argnames was specified as keyword arguments. (2819 <https://github.com/pytest-dev/pytest/issues/2819>_)

  • Strip whitespace from marker names when reading them from INI config. (2856 <https://github.com/pytest-dev/pytest/issues/2856>_)

  • Show full context of doctest source in the pytest output, if the line number of failed example in the docstring is < 9. (2882 &lt;https://github.com/pytest-dev/pytest/issues/2882&gt;_)

  • Match fixture paths against actual path segments in order to avoid matching folders which share a prefix. (2836 &lt;https://github.com/pytest-dev/pytest/issues/2836&gt;_)

Improved Documentation

  • Introduce a dedicated section about conftest.py. (1505 &lt;https://github.com/pytest-dev/pytest/issues/1505&gt;_)

  • Explicitly mention xpass in the documentation of xfail. (1997 &lt;https://github.com/pytest-dev/pytest/issues/1997&gt;_)

  • Append example for pytest.param in the example/parametrize document. (2658 &lt;https://github.com/pytest-dev/pytest/issues/2658&gt;_)

  • Clarify language of proposal for fixtures parameters (2893 &lt;https://github.com/pytest-dev/pytest/issues/2893&gt;_)

  • List python 3.6 in the documented supported versions in the getting started document. (2903 &lt;https://github.com/pytest-dev/pytest/issues/2903&gt;_)

  • Clarify the documentation of available fixture scopes. (538 &lt;https://github.com/pytest-dev/pytest/issues/538&gt;_)

  • Add documentation about the python -m pytest invocation adding the current directory to sys.path. (911 &lt;https://github.com/pytest-dev/pytest/issues/911&gt;_)

3.2.3

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

Bug Fixes

  • Fix crash in tab completion when no prefix is given. (2748 &lt;https://github.com/pytest-dev/pytest/issues/2748&gt;_)

  • The equality checking function (__eq__) of MarkDecorator returns False if one object is not an instance of MarkDecorator. (2758 &lt;https://github.com/pytest-dev/pytest/issues/2758&gt;_)

  • When running pytest --fixtures-per-test: don't crash if an item has no fixtureinfo attribute (e.g. doctests) (2788 &lt;https://github.com/pytest-dev/pytest/issues/2788&gt;)

Improved Documentation

  • In help text of -k option, add example of using not to not select certain tests whose names match the provided expression. (1442 &lt;https://github.com/pytest-dev/pytest/issues/1442&gt;_)

  • Add note in parametrize.rst about calling metafunc.parametrize multiple times. (1548 &lt;https://github.com/pytest-dev/pytest/issues/1548&gt;_)

Trivial/Internal Changes

  • Set xfail_strict=True in pytest's own test suite to catch expected failures as soon as they start to pass. (2722 &lt;https://github.com/pytest-dev/pytest/issues/2722&gt;_)

  • Fix typo in example of passing a callable to markers (in example/markers.rst) (2765 &lt;https://github.com/pytest-dev/pytest/issues/2765&gt;_)

3.2.2

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

Bug Fixes

  • Calling the deprecated request.getfuncargvalue() now shows the source of the call. (2681 &lt;https://github.com/pytest-dev/pytest/issues/2681&gt;_)

  • Allow tests declared as staticmethod to use fixtures. (2699 &lt;https://github.com/pytest-dev/pytest/issues/2699&gt;_)

  • Fixed edge-case during collection: attributes which raised pytest.fail when accessed would abort the entire collection. (2707 &lt;https://github.com/pytest-dev/pytest/issues/2707&gt;_)

  • Fix ReprFuncArgs with mixed unicode and UTF-8 args. (2731 &lt;https://github.com/pytest-dev/pytest/issues/2731&gt;_)

Improved Documentation

  • In examples on working with custom markers, add examples demonstrating the usage of pytest.mark.MARKER_NAME.with_args in comparison with pytest.mark.MARKER_NAME.__call__ (2604 &lt;https://github.com/pytest-dev/pytest/issues/2604&gt;_)

  • In one of the simple examples, use pytest_collection_modifyitems() to skip tests based on a command-line option, allowing its sharing while preventing a user error when acessing pytest.config before the argument parsing. (2653 &lt;https://github.com/pytest-dev/pytest/issues/2653&gt;_)

Trivial/Internal Changes

  • Fixed minor error in 'Good Practices/Manual Integration' code snippet. (2691 &lt;https://github.com/pytest-dev/pytest/issues/2691&gt;_)

  • Fixed typo in goodpractices.rst. (2721 &lt;https://github.com/pytest-dev/pytest/issues/2721&gt;_)

  • Improve user guidance regarding --resultlog deprecation. (2739 &lt;https://github.com/pytest-dev/pytest/issues/2739&gt;_)

3.2.1

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

Bug Fixes

  • Fixed small terminal glitch when collecting a single test item. (2579 &lt;https://github.com/pytest-dev/pytest/issues/2579&gt;_)

  • Correctly consider / as the file separator to automatically mark plugin files for rewrite on Windows. (2591 &lt;https://github.com/pytest- dev/pytest/issues/2591&gt;_)

  • Properly escape test names when setting PYTEST_CURRENT_TEST environment variable. (2644 &lt;https://github.com/pytest-dev/pytest/issues/2644&gt;_)

  • Fix error on Windows and Python 3.6+ when sys.stdout has been replaced with a stream-like object which does not implement the full io module buffer protocol. In particular this affects pytest-xdist users on the aforementioned platform. (2666 &lt;https://github.com/pytest- dev/pytest/issues/2666&gt;_)

Improved Documentation

  • Explicitly document which pytest features work with unittest. (2626 &lt;https://github.com/pytest-dev/pytest/issues/2626&gt;_)

3.2.0

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

Deprecations and Removals

  • pytest.approx no longer supports &gt;, &gt;=, &lt; and &lt;= operators to avoid surprising/inconsistent behavior. See the approx docs &lt;https://docs.pytest.org/en/latest/builtin.htmlpytest.approx&gt; for more information. (2003 &lt;https://github.com/pytest-dev/pytest/issues/2003&gt;)

  • All old-style specific behavior in current classes in the pytest's API is considered deprecated at this point and will be removed in a future release. This affects Python 2 users only and in rare situations. (2147 &lt;https://github.com/pytest-dev/pytest/issues/2147&gt;_)

  • A deprecation warning is now raised when using marks for parameters in pytest.mark.parametrize. Use pytest.param to apply marks to parameters instead. (2427 &lt;https://github.com/pytest-dev/pytest/issues/2427&gt;_)

Features

  • Add support for numpy arrays (and dicts) to approx. (1994 &lt;https://github.com/pytest-dev/pytest/issues/1994&gt;_)

  • Now test function objects have a pytestmark attribute containing a list of marks applied directly to the test function, as opposed to marks inherited from parent classes or modules. (2516 &lt;https://github.com/pytest- dev/pytest/issues/2516&gt;_)

  • Collection ignores local virtualenvs by default; --collect-in-virtualenv overrides this behavior. (2518 &lt;https://github.com/pytest- dev/pytest/issues/2518&gt;_)

  • Allow class methods decorated as staticmethod to be candidates for collection as a test function. (Only for Python 2.7 and above. Python 2.6 will still ignore static methods.) (2528 &lt;https://github.com/pytest- dev/pytest/issues/2528&gt;_)

  • Introduce mark.with_args in order to allow passing functions/classes as sole argument to marks. (2540 &lt;https://github.com/pytest- dev/pytest/issues/2540&gt;_)

  • New cache_dir ini option: sets the directory where the contents of the cache plugin are stored. Directory may be relative or absolute path: if relative path, then directory is created relative to rootdir, otherwise it is used as is. Additionally path may contain environment variables which are expanded during runtime. (2543 &lt;https://github.com/pytest-dev/pytest/issues/2543&gt;_)

  • Introduce the PYTEST_CURRENT_TEST environment variable that is set with the nodeid and stage (setup, call and teardown) of the test being currently executed. See the documentation &lt;https://docs.pytest.org/en/latest/example/simple.htmlpytest-current-test- environment-variable&gt; for more info. (2583 &lt;https://github.com/pytest- dev/pytest/issues/2583&gt;)

  • Introduced pytest.mark.filterwarnings mark which allows overwriting the warnings filter on a per test, class or module level. See the docs &lt;https://docs.pytest.org/en/latest/warnings.htmlpytest-mark- filterwarnings&gt; for more information. (2598 &lt;https://github.com/pytest- dev/pytest/issues/2598&gt;)

  • --last-failed now remembers forever when a test has failed and only forgets it if it passes again. This makes it easy to fix a test suite by selectively running files and fixing tests incrementally. (2621 &lt;https://github.com/pytest-dev/pytest/issues/2621&gt;_)

  • New pytest_report_collectionfinish hook which allows plugins to add messages to the terminal reporting after collection has been finished successfully. (2622 &lt;https://github.com/pytest-dev/pytest/issues/2622&gt;_)

  • Added support for PEP-415&#39;s &lt;https://www.python.org/dev/peps/pep-0415/&gt;_ Exception.__suppress_context__. Now if a raise exception from None is caught by pytest, pytest will no longer chain the context in the test report. The behavior now matches Python's traceback behavior. (2631 &lt;https://github.com/pytest-dev/pytest/issues/2631&gt;_)

  • Exceptions raised by pytest.fail, pytest.skip and pytest.xfail now subclass BaseException, making them harder to be caught unintentionally by normal code. (580 &lt;https://github.com/pytest-dev/pytest/issues/580&gt;_)

Bug Fixes

  • Set stdin to a closed PIPE in pytester.py.Testdir.popen() for avoid unwanted interactive pdb (2023 &lt;https://github.com/pytest- dev/pytest/issues/2023&gt;_)

  • Add missing encoding attribute to sys.std* streams when using capsys capture mode. (2375 &lt;https://github.com/pytest- dev/pytest/issues/2375&gt;_)

  • Fix terminal color changing to black on Windows if colorama is imported in a conftest.py file. (2510 &lt;https://github.com/pytest- dev/pytest/issues/2510&gt;_)

  • Fix line number when reporting summary of skipped tests. (2548 &lt;https://github.com/pytest-dev/pytest/issues/2548&gt;_)

  • capture: ensure that EncodedFile.name is a string. (2555 &lt;https://github.com/pytest-dev/pytest/issues/2555&gt;_)

  • The options --fixtures and --fixtures-per-test will now keep indentation within docstrings. (2574 &lt;https://github.com/pytest- dev/pytest/issues/2574&gt;_)

  • doctests line numbers are now reported correctly, fixing pytest-sugar122 &lt;https://github.com/Frozenball/pytest-sugar/issues/122&gt;. (2610 &lt;https://github.com/pytest-dev/pytest/issues/2610&gt;)

  • Fix non-determinism in order of fixture collection. Adds new dependency (ordereddict) for Python 2.6. (920 &lt;https://github.com/pytest- dev/pytest/issues/920&gt;_)

Improved Documentation

  • Clarify pytest_configure hook call order. (2539 &lt;https://github.com/pytest-dev/pytest/issues/2539&gt;_)

  • Extend documentation for testing plugin code with the pytester plugin. (971 &lt;https://github.com/pytest-dev/pytest/issues/971&gt;_)

Trivial/Internal Changes

  • Update help message for --strict to make it clear it only deals with unregistered markers, not warnings. (2444 &lt;https://github.com/pytest- dev/pytest/issues/2444&gt;_)

  • Internal code move: move code for pytest.approx/pytest.raises to own files in order to cut down the size of python.py (2489 &lt;https://github.com/pytest- dev/pytest/issues/2489&gt;_)

  • Renamed the utility function _pytest.compat._escape_strings to _ascii_escaped to better communicate the function's purpose. (2533 &lt;https://github.com/pytest-dev/pytest/issues/2533&gt;_)

  • Improve error message for CollectError with skip/skipif. (2546 &lt;https://github.com/pytest-dev/pytest/issues/2546&gt;_)

  • Emit warning about yield tests being deprecated only once per generator. (2562 &lt;https://github.com/pytest-dev/pytest/issues/2562&gt;_)

  • Ensure final collected line doesn't include artifacts of previous write. (2571 &lt;https://github.com/pytest-dev/pytest/issues/2571&gt;_)

  • Fixed all flake8 errors and warnings. (2581 &lt;https://github.com/pytest- dev/pytest/issues/2581&gt;_)

  • Added fix-lint tox environment to run automatic pep8 fixes on the code. (2582 &lt;https://github.com/pytest-dev/pytest/issues/2582&gt;_)

  • Turn warnings into errors in pytest's own test suite in order to catch regressions due to deprecations more promptly. (2588 &lt;https://github.com/pytest-dev/pytest/issues/2588&gt;_)

  • Show multiple issue links in CHANGELOG entries. (2620 &lt;https://github.com/pytest-dev/pytest/issues/2620&gt;_)

psycopg2 2.7.1 -> 2.7.3.2

2.7.3.2

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  • Wheel package compiled against PostgreSQL 10.0 libpq and OpenSSL 1.0.2l (:tickets:601, 602)

2.7.3.1

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  • Dropped libresolv from wheel package to avoid incompatibility with glibc 2.26 (wheels ticket 2)

2.7.3

^^^^^^^^^^^^^^^^^^^^^^^^^^^

  • Restored default :sql:timestamptz[] typecasting to Python !datetime. Regression introduced in Psycopg 2.7.2 (:ticket:578).

2.7.2

^^^^^^^^^^^^^^^^^^^^^^^^^^^

  • Fixed inconsistent state in externally closed connections (:tickets:263, 311, 443). Was fixed in 2.6.2 but not included in 2.7 by mistake.
  • Fixed Python exceptions propagation in green callback (:ticket:410).
  • Don't display the password in connection.dsn when the connection string is specified as an URI (:ticket:528).
  • Return objects with timezone parsing "infinity" :sql:timestamptz (:ticket:536).
  • Dropped dependency on VC9 runtime on Windows binary packages (:ticket:541).
  • Fixed segfault in ~connection.lobject() when mode\=\ !None (:ticket:544).
  • Fixed ~connection.lobject() keyword argument lobject_factory (:ticket:545).
  • Fixed ~psycopg2.extras.ReplicationCursor.consume_stream() keepalive_interval argument (:ticket:547).
  • Maybe fixed random import error on Python 3.6 in multiprocess environment (:ticket:550).
  • Fixed random !SystemError upon receiving abort signal (:ticket:551).
  • Accept ~psycopg2.sql.Composable objects in ~psycopg2.extras.ReplicationCursor.start_replication_expert() (:ticket:554).
  • Parse intervals returned as microseconds from Redshift (:ticket:558).
  • Added ~psycopg2.extras.Json !prepare() method to consider connection params when adapting (:ticket:562).
  • ~psycopg2.errorcodes map updated to PostgreSQL 10 beta 1.

pandas -> 0.21.0

0.21.0


This is a major release from 0.20.3 and includes a number of API changes, deprecations, new features, enhancements, and performance improvements along with a large number of bug fixes. We recommend that all users upgrade to this version.

Highlights include:

  • Integration with Apache Parquet &lt;https://parquet.apache.org/&gt;__, including a new top-level :func:read_parquet function and :meth:DataFrame.to_parquet method, see :ref:here &lt;whatsnew_0210.enhancements.parquet&gt;.
  • New user-facing :class:pandas.api.types.CategoricalDtype for specifying categoricals independent of the data, see :ref:here &lt;whatsnew_0210.enhancements.categorical_dtype&gt;.
  • The behavior of sum and prod on all-NaN Series/DataFrames is now consistent and no longer depends on whether bottleneck &lt;http://berkeleyanalytics.com/bottleneck&gt;__ is installed, see :ref:here &lt;whatsnew_0210.api_breaking.bottleneck&gt;.
  • Compatibility fixes for pypy, see :ref:here &lt;whatsnew_0210.pypy&gt;.
  • Additions to the drop, reindex and rename API to make them more consistent, see :ref:here &lt;whatsnew_0210.enhancements.drop_api&gt;.
  • Addition of the new methods DataFrame.infer_objects (see :ref:here &lt;whatsnew_0210.enhancements.infer_objects&gt;) and GroupBy.pipe (see :ref:here &lt;whatsnew_0210.enhancements.GroupBy_pipe&gt;).
  • Indexing with a list of labels, where one or more of the labels is missing, is deprecated and will raise a KeyError in a future version, see :ref:here &lt;whatsnew_0210.api_breaking.loc&gt;.

Check the :ref:API Changes &lt;whatsnew_0210.api_breaking&gt; and :ref:deprecations &lt;whatsnew_0210.deprecations&gt; before updating.

.. contents:: What's new in v0.21.0 :local: :backlinks: none :depth: 2

.. _whatsnew_0210.enhancements:

New features



.. _whatsnew_0210.enhancements.parquet:

Integration with Apache Parquet file format
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Integration with `Apache Parquet &lt;https://parquet.apache.org/&gt;`__, including a new top-level :func:`read_parquet` and :func:`DataFrame.to_parquet` method, see :ref:`here &lt;io.parquet&gt;` (:issue:`15838`, :issue:`17438`).

`Apache Parquet &lt;https://parquet.apache.org/&gt;`__ provides a cross-language, binary file format for reading and writing data frames efficiently.
Parquet is designed to faithfully serialize and de-serialize ``DataFrame`` s, supporting all of the pandas
dtypes, including extension dtypes such as datetime with timezones.

This functionality depends on either the `pyarrow &lt;http://arrow.apache.org/docs/python/&gt;`__ or `fastparquet &lt;https://fastparquet.readthedocs.io/en/latest/&gt;`__ library.
For more details, see see :ref:`the IO docs on Parquet &lt;io.parquet&gt;`.

.. _whatsnew_0210.enhancements.infer_objects:

``infer_objects`` type conversion
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The :meth:`DataFrame.infer_objects` and :meth:`Series.infer_objects`
methods have been added to perform dtype inference on object columns, replacing
some of the functionality of the deprecated ``convert_objects``
method. See the documentation :ref:`here &lt;basics.object_conversion&gt;`
for more details. (:issue:`11221`)

This method only performs soft conversions on object columns, converting Python objects
to native types, but not any coercive conversions. For example:

.. ipython:: python

  df = pd.DataFrame({&#39;A&#39;: [1, 2, 3],
                     &#39;B&#39;: np.array([1, 2, 3], dtype=&#39;object&#39;),
                     &#39;C&#39;: [&#39;1&#39;, &#39;2&#39;, &#39;3&#39;]})
  df.dtypes
  df.infer_objects().dtypes

Note that column ``&#39;C&#39;`` was not converted - only scalar numeric types
will be converted to a new type.  Other types of conversion should be accomplished
using the :func:`to_numeric` function (or :func:`to_datetime`, :func:`to_timedelta`).

.. ipython:: python

  df = df.infer_objects()
  df[&#39;C&#39;] = pd.to_numeric(df[&#39;C&#39;], errors=&#39;coerce&#39;)
  df.dtypes

.. _whatsnew_0210.enhancements.attribute_access:

Improved warnings when attempting to create columns
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

New users are often puzzled by the relationship between column operations and
attribute access on ``DataFrame`` instances (:issue:`7175`). One specific
instance of this confusion is attempting to create a new column by setting an
attribute on the ``DataFrame``:

.. code-block:: ipython

  In[1]: df = pd.DataFrame({&#39;one&#39;: [1., 2., 3.]})
  In[2]: df.two = [4, 5, 6]

This does not raise any obvious exceptions, but also does not create a new column:

.. code-block:: ipython

  In[3]: df
  Out[3]:
      one
  0  1.0
  1  2.0
  2  3.0

Setting a list-like data structure into a new attribute now raises a ``UserWarning`` about the potential for unexpected behavior. See :ref:`Attribute Access &lt;indexing.attribute_access&gt;`.

.. _whatsnew_0210.enhancements.drop_api:

``drop`` now also accepts index/columns keywords
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The :meth:`~DataFrame.drop` method has gained ``index``/``columns`` keywords as an
alternative to specifying the ``axis``. This is similar to the behavior of ``reindex``
(:issue:`12392`).

For example:

.. ipython:: python

   df = pd.DataFrame(np.arange(8).reshape(2,4),
                     columns=[&#39;A&#39;, &#39;B&#39;, &#39;C&#39;, &#39;D&#39;])
   df
   df.drop([&#39;B&#39;, &#39;C&#39;], axis=1)
    the following is now equivalent
   df.drop(columns=[&#39;B&#39;, &#39;C&#39;])

.. _whatsnew_0210.enhancements.rename_reindex_axis:

``rename``, ``reindex`` now also accept axis keyword
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The
codecov-io commented 6 years ago

Codecov Report

Merging #110 into master will not change coverage. The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #110   +/-   ##
=======================================
  Coverage   95.05%   95.05%           
=======================================
  Files           5        5           
  Lines         465      465           
=======================================
  Hits          442      442           
  Misses         23       23

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 77237ff...2465a29. Read the comment docs.

pyup-bot commented 6 years ago

Closing this in favor of #111