=== 1.5.1 (2008-04-30)

* Fix Dataset#eager_graph when not all objects have associated objects (jeremyevans)

=== 1.5.0 (2008-04-29)

* Make the validation errors API compatible with Merb (Inviz)

* Add validates_uniqueness_of, for protecting against duplicate entries in the database (neaf, jeremyevans)

* Alias Model#dataset= to Model#set_dataset (tmm1)

* Make some Model class methods private: def_hook_method, hooks, add_hook, plugin_module, plugin_gem (jeremyevans)

* Add the eager! and eager_graph! mutation methods to model datasets (jeremyevans)

* Remove Model.database_opened (jeremyevans)

* Remove Model.super_dataset (jeremyevans)

* Deprecate .create_with_params, .create_with, #set, #update, #update_with, and #new_record from Sequel::Model (jeremyevans)

* Add Model.def_dataset_method, for defining methods on the model that reference methods on the dataset (jeremyevans)

* Deprecate Model.method_missing, add dataset methods to Model via metaprogramming (jeremyevans)

* Remove Model.join, so it is the same as Dataset#join (jeremyevans)

* Use reciprocal associations for all types of associations in the getter/setter/add_/remove_ methods (jeremyevans)

* Fix many_to_one associations to cache negative lookups (jeremyevans)

* Change Model#=== to always be false if the primary key is nil (jeremyevans)

* Add Model#hash, which should be unique for a given class and primary key (or values if primary key is nil) (jeremyevans)

* Add Model#eql? as a alias to Model#== (jeremyevans)

* Make Model#reload clear any cached associations (jeremyevans)

* No longer depend on the assistance gem, merge the Inflector and Validations code (jeremyevans)

* Add Model#set_with_params, which is Model#update_with_params without the save (jeremyevans)

* Fix Model#destroy so that it returns self, not the result of after_destroy (jeremyevans)

* Define Model column accessors in set_dataset, so they should always be avaiable, deprecate Model#method_missing (jeremyevans)

* Add eager loading of associations via new sequel_core object graphing feature (jeremyevans)

* Fix many_to_many associations with classes inside modules without an explicit join table (jeremyevans)

* Allow creation of new records that don't have primary keys when the cache is on (jeremyevans) (#213)

* Make Model#initialize, Model#set, and Model#update_with_params invulnerable to memory exhaustion (jeremyevans) (#210)

* Add Model.str_columns, which gives a list of columns as frozen strings (jeremyevans)

* Remove pretty_table.rb from sequel, since it is in sequel_core (jeremyevans)

=== 1.4.0 (2008-04-08)

* Don't mark a column as changed unless the new value is different from the current value (tamas.denes, jeremyevans) (#203).

* Switch gem name from "sequel_model" to just "sequel", which required large version bump (jeremyevans).

* Add :select option to many_to_many associations, default to selecting only the associated model table and not the join table (jeremyevans) (#208).

* Add :reciprocal one_to_many association option, for setting corresponding many_to_one instance variable (jeremyevans).

* Add eager loading implementation (jeremyevans).

* Change *_to_many associations so that the all associations are considered :cache=>true (jeremyevans).

* Fix associations with block arguments and :cache=>true (jeremyevans).

=== 0.5.0.2 (2008-03-12)

* More fixes for Model.associate to accept strings and symbols as class references.

=== 0.5.0.1 (2008-03-09)

* Fixed Model.associate to accept class and class name in :class option.

=== 0.5 (2008-03-08)

* Merged new associations branch into trunk.

* Rewrote RDoc for associations.

* Added has_and_belongs_to_many alias for many_to_many.

* Added support for optional dataset block.

* Added :order option to order association datasets.

* Added :cache option to return and cache array of objects for association.

* Changed one_to_many, many_to_many associations to return dataset by default.

* Added has_many, belongs_to aliases.

* Refactored associations code.

* Added deprecations for old-style relations.

* Completed specs for new associations code.

* New associations code by Jeremy Evans (replaces relations code.)

=== 0.4.2 (2008-02-29)

* Fixed one_to_many implicit key to work correctly for namespaced classes (#167).

* Fixed Model.db= to affect the underlying dataset (#183).

* Fixed Model.implicit_table_name to disregard namespaces.

=== 0.4.1 (2008-02-10)

* Implemented Model#inspect (#151).

* Changed Model#method_missing to short-circuit and bypass checking #columns if the values hash already contains the relevant column (#150).

* Updated to reflect changes in sequel_core (Dataset#clone_merge renamed to Dataset#clone).

=== 0.4 (2008-02-05)

* Fixed Model#set to work with string keys (#143).

* Fixed Model.create to correctly initialize instances marked as new (#135).

* Fixed Model#initialize to convert string keys into symbol keys. This also fixes problem with validating objects initialized with string keys (#136).

=== 0.3.3 (2008-01-25)

* Finalized support for virtual attributes.

=== 0.3.2.1 (2008-01-24)

* Fixed Model.dataset to correctly set the dataset if using implicit naming or inheriting the superclass dataset (thanks celldee).

=== 0.3.2 (2008-01-24)

* Added Model#update_with_params method with support for virtual attributes and auto-filtering of unrelated parameters, and changed Model.create_with_params to support virtual attributes (#128).

* Cleaned up gem spec (#132).

* Removed validations code. Now relying on validations in assistance gem.

=== 0.3.1 (2008-01-21)

* Changed Model.dataset to use inflector to pluralize the class name into the table name. Works in similar fashion to table names in AR or DM.

=== 0.3 (2008-01-18)

* Implemented Validatable::Errors class.

* Added Model#reload as alias to Model#refresh.

* Changed Model.create to accept a block (#126).

* Rewrote validations.

* Fixed Model#initialize to accept nil values (#115).

=== 0.2 (2008-01-02)

* Removed deprecated Model.recreate_table method.

* Removed deprecated :class and :on options from one_to_many macro.

* Removed deprecated :class option from one_to_one macro.

* Removed deprecated Model#pkey method.

* Changed dependency to sequel_core.

* Removed examples from sequel core.

* Additional specs. We're now at 100% coverage.

* Refactored hooks code. Hooks are now inheritable, and can be defined by supplying a block or a method name, or by overriding the hook instance method. Hook chains can now be broken by returning false (#111, #112).

=== 0.1 (2007-12-30)

* Moved model code from sequel into separate model sub-project.
