Skip to content

chore(deps): bump asyncmy from 0.2.13 to 0.2.14 - #799

Merged
ImMohammad20000 merged 1 commit into
devfrom
dependabot/uv/dev/asyncmy-0.2.14
Aug 17, 2026
Merged

chore(deps): bump asyncmy from 0.2.13 to 0.2.14#799
ImMohammad20000 merged 1 commit into
devfrom
dependabot/uv/dev/asyncmy-0.2.14

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 17, 2026

Copy link
Copy Markdown
Contributor

Bumps asyncmy from 0.2.13 to 0.2.14.

Release notes

Sourced from asyncmy's releases.

v0.2.14

  • Set the PEP 249 module globals apilevel, threadsafety and paramstyle, and export the exception classes from asyncmy (#77).
  • Expose the server's SQLSTATE on exceptions as MySQLError.sqlstate; args is unchanged (#138).
  • Fix ssl=True silently connecting in plaintext: it now builds a default TLS context, and an ssl argument that is neither True, a dict, nor an ssl.SSLContext raises ValueError instead of disabling TLS (#90).
  • Connection.cursor() is now awaitable, so aiomysql's cur = await conn.cursor() spelling works; conn.cursor() and async with conn.cursor() are unaffected (#145).
  • Add Gtid.__hash__ / GtidSet.__hash__ — defining __eq__ had made Gtid unhashable, which made GtidSet (and therefore GTID replication) unusable (#59).
  • Declare the Cython modules free-threading compatible. Without this, importing asyncmy re-enables the GIL for the whole process on a free-threaded build. Module-level state is built during import and read-only afterwards; this does not make a single Connection/Cursor safe to share between threads. Requires Cython 3.1+, and CI now runs the suite on 3.14t. Thanks @​honglei (#151).
  • Read the version from the installed package metadata instead of repeating it in asyncmy/version.py, so pyproject.toml is the single source and the _client_version the server sees cannot drift. Thanks @​waketzheng (#149).
  • Ship type information (PEP 561): py.typed plus .pyi stubs for the Cython modules, so mypy and Pylance see real signatures instead of nothing. make stubs regenerates them and make check runs stubtest, which fails on any drift from the compiled modules (#78).
  • Add connect(password_creator=...): a callable consulted before every connection attempt, including the ones a pool makes when it recycles or reconnects, so short-lived credentials such as AWS RDS IAM tokens can be refreshed. May return an awaitable. Thanks @​DolevGabay (#139).
  • Fix ping(reconnect=True) never actually reconnecting: _connected stayed set when the ping failed, so connect() returned early and the follow-up ping ran on the dead connection.
  • Add connect(query_callback=...), called as callback(cursor, query, elapsed_ms) after every statement. Lets statement logging go somewhere other than echo's hardcoded INFO line — a slow-query log, a tracing span, a different level. executemany/callproc report once per call. Independent of echo, which is unchanged (#81, #69).
  • Add connect(sock=...): speak MySQL over a socket the caller has already connected. Combined with ssl the TLS handshake runs before the MySQL handshake instead of being negotiated in-protocol, which is what connectors fronting the server with a TLS proxy need (#71).
  • Mark the connection secure after the TLS handshake. _secure was only set for unix sockets, so caching_sha2_password full authentication over TLS took the RSA branch instead of sending the password in the clear, and the server rejected it with 1045 Access denied (#117).
Changelog

Sourced from asyncmy's changelog.

0.2.14

  • Set the PEP 249 module globals apilevel, threadsafety and paramstyle, and export the exception classes from asyncmy (#77).
  • Expose the server's SQLSTATE on exceptions as MySQLError.sqlstate; args is unchanged (#138).
  • Fix ssl=True silently connecting in plaintext: it now builds a default TLS context, and an ssl argument that is neither True, a dict, nor an ssl.SSLContext raises ValueError instead of disabling TLS (#90).
  • Connection.cursor() is now awaitable, so aiomysql's cur = await conn.cursor() spelling works; conn.cursor() and async with conn.cursor() are unaffected (#145).
  • Add Gtid.__hash__ / GtidSet.__hash__ — defining __eq__ had made Gtid unhashable, which made GtidSet (and therefore GTID replication) unusable (#59).
  • Declare the Cython modules free-threading compatible. Without this, importing asyncmy re-enables the GIL for the whole process on a free-threaded build. Module-level state is built during import and read-only afterwards; this does not make a single Connection/Cursor safe to share between threads. Requires Cython 3.1+, and CI now runs the suite on 3.14t. Thanks @​honglei (#151).
  • Read the version from the installed package metadata instead of repeating it in asyncmy/version.py, so pyproject.toml is the single source and the _client_version the server sees cannot drift. Thanks @​waketzheng (#149).
  • Ship type information (PEP 561): py.typed plus .pyi stubs for the Cython modules, so mypy and Pylance see real signatures instead of nothing. make stubs regenerates them and make check runs stubtest, which fails on any drift from the compiled modules (#78).
  • Add connect(password_creator=...): a callable consulted before every connection attempt, including the ones a pool makes when it recycles or reconnects, so short-lived credentials such as AWS RDS IAM tokens can be refreshed. May return an awaitable. Thanks @​DolevGabay (#139).
  • Fix ping(reconnect=True) never actually reconnecting: _connected stayed set when the ping failed, so connect() returned early and the follow-up ping ran on the dead connection.
  • Add connect(query_callback=...), called as callback(cursor, query, elapsed_ms) after every statement. Lets statement logging go somewhere other than echo's hardcoded INFO line — a slow-query log, a tracing span, a different level. executemany/callproc report once per call. Independent of echo, which is unchanged (#81, #69).
  • Add connect(sock=...): speak MySQL over a socket the caller has already connected. Combined with ssl the TLS handshake runs before the MySQL handshake instead of being negotiated in-protocol, which is what connectors fronting the server with a TLS proxy need (#71).
  • Mark the connection secure after the TLS handshake. _secure was only set for unix sockets, so caching_sha2_password full authentication over TLS took the RSA branch instead of sending the password in the clear, and the server rejected it with 1045 Access denied (#117).
Commits
  • 11fb891 chore: bump version to 0.2.14
  • 6cf4fc6 feat: declare Cython modules free-threading compatible
  • 74ce861 fix: single-source the version from package metadata
  • 534eedb feat: ship type information (PEP 561)
  • 64bfe94 Merge pull request #140 from DolevGabay: password_creator
  • d3d75c0 feat: query_callback for statement logging
  • 5308b87 feat: connect(sock=...) and fix caching_sha2 full auth over TLS
  • 8d2045e ci: run lint once and cut redundant matrix runs
  • df4501e feat: PEP 249 globals, error SQLSTATE, awaitable cursor
  • 3ab31b8 fix: refresh dynamic password on ping reconnect
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Aug 17, 2026
Bumps [asyncmy](https://github.com/long2ice/asyncmy) from 0.2.13 to 0.2.14.
- [Release notes](https://github.com/long2ice/asyncmy/releases)
- [Changelog](https://github.com/long2ice/asyncmy/blob/dev/CHANGELOG.md)
- [Commits](long2ice/asyncmy@v0.2.13...v0.2.14)

---
updated-dependencies:
- dependency-name: asyncmy
  dependency-version: 0.2.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/uv/dev/asyncmy-0.2.14 branch from 758fc6b to 7d3a941 Compare August 17, 2026 07:16
@ImMohammad20000
ImMohammad20000 merged commit f460d70 into dev Aug 17, 2026
10 checks passed
@dependabot
dependabot Bot deleted the dependabot/uv/dev/asyncmy-0.2.14 branch August 17, 2026 08:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant