Skip to content

Commit

Permalink
- 1.7.0
Browse files Browse the repository at this point in the history
  • Loading branch information
zzzeek committed Aug 30, 2021
1 parent 2c96569 commit 2c5752e
Show file tree
Hide file tree
Showing 13 changed files with 127 additions and 116 deletions.
126 changes: 125 additions & 1 deletion docs/build/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,131 @@ Changelog

.. changelog::
:version: 1.7.0
:include_notes_from: unreleased
:released: August 30, 2021

.. change::
:tags: bug, operations
:tickets: 879

Fixed regression due to :ticket:`803` where the ``.info`` and ``.comment``
attributes of ``Table`` would be lost inside of the :class:`.DropTableOp`
class, which when "reversed" into a :class:`.CreateTableOp` would then have
lost these elements. Pull request courtesy Nicolas CANIART.


.. change::
:tags: feature, environment
:tickets: 842

Enhance ``version_locations`` parsing to handle paths containing spaces.
The new configuration option ``version_path_separator`` specifies the
character to use when splitting the ``version_locations`` string. The
default for new configurations is ``version_path_separator = os``,
which will use ``os.pathsep`` (e.g., ``;`` on Windows).

.. change::
:tags: installation, changed

Alembic 1.7 now supports Python 3.6 and above; support for prior versions
including Python 2.7 has been dropped.

.. change::
:tags: bug, sqlite, batch
:tickets: 883

Batch "auto" mode will now select for "recreate" if the ``add_column()``
operation is used on SQLite, and the column itself meets the criteria for
SQLite where ADD COLUMN is not allowed, in this case a functional or
parenthesized SQL expression or a ``Computed`` (i.e. generated) column.

.. change::
:tags: changed, installation
:tickets: 674

Make the ``python-dateutil`` library an optional dependency.
This library is only required if the ``timezone`` option
is used in the Alembic configuration.
An extra require named ``tz`` is available with
``pip install alembic[tz]`` to install it.

.. change::
:tags: bug, commands
:tickets: 856

Re-implemented the ``python-editor`` dependency as a small internal
function to avoid the need for external dependencies.

.. change::
:tags: usecase, batch
:tickets: 884

Named CHECK constraints are now supported by batch mode, and will
automatically be part of the recreated table assuming they are named. They
also can be explicitly dropped using ``op.drop_constraint()``. For
"unnamed" CHECK constraints, these are still skipped as they cannot be
distinguished from the CHECK constraints that are generated by the
``Boolean`` and ``Enum`` datatypes.

Note that this change may require adjustments to migrations that drop or
rename columns which feature an associated named check constraint, such
that an additional ``op.drop_constraint()`` directive should be added for
that named constraint as there will no longer be an associated column
for it; for the ``Boolean`` and ``Enum`` datatypes, an ``existing_type``
keyword may be passed to ``BatchOperations.drop_constraint`` as well.

.. seealso::

:ref:`batch_schematype_constraints`

:ref:`batch_check_constraints`


.. change::
:tags: changed, installation
:tickets: 885

The dependency on ``pkg_resources`` which is part of ``setuptools`` has
been removed, so there is no longer any runtime dependency on
``setuptools``. The functionality has been replaced with
``importlib.metadata`` and ``importlib.resources`` which are both part of
Python std.lib, or via pypy dependency ``importlib-metadata`` for Python
version < 3.8 and ``importlib-resources`` for Python version < 3.9
(while importlib.resources was added to Python in 3.7, it did not include
the "files" API until 3.9).

.. change::
:tags: feature, tests
:tickets: 855

Created a "test suite" similar to the one for SQLAlchemy, allowing
developers of third-party dialects to test their code against a set of
Alembic tests that have been specially selected to exercise
back-end database operations. At the time of release,
third-party dialects that have adopted the Alembic test suite to verify
compatibility include
`CockroachDB <https://pypi.org/project/sqlalchemy-cockroachdb/>`_ and
`SAP ASE (Sybase) <https://pypi.org/project/sqlalchemy-sybase/>`_.

.. change::
:tags: bug, postgresql
:tickets: 874

Fixed issue where usage of the PostgreSQL ``postgresql_include`` option
within a :meth:`.Operations.create_index` would raise a KeyError, as the
additional column(s) need to be added to the table object used by the
construct internally. The issue is equivalent to the SQL Server issue fixed
in :ticket:`513`. Pull request courtesy Steven Bronson.

.. change::
:tags: feature, general

pep-484 type annotations have been added throughout the library.
Additionally, stub .pyi files have been added for the "dynamically"
generated Alembic modules ``alembic.op`` and ``alembic.config``, which
include complete function signatures and docstrings, so that the functions
in these namespaces will have both IDE support (vscode, pycharm, etc) as
well as support for typing tools like Mypy. The files themselves are
statically generated from their source functions within the source tree.

.. changelog::
:version: 1.6.5
Expand Down
4 changes: 2 additions & 2 deletions docs/build/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,8 @@
# The short X.Y version.
version = alembic.__version__
# The full version, including alpha/beta/rc tags.
release = "1.6.5"
release_date = "May 27, 2021"
release = "1.7.0"
release_date = "August 30, 2021"


# The language for content autogenerated by Sphinx. Refer to documentation
Expand Down
9 changes: 0 additions & 9 deletions docs/build/unreleased/674.rst

This file was deleted.

9 changes: 0 additions & 9 deletions docs/build/unreleased/842.rst

This file was deleted.

12 changes: 0 additions & 12 deletions docs/build/unreleased/855.rst

This file was deleted.

6 changes: 0 additions & 6 deletions docs/build/unreleased/856.rst

This file was deleted.

9 changes: 0 additions & 9 deletions docs/build/unreleased/874.rst

This file was deleted.

9 changes: 0 additions & 9 deletions docs/build/unreleased/879.rst

This file was deleted.

8 changes: 0 additions & 8 deletions docs/build/unreleased/883.rst

This file was deleted.

24 changes: 0 additions & 24 deletions docs/build/unreleased/884.rst

This file was deleted.

12 changes: 0 additions & 12 deletions docs/build/unreleased/885.rst

This file was deleted.

5 changes: 0 additions & 5 deletions docs/build/unreleased/py3.rst

This file was deleted.

10 changes: 0 additions & 10 deletions docs/build/unreleased/py3_typing.rst

This file was deleted.

0 comments on commit 2c5752e

Please sign in to comment.