The Perl Advent Calendar needs more articles for 2022. Submit your idea today!
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/gooddata/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/gooddata/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/gooddata/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/gooddata/DBD-MariaDB/issues/119)

1.10 2018-12-05
 - Fix spelling error (https://github.com/gooddata/DBD-MariaDB/issues/82)
 - Fix MinGW build (https://github.com/gooddata/DBD-MariaDB/issues/91)
 - Fix DBI SQL types (https://github.com/gooddata/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/gooddata/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