The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
                       Rosetta-Engine-Generic
----------------------------------------------------------------------

2006-01-13   Darren Duncan <perl@DarrenDuncan.net>

    * Rosetta-Engine-Generic Release 0.22.0 (SVN r1184).

    * This is a retroactive release, made on intended to help ease the
    transition between the first and second major code bases of the Rosetta
    database access framework.  (The first codebase was written mainly
    between 2002-12 and 2005-09, while the second rewritten code base was
    mainly between 2005-10 and later.)  While this release actually takes
    place on January "Friday The Thirteenth" 2006 and is affected by recent
    design decisions, it is for the most part as identical as possible to
    the most recent (2005-09-28) other release of the first code base.
    Think of this retroactive release as having been made on 2005-09-29, in
    regards to its dependency versions, design decisions, documentation for
    SVN repository location, TODO, etc.  Some of the details being
    published now, like the SVN location, is already false (its actually at
    http://svn.utsl.gen.nz/trunk/Rosetta-old/), but they are maintained as
    they were for historical posterity.

    * The changes with this release are all summed up by that there is no
    longer a distinct "SQL::Routine" name space, and all packages that were
    in that name space are now in the "Rosetta" name space.  There are no
    actual functionality changes, just a shifting around of components;
    your existing code that used the old packages will remain compatible
    with just some renaming of your package references.

    * New code file versions are: Generic.pm 0.22.0 and en.pm 0.14.0.

    * Updated external dependency on Rosetta and Rosetta::Validator each to
    0.71.0, and on Rosetta::Utility::SQLBuilder (was
    SQL::Routine::SQLBuilder) to 0.22.0, and on Rosetta::Utility::SQLParser
    (was SQL::Routine::SQLParser) to 0.3.0.

    * Renamed all Locale::KeyedText Message and Template keys from
    "SRT_[|SB_|SP_]*" to "ROS_[M_|U_SB_|U_SP_]*".  Er, you may have to
    update your code to account for this also, to avoid breakage.

    * Updated 2 lines in Generic.pm to rename the data dictionary items
    "SRT_NODE[|_LIST]" to "ROS_M_NODE[|_LIST]".  Er, you may have to update
    your code to account for this also, to avoid breakage.

    * In Generic.pm, renamed the make[|_child]_srt_node() methods to
    make[|_child]_model_node().

    * In Generic.pm, renamed the call to the Rosetta Interface method
    get_srt_container() with get_model_container().

    * In Generic.pm, replaced 1 "', '" each with "q{, }".

2005-09-28   Darren Duncan <perl@DarrenDuncan.net>

    * Rosetta-Engine-Generic Release 0.21.2 (SVN r878).

    * New code file versions are: Generic.pm 0.21.2 and en.pm 0.13.2.

    * From now on, any ordinary 'use [|only ]Foo' statements that appear
    within *.pm files will be located in different places than before; the
    'use' statements for modules that do not export anything, particularly
    object oriented modules, will appear near the top of the file, above
    all package declarations, but just below the use-pragma statements; the
    'use' statements for modules whose exported functions we are using will
    be placed just below the declarations of each package in which the
    relevant exported functions are used.

    * Removed any line-trailing whitespace from all distribution files.

    * Reformatted all code by swapping various string quoting delimiters.

    * Reformatted Generic.pm and Rosetta_Engine_Generic.t to un-cuddle all
    'else' and 'elsif' blocks.

    * Updated Generic.pm and Rosetta_Engine_Generic.t to replace all of
    their 'unless' conditionals with equivalent 'if' conditionals.

    * Updated Generic.pm and Rosetta_Engine_Generic.t to rename all of
    their 'foreach' loops to 'for'.

    * Updated Rosetta_Engine_Generic.t to move its one switch statement
    label upwards to its own line.

    * Updated Generic.pm to reformat the 9 '|' delimited regular
    expressions as '/' delimited ones.

    * Updated Generic.pm to reformat all 9 regular expressions so that
    they use the /x flag.

    * Reformatted all code to change any "if( ... ) {" to "if (...) {".

    * Added named constant $EMPTY_STR to Generic.pm.

    * Updated Generic.pm to add labels to all un-labeled [next|last|redo]
    statements (5), and their innermost bounding loop controls (3); the
    conditional of another un-labeled 'next' statement was merged into a
    subsequent 'if' instead.

    * Reformatted all code so that any uses of the named unary operators
    [defined|ref] no longer have parenthesis around their argument.

    * Updated Generic.pm to reformat 1 use of 'uc', 2 uses of 'lc', and 1
    use of 'ucfirst', like with 'ref'.

    * Removed 1 superfluous use of 'scalar' in Rosetta_Engine_Generic.t.

    * In Generic.pm, split up 6 multi-statement lines so each statement is
    on its own line.

    * Updated Generic.pm to replace 7 "if ... return ..." with their
    postfix-if equivalents; Rosetta_Engine_Generic.t had 1 such change.

    * Updated Generic.pm and Rosetta_Engine_Generic.t to rearrange (1,1)
    conditional 'die' statements so they have postfix-if conditionals.

    * Updated Generic.pm to rearrange 2 conditional '_throw...' statements
    so they have postfix-if conditionals.

    * Reformatted all code, in Generic.pm and Rosetta_Engine_Generic.t, so
    that any uses of the built-in operators or functions named
    [bless|join|push|shift|split|unpack] no longer have parenthesis around
    their argument lists; either the parens were just removed, or they were
    moved to surround both the operator/function name and its arguments.

    * Updated the install_dbi_driver() method of Generic.pm to merge two
    for-loops such that each available driver name is tried that matches
    the driver hint pattern until one succeeds in loading; previously, if
    the first driver matched by the pattern failed to load, the function
    didn't try any others.

    * Added new external dependency on the honorary built-in function
    List::Util::first() to Generic.pm.  Then replaced a last-terminated
    for-loop in srtn_catalog_list() with an invocation of it.

    * Updated any DEPENDENCIES documentation to reformat any indented
    sections as paragraphs, and show version ranges like 'only' takes them.

    * Reformatted all code so that every occurance of the string
    concatenation operator (.) has a space between the operator and each of
    its 2 arguments, rather than their all being in contact.  Also
    reformatted any lines that are split on this operator so the operator
    appears at the start of the second line, rather than the end of the
    first line.

    * Reformatted a few multi-line statements so that any [=|and|or] that
    are split on appear at the start of a line rather than the end of one.

    * Reformatted all of the code comments at the top of Generic.pm,
    where its object property names, and constant values, are declared,
    so that all comment lines don't exceed the 75 character line length.

    * In Generic.pm, reformatted 1 cascading ternary statement into
    aligned columns.

    * Other miscellaneous code line alignments and splitting.

2005-09-12   Darren Duncan <perl@DarrenDuncan.net>

    * Rosetta-Engine-Generic Release 0.21.1 (SVN r808).

    * New code file versions are: Generic.pm 0.21.1 and en.pm 0.13.1.

    * Updated all POD-containing files to re-wrap any non-indented POD
    paragraphs to a 75 character width, which is 5 less than the 80
    character width they were wrapped to before.  This change should make
    it easier to copy and paste a diff or patch of this documentation into
    an email message, where it is quoted at least once, without any line
    wrapping occurring.  Likewise, these standard documentation files were
    re-wrapped to 75 characters: ReadMe, INSTALL, LGPL|GPL, Changes, TODO.

    * Revised this Changes file to replace all detail entries for releases
    0.18 thru 0.21.0 with a significant release list for the same period;
    also added references to when all 'Rosetta developer release' (#s 1-3)
    were.

2005-09-08   Darren Duncan <perl@DarrenDuncan.net>

    * Rosetta-Engine-Generic Release 0.21.0 (SVN r787), containing
    Rosetta::Engine::Generic 0.21.0, was released on CPAN.  This is the
    first release of this distribution and its modules for which they had
    3-part version numbers, rather than floating point version numbers.

    * These were the current versions cited by the public announcement for
    Rosetta/SQL-Routine developer release #3.

2005-09-01   Darren Duncan <perl@DarrenDuncan.net>

    * Rosetta-Engine-Generic Release 0.20, containing
    Rosetta::Engine::Generic 0.20, was released on CPAN.  This is the last
    release of this distribution and its modules for which they had
    floating point version numbers, rather than 3-part version numbers.

2005-04-03   Darren Duncan <perl@DarrenDuncan.net>

    * Rosetta-Engine-Generic Release 0.17, containing
    Rosetta::Engine::Generic 0.17, was released on CPAN.

    * These were the current versions cited by the public announcement for
    SQL-Routine/Rosetta developer release #2.

2005-03-19   Darren Duncan <perl@DarrenDuncan.net>

    * Rosetta-Engine-Generic Release 0.16, containing
    Rosetta::Engine::Generic 0.16, was released on CPAN; this is the first
    release of the Rosetta-Engine-Generic distribution.  This is the first
    release for this module where it explicitly has a version number
    matching its distribution.

2005-03-18   Darren Duncan <perl@DarrenDuncan.net>

    * Rosetta-Extensions Release 0.15, containing Rosetta::Engine::Generic
    0.12, was released on CPAN; this is the last release of the
    Rosetta-Extensions distribution.  This is the last release for this
    module where it does not explicitly have a version number matching its
    distribution.

2004-08-16   Darren Duncan <perl@DarrenDuncan.net>

    * Rosetta-Extensions Release 0.07, containing Rosetta::Engine::Generic
    0.04, was released on CPAN.  This is the first release of
    Rosetta::Engine::Generic following its merger with
    Rosetta::Engine::GenericAC.

2004-08-06   Darren Duncan <perl@DarrenDuncan.net>

    * Rosetta-Extensions Release 0.06, containing Rosetta::Engine::Generic
    0.03 and Rosetta::Engine::GenericAC 0.01, was released on CPAN.  This
    is the last release of those 2 modules prior to their merger with each
    other.  This is the first release of any distribution to contain
    Rosetta::Engine::GenericAC.

    * These were the current versions cited by the public announcement for
    Rosetta/SQL-SyntaxModel developer release #1.

2004-04-10   Darren Duncan <perl@DarrenDuncan.net>

    * Rosetta-Extensions Release 0.01, containing Rosetta::Engine::Generic
    0.01, was released on CPAN; this is the first release of the
    Rosetta-Extensions distribution.  This is the first release of any
    distribution to contain Rosetta::Engine::Generic.  This is the first
    release of any distribution for which some of the existing work that
    became the Rosetta-Engine-Generic distribution was in the form of
    executable code, and not just design documentation.

2004-03-25   Darren Duncan <perl@DarrenDuncan.net>

    * Rosetta Release 0.29 was released on CPAN.  This is the last release
    of any distribution for which all of the existing work that became the
    Rosetta-Engine-Generic distribution was purely in the form of design
    documentation, without executable code of any kind.

2004-03-21   Darren Duncan <perl@DarrenDuncan.net>

    * Rosetta Release 0.27 was released on CPAN.  This is the first release
    of any distribution where the proposal documentation for
    Rosetta::Engine::Generic uses that name for it; it was also the first
    proposal to contain mention of such a module that is specifically
    generic to cover any DBI-supported database product; previously, the
    nearest thing proposed was a separate Engine module for each database
    product.

2003-01-27   Darren Duncan <perl@DarrenDuncan.net>

    * Rosetta Release 0.02 was released on CPAN; this is the first release
    of the Rosetta distribution.  Early versions of the design
    documentation that became the Rosetta-Engine-Generic distribution were
    included.

2003-01-05   Darren Duncan <perl@DarrenDuncan.net>

    * DBIx-Portable Release 0.01 was released on CPAN; this is the only
    release of the DBIx-Portable distribution.  This is the first release
    of any distribution to contain design documentation that became the
    Rosetta-Engine-Generic distribution.

2002-11-12   Darren Duncan <perl@DarrenDuncan.net>

    * Began development on the modules which became the
    Rosetta-Engine-Generic distribution as their own entity that is
    separate from my application, for open-source distribution on CPAN.
    The modules were to comprise an RDBMS-generic DB framework for any
    application to use.

    * Modules based on a template created by h2xs 1.18.

2002-07-28

    * Posted the first significant update to the second prototype, which
    added an index or cache for data that was expensive to calculate for
    each page request, and involved rewriting about a fourth of the perl
    code.

2002-06-07

    * Posted to my website the second public prototype demo of the new
    self-proprietary database driven application, whose database schema,
    user interface, feature set, and Perl application code was almost
    completely rewritten. The new version explicitly had separate modules
    for database communication and the web interface logic, with
    MySQL-specific code and database generic or data dictionary code in
    separate files, and separate files for parts of the web interface.  The
    program used the same generic CPAN modules as in the first prototype,
    DBI/MySQL and CGI::Portable.

    * This is when I started writing self-contained code components that
    were explicitly designed to enable external code that used them to work
    seamlessly on multiple database products, and hence 2002 is the start
    of my declared copyright date range for Rosetta::Engine::Generic.

2001-11-24

    * Posted the last update to the first prototype.

2001-07-12

    * Posted to my website the first public prototype demo of a new
    self-proprietary database driven application, which is like a cross
    between a multimedia metadata catalogue and a repository for historical
    or genealogical data.  This application contained the first prototypes
    of code that ended up in these modules.  All of this application's
    code, for database communication and web interface logic, was situated
    in a single module, with the rest of the program being more generic
    CPAN modules like DBI (and DBD for MySQL) and CGI::Portable.

2000-05-17

    * Requested MySQL database privileges on my web host so I have
    something to start developing, testing and deploying database driven
    applications on.