php-doc-en/reference/mysqlnd_ms/changes.xml

227 lines
7 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<chapter xml:id="mysqlnd-ms.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>
The Change History lists major changes users need to be aware if upgrading
from one version to another. It is a high level summary of selected changes
that may impact applications or might even break backwards compatibility.
Please, consult the <filename>CHANGES</filename> file contained in the source
distribution for a more complete list of changes. If you are eager to learn
about all changes, even smaller ones that do not make it into the
<filename>CHANGES</filename> file, you may want to monitor PECL commit messages.
To do you, you could, for example, subscribe to the PECL commit message mailing
list.
</para>
<section xml:id="mysqlnd-ms.changes_one_one">
<title xmlns="http://docbook.org/ns/docbook">PECL/mysqlnd_ms 1.1 series</title>
<para>
1.1.0-beta
<itemizedlist>
<listitem>
<simpara>
Release date: no released yet, planned for 09/2011
</simpara>
</listitem>
<listitem>
<simpara>
Motto/theme: Cover replication basics with production quality
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
The 1.1 and 1.0 series expose a similar, although not identical, feature
set to the user, as can be guessed from the release motto/theme. Internally,
the 1.1 series has been refactored significantly to prepare for future
feature additions. A new configuration file format has been introduced
and, limitations have been lifted. Code quality and quality assurance
have been improved.
</para>
<para>
Feature changes
<itemizedlist>
<listitem>
<para>
Added the (chainable) <link linkend="mysqlnd-ms.filter">filter concept</link>:
<itemizedlist>
<listitem>
<simpara>
BC break:
<link linkend="function.mysqlnd-ms-set-user-pick-server"><function>mysqlnd_ms_set_user_pick_server</function></link>
has been removed. The
<link linkend="mysqlnd-ms.filter"><literal>user</literal></link>
filter has been introduced to replace it.
The filter offers almost the same functionality, see below for a
discussion of differences.
</simpara>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<simpara>
New powerful <acronym>JSON</acronym> based configuration syntax.
</simpara>
</listitem>
<listitem>
<simpara>
<link linkend="mysqlnd-ms.pooling">Lazy connections improved</link>:
security relevant, state changing commands covered.
</simpara>
</listitem>
<listitem>
<simpara>
Support for (native) prepared statements.
</simpara>
</listitem>
<listitem>
<para>
New statistics: <literal>use_master_guess</literal>,
<literal>use_slave_guess</literal>.
<itemizedlist>
<listitem>
<simpara>
BC break: Semantics of statistics changed for
<literal>use_slave</literal>, <literal>use_master</literal>.
Future changes are likely. Please see,
<function>mysqlnd_ms_get_stats</function>.
</simpara>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<simpara>
List of broadcasted messages extended by <literal>ssl_set</literal>.
</simpara>
</listitem>
<listitem>
<simpara>
Library calls now monitored to remember settings for lazy connections:
<literal>change_user</literal>, <literal>select_db</literal>,
<literal>set_charset</literal>, <literal>set_autocommit</literal>.
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
Bug fixes
<itemizedlist>
<listitem>
<simpara>
Fixed PECL #22724 - Server switching (mysqlnd_ms_query_is_select() case sensitive)
</simpara>
</listitem>
<listitem>
<simpara>
Fixed PECL #22784 - Using mysql_connect and mysql_select_db won't work
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
Users of the function <function>mysqlnd_ms_set_user_pick_server</function> need to
update their code. The function has been removed in favor of a
new <literal>user</literal> filter. You can no longer set a callback function
using <function>mysqlnd_ms_set_user_pick_server</function> at runtime but have to
configure it in the plugins configuration file. The <literal>user</literal>
filter will pass the same arguments to the callback as before.
Therefore, you can continue to use the same procedural function as a callback.callback
It is no longer possible to use static class methods or class methods of
an object instance as a callback. Trying to do so, will make any function
executing a statement handled by the plugin
emit a <constant>E_RECOVERABLE_ERROR</constant> level error like
<literal>(mysqlnd_ms) Specified callback (picker) is not a valid callback</literal>.
Please, note that this may halt your application.
</para>
</section>
<section xml:id="mysqlnd-ms.changes_one_o">
<title xmlns="http://docbook.org/ns/docbook">PECL/mysqlnd_ms 1.0 series</title>
<para>
1.0.1-alpha
<itemizedlist>
<listitem>
<simpara>
Release date: 04/2011
</simpara>
</listitem>
<listitem>
<simpara>
Motto/theme: bug fix release
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
1.0.0-alpha
<itemizedlist>
<listitem>
<simpara>
Release date: 04/2011
</simpara>
</listitem>
<listitem>
<simpara>
Motto/theme: Cover replication basics to test user feeedback
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
First release of practical use. Features basic automatic read-write splitting,
SQL hints to overrule automatic redirection, load balancing of
slave requests, lazy connections and, optional, automatic use of the master
after the first write.
</para>
<para>
The public feature set is close to that of the 1.1 release.
</para>
<para>
1.0.0-pre-alpha
<itemizedlist>
<listitem>
<simpara>
Release date: 09/2010
</simpara>
</listitem>
<listitem>
<simpara>
Motto/theme: Proof of concept
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
Initial check-in. At this stage the plugin is hardly of
any practical use but a demo of the
<link linkend="book.mysqlnd">mysqlnd</link> plugin API.
</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
-->