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