1.23 2023-09-10
- Add a missing break
(https://github.com/perl5-dbi/DBD-MariaDB/issues/163)
- Signal error if mariadb_db_async_result() fails
(https://github.com/perl5-dbi/DBD-MariaDB/issues/162)
- Update links to project website, issues and years
- Fix compilation with some MariaDB client library 10.2 and 10.3 versions
- Fix mariadb_use_result attribute
(https://github.com/perl5-dbi/DBD-MariaDB/issues/173)
- Fix statements with multiple result sets in asynchronous mode
- Fix mariadb_sockfd attribute for Windows
- Croaks when changing AutoCommit attribute fails
(https://github.com/perl5-dbi/dbi/issues/104)
- Various documentation and tests fixes
- Fix support for MariaDB Connector/C prior to 3.1.3 version
- Fix usage of Win32::GetShortPathName() in Makefile.PL
- Build release tarball in TAR format (instead of PAX)
- Allow to query and change mariadb_multi_statements attribute
- Add connect option mariadb_auth_plugin for specifying auth plugin
- Fix support for MySQL 8.0+ client library
(https://github.com/perl5-dbi/DBD-MariaDB/issues/191)
(https://github.com/perl5-dbi/DBD-mysql/issues/329)
- Add Github Actions CI and Cirrus CI (FreeBSD) for automated testing
1.22 2022-04-22
- Disable usage of libmysqld.a from MySQL 8.x series
- Install README.pod into DBD/MariaDB/ subdirectory
(https://github.com/perl5-dbi/DBD-MariaDB/issues/146)
- Do not export driver private C functions
- Fix typo in error message
- Fix compatibility with new MariaDB client and server versions
(https://github.com/perl5-dbi/DBD-MariaDB/issues/164)
(https://github.com/perl5-dbi/DBD-MariaDB/issues/167)
(https://github.com/perl5-dbi/DBD-mysql/issues/333)
1.21 2019-02-27
- Fix skipping test t/14destruct.t
- Revert "MySQL bug #93276 is fixed in 8.0.15"
(https://github.com/perl5-dbi/DBD-MariaDB/issues/137)
1.20 2019-02-22
- Fix compilation on Windows
- Fix tests for MariaDB 10.2.20+, 10.3.12+ and 10.4.1+
- Fix processing of unfetched multi result sets
- Cover a protocol design error for multi result statements
- Fix $dbh->last_insert_id for async calls and multi result statements
- Add more robust solution to prevent deinitializing OpenSSL functions
(https://github.com/perl5-dbi/DBD-MariaDB/issues/119)
- Set $sth->{Active} to off after fetching all data
(https://github.com/jhthorsen/mojo-mysql/pull/47#issuecomment-448095164)
- Fix $sth->rows for async, multi results and when error occurred
- Fix disconnect_all() method to work also during global destruction phase
- Address MySQL bug #93276 which is fixed in 8.0.15
1.11 2019-01-02
- Fix breakage of Net::SSLeay / OpenSSL library after DBI disconnect
(https://github.com/perl5-dbi/DBD-MariaDB/issues/119)
1.10 2018-12-05
- Fix spelling error (https://github.com/perl5-dbi/DBD-MariaDB/issues/82)
- Fix MinGW build (https://github.com/perl5-dbi/DBD-MariaDB/issues/91)
- Fix DBI SQL types (https://github.com/perl5-dbi/DBD-MariaDB/issues/109)
- Fix overflow in mariadb_thread_id and mariadb_warning_count attributes
- Fix parsing LIMIT keyword (case-insensitive + allow whitespaces around)
- Fix allocating and releasing memory when using Embedded Server
- Fix escaping placeholders when sql_mode is NO_BACKSLASH_ESCAPES
- Fix output from Unicode related tests
- Fix setting client_flag for mysql_real_connect()
- Fix calling DBI->data_sources() without second argument
- Fix $dbh->last_insert_id() for multi and prepared server side statements
- Use dbd_db_do6 API from DBI 1.642 when available
- Add support for a new DBI method call $sth->last_insert_id()
- Add sanity check for Makefile.PL --testsocket, --testhost and --testport
- Report error when $dbh->{mariadb_ssl_cipher} attribute is not supported
- Check that correct number of bind parameters are in $dbh->do()
- Update workarounds for bugs in MariaDB client library (some were fixed)
- Allow to set zero read, write and connect timeout (which means infinite)
- Set default session collation to utf8mb4_unicode_ci for real Unicode
- Change minimal MySQL client version to 4.1.8 (older is incompatible)
- Skip tests which cannot be started on current system/architecture
- Move testrules.yml to t/ directory
- Miscellaneous fixes in tests
1.00 2018-07-12
- Do not remove test name and line from test error messages
- Update documentation for mariadb_length and mariadb_max_length
- Fix retrieving ODBC attribute SQL_USER_NAME via $dbh->get_info()
- Do not show internal DBI packages on cpan
- Fix checking for error value from mariadb_embedded options
- Makefile.PL shows error message when no client library was specified
- Fix checking if integer value should be signed or unsigned
0.90_01 2018-06-26 (beta)
- This is a new DBD::MariaDB driver, fork of DBD::mysql 4.041 with fixes
- Attributes and methods with mysql_* prefix were renamed to mariadb_*
[1. Security fixes]
- CVE-2017-10788: Fix use-after-free after calling mysql_stmt_close()
- CVE-2017-3302: Add workaround for defect of leaking dangling pointers
- CVE-2018-2767: Handle SSL problems of MySQL and MariaDB clients
[2. Client/server changes]
- New support for MySQL 8.0+ clients
- New support for MariaDB 10.2.4+ clients
- New support for MariaDB 10.3.0+ clients
- New support for MariaDB Connector/C 2.3.0+ clients
- New support for MariaDB Connector/C 3.0.2+ clients
- Minimal DBI version is now 1.608
- Minimal MySQL client library version is now 4.1.3
- Minimal MySQL server version is now 4.1.0
- Requirement for utf8mb4 (preferred) or utf8(mb3) connection charset
[3. Functional changes]
- Full Unicode support for all Perl strings in all methods according to
Perl Unicode model (same as in recent DBD::Pg and DBD::SQLite drivers),
activated by default, improperly written applications may have problems
- Embedded Server support is now in main DBD::MariaDB module and enabled
at compile time if MariaDB/MySQL linking library supports it, additional
module DBD::MariaDBEmb was therefore removed
- Fix lot of bugs related to Unicode, mysql utf8mb4 charset and login
- Remove support for Latin1 encoding
[4. Client compatibility changes]
- Fix initialization of MySQL/MariaDB client library, fix MariaDB 10.2.4+
- Fix crashing when prepared statements are used
- Do not access internal MYSQL* and MYSQL_STMT* structures
[5. Statement handling changes]
- Stop parsing SQL statements (exception are client side placeholders)
- Fix support for client side placeholder replacing with MySQL 5.7.6+
- Fix $dbh->quote() method for MySQL 5.7.6+ and MySQL 8.0+ clients
- Fix error handling for statements with LIMIT and OFFSET
- Fix processing statements with nul bytes
- Fix calculation of buffer size for client side placeholder replacing
- Fix checking if bind value is mysql number and if needs to be quoted
- Check that correct number of bind parameters were supplied
[6. Miscellaneous changes]
- Fix fetching numeric values of types with fixed-length of decimals
- Fix ChopBlanks for binary fields
- Fix $dbh->ping() and $dbh->last_insert_id() with MySQL 5.7+ and 8.0+
- Fix tests so can be run in parallel (via testrules.yml)
- Fix retrieving $sth attributes after $sth->fetchall* call
- Fix usage of normal eval, $@ and error handling
- Fix and simplify code which uses number of returned or affected rows
- Fix usage of boolean variables
- Fix creating perl scalars with unsigned numbers
- Fix autoreconnect for server side prepared statements
- Fix and cleanup ODBC attributes returned by $dbh->get_info() method
- Fix support for IMP_DATA
- Fix propagating server error code and messages to DBI
- Remove usage of %llu and %lld for PerlIO_printf
- Remove usage of stringified eval
- Remove old undocumented, legacy and hidden options and methods
- Remove nonsense prototypes for object methods
- Distinguish between undef (NULL) and "" for mysql_real_connect()
- Check for valid and supported attribute names
- Cleanup Makefile.PL options
- Hide passwords in trace logs
- Use DBI dbd_st_execute_iv() API when available
- Add support for mariadb_conn_attrs attribute with MariaDB 10+ clients
- Disable autoreconnect by default also for mod_perl
- Implement $dbh->disconnect_all() method
- Makefile.PL now depends on Devel::CheckLib 1.12 (ensure correct linking)
[7. List of fixed issues]
- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866821#17
- https://github.com/perl5-dbi/DBD-MariaDB/issues/13
- https://github.com/perl5-dbi/DBD-mysql/issues/78
- https://github.com/perl5-dbi/DBD-mysql/issues/110
- https://github.com/perl5-dbi/DBD-mysql/issues/120
- https://github.com/perl5-dbi/DBD-mysql/issues/126
- https://github.com/perl5-dbi/DBD-mysql/issues/139
- https://github.com/perl5-dbi/DBD-mysql/issues/140
- https://github.com/perl5-dbi/DBD-mysql/issues/149
- https://github.com/perl5-dbi/DBD-mysql/issues/165
- https://github.com/perl5-dbi/DBD-mysql/issues/167
- https://github.com/perl5-dbi/DBD-mysql/issues/169
- https://github.com/perl5-dbi/DBD-mysql/issues/170
- https://github.com/perl5-dbi/DBD-mysql/issues/182
- https://github.com/perl5-dbi/DBD-mysql/issues/185
- https://github.com/perl5-dbi/DBD-mysql/issues/187
- https://github.com/perl5-dbi/DBD-mysql/issues/197
- https://github.com/perl5-dbi/DBD-mysql/issues/201
- https://github.com/perl5-dbi/DBD-mysql/issues/203
- https://github.com/perl5-dbi/DBD-mysql/issues/204
- https://github.com/perl5-dbi/DBD-mysql/issues/207
- https://github.com/perl5-dbi/DBD-mysql/issues/211
- https://github.com/perl5-dbi/DBD-mysql/issues/212
- https://github.com/perl5-dbi/DBD-mysql/issues/214
- https://github.com/perl5-dbi/DBD-mysql/issues/215
- https://github.com/perl5-dbi/DBD-mysql/issues/218
- https://github.com/perl5-dbi/DBD-mysql/issues/219
- https://github.com/perl5-dbi/DBD-mysql/issues/220
- https://github.com/perl5-dbi/DBD-mysql/issues/221
- https://github.com/perl5-dbi/DBD-mysql/issues/228
- https://github.com/perl5-dbi/DBD-mysql/issues/232
- https://github.com/perl5-dbi/DBD-mysql/issues/244
- https://github.com/perl5-dbi/DBD-mysql/issues/249
- https://github.com/perl5-dbi/DBD-mysql/issues/250
- https://github.com/perl5-dbi/DBD-mysql/issues/251
- https://github.com/perl5-dbi/DBD-mysql/pull/133
- https://github.com/perl5-dbi/DBD-mysql/pull/138
- https://github.com/perl5-dbi/DBD-mysql/pull/223
- https://github.com/perl5-dbi/DBD-mysql/pull/224
- https://github.com/perl5-dbi/DBD-mysql/pull/225#issuecomment-357522793
- https://github.com/perl5-dbi/DBD-mysql/pull/227
- https://github.com/perl5-dbi/DBD-mysql/pull/230
- https://github.com/perl5-dbi/DBD-mysql/pull/245
- https://github.com/perl5-dbi/DBD-mysql/pull/246
- https://rt.cpan.org/Public/Bug/Display.html?id=25590
- https://rt.cpan.org/Public/Bug/Display.html?id=53130
- https://rt.cpan.org/Public/Bug/Display.html?id=60987
- https://rt.cpan.org/Public/Bug/Display.html?id=62516
- https://rt.cpan.org/Public/Bug/Display.html?id=87428
- https://rt.cpan.org/Public/Bug/Display.html?id=97541
- https://rt.cpan.org/Public/Bug/Display.html?id=103306
- https://rt.cpan.org/Public/Bug/Display.html?id=106527
- https://rt.cpan.org/Public/Bug/Display.html?id=108650
- https://rt.cpan.org/Public/Bug/Display.html?id=110983
- https://rt.cpan.org/Public/Bug/Display.html?id=118837
- https://rt.cpan.org/Public/Bug/Display.html?id=118977
- https://rt.cpan.org/Public/Bug/Display.html?id=119902
- https://rt.cpan.org/Public/Bug/Display.html?id=119904
- https://rt.cpan.org/Public/Bug/Display.html?id=120141
- https://rt.cpan.org/Public/Bug/Display.html?id=120709
- https://rt.cpan.org/Public/Bug/Display.html?id=122065
- https://rt.cpan.org/Public/Bug/Display.html?id=122429
- https://rt.cpan.org/Public/Bug/Display.html?id=122431
- https://rt.cpan.org/Public/Bug/Display.html?id=122541
- https://rt.cpan.org/Public/Bug/Display.html?id=123826
- https://rt.cpan.org/Public/Bug/Display.html?id=125517