Skip to content

Update dependency mysql1 to ^0.21.0 - #172

Open
renovate[bot] wants to merge 1 commit into
developfrom
renovate/mysql1-0.x
Open

renovate[bot] wants to merge 1 commit into
developfrom
renovate/mysql1-0.x

Conversation

@renovate

@renovate renovate Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
mysql1 dependencies minor ^0.20.0 → ^0.21.0

Release Notes

adamlofts/mysql1_dart (mysql1)

v0.21.1

--

05 Oct 2026

  • An account with a password on MySQL 8 can log in over a connection which
    is not TLS or a unix socket. A caching_sha2_password account has to send
    the server its password the first time it logs in, and the driver now
    encrypts it with the server's RSA public key, which it asks the server for.
    It used to refuse.
  • ConnectionSettings.serverPublicKey takes that key in PEM, for anyone who
    would rather give it than have the server asked.

v0.21.0

--

05 Oct 2026

The connection has been rewritten, and most of this release is what that
fixed. Several changes are breaking.

Breaking:

  • Requires Dart 3.0.
  • The MySQL optimizer does not work well on prepared statements.
    Therefore, query parameters are now written into the statement as literals
    and sent as plain SQL, and prepared statements are no longer used. The
    connection character set must be utf8 or utf8mb4, and the server must not
    be in NO_BACKSLASH_ESCAPES mode.
  • A query which times out closes the connection. Its response was otherwise
    liable to be taken for the answer to the next query.
  • useSSL implemented.
  • ConnectionSettings.useCompression is removed. It never worked.
  • A DateTime parameter is sent with its fractional seconds, which the server
    rounds to the precision of the column. It used to be cut to whole seconds.
  • Almost all FINE logging is gone.
  • affectedRows is never null. For a statement which returns rows it is the
    number of rows, where it used to be null.
  • ResultRow's constructor takes the result's schema, which breaks a subclass
    of it outside this package.

Added:

  • The result API is closer to package:postgres, so code which reads rows
    looks the same against either driver. Results is now Result, a list of
    rows, and Field is now ResultSchemaColumn; the old names still work and
    are deprecated. Result and ResultRow have a schema, and ResultRow
    has toColumnMap() and isSqlNull().

Fixed:

  • Logging in to MySQL 8 with a password. caching_sha2_password accounts
    left the connection one packet out of step, which showed up as the first
    query returning nothing, each query returning the previous query's rows,
    RangeError ... Not in inclusive range 0..5, "Got packets out of order" or
    "Socket has been closed". An account whose plugin is not the server's
    default now logs in too.
  • A caching_sha2_password account the server has not cached can log in over
    TLS or a unix socket. Over plain TCP it is refused with a message saying so.
  • CALL: every query after a stored procedure call returned the results of
    the one before it.
  • DATETIME(n) and TIMESTAMP(n) parameters lost their fraction. Reading a
    TIME(n) column hung, and a negative TIME was read wrongly.
  • A value of 16MB or more returned no rows, and a row which exactly filled a
    packet sent the driver into a loop ("Illegal length 0").
  • A value which cannot be decoded, such as a POINT, fails the query at once.
    It used to hang until the timeout and close the connection.
  • An error from the server part way through a result is reported instead of
    being dropped.

Performance:

  • Reading a large result is about ten times faster.

Configuration

📅 Schedule: (in timezone Asia/Tokyo)

  • 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.

This branch has not been deployed

No deployments
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