<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 329696 $ -->

<chapter xml:id="mysqlnd-qc.changes" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
 <title xmlns="http://docbook.org/ns/docbook">Change History</title>
 <para>
  This change history is a high level summary of selected changes
  that may impact applications and/or break backwards compatibility.
 </para>
 <para>
  See also the <filename>CHANGES</filename> file in the source distribution
  for a complete list of changes.
 </para>

<section xml:id="mysqlnd-qc.changes-one-two">
  <title xmlns="http://docbook.org/ns/docbook">PECL/mysqlnd_qc 1.2 series</title>
  <para>
   1.2.0 - alpha
   <itemizedlist>
    <listitem>
     <simpara>
      Release date: 03/2013
     </simpara>
    </listitem>
    <listitem>
     <simpara>
      Motto/theme: PHP 5.5 compatibility
     </simpara>
    </listitem>
   </itemizedlist>
  </para>
  <para>
   Feature changes
   <itemizedlist>
    <listitem>
     <para>
      Update build for PHP 5.5 (Credits: Remi Collet)
     </para>
    </listitem>
    <listitem>
     <para>
      APC storage handler update
      <itemizedlist>
       <listitem>
         <simpara>
          Fix build for APC 3.1.13-beta and trunk
         </simpara>
       </listitem>
      </itemizedlist>
     </para>
    </listitem>
    <listitem>
     <para>
      Introduced
      <link linkend="constant.mysqlnd-qc-version"><constant>MYSQLND_QC_VERSION</constant></link> and
      <link linkend="constant.mysqlnd-qc-version-id"><constant>MYSQLND_QC_VERSION_ID</constant></link>.
     </para>
    </listitem>
   </itemizedlist>
  </para>
 </section>

 <section xml:id="mysqlnd-qc.changes-one-one">
  <title xmlns="http://docbook.org/ns/docbook">PECL/mysqlnd_qc 1.1 series</title>
   <para>
   1.1.0 - stable
   <itemizedlist>
    <listitem>
     <simpara>
      Release date: 04/2012
     </simpara>
    </listitem>
    <listitem>
     <simpara>
      Motto/theme: PHP 5.4 compatibility, schema pattern based caching and mysqlnd_ms support
     </simpara>
    </listitem>
   </itemizedlist>
  </para>
  <para>
   1.1.0 - beta
   <itemizedlist>
    <listitem>
     <simpara>
      Release date: 04/2012
     </simpara>
    </listitem>
    <listitem>
     <simpara>
      Motto/theme: PHP 5.4 compatibility, schema pattern based caching and mysqlnd_ms support
     </simpara>
    </listitem>
   </itemizedlist>
  </para>
  <para>
   1.1.0 - alpha
   <itemizedlist>
    <listitem>
     <simpara>
      Release date: 04/2012
     </simpara>
    </listitem>
    <listitem>
     <simpara>
      Motto/theme: PHP 5.4 compatibility, schema pattern based caching and mysqlnd_ms support
     </simpara>
    </listitem>
   </itemizedlist>
  </para>
  <para>
   Feature changes
   <itemizedlist>
    <listitem>
     <para>
      APC storage handler update
      <itemizedlist>
       <listitem>
         <simpara>
          Fix build for APC 3.1.9+
         </simpara>
       </listitem>
       <listitem>
         <simpara>
          Note: Use of the APC storage handler is currently
          not recommended due to stability issues of APC itself.
         </simpara>
       </listitem>
      </itemizedlist>
     </para>
    </listitem>
    <listitem>
     <para>
      New PHP configuration directives
      <itemizedlist>
       <listitem>
         <simpara>
          <literal><link linkend="ini.mysqlnd-qc.collect-statistics-log-file">
          mysqlnd_qc.collect_statistics_log_file</link></literal>. Aggregated
          cache statistics log file written after every 10th request served by the
          PHP process.
         </simpara>
       </listitem>
       <listitem>
         <simpara>
          <literal><link linkend="ini.mysqlnd-qc.ignore-sql-comments">
          mysqlnd_qc.ignore_sql_comments</link></literal>.
          Control whether SQL comments are ignored for cache key hash generation.
         </simpara>
       </listitem>
      </itemizedlist>
     </para>
    </listitem>
    <listitem>
     <para>
      New constants and SQL hints
      <itemizedlist>
       <listitem>
         <simpara>
          <link linkend="constant.mysqlnd-qc-server-id"><constant>
          MYSQLND_QC_SERVER_ID_SWITCH</constant></link> allows grouping of cache entries from
          different physical connections. This is needed by PECL/mysqlnd_ms.
         </simpara>
       </listitem>
       <listitem>
         <simpara>
          <link linkend="constant.mysqlnd-qc-condition-meta-schema-pattern">
          <constant>MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN</constant></link>
          to be used with <link linkend="function.mysqlnd-qc-set-cache-condition"><function>
          mysqlnd_qc_set_cache_condition</function></link>.
         </simpara>
       </listitem>
      </itemizedlist>
     </para>
    </listitem>
    <listitem>
     <para>
      New function <link linkend="function.mysqlnd-qc-set-cache-condition"><function>
      mysqlnd_qc_set_cache_condition</function></link>
      for built-in schema pattern based caching. Likely to support a wider
      range of conditions in the future.
     </para>
    </listitem>
    <listitem>
     <para>
      Report <literal>valid_until</literal> timestamp for cache entries
      of the default handler through <function>mysqlnd_qc_get_cache_info</function>.
     </para>
    </listitem>
    <listitem>
     <para>
       Include charset number for cache entry hashing. This should prevent serving result
       sets which have the wrong charset.
     </para>
     <para>
       API change: get_hash_key expects new "charsetnr" (int)  parameter after "port".
     </para>
    </listitem>
    <listitem>
      <para>
       API change: changing is_select() signature from bool is_select() to
       mixed is_select(). Mixed can be  either boolean or
       array(long ttl, string server_id). This is needed by PECL/mysqlnd_ms.
      </para>
    </listitem>
   </itemizedlist>
  </para>
  <para>
   Other
   <itemizedlist>
    <listitem>
     <para>
      Support acting as a cache backend for
      <link linkend="book.mysqlnd-ms">PECL/mysqlnd_ms</link> 1.3.0-beta or later
      to transparently replace MySQL Replication slave reads with cache accesses,
      if the user explicitly allows.
     </para>
    </listitem>
   </itemizedlist>
  </para>
  <para>
   Bug fixes
   <itemizedlist>
    <listitem>
     <simpara>
      Fixed Bug #59959 (config.m4, wrong library - 64bit memcached handler builds) (Credits: Remi Collet)
     </simpara>
    </listitem>
   </itemizedlist>
  </para>
 </section>

 <section xml:id="mysqlnd-qc.changes-one-o">
  <title xmlns="http://docbook.org/ns/docbook">PECL/mysqlnd_qc 1.0 series</title>
  <para>
   1.0.1-stable
   <itemizedlist>
    <listitem>
     <simpara>
      Release date: 12/2010
     </simpara>
    </listitem>
    <listitem>
     <simpara>
      Motto/theme: Prepared statement support
     </simpara>
    </listitem>
   </itemizedlist>
  </para>
  <para>
   Added support for Prepared statements and unbuffered queries.
  </para>
  <para>
   1.0.0-beta
   <itemizedlist>
    <listitem>
     <simpara>
      Release date: 07/2010
     </simpara>
    </listitem>
    <listitem>
     <simpara>
      Motto/theme: TTL-based cache with various storage options (Memcache, APC, SQLite, user-defined)
     </simpara>
    </listitem>
   </itemizedlist>
  </para>
  <para>
   Initial public release of the transparent TTL-based query result cache.
   Flexible storage of cached results. Various storage media supported.
  </para>
 </section>

</chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
