2004-07-05   Darren Duncan <perl@DarrenDuncan.net>

	* Release 0.31.

	* This is mainly a documentation update and file reorganizing release; there 
	are no significant code changes.

	* Updated external dependencies on Locale::KeyedText to v0.04 and on
	SQL::SyntaxModel to v0.23.

	* Updated Framework.pod in several spots.  The "Schema" module group that
	is referenced in several places is renamed to the "Model" module group. The
	BRIEF MODULE LIST section now shows the upcoming "Rosetta-Validators"
	distribution to be merged into the core "Rosetta" distribution, rather than
	being separate; the Validator modules will also never make an appearance in
	the "Rosetta-Extensions" as previously stated.  Also, Rosetta::Validator
	will be just a single module in the forseeable future, rather than a set. 
	Also, Rosetta::L::en will now take over the responsibility of storing the
	ready-made set of generic database error strings that can be thrown by any
	Rosetta Engine; the old Rosetta::Engine::L::en module in "Extensions" no
	longer does this, but is now ::Generic specific (with appropriate rename). 
	A few more small changes, mainly in OLDER DOCUMENTATION: Engine Modules.

	* Updated lib/Rosetta.pm (now v0.15) and lib/Rosetta/L/en.pm (now v0.06),
	mainly with updated documentation.  Most Rosetta.pm changes were in the
	STRUCTURE POD, and internal property list declaration comments.  The list
	of Interface types now shows that any kind of preparation can return a
	Literal-producing routine, and not just Transaction ones.  Most en.pm 
	changes were in DESCRIPTION.

	* Added new modules lib/Rosetta/Validator.pm and
	lib/Rosetta/Validator/L/en.pm; both are at version 0.01.  These are now 
	place-holder skeletons that have their main documentation but lack code.

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

	* Release 0.30.

	* Made a change that would mainly affect those people making Rosetta
	Engines, but not other users; I am now dictating one aspect of how every
	Engine should do its job, so they are less free-form than before (but
	hopefully for the better).  Like before, every successful call to prepare() 
	will produce a Preparation Interface; unlike before, every Preparation now 
	has an actual Perl "closure" (anonymous routine reference) behind it, which 
	is stored in an Interface property.  All Engines must now structure their 
	prepare() methods so that they create an anonymous Perl subroutine which 
	does the actual work to be done; a call to execute() will simply invoke 
	this subroutine, and no actual Engine execute() method is called.

	* Updated Rosetta.pm (now v0.14) and en.pm (now v0.05).  Added a ROUTINE
	property to the Rosetta::Interface class which is set in Preparation
	Interfaces.  Added argument to new() for setting it, and added method
	get_routine() for fetching it.  Removed execute() from the Rosetta::Engine
	class, since prepare() now handles all the details that it used to do.

	* Updated Rosetta.pm to add a new 'tombstone' Interface Type, which is what
	commands that destroy Interfaces (such as 'close database') return to
	indicate success.  Interfaces of this type have no parents, like 'error'.

	* Minor update to the names of prepare() and execute() arguments; COMMAND
	is now called ROUTINE_DEFN and BIND_VARS is now called ROUTINE_ARGS.

	* Minor capitalization changes in Framework.pod.

	* Simplified the DEPENDENCIES documentation in the ReadMe file.

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

	* Release 0.29.

	* Updates in this release consist mainly of shunting some detail work out
	of the 'Rosetta' distribution and towards the upcoming new
	'Rosetta-Extensions' distribution.  The rationale is that
	Rosetta-Extensions can then be released more frequently without requiring
	corresponding Rosetta releases to maintain compatibility.  This is not to
	say that some detail work won't be moved into the Rosetta core later, but
	in the short term it seems best to keep it out.

	* The new()/prepare() methods will no longer check that the Command Type of 
	a given "command" SSM Node is appropriate for the Interface type; it is 
	better, at least for now, that the Engine does this check.  However, if the 
	invocant of prepare() is an 'application', then a more limited check is 
	still done, since the Rosetta core itself needs to implement them.  Several 
	small documentation fixes were also made in Rosetta.pm.

	* Corresponding updates in Rosetta.pm (now v0.13) and en.pm (now v.0.04)
	related mainly to the prepare() method; several hard-coded "die" were
	replaced with proper localized exceptions; several other exceptions were
	renamed or moved.

	* Updated Framework.pod to mention some additions to Rosetta-Extensions;
	for example, that distro will contain the localized generic database error
	messages for Engines instead of Rosetta::L::en.  It will also contain the 
	initial set of Rosetta::Validator modules.

	* All details in the TODO file of 'Rosetta' have been moved to the TODO in
	'Rosetta-Extensions', which is where they are relevant.  The TODO in
	'Rosetta' now simply says to look over there; the 'Rosetta' core is
	initially complete and most near-term work will now be in the other dist.

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

	* Release 0.28.

	* There are 4 distributions being released simultaneously that all have the
	same release number of 0.28; this is one of them.  They are:
	SQL-SyntaxModel-0.28, SQL-SyntaxModel-ByTree-0.28,
	SQL-SyntaxModel-SkipID-0.28, Rosetta-0.28.  Each of the latter 3 is
	dependant on the first 1.  These 4 distributions cumulatively have almost
	identical contents to the Rosetta-0.27 distribution, which is their sole
	progenitor; that older distribution has hereby been split into 4 pieces
	which will now be developed independently from each other.  All 4 new 
	distributions inherit the external dependency on Locale-KeyedText-0.03.

	* While those of Rosetta-0.27 were taken as a starting point, these CPAN
	standard files have been changed to either a large or a small extent as
	appropriate so that they represent the new 0.28 distribution: ChangeLog,
	INSTALL, Makefile.PL, MANIFEST, ReadMe, TODO.  (META.yml is generated.)

	* This ChangeLog file has been truncated to exclude the details from
	releases 0.01 thru 0.27, as they aren't very useful going forward and take
	up a lot of space (about 90 kilobytes).  If you want to read those details
	then please look at an archived Rosetta-0.27 distribution, which is the
	last one to have them.

	* The distribution you are looking at now is not the first one to bear the
	name Rosetta.  For historical posterity, this is its file manifest:

		- ChangeLog
		- INSTALL
		- lib/Rosetta.pm
		- lib/Rosetta/Framework.pod
		- lib/Rosetta/L/en.pm
		- LICENSE
		- Makefile.PL
		- MANIFEST
		- META.yml                                Module meta-data (added by MakeMaker)
		- ReadMe
		- t/Rosetta.t
		- TODO

	* All modules with version numbers have seen theirs incremented by 0.01
	compared to Rosetta-0.27, and all modules or scripts that use them now
	require the new numbers; said modules did not have any other significant
	changes.  In this distribution, Rosetta is now v0.12 and Rosetta::L::en is
	now v0.03.

	* A few other minor updates were made to several files.

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

	* Rosetta-0.27, the last version of the distribution prior to its 4-way
	split, was released on CPAN.

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

	* Rosetta-0.02, the first version of the distribution under that name, 
	was released on CPAN.

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

	The next version of the Module List will list the following module:

	  modid:       Rosetta
	  DSLIP:       cdpOp
	  description: Framework for RDBMS-generic apps and schemas
	  userid:      DUNCAND (Darren Duncan)
	  chapterid:    7 (Database_Interfaces)
	  enteredby:   ANDK (Andreas J. Kšnig)
	  enteredon:   Tue Jan 21 08:20:47 2003 GMT

	The resulting entry will be:

	Rosetta           cdpOp Framework for RDBMS-generic apps and schemas DUNCAND

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

	* DBIx-Portable-0.01, the only version of the Rosetta distribution under
	its previous name, was released on CPAN.

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

	* Began development on the modules which became the pre-split Rosetta
	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.

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.