Skip to content

Upcoming Release Notes

Gaurav Sharma edited this page Sep 18, 2026 · 28 revisions

Release notes

The canonical release history is available in GitHub Releases and the repository CHANGELOG.

mssql-django 2.0 Release Notes (September 2026)

Added:

  • Added per-database opt-in support for Microsoft's mssql-python driver while retaining pyodbc as the default (#596, #597, #599)

Changed:

  • Set the supported baseline to Django 5.2, 6.0, and 6.1 on CPython 3.10 through 3.14, with Python 3.12 or newer required for Django 6.0 and 6.1 (#598, #605)
  • Made mssql-python 1.15.0 or newer a required dependency while retaining pyodbc as the default (#599)
  • Replaced pytz with standard-library zoneinfo and tzdata (#535)
  • Allowed future SQL Server releases to use the latest capabilities known to the backend instead of failing version validation (#609)

Fixed:

  • Defaulted an omitted or empty HOST to localhost for mssql-python connections (#613)
  • Honored explicit MARS_Connection settings for Microsoft Fabric Warehouse connections (#600)
  • Escaped SQL Server bracket wildcards in pattern lookups using F() expressions (#575)
  • Escaped single quotes in inspectdb --schema metadata queries (#583)

Breaking changes:

  • Python 3.8 and 3.9, Django 3.2 through 5.1, and SQL Server 2016 are no longer supported
  • mssql-python 1.15.0 or newer is now a required dependency, including when pyodbc is selected
  • Installation is limited to platforms with compatible mssql-python distributions; other environments must remain on mssql-django 1.8.0

Read the complete mssql-django 2.0 release notes.

mssql-django 1.8.0 Release Notes (August 2026)

Added:

  • Added Django 6.1 support (#553, #554, #555, #556, #563, #564)
  • Added Django 6.1 foreign-key introspection, including the database ON DELETE rule (#556)

Changed:

  • Declared unsupported Django 6.1 database-level referential actions and bitwise aggregates so they fail explicitly instead of producing incorrect behavior (#553, #554)
  • Updated query compilation for Django 6.1's identifier quoting API (#555, #563)

mssql-django 1.7.4 Release Notes (July 2026)

Fixed:

  • Preserved escaped %% literals in raw and annotated GROUP BY queries (#537)
  • Supported IntegerChoices parameters in raw GROUP BY queries (#541)

mssql-django 1.7.3 Release Notes (June 2026)

Fixed:

  • Fixed KeyError when connecting through a DatabaseWrapper subclass (#532)
  • Stopped adding Trusted_Connection or SSPI when an explicit Authentication= mode is configured (#533)

mssql-django 1.7.2 Release Notes (May 2026)

Fixed:

  • Fixed .explain() compatibility with Django 4.0 and newer (#524)
  • Preserved timezone offsets from DATETIMEOFFSET values and used SYSDATETIMEOFFSET() for Now() when USE_TZ=True (#484)

mssql-django 1.7.1 Release Notes (April 2026)

Added:

  • Added Microsoft Fabric SQL Database support for EngineEdition=12 (#518)

Fixed:

  • Fixed AlterField migrations for descending fields in Meta.indexes (#519)

mssql-django 1.7 Release Notes (March 2026)

Added:

  • Django 6.0 and Python 3.14 support (#488, #506, #507, #508, #509, #510)
  • SQL Server 2025 support with Linux CI (#489)
  • Composite primary key support for Django 5.2+ (#462, #465, #501, #504)
  • ODBC Driver 18 as default with automatic v17 fallback (#493)
  • Devcontainer for local development (#500)
  • Copilot instructions and AI-assisted development prompts (#495)

Improved:

  • Enhanced quote_name() identifier handling for aliases with periods (#490)
  • Meta.indexes restoration on field alteration (#498)
  • Pipeline and CI infrastructure, including public ADO pipelines and SQL Server 2025 CI (#473, #474)

Fixed:

  • JSON lookup path handling to prevent double-escaping of special characters (#506)
  • Batching and ORDER BY compatibility with offset queries (#507)
  • db_default bulk insert alignment (#508)
  • JSON ordering deduplication and exclusion hygiene (#509)
  • StringAgg order_by support including OuterRef handling (#510, #511, #512)
  • Package distribution now excludes testapp from pip installs (#503)

mssql-django 1.6 Release Notes (August 2025)

Added:

  • Django 5.1 support (#452, #454, #456, #457)
  • Django 5.2 support with improved identifier quoting, auto-schema creation, and JSONArray function (#468, #460, #461)

Improved:

  • Enhanced JSON functionality with backward-compatible lookup logic and a refactored has_key (#448, #459)
  • Pipeline infrastructure with a retry mechanism, improved ODBC installation, and excluded uncovered tests (#455, #446, #449, #451)

Fixed:

  • Comprehensive test exclusions for Django 5.2 SQL Server limitations (#469)
  • Circular import resolution in multiple database tests for Django 5.1 (#453)

mssql-django 1.5 Release Notes (April 2024)

Added:

  • Add flag to db_comments condition (#373)
    • Users can now set the supports_comments feature to false to disable comment retrieval

Fixed:

  • Fix add autofield (#357)
  • Fix param format bug (#378)
  • Fix query, ensure that we only check tables in the right schema (#381)

mssql-django 1.4.2 Release Notes (March 2024)

Fixed:

  • restore original uuid behaviour (#364) Will be adding native UUID support in future release

mssql-django 1.4.1 Release Notes (March 2024)

Added:

  • add support for boolean aggregates (#332)
  • Support GeneratedField (#335)

Fixed:

  • revert can_return_rows_from_bulk_insert to False (#336)
  • Modify bulk update default value (#341)
  • Remove subqueries from group by. Fixes #343 (#344)
  • Set boolean expr flag to false, unskip constraint tests (#349)
  • Fix aggregate queries with case expressions (#354)
  • Update SQL query for split parameters function (#358)

mssql-django 1.4 Release Notes (January 2024)

Added:

  • Add db_comment support (#318)
  • Django 5.0 support (#327)

Fixed:

  • Fix introspection test on SmallAutoField (#287)
  • Fix converting date/time from character string. (#290)
  • Add logic to include deleting _meta.indexes to _delete_indexes (#292)
  • Implement fix for empty aggregate (#324)

mssql-django 1.3 Release Notes (May 2023)

Added:

  • Add case-sensitive feature for Replace function (#222)
  • Add support for Django 4.2 (#269)

Fixed:

  • Fix #196: changed getting system datetime to cached_property (#217)
  • Fix an issue of adding OFFSET keyword for legacy SQL Server versions (#218)
  • Fix left padding function to return strings with correct length (#226)
  • Fix limit_offset_sql to handle cases when there is no OFFSET (#235)

mssql-django 1.2 Release Notes (December 2022)

Added:

  • Timezone support (To use will need to do some manual migrations. See the wiki page on timezone support) (#140, #160)
  • Fixed inserting into tables with triggers fails (#158, #161)
  • Returning rows after bulk insert is off by default and can be enabled by setting return_rows_bulk_insert in the OPTIONS dictionary to True (#161)
  • Add capability to convert to and from AutoField and BigAutoField (#128)
  • Added hashing function support (#152)
  • Add xor bit shift support (#172)
  • Add support for left and right arithmetic bit shift (#182)
  • Add jsonfield support for sql managed instance (#198)
  • Add support for sql server 2022 (#202)
  • Add support for Django 4.1 (#208)

Fixed:

  • Fix #137: handle legacy unique together constraint (#138)
  • Fix random order by issue (#142)
  • Fix altering unique, nullable field to non-nullable error (#163)
  • Fix date_trunc_sql() to work with < 4-digit year (#188)

mssql-django 1.1.3 Release Notes (April 2022)

Added:

  • Add possibility for token authentication (#102)
  • Returning ids/rows after bulk insert (#107)
  • Unit test for issues #110 and #90 (#115)

Fixed:

  • Only drop necessary indexes during field rename (#97)
  • KeyTransformExact applied to all databases (#98)
  • Alter nullability for foreign key (#93)
  • Overridden functions not working with other DBs (#105)
  • reset_sequences argument in sql_flush (#112)
  • Add offset clause for all Django versions (#117)
  • Fixed issues related to unique constraints (#106)

mssql-django 1.1.2 Release Notes (January 2022)

Fixed:

  • Duplicated index created when alter foreignkey
  • Migration error when alter fields to JSONField/TextField
  • Migration not detected for non-default schema
  • Unique index lost when renaming M2M field

mssql-django 1.1.1 Release Notes (December 2021)

Fixed:

  • Migration alterfield and indexes issue

Added:

  • setencoding and setdecoding in settings.py

mssql-django 1.1 Release Notes (November 2021)

Added:

  • Core support for Django 4.0
  • ActiveDirectoryMsi authentication
  • inspectdb with --schema flag

Fixed Issues:

  • Azure SQL version/features is now checked correctly
  • Collation conflict when creating temp table
  • Fixed unicode constraint name error
  • bulk_update set fields to null
  • Index name error for user-defined schema
  • bulk batch size exceeding parameters limit
  • Migration Alter(rename) field

Clone this wiki locally