Skip to content

release v2.3.0 - #799

Merged
methane merged 2 commits into
PyMySQL:mainfrom
methane:release-v2.3.0
Sep 7, 2026
Merged

release v2.3.0#799
methane merged 2 commits into
PyMySQL:mainfrom
methane:release-v2.3.0

Conversation

@methane

@methane methane commented Sep 7, 2026

Copy link
Copy Markdown
Member

This pull request prepares for the 2.3.0 release by updating the version information and adding detailed release notes. The release introduces several new features, improvements, and deprecations to the MySQLdb package.

Release preparation:

  • Updated the version number to 2.3.0 in src/MySQLdb/release.py.
  • Added a new section in HISTORY.rst describing the changes in 2.3.0, including new features, bug fixes, and deprecations.

Key highlights from the release notes:

Thread Safety and Concurrency:

  • Concurrent use of the same Connection object from multiple threads now raises ProgrammingError immediately, preventing undefined behavior.

Performance and Feature Enhancements:

  • Added an optional executemany_fallback="multi" connection option to batch certain statements in Cursor.executemany() for improved performance.
  • Made Cursor an iterator as specified by DB-API 2.0, and added Cursor.warning_count and Connection.more_results() for better API compliance and usability.

Deprecations:

  • Deprecated accessing exception classes as Cursor attributes and the reconnect parameter of Connection.ping().

Summary by CodeRabbit

  • New Features

    • Added cursor iteration and warning-count access.
    • Added support for processing additional result sets.
    • Added configurable batched executemany() behavior.
    • Added Windows ARM64 wheel support.
  • Bug Fixes

    • Concurrent use of a connection now raises ProgrammingError immediately.
    • Improved procedure-call quoting and corrected timedelta conversion.
  • Compatibility

    • Added testing support for Python 3.15 and free-threaded Python.
    • Updated MariaDB Connector/C support.
  • Deprecations

    • Cursor-level exception attributes and the reconnect parameter of Connection.ping() are deprecated.

@codecov

codecov Bot commented Sep 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.71%. Comparing base (e2a908b) to head (9545807).
⚠️ Report is 53 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #799      +/-   ##
==========================================
+ Coverage   88.86%   91.71%   +2.84%     
==========================================
  Files           7        7              
  Lines         548      676     +128     
==========================================
+ Hits          487      620     +133     
+ Misses         61       56       -5     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 8cce9bf9-d8a0-49dc-af46-a0b009b3e8de

📥 Commits

Reviewing files that changed from the base of the PR and between 382a198 and 9545807.

📒 Files selected for processing (1)
  • HISTORY.rst
🚧 Files skipped from review as they are similar to previous changes (1)
  • HISTORY.rst

Included review availability: Your plan provides up to 10 included reviews per hour; 8 remain after this review.


📝 Walkthrough

Walkthrough

The release updates package version metadata from 2.2.8 to 2.3.0 and adds release notes covering connection behavior, cursor APIs, conversion fixes, platform support, testing, new methods, and deprecations.

Changes

2.3.0 release

Layer / File(s) Summary
Publish 2.3.0 release
src/MySQLdb/release.py, HISTORY.rst
The package version changes to 2.3.0. The release notes document concurrent connection errors, executemany() fallback configuration, cursor iteration and warnings, conversion and quoting fixes, platform and test updates, Connection.more_results(), and deprecations.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Merge Risk: ⚪ Minimal · up to 95458

The package version and 2.3.0 release notes are updated with no remaining identified merge-readiness risk.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the main change: preparing the 2.3.0 release. It is concise and related to the version update and release notes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@methane
methane merged commit 6cc0755 into PyMySQL:main Sep 7, 2026
15 checks passed
@methane
methane deleted the release-v2.3.0 branch September 7, 2026 11:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant