All notable user-facing changes to mssql-django are documented in this file.
- Preserved structured
Meta.indexesand conditional/coveringUniqueConstraintdefinitions - including their positional expressions - acrossRenameField-plus-AlterFieldmigrations (split or combined), reused/multiple renames, optimizer-foldedCreateModel, andAutoField/BigAutoFieldcolumn-rename restoration (#584).
2.0.0 - 2026-09-18
- Added per-connection opt-in support for mssql-python while retaining pyodbc as the default driver (#596).
- Made mssql-python 1.15.0 or newer a required dependency while retaining pyodbc as the default database driver (#599).
- Narrowed declared support to CPython 3.10-3.14, Django 5.2-6.1, supported mssql-python platforms, and SQL Server 2017-2025 (#598, #605).
- Replaced pytz with standard-library zoneinfo and tzdata, stabilizing named timezone offsets across the year (#535).
- Honored explicit
MARS_Connectionvalues for Microsoft Fabric Warehouse connections and buffered ORM iteration when MARS is disabled (#600). - Allowed future SQL Server releases to use the latest capabilities known to the backend instead of failing version validation (#609).
- Defaulted an omitted
HOSTtolocalhostfor mssql-python connections, matching pyodbc's local-server behavior (#613). - Escaped SQL Server
[wildcards in pattern lookups that useF()expressions (#575). - Escaped single quotes in
inspectdb --schemametadata queries (#583).
1.8.0 - 2026-08-07
- Added Django 6.1 support (#553, #554, #555, #556, #563, #564).
- Added Django 6.1 foreign-key introspection support, including the database
ON DELETErule (#556).
- Declared database-level referential actions and bitwise aggregates unsupported on Django 6.1 so they fail explicitly instead of producing incorrect behavior (#553, #554).
- Updated query compilation for Django 6.1's identifier quoting API (#555, #563).
1.7.4 - 2026-07-24
- Preserved escaped
%%literals in raw and annotatedGROUP BYqueries (#537). - Supported
IntegerChoicesparameters in rawGROUP BYqueries (#541).
1.7.3 - 2026-06-22
- Fixed
KeyErrorwhen connecting through aDatabaseWrappersubclass (#532). - Stopped adding
Trusted_Connectionor SSPI when an explicitAuthentication=mode is configured (#533).
1.7.2 - 2026-05-22
- Fixed
.explain()compatibility with Django 4.0 and newer (#524). - Preserved timezone offsets from
DATETIMEOFFSETvalues and usedSYSDATETIMEOFFSET()forNow()whenUSE_TZ=True(#484).
1.7.1 - 2026-04-24
- Added Microsoft Fabric SQL Database support for
EngineEdition=12(#518).
- Fixed
AlterFieldmigrations for descending fields inMeta.indexes(#519).
1.7.0 - 2026-03-06
- Added Django 6.0 and Python 3.14 support (#488, #506, #507, #508, #509, #511, #512).
- Added SQL Server 2025 support (#489).
- Added Django 5.2 composite primary key support for ordering, bulk updates, tuple lookups, and JSON expressions (#462, #465, #501, #504).
- Made Microsoft ODBC Driver 18 the default, with automatic fallback to Driver 17 (#493).
- Improved quoting for identifiers and aliases containing periods (#490).
- Restored
Meta.indexesafter field alterations (#498). - Fixed JSON lookup paths and ordering (#506, #509).
- Fixed batching and
ORDER BYcompatibility (#507). - Fixed bulk inserts and returned rows for fields with
db_default(#508, #512). - Fixed ordered
StringAgg, includingOuterRefhandling (#511). - Excluded
testappfrom distributed packages (#503).