Revision history for MariaDB-NonBlocking

0.31    2022-02-23
        * When retrying connections, we might need to get rid
          of the connection that failed the query.
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.