2005-07-07   Darren Duncan <perl@DarrenDuncan.net>

	* Rosetta-Engine-Generic Release 0.19.

	* New code file versions are: Generic.pm v0.19 and en.pm v0.12.

	* Updated external dependencies on Rosetta to v0.46 and on
	SQL::Routine::SQLBuilder to v0.19.

	* This release is primarily to retain compatability with multiple other 
	distributions' recent updates; very little was changed besides this.

	* Added new external dependency on SQL::Routine::SQLParser v0.01; this
	module will be used by Generic.pm's schema reverse-engineering facility in
	the future, though at present it isn't actually used for anything, as is
	also still the case with SQL::Routine::SQLBuilder.

	* Updated all files in this distribution that display the physical address
	of the Free Software Foundation, Inc. so it uses their current address of
	"51 Franklin St, Fifth Floor, Boston, MA  02110-1301, USA" rather than their
	previous address of "59 Temple Place, Suite 330, Boston, MA 02111-1307 USA";
	this affects every COPYRIGHT AND LICENSE statement in the core files and the
	'ReadMe' file, plus any 'GPL' or 'LGPL' license file.

	* Updated the INSTALL file so that it is more generic, and all of my
	distributions now use an identical copy of it.

	* Updated the main heading in the ReadMe file to state the distribution's
	name rather than a terse description of it.

	* Corresponding to a recent SQL::Routine::SQLBuilder update, replaced the
	Engine Configuration Option 'delim_ident' with a different 'ident_style'
	option, which affected the srtn_catalog_open() method, and also rewrote half
	of the related documentation.  Likewise updated t_setup.pl to invoke the new
	option in place of the old one.

	* Corresponding to a Rosetta change where execute() now invokes a same-named
	Engine function, and the Interface no longer stores a Perl closure for the
	Engine, added new Generic method execute() and new property 'prep routine';
	also updated new() to declare the property and prepare() to set it.  Also 
	renamed any $routine method variables to $prep_routine.

	* Removed the destroy() method since Rosetta Interface objects can now
	auto-destruct, and they will no longer invoke it.

	* Replaced all tests on an Interface's "interface type" property with tests
	on the Interface's class name, since the Rosetta Interface class was thus
	split into multiple classes and the property is gone.

	* Removed the routine_source_code() method, since no Interface method exists 
	any more that will call it.

	* Updated _throw_error_message() to use more descriptive argument names.

	* Updated prepare() and build_perl_routine() so that now only routines that
	are direct children of an 'application' Node can be externally invoked; if
	one wants to invoke a 'schema' routine now, they must do so within an
	'application' routine; previously, only inner routines of other routines 
	could not be invoked.

	* Following that Rosetta's new_*_interface() methods will now create their
	own Engine object for the new Interfaces rather than taking them as
	arguments, updated these Generic methods so they use that Engine object for
	setting properties of rather than making their own: prepare(),
	build_perl_routine(), build_perl_declare_cx_conn(), srtn_catalog_list().

	* Following that Rosetta now has 2 alternate parent/child trees (by-creation
	vs by-context), replaced any single or double-chained invocations of
	get_parent_interface() with single
	get_parent_by_[creation|context]_interface() invocations; these methods were
	updated: get_[env|conn|curs]_cx_e_and_i(), srtn_catalog_open().

	* Updated these methods to pass the alternate "parent interface" arguments
	to new_*_interface(): build_perl_declare_cx_conn().

	* Renamed any get_srt_node() Interface method calls with one of the
	following: get_app_inst_node(), get_link_prod_node(), get_routine_node(); it
	affected these methods: build_perl_declare_cx_conn(),
	srtn_catalog_[list|open|close]().

	* Updated Rosetta_Engine_Generic.t, and the en.pm SYNOPSIS, to add
	'SQL::Routine::SQLBuilder::L::' to the Translator Sets list, following that
	SQL::Routine::SQLBuilder v0.19+ can throw its own (localized) exceptions.
	Likewise added 'SQL::Routine::SQLParser::L::' to both files.  Just Generic.t
	also had 'Rosetta::Utility::EasyBake::L::' added, since that is now used by
	Rosetta::Validator.

	* This distribution also had a few other minor changes and fixes.

2005-05-13   Darren Duncan <perl@DarrenDuncan.net>

	* Rosetta-Engine-Generic Release 0.18.

	* New code file versions are: Generic.pm v0.18 and en.pm v0.11.

	* Updated external dependencies on Rosetta to v0.45 and on
	SQL::Routine::SQLBuilder to v0.18.

	* Added explicit external dependency on Rosetta::Validator v0.45 to the
	Makefile.PL and ReadMe, for the test suite, just in case that dependency
	implicity defined by the requirement of Rosetta v0.45 wasn't sufficient.

	* Updated every instance of the COPYRIGHT AND LICENSE documentation in this
	distribution to correct the declared date range in which the core
	Rosetta::Engine::Generic files were created.  The new dates are 2002 thru
	2005, which is when I actually committed documentation describing or code
	implementing what became the Rosetta::Engine::Generic core.  The old dates
	were 1999 thru 2005, which goes back to the time that I started conceiving a
	larger project which the aforementioned module started out being related to;
	however, those earlier years did not contain any work on what specifically
	became the aforementioned module, so they are now excluded.

	* Updated every instance of the COPYRIGHT AND LICENSE documentation in this
	distribution so that you may now choose between licensing it under the GPL
	version 2 or any later GPL version, rather than only under version 2.

	* Renamed the "LICENSE" file to "GPL", and correspondingly updated all
	references to it in this distribution, most of them being in COPYRIGHT AND
	LICENSE statements.  This change was made to reduce user confusion in
	situations where files from this distribution may be aggregated with other
	files that have different licenses; the old name was too generic.

	* Updated Generic.pm to remain compatible with a recent SQL::Routine change
	such that Nodes now always live in Containers.  Updated make_srt_node() and
	make_child_srt_node() so they now invoke new_node() with 3 arguments rather
	than that method plus set_node_id() and put_in_container() each with 1.

	* Updated Rosetta_Engine_Generic.t to add 4 new tests at the top; 2 of these
	use Test::More's use_ok() function to cleanly test that the 2 core modules
	will load without errors; 2 of these test, with cmp_ok(), that the 2 core
	modules are of the correct versions.  Before this change, the original test
	script would simply die without any ok/not ok if the core modules were
	missing.  The total test count is now 10, up from 6.  Also removed function 
	print_message() plus its two invocations.  Also a minor update to 2 warnings 
	so they lead with a '#' rather than '--', as Test::More tends to do.

	* Renamed this file to 'Changes' from 'ChangeLog'; the new name is more
	descriptive to its free-form structure, and more consistent with CPAN (which
	uses both names but 'Changes' seems to be more common these days).  Also
	truncated this Changes file to remove all detail entries for releases v0.01
	thru v0.17; in their place was added a change summary for releases v0.01
	thru v0.17 that mainly just said what the names and versions of all the
	predecessor distributions and modules are.

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

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

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.

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.