Skip to content

Releases: amphp/mysql

3.0.0

10 Mar 17:50
v3.0.0
0eb9d1d
Compare
Choose a tag to compare

Stable release compatible with AMPHP v3 and fibers! 🎉

As with other libraries compatible with AMPHP v3, most cases of parameters or returns of Promise<ResolutionType> have been replaced with ResolutionType.

  • Classes and interfaces now are prefixed with Mysql to avoid collisions with similar names from other libraries.
  • Marked most classes as internal, leaving only interfaces and concrete implementations required to use the API or create a custom connector.
  • MysqlTransaction now extends MysqlLink instead of MysqlExecutor to support nested transactions.
  • MysqlDataType is now an enum of MySQL data type codes and methods to decode data based on type.
  • Result set field data is now available from MysqlResult::getColumnDefinitions() which returns an array of MysqlColumnDefinition objects corresponding to the result set rows.
  • The second param of MysqlStatement::bind() now requires a string. Binding only makes sense with long strings anyway.
  • MysqlConnection is now an interface extending SqlConnection, with SocketMysqlConnection being the implementation.
  • Removed MysqlConnector since the interface was replaced by template types on SqlConnector, i.e. SqlConnector<MysqlConfig, MysqlConnection>

3.0.0 Beta 9

01 Jan 00:45
v3.0.0-beta.9
c0144fe
Compare
Choose a tag to compare
3.0.0 Beta 9 Pre-release
Pre-release

What's Changed

  • Fixed support for binding to JSON columns
  • Fixed connecting with TLS.
  • Add support for sql_mode and fix set charset by @ruifil in #128

New Contributors

Full Changelog: v3.0.0-beta.8...v3.0.0-beta.9

3.0.0 Beta 8

18 Dec 15:50
v3.0.0-beta.8
e95eee9
Compare
Choose a tag to compare
3.0.0 Beta 8 Pre-release
Pre-release

What's Changed

  • Compatibility with amphp/sql-common@v2.0.0-beta.9.
  • Forbid cloning and serialization of most class instances.

Full Changelog: v3.0.0-beta.7...v3.0.0-beta.8

3.0.0 Beta 7

13 Dec 00:19
v3.0.0-beta.7
90f99de
Compare
Choose a tag to compare
3.0.0 Beta 7 Pre-release
Pre-release

What's Changed

Nested transactions have been refactored to be created simply with MysqlTransaction::beginTransaction() instead of needing to wrap a MysqlTransaction into a MysqlNestableTransaction. If you did not use savepoints or nested transactions, you likely will be able to upgrade to this version without any code changes.

  • Updated transactions for amphp/sql@v2.0.0-beta.6 and amphp/sql-common@v2.0.0-beta.7. Removed MysqlNestableTransaction.
  • MysqlConnection interface now extends the base interface Connection from amphp/sql.
  • Added MysqlEncodedValue, replacing MysqlDataType::encodeValue().
  • Renamed SocketMysqlConnection::initialize() to connect(). The first parameter now accepts an instance of SocketConnector instead of a Socket.
  • MysqlColumnDefinition now defines a set of getter methods instead of using public properties.

Full Changelog: v3.0.0-beta.6...v3.0.0-beta.7

3.0.0 Beta 6

07 May 14:47
v3.0.0-beta.6
8a7d4ac
Compare
Choose a tag to compare
3.0.0 Beta 6 Pre-release
Pre-release
  • Added MysqlNestableTransaction which may be optionally used to create a MysqlLink from a MysqlTransaction object. Nested transactions are implemented using savepoints.

3.0.0 Beta 5

12 Feb 16:07
v3.0.0-beta.5
857b0ad
Compare
Choose a tag to compare
3.0.0 Beta 5 Pre-release
Pre-release
  • Compatibility with v2.0 of amphp/socket

3.0.0 Beta 4

18 Dec 23:37
v3.0.0-beta.4
25a3111
Compare
Choose a tag to compare
3.0.0 Beta 4 Pre-release
Pre-release
  • Compatibility with Result::fetchRow() added in amphp/sql@2.0.0-beta.3
  • Added support for BackedEnum instances in statement parameters
  • Added MysqlResult::getParameterDefintions() which returns a list of MysqlColumnDefinition objects with metadata about each result set column.
  • Requesting the next result set before consuming the entire current result set will now throw an Error
  • The second param of MysqlStatement::bind() now requires a string. Binding only makes sense with long strings anyway.
  • Refactored binary data parsing to improve performance by reducing the number of calls to substr().
  • Removed MysqlConnector since the interface was replaced by template types on SqlConnector, i.e. SqlConnector<MysqlConfig, MysqlConnection>
  • Fixed reaching connection limit results in protocol version exception (#123)

3.0.0 Beta 3

14 Aug 18:16
v3.0.0-beta.3
8482a68
Compare
Choose a tag to compare
3.0.0 Beta 3 Pre-release
Pre-release
  • Refactored internal result set data structures and fixed connection exceptions not being forwarded to pending results.

3.0.0 Beta 2

10 Aug 21:22
v3.0.0-beta.2
173e94a
Compare
Choose a tag to compare
3.0.0 Beta 2 Pre-release
Pre-release
  • Fixed DATETIME, TIMESTAMP, DATE, and TIME columns not being decoded correctly (#120)

3.0.0 Beta 1

17 Jul 18:24
v3.0.0-beta.1
b441a1f
Compare
Choose a tag to compare
3.0.0 Beta 1 Pre-release
Pre-release

Initial release compatible with AMPHP v3.

As with other libraries compatible with AMPHP v3, most cases of parameters or returns of Promise<ResolutionType> have been replaced with ResolutionType.

  • Marked most classes as internal, leaving only interfaces and concrete implementations required to use the API or create a custom connector.
  • Added Mysql as a prefix to interfaces and classes
  • Renamed ConnectionConfig to MysqlConfig
  • MysqlDataType (formerly DataType) is now an enum
  • Combined ResultSet and CommandResult into a single interface, MysqlResult
  • Added MysqlConnector interface, renamed CancellableConnector to SocketMysqlConnector
  • Result::getColumnDefinitions() returns a list of MysqlColumnDefinition objects instead of a list of associative arrays.
  • Removed TransactionError, using the base class in amphp/sql instead