@@ -5,7 +5,98 @@ Changelog
55
66.. changelog ::
77 :version: 1.18.0
8- :include_notes_from: unreleased
8+ :released: January 9, 2026
9+
10+ .. change ::
11+ :tags: bug, postgresql
12+ :tickets: 1507
13+
14+ Fixed issue where PostgreSQL sequence defaults on non-primary key columns
15+ were incorrectly detected as changed on every autogenerate run. Server
16+ default comparison logic is adjusted to filter out the ``::regclass ``
17+ expression added by the server which interferes with the comparison.
18+
19+ .. change ::
20+ :tags: feature, operations
21+ :tickets: 1737
22+
23+ When alembic is run in "verbose" mode, alembic now logs a message to
24+ indicate from which file is used to load the configuration.
25+
26+ .. change ::
27+ :tags: bug, mssql
28+ :tickets: 1755
29+
30+ Implemented DDL for column comment add/update/delete when using the
31+ :paramref: `.Operations.alter_column.comment ` parameter with
32+ :meth: `.Operations.alter_column ` on Microsoft SQL Server. Previously,
33+ these functions were not implemented for SQL Server and would raise
34+ ``UnsupportedCompilationError ``.
35+
36+ .. change ::
37+ :tags: feature, autogenerate
38+ :tickets: 1771
39+
40+ Autogenerate reflection sweeps now use the "bulk" inspector methods
41+ introduced in SQLAlchemy 2.0, which for selected dialects including
42+ PostgreSQL and Oracle use batched queries to reflect whole collections of
43+ tables using O(1) queries rather than O(N).
44+
45+ .. change ::
46+ :tags: usecase, environment
47+ :tickets: 1774
48+
49+ The ``file_template `` configuration option now supports directory paths,
50+ allowing migration files to be organized into subdirectories. When using
51+ directory separators in ``file_template `` (e.g.,
52+ ``%(year)d/%(month).2d/%(day).2d_%(rev)s_%(slug)s ``), Alembic will
53+ automatically create the necessary directory structure. The
54+ ``recursive_version_locations `` setting must be set to ``true `` when using
55+ this feature in order for the revision files to be located for subsequent
56+ commands.
57+
58+ .. change ::
59+ :tags: usecase
60+
61+ Avoid deprecation warning in add/drop constraint added in SQLAlchemy 2.1.
62+ Ensure that alembic is compatible with the changes added in
63+ https://github.com/sqlalchemy/sqlalchemy/issues/13006
64+ by explicitly setting ``isolate_from_table=True `` when running with
65+ SQLAlchemy 2.1 or greater.
66+
67+ .. change ::
68+ :tags: feature, autogenerate
69+
70+ Release 1.18.0 introduces a plugin system that allows for automatic
71+ loading of third-party extensions as well as configurable autogenerate
72+ compare functionality on a per-environment basis.
73+
74+ The :class: `.Plugin ` class provides a common interface for extensions that
75+ register handlers among Alembic's existing extension points such as
76+ :meth: `.Operations.register_operation ` and
77+ :meth: `.Operations.implementation_for `. A new interface for registering
78+ autogenerate comparison handlers,
79+ :meth: `.Plugin.add_autogenerate_comparator `, provides for autogenerate
80+ compare functionality that may be custom-configured on a per-environment
81+ basis using the new
82+ :paramref: `.EnvironmentContext.configure.autogenerate_plugins ` parameter.
83+
84+ The change does not impact well known Alembic add-ons such as
85+ ``alembic-utils ``, which continue to work as before; however, such add-ons
86+ have the option to provide plugin entrypoints going forward.
87+
88+ As part of this change, Alembic's autogenerate compare functionality is
89+ reorganized into a series of internal plugins under the
90+ ``alembic.autogenerate `` namespace, which may be individually or
91+ collectively identified for inclusion and/or exclusion within the
92+ :meth: `.EnvironmentContext.configure ` call using a new parameter
93+ :paramref: `.EnvironmentContext.configure.autogenerate_plugins `. This
94+ parameter is also where third party comparison plugins may also be
95+ indicated.
96+
97+ See :ref: `alembic.plugins.toplevel ` for complete documentation on
98+ the new :class: `.Plugin ` class as well as autogenerate-specific usage
99+ instructions.
9100
10101.. changelog ::
11102 :version: 1.17.2
0 commit comments