0.53 (11.22.2005) - John Siracusa * Improved handling of table and column names that use reserved words. 0.52 (11.21.2005) - John Siracusa * Fixed bugs in loader when using a DSN instead of a db. 0.51 (11.20.2005) - John Siracusa * Added auto-initialization of relationships. * Added loader. 0.50 (11.17.2005) - John Siracusa * Added optional lazy-loading of column values. * Long-overdue version number bump. 0.081 (11.15.2005) - John Siracusa * Tutorial added. 0.080 (11.14.2005) - John Siracusa * Added column triggers for get, set, load, save, inflate, and deflate. * Added support for new argument types to relationship methods. * Added a named, configurable map for convention manager classes. * Added perl_manager_class() and make_manager_class() meta methods. * Many bug fixes to datetime column methods, cross-database migration, and the auto-init system. 0.079 (10.25.2005) - John Siracusa * Fixed bugs that caused auto-inited many-to-many relationships to be inadequately fleshed-out under some circumstances. 0.078 (10.24.2005) - John Siracusa * Added page and per_page manager parameters for the truly lazy. * Fixed a bug caused by a conflict between the convention manager and the legacy foreign key name generator. 0.077 (10.20.2005) - John Siracusa * Added convention manager. * Added "distinct" and "fetch_only" manager parameters. * Added support for foreign key and relationship names as column prefixes in manager query parameters and sort_by arguments. * Changed manager and query builder to default unprefixed ambiguous columns to belong to the primary table ("t1"). * Fixed a bug that caused make_methods() to fail for "... to one" relationships that have no corresponding foreign key. * Fixed a bug in QueryBuilder that prevented the ability to check for null columns. * Added the ability to query columns that are not SELECTed. 0.076 (10.05.2005) - John Siracusa * Fixed a bug that caused incorrect counts in get_objects_count() when using the require_object parameter with "... to many" relationships. * Added bulk update and delete methods to Manager. * Added cascaded delete, plus a plea in the documentation for users to do this in the database instead. * Added "many to one" relationship and made it the new default relationship type for foreign keys. * Added *_now and *_on_save method types for foreign keys and "... to one" relationships. * Made get_set_on_save and delete_on_save the default auto method types for foreign keys and "... to one" relationships. * load() now returns the object itself on success, which allows for the convenient $obj = MyObject->new(id => 123)->load; * save() now returns the object itself on success, which allows for the convenient $obj = MyObject->new(id => 123)->save; 0.075 (09.19.2005) - John Siracusa * Added support for "many to many" relationships to Manager's "with_objects" and "require_objects" parameters. * Corrected a bug that could cause missing sub-objects when using the Manager's "with_objects" and "require_objects" parameters. * Added warning for doing multiple LEFT OUTER JOINs that could cause a geometric explosion of redundant rows. * Added the "multi_many_ok" parameter to Manager to suppress the warning described above. * Forced inner joins when fetching foreign keys that have key columns that are all NOT NULL. * Added a few more sanity checks to class setup which, in turn, helped me to find and fix a few bugs in the test suite. 0.074 (09.15.2005) - John Siracusa * Repurposed the "with_objects" Manager parameter to do explicit LEFT OUTER JOINs instead of implicit inner joins. * Added "require_objects" Manager parameter to fill the old role of the "with_objects" parameter. * Documented new restrictions associated with the more sensible "with_objects" and "require_objects" parameters. * Added *_sql comparison operators to QueryBuilder, allowing inline SQL. (Requested by Uwe Voelker.) * Removed restriction on aliasing primary key columns. * Fixed bug in Manager that caused fetched objects to be inserted instead of updated on save(). (Reported by Uwe Voelker.) * Corrected a misspelled method name in Rose::DB::Object::Cached. (Reported by David Glass) * Updated benchmark suite to include "one to many" search tests. 0.073 (09.09.2005) - John Siracusa * Added deferred method creation for relationships and foreign keys in order to make "many to many" relationship setup more developer-friendly. * Renamed default auto-method type for foreign keys and relationships from "get" to "get_set", since technically these foreign objects can be set. They just don't go into the database at that point. I'll probably use a different term for that process (e.g., "add") * Some POD and test fixes. 0.0721 (09.08.2005) - John Siracusa * Fixed incorrect method names in Numeric column type. * Added tests to prevent the above error in the future. 0.072 (08.31.2005) - John Siracusa * Added "get" and "set" interfaces to all default column method makers. * More POD fixes. 0.071 (08.30.2005) - John Siracusa * POD fixes. 0.07 (08.30.2005) - John Siracusa * Added rudimentary "many to many" relationship support. * Restructured method-making system to support extensible method types for each kind of thing that makes methods. * Added "get" and "set" interfaces to the scalar method maker. 0.0692 (08.20.2005) - John Siracusa * POD fixes. 0.069 (08.20.2005) - John Siracusa * Whoops, fixed manifest to repair a botched 0.068 release. 0.068 (08.19.2005) - John Siracusa * Enabled multiple joins with the same table in the manager, provided that each occurrence of multi-joined table has the same Rose::DB::Object class fronting it. * Added support for the "alias" parameter to hash-style column definitions. * Added "relationship" objects. * Fixed a bug that caused nearly everything to fail if a column_name_to_method_name_mapper was used. * Moved some class methods out of the object methods section of the documentation, where they shouldn't have been in the first place. 0.0671 (08.15.2005) - John Siracusa * Fixed more MySQL case sensitivity bugs. (Thanks Uwe!) * Changed objects_by_key query_args parameter to be an array ref instead of a hash ref to match the manager change from long ago. * Updated makemethods.t to use MySQL if Postgres is not available. 0.067 (08.14.2005) - John Siracusa * Fixed more MySQL bugs related to foreign keys, timestamps, and boolean support in MySQL 4.0.x. 0.066 (08.12.2005) - John Siracusa * Fixed MySQL case-sensitivity bug. * Added case-sensitivity tests for Postgres and MySQL. * Added accessor, delete, and search with limit and offset benchmarks. 0.0651 (08.11.2005) - John Siracusa * Moved benchmarks into test directory in an attempt to get search.cpan.org to ignore them. 0.065 (08.11.2005) - John Siracusa * Improved the efficiency of manager classes. * Added benchmark suite. * More POD fixes. 0.064 (08.09.2005) - John Siracusa * Duh, forgot the table name and initialize() call in perl_class_definition(). 0.063 (08.09.2005) - John Siracusa * Added foreign key auto-initialization for Informix. 0.062 (08.08.2005) - John Siracusa * Changed default error mode to "fatal" for manager class too. 0.061 (08.07.2005) - John Siracusa * Added foreign key auto-initialization for MySQL. 0.06 (08.05.2005) - John Siracusa * Added auto-initialization (finally). * Plumped-up unique and primary keys into objects. * Changed default error mode to "fatal" * Made substantial additions to the documentation. 0.052 (07.22.2005) - John Siracusa * Added make_manager_methods() to Rose::DB::Object::Manager. * Corrected Rose::DB::Object::Manager POD. 0.052 (07.22.2005) - John Siracusa * Added make_manager_methods() to Rose::DB::Object::Manager. * Corrected Rose::DB::Object::Manager POD. 0.051 (06.22.2005) - John Siracusa * Added abstracted offset parameter to object manager. 0.05 (06.16.2005) - John Siracusa * Moved object cache management further into the metadata object. * Enabled auto-generated primary key values for Rose::DB::Object objects used with the PostgreSQL database. 0.043 (06.16.2005) - John Siracusa * Added time-based expiration to Rose::DB::Object::Cached. * Added catalog attribute to metadata objects. 0.042 (05.04.2005) - John Siracusa * Added not_null attribute to column metadata objects. * Removed use of prepare_cached() because it can't be used across transactions in Informix. Duh. 0.041 (04.22.2005) - John Siracusa * Corrected typo in DatetimeYearToSecond column class. (Still need to add tests for those column types...) * Added skip_first parameter to get_object_iterator(). * Added fix to avoid trying to format or truncate undefined dates in datetime columns. 0.04 (04.01.2005) - John Siracusa * Refactored column value parsing. No, really. 0.031 (03.27.2005) - John Siracusa * Corrected typos and errors in the documentation. 0.03 (03.27.2005) - John Siracusa * Added error_mode methods. 0.023 (03.25.2005) - John Siracusa * Added prepare_*_options (undocumented for now). 0.022 (03.18.2005) - John Siracusa * Fixed POD error that was throwing off search.cpan.org. 0.021 (03.17.2005) - John Siracusa * Added documentation for the "pretty" parameter to build_select() * Added support for column value inlining in build_select() 0.02 (03.17.2005) - John Siracusa * Added support for nested boolean logic in queries. 0.013 (03.11.2005) - John Siracusa * Fixed bug in Rose::DB::Object::Std::Metadata that caused the number of primary key columns to appear to be zero. 0.012 (03.10.2005) - John Siracusa * Add tests for aliased unique key fix and primary key aliasing. Documented constraints on column aliasing. Fixed version numbers in this file. Deleted version 0.011. 0.011 (03.09.2005) - John Siracusa * Well that was quick. Fixed copy and paste error that caused a failure to load using an aliased unique key column. Deleted version 0.10. 0.01 (03.09.2005) - John Siracusa * Initial release.