Skip to content

Update dependency pymysql to v1.2.3 - #296

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/pymysql-1.x
Open

renovate[bot] wants to merge 1 commit into
masterfrom
renovate/pymysql-1.x

Conversation

@renovate

@renovate renovate Bot commented Aug 24, 2025 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
pymysql (changelog) ==1.1.1 → ==1.2.3 age confidence

Release Notes

PyMySQL/PyMySQL (pymysql)

v1.2.3

Compare Source

Release date: 2026-09-17

Restored the ability to import pymysql.converters.escape_bytes_prefixed for
compatibility with aiomysql.

Use pymysql.converters at your own risk.
It's internal functions. No backward compatibility are guaranteed.

v1.2.2

Compare Source

Release date: 2026-09-17

Restored the ability to import pymysql.converters.escape_dict for
compatibility with aiomysql.
This function does not escape dictionaries and is entirely unnecessary.
Unless you use aiomysql, there is no need to upgrade from v1.2.1.

v1.2.1

Compare Source

Release date: 2026-09-17

Fixed a SQL injection vulnerability caused by incorrect escaping of bytes
parameters when using the big5, gbk, sjis, cp932, or gb18030 character sets.
This vulnerability also occurs when strings decoded from bytes using
surrogateescape are passed as query parameters.

See also: https://github.com/PyMySQL/PyMySQL/security/advisories/GHSA-x4f8-9hx9-hpp9

  • Queries are now encoded using the strict error handler instead of
    surrogateescape.
    Queries that cannot be encoded using the connection encoding can no longer be sent.

  • bytes parameters are now always sent as hexadecimal literals, such as
    X'636174'. Note that this increases the number of bytes sent.

  • The binary_prefix parameter of connect() is deprecated. The _binary
    prefix is no longer sent.

These changes address the confirmed SQL injection vulnerabilities related to
character encoding.
However, we strongly recommend using UTF-8 (utf8mb4).
Other character sets are not thoroughly tested, and their limited use means
that problems may go unreported. In the 2020s, encodings other than UTF-8
should be considered legacy.

v1.2.0

Compare Source

Release date: 2026-05-19

Breaking changes
  • Connection.ping() change the default to not reconnect and deprecate reconnect argument.
    Create a new connection if you want to reconnect. (#​1241)

  • Error classes in Cursor class are removed. (#​1240)

  • connect() arguments db and passwd now emit DeprecationWarning.
    Use database and password instead. (#​1240)

  • Reorganize TLS connection behavior.

    • PyMySQL uses TLS by default when server supports it.
      Use ssl_disabled=True to prohibit SSL. (#​1213)

    • When ssl_verify_cert=True, ssl_verify_identity=True, an ssl.SSLContext is passed,
      or when any other SSL option is configured, the connection requires SSL and raises
      OperationalError (CR_SSL_CONNECTION_ERROR) if the server doesn't support it. (#​1234)

Other changes
  • Support MySQL 8 row/column alias syntax in executemany INSERT regex. (#​1235)
  • Expose SQLSTATE on MySQL protocol exceptions without changing exception formatting. (#​1236)
  • Reject non-finite decimal.Decimal query parameters (NaN, sNaN, ±Infinity). (#​1237)
  • Connection.set_charset(charset) now emits DeprecationWarning.

v1.1.3

Compare Source

Release date: 2026-05-01

Security
  • Fix Cursor.callproc() didn't escape procedure name. (#​1206)
    There was a possibility of SQL injection when calling a procedure with a string received from an untrusted source as the procedure name.

    NOTICE: This change may cause backward compatibility issues. If you specified a procedure name like "dbname.funcname", the previous version called CALL dbname.funcname, but from this version, it will call CALL `dbname.funcname` so you cannot specify procedure name with database name anymore.

v1.1.2

Compare Source

What's Changed

New Contributors

Full Changelog: PyMySQL/PyMySQL@v1.1.1...v1.1.2


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot changed the title Update dependency pymysql to v1.1.2 Update dependency pymysql to v1.1.3 May 2, 2026
@renovate
renovate Bot force-pushed the renovate/pymysql-1.x branch from 3dff472 to e04089b Compare May 2, 2026 07:35
@renovate renovate Bot changed the title Update dependency pymysql to v1.1.3 Update dependency pymysql to v1.2.0 May 19, 2026
@renovate
renovate Bot force-pushed the renovate/pymysql-1.x branch from e04089b to 40e0352 Compare May 19, 2026 09:08
@renovate
renovate Bot force-pushed the renovate/pymysql-1.x branch from 40e0352 to c916145 Compare September 17, 2026 19:43
@renovate renovate Bot changed the title Update dependency pymysql to v1.2.0 Update dependency pymysql to v1.2.3 Sep 17, 2026
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.

0 participants