|
| 1 | +====================== |
| 2 | + What's new in 2.3.0 |
| 3 | +====================== |
| 4 | + |
| 5 | +Release: 2026-09-07 |
| 6 | + |
| 7 | +* Concurrent use of the same Connection object from multiple threads now |
| 8 | + raises ``ProgrammingError`` immediately instead of causing undefined |
| 9 | + behavior. |
| 10 | + Applications should use separate connections for concurrent operations. |
| 11 | + (#781) |
| 12 | + |
| 13 | +* Add an optional ``executemany_fallback="multi"`` connection option. |
| 14 | + When enabled, ``Cursor.executemany()`` can batch eligible INSERT, REPLACE, |
| 15 | + UPDATE, and DELETE statements into multi-statement queries instead of |
| 16 | + executing them one at a time. This can significantly improve performance of |
| 17 | + operations such as SQLAlchemy bulk UPDATEs. The default remains "loop", |
| 18 | + and the existing multi-row INSERT/REPLACE optimization is unchanged. (#798) |
| 19 | + |
| 20 | +* Add ``Cursor.warning_count`` to expose the warning count for the last |
| 21 | + statement. (#780) |
| 22 | + |
| 23 | +* Make ``Cursor`` itself an iterator as specified by DB-API 2.0. |
| 24 | + ``iter(cursor) is cursor`` and ``next(cursor)`` fetches the next row. (#785) |
| 25 | + |
| 26 | +* Quote stored procedure names and user variable names in ``Cursor.callproc()``, |
| 27 | + allowing names containing reserved words or special characters. (#789) |
| 28 | + |
| 29 | +* Fix conversion of ``datetime.timedelta`` values to support microseconds and |
| 30 | + negative values correctly. (#795) |
| 31 | + |
| 32 | +* Add Windows ARM64 wheels. (#796) |
| 33 | + |
| 34 | +* Test with Python 3.15 and free-threaded Python 3.15, and update the MariaDB |
| 35 | + Connector/C used for Windows wheels to 3.4.9. (#797) |
| 36 | + |
| 37 | +* Add ``Connection.more_results()`` for checking whether additional results |
| 38 | + remain after a multi-statement query. (#798) |
| 39 | + |
| 40 | +* Deprecate accessing exception classes such as ``ProgrammingError`` and |
| 41 | + ``OperationalError`` as ``Cursor`` attributes. Access them from the |
| 42 | + ``MySQLdb`` package instead. (#782) |
| 43 | + |
| 44 | +* Deprecate the ``reconnect`` parameter of ``Connection.ping()``. Calling |
| 45 | + ``ping()`` without the parameter is unchanged. (#790) |
| 46 | + |
| 47 | + |
1 | 48 | ====================== |
2 | 49 | What's new in 2.2.8 |
3 | 50 | ====================== |
|
0 commit comments