Changes for Perl extension DBD-SQLite

1.48 2015-06-12
  - Switched to a production version. (ISHIGAKI)

1.47_05 2015-05-08
  - Updated to SQLite 3.8.10

1.47_04 2015-05-02
  - Used MY_CXT instead of a global variable

1.47_03 2015-04-16
  - Added :all to EXPORT_TAGS in ::Constants

1.47_02 2015-04-16
  - Updated to SQLite 3.8.9
  - Added DBD::SQLite::Constants, from which you can import any
    "useful" constants into your applications.
  - Removed previous Cygwin hack as SQLite 3.8.9 compiles well again
  - Now create_function/aggregate accepts an extra bit
    (SQLITE_DETERMINISTIC) for better performance.

1.47_01 2015-02-17
    *** (EXPERIMENTAL) CHANGES THAT MAY POSSIBLY BREAK YOUR OLD APPLICATIONS ***
    - Commented OPTIMIZE out of WriteMakefile (RT #94207).
      If your perl is not compiled with -O2, your DBD::SQLite may
      possibly behave differently under some circumstances.
      (This release is to find notable examples from CPAN Testers).
    - Set THREADSAFE to 0 under Cygwin to cope with an upstream
      regression since 3.8.7 (GH #7).

    - Updated to SQLite 3.8.8.2
    - Resolved #35449: Fast DBH->do (ptushnik, ISHIGAKI)

1.46 2014-12-10
    - Switched to a production version. (ISHIGAKI)

1.45_06 2014-11-26
    - Silenced a compile-time warning (Unescaped left brace
      in regex is deprecated) in PerlData virtual table
      under bleadperl

1.45_05 2014-11-25
    - Updated to SQLite 3.8.7.2
    - Restored regexp support in PerlData virtual table
      by secure reimplementation using closure (DAMI++)

1.45_04 2014-10-28
    *** CHANGES THAT MAY POSSIBLY BREAK YOUR OLD APPLICATIONS ***
    - Changed to apply quotemeta() to parameters while building
      a query for a virtual table using PerlData for security.
      (RIBASUSHI++ and MAUKE++) (DAMI, ISHIGAKI) 

1.45_03 2014-10-25
    - Fixed regression of 0 as integer (ISHIGAKI)

1.45_02 2014-10-23
    - Improved int overflow handling under 32bit strawberry perl
      (ISHIGAKI)

1.45_01 2014-10-22
    - Updated to SQLite 3.8.7 (ISHIGAKI)
    - Resolved #76395 (hopefully): int values over 32 bit in length
      produce an error "datatype mismatch" (ISHIGAKI)

1.44 2014-10-22
    - Switched to a production version. (ISHIGAKI)

1.43_09 2014-10-20
    - Resolved #99583: Legacy DOS 8.3 filename support incompatible
      with SQLITE WAL journal mode (spotted by Pat Horton) (ISHIGAKI)
    - 1.43_07/08 were not VC6 compatible (ISHIGAKI)

1.43_08 2014-08-21
    - Updated to SQLite 3.8.6, which should fix a unique index
      issue: see http://www.sqlite.org/src/info/9a6daf340df99ba93c
      for details (ISHIGAKI)

1.43_07 2014-07-30
    - Resolved #97598: Crash on disconnect with virtual tables (FTS4)
      (patch and test code by Rob++) (ISHIGAKI)

1.43_06 2014-07-22
    - Fixed compile error/warning for older perls (reported by ribasushi)
      (ISHIGAKI)

1.43_05 2014-07-21
    - No significant code changes; removed unnecessary dependencies.

1.43_04 2014-07-21
    *** CHANGES THAT MAY POSSIBLY BREAK YOUR OLD APPLICATIONS ***
    - Resolved #96877: sql statements should be converted to utf8 (DAMI)
      If you set sqlite_unicode to true, SQL statements will be upgraded
      to avoid inconsistency between embedded params and bind params.

    - Resolved #96494: [PATCH] add SYSTEM TABLE to table_info() type
      list (MJP)
    - Supported virtual tables in Perl, and added two sample tables
      (DAMI++)

1.43_03 2014-06-12
    - Updated to SQLite 3.8.5, which should fix query planner's 
      issues in SQLite (ISHIGAKI)
    - Fixed busy_timeout to accept 0 to disable (reported by zdm)
      (ISHIGAKI)
    - Resolved #95511: primary_key_info fails to return names for
      named primary keys (Kenneth Kroenlein)
    - Resolved #96050: Segfault in disconnected sqlite_db_filename
      (reported by Alex Vandiver) (ISHIGAKI)

1.43_02 2014-03-26
    - Limited -std=gnu99 to solaris gcc only, though it may be
      harmless in many cases (mattp++) (ISHIGAKI)

1.43_01 2014-03-26
    - Added -std=gnu99 for solaris gcc users (reported by mattp++)
      (ISHIGAKI)

1.42 2014-03-20
    - Switched to a production version. (ISHIGAKI)

1.41_07 2014-03-13
    - Updated to SQLite 3.8.4.1, which fixed several obscure bugs on
      "ORDER BY" or "DISTINCT". (ISHIGAKI)

1.41_06 2014-02-12
    - Updated to SQLite 3.8.3.1, which fixed a SQLite bug in 3.8.2
      (bundled in DBD::SQLite 1.41_04/5) that could cause queries to
      omit valid out rows. (ISHIGAKI)

1.41_05 2014-01-22
    - Resolved #92322: Failure under heavily parallelized tests
      (ISHIGAKI)
    - Disabled Test::NoWarnings in a test

1.41_04 2014-01-12
    - Updated to SQLite 3.8.2 (ISHIGAKI)
    - Resolved #90211: Error in documentation (Felix Li)
    - Resolved #89351: DBD-SQLite won't compile on Cygwin 64 bit
      (Warren Young++) (ISHIGAKI)
    - Tweaked sqlite_see_if_its_a_number not to guess data types of
      bind values with explicit type specification (via bind_param()
      etc) (mje++, ilmari++) (ISHIGAKI)

1.41_03 2013-09-05
    - Updated to SQLite 3.8.0.2 (ISHIGAKI)

1.41_02 2013-08-30
    - Updated to SQLite 3.8.0.1 to resolve #88228 (RIBASUSHI++)
      (ISHIGAKI)

1.41_01 2013-08-27
    *** NOTICE ON NEXT GENERATION QUERY PLANNER ***
    - As of SQLite 3.8.0, SQLite's query planner has been rewritten.
      According to the author, the new query planner should give
      exactly the same result (though perhaps with a little less CPU
      time spent planning) for simple queries, and for complex
      queries, it can in many cases provide a much faster answer.
      See http://www.sqlite.org/queryplanner-ng.html for details.

    *** NOTICE ON PARTIAL INDICES ***
    - Database files created by SQLite 3.8.0 are still readable and
      writable by prior versions, but if you use partial indices
      introduced in SQLite 3.8.0, those files become unreadable and
      unwritable by older versions of (DBD::)SQLite. They'll be
      readable/writable again by dropping partial indices.

    - Resolved #87435: PATCH: statistics_info perldoc (DDICK)
    - Resolved #87297: URI filenames in DBD::SQLite (ISHIGAKI)

1.40 2013-07-28
    - NetBSD also doesn't like the _XOPEN_SOURCE hack (ISHIGAKI)
    - Resolved #86080: PATCH: statistics_info support (DDICK)

1.39 2013-05-31
    - Production release, no changes from 1.38_05

1.38_05 2013-05-31
    - OpenBSD doesn't like the previous _XOPEN_SOURCE hack (ISHIGAKI)
    - Disabled a unicode-related test for older perls (ISHIGAKI)

1.38_04 2013-05-29
    - Tentatively defined _XOPEN_SOURCE under *BSD systems to see
      if it solves a compilation issue for threaded perls (ISHIGAKI)

1.38_03 2013-05-20
    *** NOTICE ON QUERY OPTIMIZER ENHANCEMENT ***
    - As of SQLite 3.7.15, SQLite's query optimizer was enhanced
      and the result order of a SELECT statement without an ORDER
      BY clause may be different from the one of the previous
      versions. If your applications or tests mistakenly depend
      on the arbitrary output order, they may be broken with this
      enhancement.

    - Updated to SQLite 3.7.17 (ISHIGAKI)
    - Fixed tests that mistakenly made invalid assumptions about
      the result order (ISHIGAKI)
    - Added a brief note on useful pragmata. (ISHIGAKI)
    - Resolved #85302: type fixes (ISHIGAKI)

1.38_02 2013-04-04
    - Updated to SQLite 3.7.16.1 (ISHIGAKI)
    - Removed two obsolete pragma calls at login time (ISHIGAKI)
    - Resolved #80344: Set SQLITE_DISABLE_DIRSYNC on AIX (suggested
      by Steve Barnsley) (ISHIGAKI)
    - Resolved #81536: primary_key_info returns the wrong KEY_SEQ
      (VLYON)
    - Resolved #84027: Finalizer() not called in (D. Richard Hipp)
    - Resolved #84372: -Wpointer-sign warnings with utf8_hop
      (RURBAN)
    - Resolved #84373: Add test for RT #26775 "name)" key with
      DISTINCT (RURBAN/ISHIGAKI)
    - Resolved #70815: DBD::SQLite 1.33 build is broken under
      Solaris using Sun C (RURBAN)
    - Resolved #84380: Fix WINLIKE for mingw/msys (RURBAN)
    - Added a note on DBD::SQLite and File::Temp (suggested by
      TOKUHIROM) (ISHIGAKI)

1.38_01 2012-09-24
    *** CHANGES THAT MAY POSSIBLY BREAK YOUR OLD APPLICATIONS ***
    - Resolved #56444: immediate transaction should be on by
      default, and the doc be updated.
      If you really need the deferred transaction (which had long
      been the default), set sqlite_use_immediate_transaction
      to false explicitly. (ISHIGAKI)

    - Updated to SQLite 3.7.14 (ISHIGAKI)
    - Added support for foreign_key_info (DAMI/ISHIGAKI)
    - Added several methods to retrieve internal information such as
      table_column_metadata/db_filename/*_status (ISHIGAKI/VOVKASM)
    - Added sqlite_load_extension so that extensions can add
      functions internally (ISHIGAKI)
    - Resolved #77617: atoll () sometimes just is atol () (GAAS)
    - Resolved #48084: improper "require utf8" in tests (ISHIGAKI)
    - Resolved #77724: bug in primary_key_info with regard to column
      names containing whitespace (ISHIGAKI)
    - Resolved #79364: variance example of the doc (ISHIGAKI)
    - Resolved #78833: utf8 flag for column names (JAMADAM)
      (This hopefully resolved #72418 as well)
    - Resolved #64177: ping() wipes out the errstr (ISHIGAKI)
    - Resolved #79576: (patch) bind_param don't work with PADTMP
      scalars (VOVKASM)
    - Refactored primary_key_info to support attached databases
      (ISHIGAKI)

1.37 2012-06-12
    - Updated to SQLite 3.7.12.1 (ISHIGAKI)

1.36_04 2012-05-19
    - Final developer release
    - Updated to SQLite 3.7.12 (ISHIGAKI)
    - Tweaked Makefile.PL to behave better during the Bsymbolic
      check (HMBRAND)
    - Added SQLITE_WITHOUT_ZONEMALLOC for older MacOS X (ISHIGAKI)

1.36_03 2012-05-07
    - Updated to SQLite 3.7.11 (ISHIGAKI)
    - Fix >32bit integer truncation and other sqlite_set_result
      condition issue (Yuriy Kaminskiy)
    - Fix integer overflow in passing argument to perl function
      (Yuriy Kaminskiy)
    - Convert unsigned -> int64 when possible (Yuriy Kaminskiy)
    - Turned datatype mismatch error (introduced in 1.34_02) into
      a warning (you can disable this warning by setting PrintWarn
      attribute to false). (ISHIGAKI)
    - Refactored sqlite_is_number to fix various corner cases
      (ISHIGAKI)

1.36_02 2012-02-23
    - Downgraded SQLite to 3.7.9, as 3.7.10 turned out to be
      broken on the latest MacOS X (due to a missing symbol),
      and broke other modules that typically use temporary tables
      under a few environments too. As of this writing, would-be
      3.7.11 seems fine, but it would take another month to be
      released. (ISHIGAKI)

1.36_01 2012-01-19
    *** CHANGES THAT MAY POSSIBLY BREAK YOUR OLD APPLICATIONS ***
    - Updated to SQLite 3.7.10 (ISHIGAKI)
      Note that this release changed the default schema format
      number, that means newly created database files will be
      unreadable by SQLite version prior to 3.3.0 (2006-01-10)
      (or DBD::SQLite prior to 1.12) unless you explicitly issue
      "PRAGMA legacy_file_format=ON".

    - Enabled SQLITE_ENABLE_FTS4
    - Enabled SQLITE_ENABLE_STAT3
    - Resolved #73159: FTS tokenizer segfault (ISHIGAKI)
    - Resolved #73787: sqlite_see_if_its_a_number causes a buffer
      overflow (ISHIGAKI)
    - Resolved #73314 for DBD-SQLite: binding of 64bit integers fail
      on 1.34_02 (ISHIGAKI)
    - Implemented sqlite_trace and sqlite_profile methods for simpler
      tracing/profiling; use DBI_TRACE/DBI_PROFILE for more
      complicated cases (ISHIGAKI)

1.35 2011-11-29
    - Updated to SQLite 3.7.9 (ISHIGAKI)
    - One small potential break case if you are using FTS4 and ^

1.34_03 2011-11-01
    - Adding an explicit dynamic_config => 1 (ADAMK)
    - bind_param SQL_INTEGER error now actually dies with RaiseError.
      (ISHIGAKI)

1.34_02 2011-10-21
    *** CHANGES THAT MAY POSSIBLY BREAK YOUR OLD APPLICATIONS ***
    - Resolved #67581: bind_param SQL_INTEGER numifies value;
      Now DBD::SQLite croaks if you explicitly specify datatype
      (with bind_param) and datatype mismatch happens (ISHIGAKI)
    - Datatype set in the bind_param(_array) becomes sticky now
      (as per DBI spec). This potentially affects code depending on
      current undocumented and broken behavior. (Yuriy Kaminskiy)

    - Resolved #71311: binding output columns as SQL_BLOB returns
      nothing (ISHIGAKI)
    - Bsymbolic flag was not portable enough and was not silently
      ignored under MacOSX. Needs to check harder to see if the
      linker supports the option. (ISHIGAKI)
    - Fixed binding named parameters. (Yuriy Kaminskiy)
    - Moved check for bind_ph/is_inout so it always error-out.
      (Yuriy Kaminskiy)
    - Don't set imp_sth->stmt to NULL on error path (Yuriy Kaminskiy)
    - Explained an issue of rollback with unfinished statements.
      (ISHIGAKI)

1.34_01 2011-09-22
    - Updated to SQLite 3.7.8 (ISHIGAKI)
    - Made util/getsqlite.pl work properly for SQLite 3.7.5+ (ISHIGAKI)
    - Cookbook: don't use globals (Yuriy Kaminskiy)
    - Resolved #70135 and hopefully other mod_perl/CentOS issues like
      #63873 and #47983, with a patch by MDOOTSON++ (ISHIGAKI)

1.33 2011-05-20
    - Production release, no changes from 1.32_04

1.32_04 2011-05-20
    - Updated to SQLite 3.7.6.3 (ISHIGAKI)
    - Made util/getsqlite.pl state that it needs fixing to work for
      SQLite 3.7.5+ when it dies at the last step, and outline what the
      user needs to do manually instead, until getsqlite is fixed (DUNCAND)

1.32_03 2011-05-12
    - Updated to SQLite 3.7.6.2 (ISHIGAKI)
    - Resolved #67843 for DBD-SQLite: savepoint rollback alters AC
      state (ISHIGAKI)

1.32_02 2011-03-07
    - Updated to SQLite 3.7.5 (ISHIGAKI)
    - Resolved #65267 for DBD-SQLite: Add RTree support option;
      skip fts3/metadata tests if those features are disabled
      (ISHIGAKI)
    - Resolved #65267: Add RTree support option (CJFIELDS)
    - Added sqlite_see_if_its_a_number database handle attribute
      to deal with issues caused by (quoted) bind values against
      numbers such as return values from a function etc. (ISHIGAKI)

1.32_01 2010-12-10
    - Made util/getsqlite.pl work with the amalg distro filename changes
      introd by SQLite 3.7.4, and still with older ones also (DUNCAND)
    - Updated to SQLite 3.7.4 (DUNCAND)
    - Resolved #61355: Fails testing in parallel (ISHIGAKI)
    - Resolved #61361: Problems building 1.31 with system SQLite (ISHIGAKI)
    - Resolved #61117: Supporting database as an alias for dbname in
      DSN (ISHIGAKI)
    - Resolved #62370: Segfaults during operations on disconnected
      handles (ISHIGAKI)
    - Resolved #61958: REGEXP should return NULL when one of its
      arguments is NULL (ISHIGAKI)
    - Removed PrintWarn tweak introduced in 1.19_09 (Tim Bunce's
      advice) (ISHIGAKI)

1.31 2010-09-15
    - Production release, identical to 1.30_06

1.30_06 2010-09-09
    - Resolved # 60860: Slow but steady memory leak on
      last_insert_id calls (ISHIGAKI)
    - Moved DBD::SQLite::FTS3Transitional into a dedicated dist (DAMI)
    - Updated bundled Test::NoWarnings to 1.02 (ADAMK)
    - Slightly bumped Test::More and added Test::Builder dependencies,
      because they are inherited from the bundled Test::NoWarnings (ADAMK)
    - Upgraded ppport.h to the latest version (ADAMK)

1.30_05 2010-08-27
    - Test::NoWarnings bundled in the "inc" directory was ignored
      in a new test. (ISHIGAKI)

1.30_04 2010-08-25
    - Updated to SQLite 3.7.2 (DUNCAND)
    - Resolved #60698: "Test failures with SQLite 3.7", using included
      patch by Niko Tyni (ntyni@debian.org) of t/lib/Test.pm (DUNCAND)
    - Added support for FTS3 tokenizers written in Perl. Added tests
      and documentation on how to use FTS3. Changed compilation flag
      to use the recommanded -DSQLITE_ENABLE_FTS3_PARENTHESIS
      *** MAY POSSIBLY BREAK OLD APPLICATIONS THAT ALREADY USED FTS3 ***
      (DAMI)
    - Fixed various backward compatibility issues back to SQLite 3.6.1
      (ISHIGAKI)
    - Resolved #58332: Documentation error for preventing fsync
      (ISHIGAKI)

1.30_03 2010-05-21
    - Updated to SQLite 3.6.23.1 (ISHIGAKI)
    - Resolved #56693: [PATCH] Fix spelling errors (patch by
      Ansgar Burchardt) (ISHIGAKI)
    - Added compile_options() to get compile options (ISHIGAKI)
    - Fixed punctuation; suggested by Father Chrysostomos (ISHIGAKI)
    - Ignore unknown collations, as they may be installed without
      using DBD::SQLite's api. This should help ICU plugin. (ISHIGAKI)

1.30_02 2010-03-30
    - Implemented sqlite_use_immediate_transaction database handle
      attribute to avoid deadlocks easily (ISHIGAKI)
    - Resolved #55466: Problem with names in DB that using square
      bracers (ISHIGAKI)
    - Added SQLITE_ENABLE_LOCKING_STYLE=0 for Mac OSX to avoid
      compile error (ISHIGAKI)

1.30_01 2010-03-10
    *** CHANGES THAT MAY POSSIBLY BREAK YOUR OLD APPLICATIONS ***
    - Resolved #54271: Inserting a string with utf-8 flag on
      corrupts BLOB data; now BLOB data is always stored as bytes
      (without the utf-8 flag) even if it has the flag set (ISHIGAKI)
    - Updated to SQLite 3.6.23 (DUNCAND)
    - Implemented NUM_OF_PARAMS statement handle attribute (ISHIGAKI)
    - Added experimental "sqlite_allow_multiple_statements"
      database handle attribute, and "sqlite_unprepared_statements"
      statement handle attribute, to allow processing a SQL dump.
      (ISHIGAKI)
    - Resolved #53579: Added a note and a test of placeholders.
      (ISHIGAKI)
    - Resolved #45113, which was actually an issue of dequoting
      primary key column names (ISHIGAKI)
    - You can now retrieve some of the statement handle attributes
      before you execute. (ISHIGAKI)
    - Added preamble to copy sqlite3.[hc] files into a share
      directory (where you can access via File::ShareDir) to allow
      extension authors to use the same C source/header as they
      used to build DBD::SQLite itself. (ISHIGAKI)

1.29 2010-01-08
    - Updated to SQLite 3.6.22 (DUNCAND)

1.28_02 2010-01-03
    - Now empty (or comment only) statements won't cause segv
      or "not an error" errors. Spotted by TOKUHIROM. (ISHIGAKI)
    - Resolved #52573: previous fix always turned on the AutoCommit
      flag; it goes along with the behavior of the internal library
      but broke compat. (ISHIGAKI)
    - Removed the SQLITE_CORE and SQLITE_PRT_SZ flags at the recommendation
      of the SQLite mailing list. (ADAMK)

1.28_01 2009-12-22
    - Updated to SQLite 3.6.21 (ISHIGAKI)
    - Silence warnings on HP-UX (HMBRAND)
    - Resolved #52573: Manual Transaction handling seems to be
      broken (hopefully) (ISHIGAKI)

1.27 2009-11-23
    - Switching to a production version

1.26_07 2009-11-15
    *** CHANGES THAT MAY POSSIBLY BREAK YOUR OLD APPLICATIONS ***
    - Foreign keys support is once again disabled by default.
      It seems to have a greater impact than we expected and
      it actually broke things. This feature probably will be
      enabled by default by the sqlite team in the future, and
      eventually you'll need to cope with it, but right now we
      agreed with some discussion to give you more time to be
      prepared. If you use referential stuff in your schema
      (which sqlite ignores now) should do extensive testing
      to ensure that they will work when you issue "PRAGMA
      foreign_keys = ON". (ISHIGAKI)

    - Updated to SQLite 3.6.20 (DUNCAND)
    - Resolved #50935: there remained old "unicode" attribute usage
      in the pod, spotted by ASHLEY. (ISHIGAKI)

1.26_06 2009-10-28
    *** CHANGES THAT MAY POSSIBLY BREAK YOUR OLD APPLICATIONS ***
    - Removed undocumented (and most probably unused) reset method
      from a statement handle (which was only accessible via func().)
      Simply use "$sth->finish" instead. (ISHIGAKI)
    - Now DBD::SQLite supports foreign key constraints by default.
      Long-ignored foreign keys (typically written for other DB
      engines) will start working. If you don't want this feature,
      issue a pragma to disable foreign keys. (ISHIGAKI)
    - Renamed "unicode" attribute to "sqlite_unicode" for integrity.
      Old "unicode" attribute is still accessible but will be
      deprecated in the near future. (ISHIGAKI)

    - You can see file/line info while tracing even if you compile
      with a non-gcc compiler. (ISHIGAKI)
    - Major code refactoring. (ISHIGAKI)
    - Pod reorganized, and some of the missing bits (including
      pragma) are added. (ISHIGAKI)

1.26_05 2009-10-15
    - Updated to SQLite 3.6.19 (ISHIGAKI)

1.26_04 2009-10-06
    *** CHANGES THAT MAY POSSIBLY BREAK YOUR OLD APPLICATIONS ***
    - Resolved #49716: Fixed $dbh->column_info to work according to
      the spec in DBI and added support for attached databases. (VLYON)
    - Fixed $sth->primary_key_info to work according to the spec in DBI
      and changed the tests in t/27_metadata.t to reflect this. (VLYON)
    - Tweaked not to hide a real error by a "not an error" issued
      by another sqlite3 function between the failed sqlite3 function
      and the sqlite_error to report. Note that this change makes
      some failures issue two relevant errors at a time. (ISHIGAKI)

    - Updated to SQLite 3.6.18 (DUNCAND)
    - Resolved #48393: previous effort was not enough; BegunWork
      should also be handled properly (ISHIGAKI)
    - Replaced last DBILOGFP with DBIc_LOGPIO(imp_xxh) (ISHIGAKI)
    - Tweaked t/08_busy.t not to fail just because it is tested
      under a very, very slow (virtual) machine. (ISHIGAKI)
    - Added a code to look for a compiler from Module::Install::Can.
      (ISHIGAKI)
    - Added documentation and an 'Escape' attribute for $sth->table_info.
      (VLYON)

1.26_03 2009-08-12
    - Updated to SQLite 3.6.17 (ISHIGAKI)
    - Switched to use :memory: for most of the tests (ISHIGAKI)
    - Fixed a memory leak when prepare should fail (ISHIGAKI)
    - Added support for commit/rollback/update hooks (DAMI)
    - Added support for set_authorizer (DAMI)
    - Added support for collation_needed(), and reorganised driver API
      for user-defined collations (DAMI)
    - Exported constants from sqlite3.h into DBD::SQLite namespace (DAMI)
    - Added support in t/lib/Test.pm for checking both versions of
      driver-private methods ("func" / "sqlite_*") (DAMI)
    - Removed unused and obsolete "list_tables" from SQLite.xs (DAMI)
    - Added a default implementation for the REGEXP infix operator (DAMI)
    - Renamed several internal sqlite3_ functions to sqlite_
      for clarity (ISHIGAKI)
    - Accept empty filename at connect (sqlite will open a tempfile) (DAMI)
    - Documented the connect() method (DAMI)
    - Replaced imp_dbh->in_tran with sqlite3_get_autocommit(), hoping
      this would fix the annoying rollback issues, including #48393
      (ISHIGAKI)
    - META.yml requires is now generated instead of being derived from the
      (incorrect) PREREQ_PM values by ExtUtils::MakeMaker (ADAMK)

1.26_02 2009-06-19
    *** CHANGES THAT MAY POSSIBLY BREAK YOUR OLD APPLICATIONS ***
    - Resolved #46831: table_info schema is incorrect and doesn't
      work with attached databases (VLYON/ISHIGAKI)

    - Updated to SQLite 3.6.15 (DUNCAND)
    - Resolved #44882: Use of $h->func() should be deprecated and
      replaced with calls to driver-private 'installed methods'
      (ISHIGAKI)
    - Added access to Online Backup functionality. (TJC)
    - Added enable_load_extension pod (ISHIGAKI)
    - Now private methods/functions return true after successful
      calls (#44871) (ISHIGAKI)
    - Removed all of the "croak"s (#44871) (ISHIGAKI)

1.26_01 2009-05-05
    - Added ORDINAL_POSITION support for $dbh->column_info (ADAMK)
    - Applied several fixes from GFUJI to clean up code (#45578)
      (ISHIGAKI)
    - Skipped some of the unicode path tests under cygwin (#45166)
      (JDHEDDEN)
    - Added some explanation and workarounds for a SQL that
      compares a return value of a function with a numeric bind
      value (ISHIGAKI)

1.25 2009-04-23
    - Amalgamation conversion turned out to be quicker than expected.
    - Changing to a production release.  (ADAMK)

1.24_02 2009-04-22
    - Merging various externally-contributed annotations from
      annocpan.org (ADAMK)
    - Created the beginnings of a DBD::SQLite::Cookbook (ADAMK)

1.24_01 2009-04-22
    - Moved getsqlite.pl into util (ADAMK)
    - Switching to the RT queue instead of the RT report page that
      does nothing and just refers you to email (ADAMK)
    - Now DBD::SQLite also uses amalgamated source recommended at sqlite.org (ISHIGAKI)
    - Resolved #45166: better unicode path handling under cygwin (ISHIGAKI)
    - Resolved #45171: test failure on CentOS 4.6 (ISHIGAKI)

1.23 2009-04-19
    - No changes from 1.22_08, just switched to production release (ADAMK)

1.22_08 2009-04-17
    - Completed the migration of all tests and deleted lib.pl (ADAMK)
    - Prevented a double "commit is innefective" warning (ADAMK)
    - Adding a version for the Win32.pm dependency (ADAMK)

1.22_07 2009-04-16
    - Improved non-latin unicode filename support/test
      on Windows (SZABGAB/ISHIGAKI)
    - Removed the table name generator from t/lib.pl,
      getting us closer to removing t/lib.pl entirely (ADAMK)
    - Increased use of Test::NoWarnings (ADAMK)
    - Converted half the remaining lib.pl tests to t::lib::Test (ADAMK)
    - Require Win32.pm on Windows (CHORNY)

1.22_06 2009-04-15
    - Simplifying various miscellaneous code (ADAMK)
    - Adding support for non-latin unicode filenames on Windows (ADAMK)

1.22_05 2009-04-15
    - Hopefully the last dev release before the next production release.
    - Updated to SQLite 3.6.13 (DUNCAND)
    - Setting svn:eol-style to native to prevent EOL issues (ADAMK)
    - Resolved #44861: tweaked Makefile.PL to support older HP-UX (ISHIGAKI)

1.22_04 2009-04-11
    - Adding support parsing attributes out of the DSN (ADAMK)
    - Inserted pTHX_/aTHX_ for better efficiency (suggested in #44884 by TIMB) (ISHIGAKI)
    - Dropping support for uncode before 5.8.5 to simplify support and
      to prevent people hurting themselves on platforms that don't
      properly support Unicode anyway (ADAMK)
    - Stopped guessing if a bind param looks like a number or not
      (suggested by GUIDO). This reopens #29058 and #29629, but
      there are two workarounds for them. 1) Use "bind_param"
      explicitly (rather than plain "execute", as you do for BLOB).
      2) Add "+0" to the appropriate part(s) of your SQL to let
      sqlite convert them into a number. (ISHIGAKI)

1.22_03 2009-04-10
    - Resolved #44876: Patch to fix includes in the SQLITE_LOCATION case by janus (ISHIGAKI)
    - Added PERL_NO_GET_CONTEXT for efficiency (suggested in #44884 by TIMB) (ISHIGAKI)
    - Refactored error handling (suggested in #44884, #44871 by TIMB) (ISHIGAKI)

1.22_02 2009-04-09
    - Added missing documentation bits for 'create_collation'
      and 'progress_handler' (DAMI)
    - Resolved RT#25924 (Arguments to user-defined functions do not
      respect unicode setting) (DAMI)
    - Added comments on the return values on error, and fixed another
      wrong return value in execute (ISHIGAKI)
    - Added SQL_NULLABLE_UNKNOWN; still wonders if the error above
      should be ignored or not (ISHIGAKI)

1.22_01 2009-04-09
    - Resolved #25371: Calls sv_utf8_upgrade on strings going into
       the database to make sure latin-1 strings are not saved as
       Malformed UTF-8 character in the SQLite TEXT column (MIYAGAWA)

1.21 2009-04-09
    - Fixed the issue that execute on inactive handles returned
      0 instead of undef, which made a DBIC test broken (ISHIGAKI)

1.20 2009-04-07
    - Moving to the first production release of the new era.
    - Check DBI version in Makefile.PL (CHORNY)
    - Bundling Test::NoWarings into /inc to remove a dependency (ADAMK)
    - Correcting use 5.00503 to 5.006 in SQLite.pm (ADAMK)

1.19_10 2009-04-06
    - A few more tests moved to Test::More (ADAMK)
    - We need DBIXS_REVISION, which appeared in DBI 1.57.
      Bumping up our dependency to match it and confirmed myself
      that DBD::SQLite actually builds against 1.57 (ADAMK)
    - Resolved #40594: $sth->{NULLABLE} implementation (ISHIGAKI)
    - Resolved #29629: sqlite where length issue (actually this has
      been fixed before) (ISHIGAKI)
    - Applied an enable_load_extension patch from RT #32998 (ISHIGAKI)
    - Resolved #42940: DBD-SQLite make test faild (ADAMK)
    - Resolved #26460: Sorting numeric values in aggregate functions (ADAMK)
    - Resolved #32889: prepare_cached does not work correctly (ADAMK)
    - Resolved #34828: Please add support for user-defined collations (ADAMK)
    - Made Test::NoWarnings an optional module (CORION)

1.19_09 2009-04-05
    - Require perl 5.6 because dependencies require it
    - Updated ppport.h to the most recent release 3.17 (ADAMK)
    - Adding $DBI::VERSION diag to help diagnose FAIL reports (ADAMK)
    - #29519 was only resolved on Win32. Applied a more comprehensive
      patch (JHEDDEN)
    - Rewrote 28_schemachange.t in Test::More style (ADAMK)
    - Bug fix in 28_schemachange.t rewrite re fork/connect (DUNCAND)
    - Resolved #44779: [t/03insert.t] last_insert_id returns undef where 4
      is expected (DUNCAND, CHORNY; that is, DUNCAND debugged and solved
      the ticket based on _08, which was a flaw in the Makefile.PL
      involving an always-applied -Dno_last_insert_id, but it turns out
      CHORNY had inadvertantly applied the fix in the name of DBI cleaning)
    - Starting to use Test::NoWarnings in the test scripts (ADAMK)
    - Added link to MailingList resource (ADAMK)
    - Squelch warnings inless PrintWarn is set in line with guidance from
      the DBI documentation (ADAMK)
    - Resolved #29058: don't quote a bind param (as a text) if it
      looks like a number (ISHIGAKI)
    - Resolved #27553: prepare_cached and analyze issue (actually
      this has been fixed before) (ISHIGAKI)

1.19_08 2009-04-04
    - Bumped minimum DBI dependency to 1.43 so last_insert_id is supported
      in DBI (ADAMK)
    - Resolved #30558: INSERT After PK Failure Also Fails Using
      Prepared (ADAMK)
    - Resolved #42567: Core dump in t/07busy.t after test 4 (mutex and/or
      memory corruption) (ADAMK)
    - Resolved #32100: t/06error.t fails using SQLite 3.5.4 (ADAMK)
    - Resolved #35904: Test failure: Bus error t/08create_function
      test (ADAMK)
    - Resolved #9792: Crashes upon re-executing a statement (ADAMK)
    - Resolved #21472: Spurious "not an error" and "bind or column index
      out of range" errors (MSERGEANT)
    - Resolved #32723: last_insert_rowid should handle sqlite_int64,
      not int (ADAMK)
    - Resolved #37215: memory leaks in sqlite_db_disconnect (ADAMK)
    - Resolved #33441: unlimited memory accumulation (ADAMK)
    - Resolved #31324: Incorrect Implementation of column names within
      sqlite_st_FETCH_attrib (ADAMK)
    - Resolved #32570: segmentation fault during tests 07 & 08 (ADAMK)
    - Resolved #41631: Dot doesn't work in quoted column aliases (ADAMK)
    - Resolved #403: test failure on "Testing select speed (large table) (ADAMK)
    - Resolved #35769: dbimp.c uses uninitialized variables. (ADAMK)
    - Resolved #27701 and #27702: (unnamed) (ADAMK)
    - Resolved #31239: prepare_cached...statement handle
      DBIx::ContextualFetch::st=HASH still Active (ADAMK)
    - Resolved #41047: Re: Bug#506157: libdbd-sqlite3-perl: unsufficient
      error message while opening database for writing (ADAMK)
    - Resolved #25196 (bug in prepare?) (ADAMK)\
    - Resolved #36651: Bug involving "closing dbh with active
      statement handles" (ADAMK)
    - Resolved #34408: Primary key name wrong with newline in
      CREATE TABLE (ADAMK)
    - Resolved #34600: t/06_error.t stalling (ADAMK)
    - Resolved #22688: DBD::SQLITE Error Report (ADAMK)

1.19_07 2009-04-04
    - Starting to work the RT queue now the basics are settled.
      Many of the items marked as resolved by my just indicate that I have
      confirmed someone else applied the fix. (ADAMK)
    - Re-enable and fix t/70schemachange.t, as per RT #43448 (CORION)
    - Added a canary test to probe for RT #36863
      (segfault on OSX 10.5.2) (CORION)
    - Added resources links to META.yml (ADAMK)
    - Resolved #30502: t\70schemachange.t fails on Windows (ADAMK)
    - Resolved #30167: Specify configuration depenencies with
      "configure_requires" (ADAMK)
    - Resolved #17623: make test fails when DBI_DSN is not
      DBD::SQLite (ADAMK)
    - Resolved #13631: wish: column_info support() (CORION)
    - Resolved #39938: Read-access to development repository (ADAMK)
    - Resolved #18617: Build error under win32 (ADAMK)
    - Resolved #35838: support for DBI::column_info call (CORION)
    - Resolved #29497: POD content bug (ADAMK)
    - Resolved #29520: 1.14 fails in test 6 (ADAMK)
    - Resolved #44647: Makefile.PL syntax error (ADAMK)
    - Resolved #29519: t/70schemachange.t failure (ADAMK)
    - Resolved #20286: DBD::SQLite leaks file descriptors (ADAMK)
    - Resolved #21406: DBD-SQLite 1.13 broke Class-DBI (ADAMK)
    - Resolved #4591: Test suite (t/t50*.t) is order dependent / bug in
      t/lib.pl? (ADAMK)
    - Resolved #36467: Name "DBD::SQLite::sqlite_version" used
      only once (ADAMK)
    - Resolved #7753: DBD::SQLite error shouldn't include extraneous
      info (ADAMK)

1.19_06 2009-04-04
    - Fixed a segv with an error function under x86 linux
      (and hopefully Mac OSX). (TOKUHIROM)
    - Fixed yet another segv while testing DBIC reconnection (DMAKI)
    - Switched from Test.pm to Test::More (though there're still
      some tests that don't use Test::More) (ISHIGAKI)
    - Added "use strict" to some. (ISHIGAKI)
    - Added a cleanup block to each test to allow it run clean and
      separately. (ISHIGAKI)
    - Adding an explicit minimum Perl version to the Makefile.PL (ADAMK)
    - Setting configure_requires dependencies for File::Spec
    - Splitting the LICENSE key into it's own MakeMaker
      version-dependency conditional (ADAMK)
    - All tests run under the same Perl environment
      (autoflush on, and warnings enabled via $^W = 1) (ADAMK)
    - Refactored away a ton of needless complexity from the
      older-style tests inherited from the CSV driver (ADAMK)

1.19_05 2009-04-02
    - DBD::SQLite::Amalgamation 3.6.1.2 and DBD::SQLite 1.19
      should be feature identical now.
    - Added collations from DBD::SQLite::Amalgamation (CORION)
    - Removed statement handle activation after "execute" if
      there's no row to fetch. I hope this silences the
      Class::DBI's warnings. (ISHIGAKI)

1.19_04 2009-03-31
    - Updated to SQLite 3.6.12 (ISHIGAKI)

1.19_03 2009-03-31
    - Added ->column_info() (CORION)

1.19_02 2009-03-29
    - Updated to SQLite 3.6.11 (ISHIGAKI)
    - Added/updated several prototypes (ISHIGAKI)
    - Moved TODO into the POD (ADAMK)

1.19_01 2009-03-27
    - Updated to SQLite 3.6.10, and bumped up the version
      requirement for installed sqlite3 to 3.6.0 as 3.6.x
      has backward incompatiblity (ISHIGAKI)
    - Fixed "closing dbh with active statement handles" issue
      with a patch by TOKUHIROM. (ISHIGAKI)
    - Skip 70schemachange test for Windows users. (ISHIGAKI)
    - Applied RT patches including #29497, #32723, #30558,
      #34408, #36467, #37215, #41047. (ISHIGAKI)
    - Added TODO to show which issues are to be fixed. (ISHIGAKI)
    - License and configure_requires in Makefile.PL and META.yml (Alexandr Ciornii)
    - Spelling check for SQLite.pm (Alexandr Ciornii)
    - Adding arbitrary Perl 5.00503 minimum

1.16 abandoned

1.15 abandoned

1.14
    - Updated to SQLite 3.4.2
    - Switch to sqlite3_prepare_v2 which fixes a number of bugs
      with re-using statements
    - Fix bug with overflowing integers in user defined functions
    - Fix bug when building under no-threads perl

1.13
	- A number of bug fixes from RT.
	- Support named bind parameters

1.12
	- Brought up to date with SQLite 3.3.5

1.11
    - Make blobs work transparently (without SQLBLOB binding)

1.10
    - Fix Unicode support (DOMQ)
    - Support usleep on all Linux (inc. debian) (DOMQ)
    - Upgrade to sqlite 3.2.7
    - Document how to use BLOBS

1.09
    - Support external SQLite library (rjray)
    - Don't convert things that look like numbers to numbers unless
      specifically requested.
    - Upgrade to sqlite 3.2.2

1.08
    - Support 64 bit integers (uses floating point numbers when perl is not 
        compiled with 64 bit int support). This also fixes issues with using
        sqlite timestamps.
    - Upgrade to sqlite 3.1.3
    - Fix issues of not finding rows when providing a number that perl sees as
        a string.
    - Fixes for most current bugs in RT (see http://rt.cpan.org/ to check if your
      favourite bug got fixed).
    
1.07
    - Fix for a memory leak (spotted by Joel Noble)
    - Update to sqlite 3.0.8 (fixes bug on Solaris-sparc)

1.06
    - Resolve symbol conflicts on mac os x.
    - Fix define in WriteMakefile lacking space.
    - Fix DBI prereq in Makefile.PL
    - Update to sqlite 3.0.7

1.05
    - Enabled HAVE_USLEEP where available which should massively
      improve concurrent usage of DBD::SQLite
    - Update to sqlite 3.0.6

1.04
    - Patched to make it compile on Windows (Steve Hay)
    - Fetch next row at end of DBI's fetch() so that one-row
      selects don't need to call ->finish(). This restores DBD::SQLite
      0.31's behaviour (and should make popfile work again)
    - last_insert_id will only work on DBI 1.43, so enforce that
    - Use snprintf from sqlite library to improve portability

1.03
    - Update to sqlite 3.0.4
    - More bug fixes
    - Don't hang forever when db is BUSY
    - Make trace macro work where vararg macros don't

1.02
    - Cleanup docs
    - More bug fixes

1.01
    - Bug fixes
    - Implement get_info

1.00
    - Port to sqlite3 API
    - Support bind types SQL_BLOB, SQL_NUMBER, SQL_TEXT etc
    - Support $dbh->last_insert_id()
    - Added timeout API

0.31
    - Fixed a free() bug on Win32
    - Silence warnings in test suite
    - Updated to sqlite 2.8.12

0.30
    - Updated to sqlite 2.8.11
    - A few minor bugs fixed

0.29
    - Updated to sqlite 2.8.7
    - A number of bugs fixed

0.28
    - Perl 5.8.0 removed long deprecated SvOK_off()
    - Aliases for perl_call_*
    - Updated to sqlite 2.8.6
    - use sqlite_freemem everywhere

0.27
    - Changed API to use sqlite streaming API. This makes things slightly
      slower for large result sets, at the benefit of being more "sane"
      internally.

0.26
    - Update to sqlite 2.8.5
    - Automatic binary encoding added (via a flag)
    - Better getsqlite.pl - now deals with new files
    - Extension functions and aggregates can be created in
      perl space now.

0.25
    - Fixed Makefile.PL to no longer try creating a .c file to determine
      the OS ptrsize - use Config.pm directly in the DEFINE
    - Major updates from Tim Bunce to bring DBD::SQLite in line with
      the DBI spec and other drivers, including:
      - Support for table_info_all() and primary_key_info()
      - $sth->{NAME} updates
      - execute() returns number of rows updated
      - $dbh->{sqlite_version} returns the SQLite version in use
      - $dbh->{sqlite_encoding} returns the SQLite encoding in use
      - Improved trace debugging
      - Improved error handling
      (many MANY thanks to Tim for all these patches!)
    - Updated to sqlite 2.8.0

0.24
    - Fixed major crash bug affecting Mac OS X
    - Removed test.pl from distribution
    - Upgraded to sqlite 2.7.6

0.23
    - Fixed unicode tests

0.22
    - Merge with sqlite 2.7.4

0.21
    - Ooops - forgot new opcodes files from MANIFEST

0.20
    - Port to SQLite 2.7.2
    - Fixed bug in not freeing memory if you re-execute a $sth

0.19
    - Upgrade to SQLite 2.6.3 - this now allows databases to work across
      different endian architectures.

0.18
    - Upgraded to SQLite 2.5.6 - All users are advised to upgrade
      due to a corruption bug in SQLite 2.4.0 - 2.5.6

0.17
    - Upgraded to SQLite 2.5.3
    - Fixed getsqlite.pl
    
0.16
    - Upgraded to SQLite 2.5.0

0.15
    - Upgraded to SQLite 2.4.5

0.14
    - Added NoUTF8Flag option, so that returned strings don't get flagged
      with SvUTF8_on() - needed when you're storing non-unicode in the database

0.13
    - Upgraded to SQLite 2.4.3
    - Added script to download sqlite core library when it's upgraded

0.12
    - Upgraded to SQLite 2.4.2

0.11
    - Upgraded to SQLite 2.4.0, which adds views, subqueries, new builtin
      functions, performance, and even sheds some weight
    - Changed transaction support to only BEGIN TRAN when you execute some
      SQL, which should improve locking problems.

0.10
    - Fixed missing SQLiteXS.h from 0.09

0.09
    - Updated to SQLite 2.3.3, and some file cleanups to make that easier
      next time.

0.08
    - Last of the mem leaks fixed
    - Doc fix on last_insert_rowid

0.07
    - Memory leak fixes (though still leaks some, beware)
    - Some API cleanups and test cleanups
    - Added last_insert_rowid() method and docs

0.06
    - Win32 and 5.00404 build fixes
    - Added some more performance tests to test.pl
    - Make sure to set $sth->{Active} only on selects

0.05
    - Added all DBD::CSV tests (ported, of course)
    - Fixed bugs that the above revealed.

0.04
    - Fix multiple placeholders bug

0.03
    - Fixed multiple execute on single $sth

0.02
    - Fixed transactions

0.01  2002-02-16
    - original version; created by h2xs 1.20 with options
        -A -X -n DBD::SQLite

