From: Mike Bayer Date: Mon, 30 Aug 2021 15:02:39 +0000 (-0400) Subject: - 1.7.0 X-Git-Tag: rel_1_7_0 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2c5752e745091a8f5f5720bad1fe629bf2cd30a0;p=thirdparty%2Fsqlalchemy%2Falembic.git - 1.7.0 --- diff --git a/docs/build/changelog.rst b/docs/build/changelog.rst index 8f1c0579..679e367d 100644 --- a/docs/build/changelog.rst +++ b/docs/build/changelog.rst @@ -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 `_ and + `SAP ASE (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 diff --git a/docs/build/conf.py b/docs/build/conf.py index 11edeeb4..81148edf 100644 --- a/docs/build/conf.py +++ b/docs/build/conf.py @@ -85,8 +85,8 @@ copyright = u"2010-2021, Mike Bayer" # noqa # 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 diff --git a/docs/build/unreleased/674.rst b/docs/build/unreleased/674.rst deleted file mode 100644 index a6c8b03f..00000000 --- a/docs/build/unreleased/674.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. 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. diff --git a/docs/build/unreleased/842.rst b/docs/build/unreleased/842.rst deleted file mode 100644 index e5f395da..00000000 --- a/docs/build/unreleased/842.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. 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). diff --git a/docs/build/unreleased/855.rst b/docs/build/unreleased/855.rst deleted file mode 100644 index 0609fb77..00000000 --- a/docs/build/unreleased/855.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. 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 `_ and - `SAP ASE (Sybase) `_. diff --git a/docs/build/unreleased/856.rst b/docs/build/unreleased/856.rst deleted file mode 100644 index b756fc32..00000000 --- a/docs/build/unreleased/856.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. change:: - :tags: bug, commands - :tickets: 856 - - Re-implemented the ``python-editor`` dependency as a small internal - function to avoid the need for external dependencies. diff --git a/docs/build/unreleased/874.rst b/docs/build/unreleased/874.rst deleted file mode 100644 index 36a73efa..00000000 --- a/docs/build/unreleased/874.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. 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. diff --git a/docs/build/unreleased/879.rst b/docs/build/unreleased/879.rst deleted file mode 100644 index 07e50edb..00000000 --- a/docs/build/unreleased/879.rst +++ /dev/null @@ -1,9 +0,0 @@ -.. 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. - diff --git a/docs/build/unreleased/883.rst b/docs/build/unreleased/883.rst deleted file mode 100644 index ecf38bc8..00000000 --- a/docs/build/unreleased/883.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. 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. diff --git a/docs/build/unreleased/884.rst b/docs/build/unreleased/884.rst deleted file mode 100644 index d357d992..00000000 --- a/docs/build/unreleased/884.rst +++ /dev/null @@ -1,24 +0,0 @@ -.. 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` - diff --git a/docs/build/unreleased/885.rst b/docs/build/unreleased/885.rst deleted file mode 100644 index 5e7068f3..00000000 --- a/docs/build/unreleased/885.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. 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). diff --git a/docs/build/unreleased/py3.rst b/docs/build/unreleased/py3.rst deleted file mode 100644 index f41610b6..00000000 --- a/docs/build/unreleased/py3.rst +++ /dev/null @@ -1,5 +0,0 @@ -.. 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. diff --git a/docs/build/unreleased/py3_typing.rst b/docs/build/unreleased/py3_typing.rst deleted file mode 100644 index fa4d2cf2..00000000 --- a/docs/build/unreleased/py3_typing.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. 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. \ No newline at end of file