MySQL Connector/Python Release Notes

2.1 Changes in MySQL Connector/Python 9.4.0 (2025-07-22, General Availability)

Note

These release notes were created with the assistance of MySQL HeatWave GenAI.

Functionality Added or Changed

  • The extra option name for wheel package installation of dependencies for WebAuthn functionality has been changed from fido2 to webauthn. (Bug #37806057)

  • The pure-Python implementation of Connector/Python now supports Django enum objects and ChoiceField when executing queries using Django ORM. (Bug #116056, Bug #37047789)

  • Connection pooling support for AsyncIO connections is now available.

    Thanks to Sean Stewart for contributing this patch. (Bug #114926, Bug #36733242)

  • The version of Protobuf required by and installed with the X DevAPI has been updated to 5.29.4. (WL #16962)

  • The LZ4 package, which is shipped with Connector/Python and installed with the X DevAPI by the compression installation option, has now been upgraded to version 4.4.4. (WL #16966)

  • The version of OpenTelemetry required by and installed with the classic API by the telemetry installation option has been updated to 1.33.1. (WL #16963)

Bugs Fixed

  • When making asynchronous connections to the server using Connector/Python, OCI plugin options like oci_config_file and oci_config_profile were not recognized and caused connections to fail. (Bug #38072835)

  • Queries on text-type fields like Charfield and TextField failed when Django ORM filters (for example, startswith, endswith, contains, and regex) were used. It was because Connector/Python was using some deprecated MySQL commands behind the scene, and they have now been updated. (Bug #37820231)

  • Binary data containing double percent signs (%%) was not correctly persisted in BLOB columns, but had the first percentage sign stripped. (Bug #118025, Bug #37859771)

    References: This issue is a regression of: Bug #37447394.

  • Unlike when using the C extension, the pure-Python implementation could not convert NumPy float62 values into a MySQL type during a query. With this fix, conversion works, so that the C Extension and pure-Python implementations are now consistent in this respect. (Bug #117827, Bug #37774513)

  • When using the Connector/Python C Extension with an unbuffered server-side cursor, fetchmany(1) failed to fetch more results after reading the second row in the result set. (Bug #117548, Bug #37627508)

  • When using the Connector/Python C Extension, connections to a server using sshtunnel failed, with the connection hanging, or a segmentation fault. (Bug #108761, Bug #34844347, Bug #34950958)

  • Installation of Connector/Python using the source distribution failed. With release 9.4.0, Connector/Python is now installable from source using pip. See Installing Connector/Python from a Source Distribution for details. (WL #16954)