Go Sql Driver Mysql Versions Save

Go MySQL Driver is a MySQL driver for Go's (golang) database/sql package

v1.8.1

3 weeks ago

What's Changed

Bugfixes:

  • fix race condition when context is canceled in #1562 and #1570

Full Changelog: https://github.com/go-sql-driver/mysql/compare/v1.8.0...v1.8.1

v1.8.0

1 month ago

What's Changed

Major changes

  • Use SET NAMES charset COLLATE collation. by @methane in https://github.com/go-sql-driver/mysql/pull/1437

    • Older go-mysql-driver used collation_id in the handshake packet. But it caused collation mismatch in some situation.
    • If you don't specify charset nor collation, go-mysql-driver sends SET NAMES utf8mb4 for new connection. This uses server's default collation for utf8mb4.
    • If you specify charset, go-mysql-driver sends SET NAMES <charset>. This uses the server's default collation for <charset>.
    • If you specify collation and/or charset, go-mysql-driver sends SET NAMES charset COLLATE collation.
  • PathEscape dbname in DSN. by @methane in https://github.com/go-sql-driver/mysql/pull/1432

    • This is backward incompatible in rare case. Check your DSN.
  • Drop Go 1.13-17 support by @methane in https://github.com/go-sql-driver/mysql/pull/1420

    • Use Go 1.18+
  • Parse numbers on text protocol too by @methane in https://github.com/go-sql-driver/mysql/pull/1452

    • When text protocol is used, go-mysql-driver passed bare []byte to database/sql for avoid unnecessary allocation and conversion.
    • If user specified *any to Scan(), database/sql passed the []byte into the target variabe.
    • This confused users because most user doesn't know when text/binary protocol used.
    • go-mysql-driver 1.8 converts integer/float values into int64/double even in text protocol. This doesn't increase allocation compared to []byte and conversion cost is negilible.
  • New options start using the Functional Option Pattern to avoid increasing technical debt in the Config object. Future version may introduce Functional Option for existing options, but not for now.

Other changes

New Contributors

Full Changelog: https://github.com/go-sql-driver/mysql/compare/v1.7.1...v1.8.0

v1.7.1

11 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/go-sql-driver/mysql/compare/v1.7.0...v1.7.1

v1.7.0

1 year ago

Changes:

  • Drop support of Go 1.12 (#1211)
  • Refactoring (*textRows).readRow in a more clear way (#1230)
  • util: Reduce boundary check in escape functions. (#1316)
  • enhancement for mysqlConn handleAuthResult (#1250)

New Features:

  • support Is comparison on MySQLError (#1210)
  • return unsigned in database type name when necessary (#1238)
  • Add API to express like a --ssl-mode=PREFERRED MySQL client (#1370)
  • Add SQLState to MySQLError (#1321)

Bugfixes:

  • Fix parsing 0 year. (#1257)

v1.6.0

3 years ago

Major Release

  • Migrate the CI service from travis-ci to GitHub Actions (#1176, #1183, #1190)
  • NullTime is deprecated (#960, #1144)
  • Reduce allocations when building SET command (#1111)
  • Performance improvement for time formatting (#1118)
  • Performance improvement for time parsing (#1098, #1113)

See CHANGELOG.md for full details

v1.5.0

4 years ago

Major Release

  • Added Go Module support
  • Dropped support for Go 1.9 and lower
  • Implemented Connector interface
  • Improved buffering
  • Added connection liveness check
  • Improved marking of bad connnections
  • Updated collations and made utf8mb4 default
  • Made mysql.NullTime compatible with sql.NullTime
  • Removed support for CloudSQL via appengine/cloudsql

See CHANGELOG.md for full details

v1.4.1

5 years ago

Bugfix release

  • Several fixes of the authentication handling
  • Fix TIME format for binary columns
  • Fix canceled context broke mysqlConn

See CHANGELOG.md for full details

v1.4.0

5 years ago

Major Release

  • Multi-Results support
  • context.Context support
  • ColumnType support
  • caching_sha2_password (MySQL 8 default) and sha256_password authentication support
  • Transaction isolation level support
  • Read-Only transactions support
  • Many, many bugfixes

See CHANGELOG.md for full details

v1.3.0

7 years ago

Major Release

  • Microsecond resolution on date and time fields
  • Placeholder interpolation
  • Support for cleartext and native authentication plugins
  • Config struct and ParseDSN / FormatDSN funtctions exported
  • Read / Write timeouts
  • Support for JSON field type
  • Support for multi-statements and multi-results
  • Many, many bugfixes

See CHANGELOG.md for full details

v1.2.0

9 years ago

Major release

  • Several important bug fixes
  • Custom dial function support
  • Custom logger support
  • Google CloudSQL support
  • New parameter to set the connection collation

See CHANGELOG.md for full details