1.24 2025-05-04 - Add a test for large BLOB with parameter - Fix Dave Labley's broken e-mail address - Stop parsing a column named "limits" as the LIMIT keyword (https://github.com/perl5-dbi/DBD-MariaDB/issues/208) - Various test fixes (e.g. no dead loop in t/87async.t, remembering the value of --testauthplugin for repeated Makefile.PL runs, support for the Embedded server, explicit disconnect after testing the connection) - Better handling of the Embedded server (e.g. fix mariadb_hostinfo and SQL_SERVER_NAME, no support for async queries and mariadb_max_allowed_packets, extended documentation of mariadb_embedded_options) - Add new Makefile.PL option --requireembsup (and a corresponding env variable DBD_MARIADB_REQUIREEMBSUP) to ensure the client library's support for the Embedded server - More support and fixes for new MySQL 8 features (mariadb_auto_reconnect for 8.0.24+, SSL options for MySQL 8.3.0+, bind params for 8.3.0+) - Documentation of empty versus undefined password - Stop calling mariadb_db_reconnect when changing $dbh attributes unless it's really needed - On MSWin32, non-socket connections do not use WINAPI HANDLE - Fix type (MEDIMUMBLOB -> MEDIUMBLOB) - Handle new SSL error messages in tests (https://github.com/perl5-dbi/DBD-MariaDB/issues/209) 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