Revision history for MariaDB-NonBlocking
0.30 2020-12-07
* An attempt at solving the hanging SSL issue; we no
longer try to optimize the number of IO watchers,
and now always run a watcher for both reads and writes.
* Some build systems (not cpanm) differentiate betweem
CONFIGURE_REQUIRES and BUILD_REQUIRES; a module may
be present in the CONFIGURE stage, but not available
during BUILD; so make sure that Alien::libmariadbclient
is around when we need it.
0.29 2020-11-30
* Support systems that provide libmariadb.so but no
libmariadbclient.a (e.g. alpine's apk)
0.28 2020-11-30
* Better support for some default linker flags;
--as-needed and -z=now break libmariadbclient's
linking to openssl, and those happen to be on
in ArchLinux's default Perl.
0.27 2020-11-30
* Switch to using Alien::libmariadbclient instead
of building & bundling mariadb-connector-c.
0.26 2020-08-21
* Catch writing past the end of the buffer when quoting
values & identifiers.
0.25 2020-08-11
* When bundling mariadb-connector-c, use the system zlib
instead of the bundled one -- potentially sidestepping
issues with system-zlib having global symbols changed
by the bundled zlib.
* `make distclean` now actually cleans up everything
* Promises Pool no longer uses an XS implementation of
caller() to gather stacktraces; instead, implementors
can provide whatever stacktrace they want.
* Minor tweaks to the XS code
0.24 2020-08-10
* Queries failing during global destruction no longer
break due to the deferred object being released too early
* Query timeout of '0' now means 'no timeout';
using 'undef' gets the previous behavior of 'sane' defaults.
0.23 2020-08-06
* Do not statically link to the gss/kerberos auth plugin;
breaks compilation on OSX, and it actually makes sense
to dynamically link to it.
0.22 2020-08-06
* When compiling mariadb-connector-c, statically link against
the authentication plugins.
0.21 2020-08-06
* Bundled mariadb-connector-c source to make compiling this
less dependent on the environment.
* Fixed an infinite loop on connection errors.
* Connection pool now has two different connection
strategies.
0.20 2019-03-20
* SSL was broken older (pre-2018) versions of mariadb-connector-c.
Again x3.
* Times in the connection pool did not use highres time, which
meant that users using hires time could see queries taking
negative time.
0.19 2019-03-19
* SSL was broken older (pre-2018) versions of mariadb-connector-c.
Again x2.
0.18 2019-03-19
* SSL was broken older (pre-2018) versions of mariadb-connector-c.
Again.
0.17 2019-03-19
* SSL was broken older (pre-2018) versions of mariadb-connector-c
0.16 2019-03-19
* Barebones SSL support (including facsimile of mysql_ssl_optional=1)
* Global timers were broken
* Implicit want_hashrefs for connection pools was broken
* Performance & memory improvements for all queries
* Connection pools now have a method to invalidate too old queries
* Bugfixes (in some edge cases connections were returned to the pool too early)
0.15 2019-03-18
* simplified the code
* connection pools for the promise implementation
0.14 2017-11-27
* run_query_start(undef) will no longer segfault.
0.13 2017-10-24
* Prevent cyclic reference keeping connections alive
when all other refs were gone.
0.12 2017-10-24
* Pakket.json specfile
0.11 2017-10-19
* Respect INSTALL_BASE
* Options to Makefile.PL for the default database
to test in.
* Test files!
* Further streamlined the API
* Fixed several bugs related to error conditions
* Report the rows affected on update/create
and probably delete.
0.10 2017-10-13
* cast values so that mysql ints actually show
up as Perl IVs
0.09 2017-10-13
* Look for headers/libraries in MariaDB-specific
paths before going for the more generic ones.
0.08 2017-10-12
* Added a plain eventloop implementation, and
then reimplemented the promises version as a
thin wrapper of that.
* Simplified the API; now there are only three
methods (connect, run_query, ping) which are
called on connections, rather than class
methods that got called on pools of connections.
0.07 2017-09-13
* DESTROY() will now reject all pending promises.
* AnyEvent::detect() will be called before the first
query, assuming nothing else called it first.
0.06 2017-09-06
* Work with AnyEvent, and utilize less watchers if
we can -- mostly if we are using EV.
0.05 2017-08-31
* want_hashrefs was returning read-only undefs
0.04 2017-07-31
* Copy the query string more aggressively, driver will not copy it.
0.03 2017-07-31
* Leftover debugging statement
0.02 2017-07-31
* ->run_query_start() can now take query params
* ->run_query_start() may optionally return an arrayref of hashrefs
0.01 Date/time
First version, released on an unsuspecting world.