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

	* Release 0.09.

	* Updated a few documentation details in file lib/Rosetta/API_C.pod, in the
	"CONTENT OF rosetta_schema_datatype.h" section.

	* Updated section SYNOPSIS of Framework.pod to make a few small corrections 
	or improvements.

	* Updated section BRIEF MODULE LIST of Framework.pod, mainly for the Schema
	modules (stored procedures et al are getting fleshed out; users are demoted
	since they aren't really part of the schema).

	* Added new file lib/Rosetta/DataDictionary.pod, which describes a database
	that is suitable for storing all of the Rosetta Schema details, including
	constant code tables, user data types, user tables, user views, and user
	code blocks such as stored procedures, functions, and triggers.  This may
	be expanded later to also describe not only users and privileges but also a
	means for storing any kind of Command or Response object for such things as
	logging database activity.  This new file is a rewritten replacement for
	the last 3 main sections of Framework.pod, which were removed: "ROSETTA
	NATIVE DATA DICTIONARY STRUCTURE", "A BASIC TABLE STRUCTURE FOR STORING
	ROSETTA SCHEMAS", "ANOTHER WAY OF SAYING THAT".  However, since the new
	file isn't finished yet, copies of the 3 old sections have been moved to
	the bottom of the new file in their original form.  They will be removed
	when they are fully redundant.

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

	* Release 0.08.

	* Added new file lib/Rosetta/API_C.pod, which contains the start of my C
	API documentation for Rosetta.  It contains yet-incomplete contents for
	these 3 C header files: rosetta.h, rosetta_types.h,
	rosetta_schema_datatype.h.  Also added the new filename to the SEE ALSO of
	Framework.pod.  No other changes were made in this release.

2003-04-15   Darren Duncan <perl@DarrenDuncan.net>

	* Release 0.07.

	* The experimental changes made in release 0.062 were rolled back, meaning
	that the files lib/Rosetta.pm and t/Rosetta.t were restored to the presence
	they had in 0.061.  Since those were the only changes, all change comments
	below are relative to the state of release 0.061.

	* This release was mainly a documentation and licensing update.  The
	distribution now has these extra files: INSTALL, LICENSE, TODO.  No files
	were removed.  Framework.pod had the most changes, ReadMe the second most.

	* The section ABSTRACT in Framework.pod was largely rewritten to bring it
	up to date with my evolved plans, and also to greatly improve the
	communication of what Rosetta does and does not do.  For one thing, a lot
	more emphasis is placed on its useability with both embedded and
	client-server databases.  There were a huge number of content changes.

	* The Rosetta database abstraction framework is now distributed under the
	terms of the GNU General Public License (GPL) rather than "under the same
	terms as Perl itself" (meaning a choice of GPL or Artistic).  The new
	licensing should be a lot easier to understand.  This applies to both code
	and design documents; also, any code implemented from my design documents
	will be considered a derivative work no matter who makes it, and be bound
	by the same license.  Note that while the GPL precludes linking to modules
	for which the source code isn't freely available, my licensing terms have
	an exception for the independent database drivers themselves.  That said,
	it is very likely that I will change to a dual-licensing arrangement some
	time in the future, after Rosetta is actually able to do something useful,
	where a GPL license is free, and getting an alternative license requires a
	special arrangement with myself.

	* A new file named LICENSE has been added to the distribution, which
	contains the text of the GPL.  All other distribution files, especially
	Framework.pod, have been updated such that each AUTHOR documentation
	section has been replaced with a COPYRIGHT AND LICENSE section (near the
	top of each file); the AUTHOR section had talked about copyright and
	licensing itself, and is now redundant.  Correspondingly, all code modules 
	have had their version numbers increased by 0.001.

	* The section SCHEDULE FOR DEVELOPMENT in lib/Rosetta/Framework.pod was
	removed from there and put in the new file "TODO"; aside from a reformat to
	move from POD to plain text, there were no changes.  Upcoming plans for
	this file is that it will be rewritten to include multiple parallel
	development tracks, which more realistically portrays what will happen.

	* A few terms were renamed globally in Framework.pod.  Any references to
	"connecting" or "disconnecting" a database were changed to say "opening"
	and "closing" instead.  Also, the module "Connection" was renamed to
	"Database". This affected mainly the SYNOPSIS and the EXPANDED MODULE LIST.  
	Also, the DEPENDENCIES of all files were slightly updated.

	* The STRUCTURE, BRIEF MODULE LIST, and EXPANDED MODULE LIST have been
	expanded, and the diagram in STRUCTURE improved:  1. The list of Driver
	modules has been rewritten to explicitely show several dozen databases, and
	the expanded module descriptions for all drivers and driver utilities was
	rewritten.  2. A new set of Validator modules has been added to be a common
	test bed for all the drivers (akin to Sun's validation suite for JVMs).  3.
	The Rosetta::Driver::Native driver is no longer intended for testing the
	Rosetta core, but rather is to be useful in its own right; it will now be
	in the Drivers distribution rather than the core distribution.  4. A new
	set of modules named Rosetta::Proxy::* were added (along with a second
	diagram in STRUCTURE), so that Rosetta could work as a client-server setup
	ala ODBC.  Comments on my plan to convert Rosetta into a C library
	eventually (with a fully working pure-Perl version coming first) were added
	to STRUCTURE.

	* Removed one test from Rosetta-Schema-DataType.t which was generating a
	warning; there was no point since it effectively tested just the Perl
	runtime engine and not the module.

	* The BUGS section was removed from SimilarModules.pod and put in ReadMe. 
	The INSTALLATION section was removed from ReadMe and put in a new file
	named INSTALL.  ReadMe was further updated to rename REQUIREMENTS to
	DEPENDENCIES and to add a CREDITS section (currently empty).  The PREFACE 
	was completely rewritten (and is now much shorter).

	* A few more tiny whitespace formatting bits were fixed in several files,
	and several parts were re-word-wrapped.  Added "use warnings" to SYNOPSIS.

2003-03-29   Darren Duncan <perl@DarrenDuncan.net>

	* Release 0.062.

	* This release is mainly a test to see how CPAN indexes handle a
	distribution named after a registered module where that module doesn't
	actually exist.  The files lib/Rosetta.pm and t/Rosetta.t were removed from
	the distribution to facilitate the test.  The rationale is that these files
	never actually did anything except serve as placeholders for the framework
	on CPAN indexes, but they may not be needed.  There were no other changes.

2003-03-09   Darren Duncan <perl@DarrenDuncan.net>

	* Release 0.061.

	* This is a small bugfix release that mainly is for fixing documentation.  
	A lot of it was formatting issues that was easy to miss before; the other 
	bullet points below list the non-formatting issues.  These files 
	had formatting fixes: Framework.pod, SimilarModules.pod, ChangeLog.

	* Updated these sections in "ReadMe": PREFACE, INSTALLATION, TO DO.

	* Updated BRIEF MODULE LIST in Framework.pod to add SimilarModules.pod.

	* Updated SimilarModules.pod so that each module list shown for other
	people's frameworks includes the framework release version and date for
	which I was looking at them, so it is easier to validate my information.

	* Updated Rosetta.pm (now at v0.061) replacing references to
	"Rosetta::Framework.pod" with "lib/Rosetta/Framework.pod".

2003-03-08   Darren Duncan <perl@DarrenDuncan.net>

	* Release 0.06.

	* Created new documentation-only file lib/Rosetta/SimilarModules.pod, which
	is where all of the comparisons between Rosetta and other database-related
	modules and frameworks will go.  There are so many modules to compare with
	that this documentation needs its own file.

	* Updated the SEE ALSO lines of all the modules.  Now Framework.pod is the
	place where all of the other Rosetta modules are listed. SimilarModules.pod
	has the list of other people's modules.  All other modules simply list
	Framework.pod and SimilarModules.pod in their SEE ALSO. DataType is now at
	v0.02 and Rosetta.pm is at v0.06 because of this change.

	* Added new modules lib/Rosetta/Schema/Table.pm and
	lib/Rosetta/Schema/View.pm (both are v0.01), which complement the already
	completed DataType.pm.  There are also two new test files, one for each new
	module. Given the greater complexity of the new modules relative to
	DataType, and the desire to expedite this release, the two new modules will
	only be partly done in this release, and their test files won't do
	anything. Table.pm and View.pm should be finished probably by release 0.08
	or 0.09.

	* References in Framework.pod to a planned module Rosetta::Schema::DataSet
	have been removed, as that module's functionality is now part of
	Rosetta::Schema::View.  Also added references to Rosetta::Schema::User and 
	Rosetta::Schema::Privilege (or PrivilegeType).

	* Removed the entire MODULE DETAILS section from Framework.pod, and divided
	its contents into the new Table.pm and View.pm.

	* Updated STRUCTURE section in Framework.pod to move the Locale group in
	the diagram so it is beside Schema; this signifies that both of these 2
	named groups are used by the 4 other groups in more or less the same way.

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

	* Release 0.05.

	* Created new file lib/Rosetta/Schema/DataType.pm which implements the
	class Rosetta::Schema::DataType (v0.01); this is the first module to be
	coded, and it is complete as of its first version.  The already written POD
	for this class that was in Rosetta::Framework under the section MODULE
	DETAILS has been removed from that file and put in the new file instead,
	with updates.

	* Added new file t/Rosetta-Schema-DataType.t, to completely test the newly
	coded module.

	* Updated lib/Rosetta.pm (now at v0.05) and t/Rosetta.t to add the "use
	warnings" pragma at the top of each file beside "use strict"; the
	previously mentioned two new files also have the added pragma, which should
	save users from having to put -w on the command line for these modules.

	* Updated Rosetta::Framework further, in the STRUCTURE and BRIEF MODULE
	LIST sections, to add references to a new set of core modules,
	Rosetta::Locale::*.  These are to function as constant data resources,
	mainly holding user-readable text such as database error messages and so
	forth, so that this text is separate from normal module code and easy to
	edit.  This is a set of files partly so that each file can have a different
	localization; adding a new user language is as easy as adding another file.
	 The set of text strings being stored should be comprehensive enough that
	any Driver module can use them, and therefore not need their own Locale
	files for displaying error messages.  All strings are mapped to short codes
	(eg: 'R001372'); these codes are what the normal module code uses to
	display a particular message.

2003-02-10   Darren Duncan <perl@DarrenDuncan.net>

	* Release 0.04.

	* The file Documentation.pod was renamed to Framework.pod; that file's
	internal name as declared in the POD is Rosetta::Framework; the file was
	also moved into lib/Rosetta/; any references to this file in other files
	were updated accordingly.

	* In Framework.pod, updated BRIEF MODULE LIST to replace
	Rosetta::Driver::Null with Rosetta::Driver::Native.  The plan is that this
	will be a fully-functional RDBMS implementation, and 100% Perl code; it
	will implement all database features that the Rosetta core can interface
	to, even if some real databases can't.  This includes transactions,
	locking, foreign keys, stored procedures, multiple 'users', and more.  That
	said, it is intended mainly for testing the Rosetta core, and will be
	developed simultaneously with the latter.  While Rosetta::Driver::Native is
	fully functional, it is completely RAM-based for simplicity (nothing is
	stored on disk, except perhaps by means of explicit freeze/thaw or the
	like), and probably won't scale to more than a few thousand records
	(namely, it will hold just whatever can all fit in RAM at once).  It also
	won't be designed with multi-threaded environments in mind, due to its
	intent for testing (usually done by one person at a time); if you plan to
	use it for more, you will need to serialize access yourself.  Also, the 
	EXPANDED MODULE LIST :: DRIVER MODULES now describes the new module.

	* In Framework.pod, moved section SCHEDULE FOR DEVELOPMENT down below BRIEF
	MODULE LIST (leaving STRUCTURE right after DESCRIPTION).  Some list items
	in the moved section were also moved to be handled earlier.

2003-02-09   Darren Duncan <perl@DarrenDuncan.net>

	* Release 0.03.

	* The most significant change in this release is that the file "Rosetta.pm"
	has been split into itself and the new file "Documentation.pm".  The latter
	file now has all of the main Rosetta framework POD documentation.  The
	former now is very small and contains just module-specific documentation.
	The new folders "lib" and "t" were also added to the distribution.  As of
	this release, Rosetta still consists entirely of documentation.

	* Note that, as soon as module code starts being written, Rosetta will be
	released as multiple distributions.  This current distribution will contain
	the framework core, mainly all of the Schema and Engine modules, and the
	generic base class for Drivers, and continue under its existing name.  A
	new distribution named "Rosetta-Drivers" will contain most of the Driver
	modules, and this is the only distribution that would have DBI and DBD::*
	as prerequisites.  Another distribution named "Rosetta-Emulators" will
	contain the Emulator modules.  Sample and utility applications will be in
	yet another distribution, such as "Rosetta-Applications".

	* Updated several parts of ReadMe file, particularly the Preface.  

	* Makefile.PL now hard-codes the distribution VERSION; this file now has 
	the authoritative VERSION for the distribution or framework itself.

	* These were the main Documentation.pod sections with updates other than 
	from the file split (which removed PREFACE from both files):

		- DEPENDENCIES - changed to "none" (from DBI) since core has no dependencies
		- SCHEDULE FOR DEVELOPMENT - moved to later date stored Views and Pub Syn
		- SYNTAX - removed section; content merged into STRUCTURE
		- STRUCTURE - removed "Parser" from structure, made relationship graph complete
		- BRIEF MODULE LIST - grouped modules by their distributions, added Driver::Null
		- ROSETTA NATIVE DATA DICTIONARY STRUCTURE - separated Table, Select definitions

	* Note that other POD sections are out of date and will need updating.

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

	* Release 0.02.

	* This is the second release.  The release and root-level module are now
	called "Rosetta", which it was renamed to from "DBIx::Portable".  It still
	consists entirely of documentation in POD format, and all of that is in the
	file Rosetta.pm.

	* The documentation was significantly updated, with up to half of it being
	rewritten.  This release has a completed SYNOPSIS (the previous release
	left out some significant parts due to time constraints), and several new
	sections on framework design.  In particular, the structure of the
	internally used "schema" was fleshed out.  

	* These were the main sections with updates:

		- ABSTRACT - new section
		- SYNOPSIS - expanded to a complete Perl script with config file
		- DESCRIPTION - several more paragraphs added
		- SCHEDULE FOR DEVELOPMENT - rewritten from and replaces PROGRESS
		- STRUCTURE - new section (not related to same-named old version section)
		- BRIEF MODULE LIST - new section
		- EXPANDED MODULE LIST - canibalized from the previous versions STRUCTURE
		- ROSETTA NATIVE DATA DICTIONARY STRUCTURE - new section
		- A BASIC TABLE STRUCTURE FOR STORING ROSETTA SCHEMAS - new section
		- MODULE DETAILS

	* These other sections had little or no updates:

		- NAME
		- PREFACE
		- DEPENDENCIES
		- SYNTAX
		- MODULE DETAILS
		- AUTHOR
		- SEE ALSO

	* Generally speaking, this release should be a lot better than the previous
	one, although there are still large gaps or sections needing improving.
	Subsequent releases will probably start including a code implementation,
	with further documentation updates happening at the same time.

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 thru 2003-01-19   Darren Duncan <perl@DarrenDuncan.net>

	* On January 5th, a module registration request was sent to
	modules@perl.org for "DBIx::Portable", which was to be the namespace root
	for this distribution in release 0.01.  But it was not registered.  During
	the following few days, both Tim Bunce and Brian D Foy replied (but no one
	else), and alternate names were suggested instead, which I discussed
	further with them.  The general consensus was, being that I was making a
	framework, my modules should have a unique root level namespace of their
	own, which could be "brandable"; they should not be under the DBIx
	namespace, or have the characters "DBI" in their root name.  I came up with
	some new ideas, and in doing so had rethought on part of the focus or
	uniqueness of my framework.  It was thought that using "Portable" or
	"Abstract" were too generic sounding.  My first new favorite, "Cipher", was
	thought too easily confused with cryptography even though actually has a
	wider meaning that was applicable.  My other favourite suggestion of
	"Rosetta" seemed to meet with Tim's approval.

	* On January 9th, a module registration request was sent to
	modules@perl.org for "Rosetta".  

	* On January 19th, a follow up to that request was sent which had a much 
	better description of what the framework would do, taken from its brand 
	new "ABSTRACT" POD, part of 0.02 in development.

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

	* Release 0.01.

	* This is the initial release.  It contains only documentation, and all of 
	that is in the file Portable.pm.  This documentation isn't complete, but it 
	should be enough for a first version, and I am keeping strictly to a Jan 5 
	release date regardless of completeness.

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

	* Began creating this new Perl distribution package for CPAN, using an 
	initial title of DBIx-Portable-0.01, including ReadMe and ChangeLog files.

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

	* Began development on these modules as their own entity that is separate
	from the application, which will be distributed open-source on CPAN, using
	initial titles of DBIx::Portable and DBIx::Portable::*.  The modules are to
	comprise an RDBMS-generic DB framework for any application to use.  This
	development effort was discussed with the victoria.pm Perl Mongers group.

	* 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.