diff --git a/CHANGELOG b/CHANGELOG
deleted file mode 100644
index b70ee082..00000000
--- a/CHANGELOG
+++ /dev/null
@@ -1,242 +0,0 @@
-2022-07-14 (v3.1.1)
- - Make scopes chainable [#248](https://github.com/active-hash/active_hash/pull/248) @andreynering
- - Set default key attributes [#251](https://github.com/active-hash/active_hash/pull/251/commits/68a0a121d110ac83f4bbf0024f027714fd24debf) @adampal
- - Migrate from Travis to GitHub Actions for CI @kbrock
- - Add primary_key support for has_one [#218](https://github.com/active-hash/active_hash/pull/218) @yujideveloper
- - Return a chainable relation when using .not [#205](https://github.com/active-hash/active_hash/pull/205) @pfeiffer
- - Correct fields with YAML aliases in array style [#226](https://github.com/active-hash/active_hash/pull/226) @stomk
- - Add ActiveHash::Relation#size method for compatibily [#227](https://github.com/active-hash/active_hash/pull/227) @sluceno
- - Implement ActiveRecord::RecordNotFound interface [#207](https://github.com/active-hash/active_hash/pull/207) @ChrisBr
- - Fix find_by_id with filter chain [#210](https://github.com/active-hash/active_hash/pull/210) @ChrisBr
- - Suppress Ruby 2.7 kwargs warnings [#206](https://github.com/active-hash/active_hash/pull/206) @yhirano55
- - Call reload if @records is not defined [#208](https://github.com/active-hash/active_hash/pull/208) @jonmagic
- - Switch to rspec3 (and update the Gemfile) [#209](https://github.com/active-hash/active_hash/pull/209) @djberg96
- - Implement filter by RegEx [#211](https://github.com/active-hash/active_hash/pull/211) @ChrisBr
- - Supports .pick method [#195](https://github.com/active-hash/active_hash/pull/195/files) @yhirano55
- - Lots of other small performance improvements, documentation and testing. Thanks to everyone who contributed!
-
-2020-01-15 (v3.1.0)
- - Add ActiveHash::Base.order method inspired by ActiveRecord [#177](https://github.com/active-hash/active_hash/pull/177)
- - Add #to_ary to ActiveHash::Relation [#182](https://github.com/active-hash/active_hash/pull/182)
- - Allow #find to behave like Enumerable#find if id is nil and a block is given [#183](https://github.com/active-hash/active_hash/pull/183)
- - Delegate :sample to `records` [#189](https://github.com/active-hash/active_hash/pull/189)
-
-2019-09-28 (v3.0.0)
- - Make #where chainable [#178](https://github.com/active-hash/active_hash/pull/178)
-
-2019-09-28 (v2.3.0)
- - Add ::scope method (inspired by ActiveRecord) [#173](https://github.com/active-hash/active_hash/pull/173)
- - Let `.find(nil)` raise ActiveHash::RecordNotFound (inspired by ActiveRecord) [#174](https://github.com/active-hash/active_hash/pull/174)
- - `where` clause now works with range argument [#175](https://github.com/active-hash/active_hash/pull/175)
-
-2019-03-06 (v2.2.1)
- - Allow empty YAML [#171](https://github.com/active-hash/active_hash/pull/171) Thanks, @ppworks
-
-2018-11-22 (v2.2.0)
- - Support pluck method [#164](https://github.com/active-hash/active_hash/pull/164) Thanks, @ihatov08
- - Support where.not method [#167](https://github.com/active-hash/active_hash/pull/167) Thanks, @DialBird
-
-2018-04-05 (v2.1.0)
- - Allow to use ERB (embedded ruby) in yml files [#160](https://github.com/active-hash/active_hash/pull/160) Thanks, @UgoMare
- - Add `ActiveHash::Base.polymorphic_name` [#162](https://github.com/active-hash/active_hash/pull/162)
- - Fix to be able to use enum accessor constant with same name as top-level constant[#161](https://github.com/active-hash/active_hash/pull/161) Thanks, @yujideveloper
-
-2018-02-27 (v2.0.0)
- - Drop old Ruby and Rails support [#157](https://github.com/active-hash/active_hash/pull/157)
- - Don't generate instance accessors for class attributes [#136](https://github.com/active-hash/active_hash/pull/136) Thanks, @rainhead
-
-2017-06-14 (v1.5.3)
- - Support symbol values in where and find_by [#156](https://github.com/active-hash/active_hash/pull/156) Thanks, @south37
-
-2017-06-14 (v1.5.2)
- - Fix find_by when passed an invalid id [#152](https://github.com/active-hash/active_hash/pull/152) Thanks, @davidstosik
-
-2017-04-20 (v1.5.1)
- - Fix a bug on `.where` [#147](https://github.com/active-hash/active_hash/pull/147)
-
-2017-03-24 (v1.5.0)
- - add support for `.find_by!`(@syguer)
-
-2015-09-13 (v1.4.1)
- - fix bug where `#attributes` didn't contain default values #107
- - add support for `.find_by` and `#_read_attribute`. Thanks, @andrewfader!
-
-2014-09-03 (v1.4.0)
- - support Rails 4.2 (agraves, al2o3cr)
-
-2014-02-18 (v1.3.0)
- - fix bug where including ActiveHash associations would make `belongs_to :imageable, polymorphic: true` blow up
- - fixed several bugs that prevented active hash from being used without active record / active model
- - add support for splitting up data sources into multiple files (rheaton)
- - add support for storing data in json files (rheaton)
-
-2013-11-29 (v1.2.3)
- - fix bug where active hash would call `.all` on models when setting has_many (grosser)
-
-2013-11-05 (v1.2.2)
- - fix bug in gemspec that made it impossible to use w/ Rails 4
-
-2013-10-24 (v1.2.1)
- - fixed nasty bug in belongs_to that would prevent users from passing procs (thanks for the issue freebird0221)
- - fixed bug where passing in a separate class name to belongs_to_active_hash would raise an exception (mauriciopasquier)
-
-2013-10-01 (v1.2.0)
- - belongs_to is back!
- - added support for primary key options for belongs_to (tomtaylor)
-
-2013-09-09 (v1.0.2)
- - `where(nil)` returns all results, like ActiveRecord (kugaevsky)
-
-2013-07-15 (v1.0.1)
- - Travis CI for ActiveHash + Ruby 2, 1.8.7, Rubinius and JRuby support (mattheworiordan)
- - no longer need to call .all before executing `find_by_*` or `where` methods (mattheworiordan)
-
-2013-06-24 (v1.0.0)
- - save is a no-op on existing records, instead of raising an error (issue #63)
-
-2013-06-24 (v0.10.0)
- - added ActiveYaml::Aliases module so you can DRY up your repetitive yaml (brett-richardson)
-
-2013-05-23 (v0.9.14)
- - enum_accessor can now take multiple field names when generating the constant
- - temporarily disabled rails edge specs since there's an appraisal issue with minitest
-
-2013-01-22
- - Fix find_by_id and find method returning nil unless .all called in ActiveYaml (mattheworiordan)
-
-2012-07-25
- - Make find_by_id lookups faster by indexing records by id (desmondmonster)
-
-2012-07-16
- - Validate IDs are unique by caching them in a set (desmondmonster)
-
-2012-04-14
- - Support for has_one associations (kbrock)
-
-2012-04-05
- - Allow gems like simple_form to read metadata about belongs_to associations that point to active hash objects (kbrock)
-
-2012-01-19
- - Move specs to appraisal (flavorjones)
-
-2012-01-18 (v0.9.8)
- - Make ActiveHash.find with array raise an exception when record cannot be found (mocoso)
-
-2011-09-18 (v0.9.7)
- - Fixing the setting of a belongs_to_active_hash association by association (not id).
-
-2011-08-31
- - added a module which adds a .belongs_to_active_hash method to ActiveRecord, since it was broken for Rails 3.1 (thanks to felixclack for pointing this issue out)
-
-2011-06-07
- - fixed bug where .find would not work if you defined your ids as strings
-
-2011-06-05
- - fixed deprecation warnings for class_inheritable_accessor (thanks scudco!)
- - added basic compatibility with the `where` method from Arel (thanks rgarver!)
-
-2011-04-19
- - better dependency management and compatibility with ActiveSupport 2.x (thanks vandrijevik!)
-
-2011-01-22
- - improved method_missing errors for dynamic finders
- - prevent users from trying to overwrite :attributes (https://github.com/active-hash/active_hash/issues/#issue/33)
-
-2010-12-08
- - ruby 1.9.2 compatibility
-
-2010-12-06
- - added dependency on ActiveModel
- - add persisted? method to ActiveHash::Base
- - ActiveHash::Base#save takes *args to be compatible with ActiveModel
- - ActiveHash::Base#to_param returns nil if the object hasn't been saved
-
-2010-11-09
- - Use Ruby's definition of "word character" (numbers, underscores) when forming ActiveHash::Enum constants (tstuart)
-
-2010-11-07
- - Get ActiveHash::Associations to return a scope for has_many active record relationships (mocoso)
-
-2010-10-20
- - Allow find_by_* methods to accept an options hash, so rails associations don't blow up
-
-2010-10-07
- - Add conditions to ActiveHash#all (Ryan Garver)
- - Add #cache_key to ActiveHash::Base (Tom Stuart)
- - Add banged dynamic finder support to ActiveHash::Base (Tom Stuart)
-
-2010-09-16
- - Enum format now uses underscores instead of removing all characters
- - Removed test dependency on acts_as_fu
-
-2010-05-26
- - Silence metaclass deprecation warnings in active support 2.3.8
-
-2010-05-04
- - When calling ActiveFile::Base.reload do not actually perform the reload if nothing has been modified unless you call reload(true) to force (Michael Schubert)
-
-2010-04-25
- - When ActiveRecord model belongs_to an ActiveHash and the associated id is nil, returns nil instead of raising RecordNotFound (Jeremy Weiskotten)
- - Merged Nakajima's "add" alias for "create" - gotta save those ASCII characters :)
-
-2010-03-01
- - Removed "extend"-related deprecations - they didn't play well with rails class loading
-
-2010-01-18
- - Added stub for #destroyed? method, since Rails associations now depend on it
-
-2009-12-19
- - Added ActiveHash::Enum (John Pignata)
- - Deprecated include ActiveHash::Associations in favor of extend ActiveHash::Associations
- - Fixed bug where you can't set nil to an association
- - Calling #belongs_to now creates the underlying field if it's not already there (belongs_to :city will create the :city_id field)
-
-2009-12-10
- - Fixed a bug where belongs_to associations would raise an error instead of returning nil when the parent object didn't exist.
- - Added #[] and #[]= accessors for more ActiveRecord-esque-ness. (Pat Nakajima & Dave Yeu)
-
-2009-12-01
- - Add marked_for_destruction? to be compatible with nested attributes (Brandon Keene)
- - Added second parameter to respond_to? and cleaned up specs (Brian Takita)
- - Find with an id that does not exist now raises a RecordNotFound exception to mimic ActiveRecord (Pat Nakajima)
-
-2009-10-22
- - added setters to ActiveHash::Base for all fields
- - instantiating an ActiveHash object with a hash calls the setter methods on the object
- - boolean default values now work
-
-2009-10-21
- - Removed auto-reloading of files based on mtime - maybe it will come back later
- - Made ActiveFile::Base.all a bit more sane
-
-2009-10-13
- - added ActiveHash::Base.has_many, which works with ActiveRecord or ActiveHash classes (thanks to baldwindavid)
- - added ActiveHash::Base.belongs_to, which works with ActiveRecord or ActiveHash classes (thanks to baldwindavid)
- - added .delete_all method that clears the in-memory array
- - added support for Hash-style yaml (think, Rails fixtures)
- - added setter for parent object on belongs_to ( city = City.new; city.state = State.first; city.state_id == State.first.id )
-
-2009-10-12
- - auto-assign fields after calling data= instead of after calling .all
- - remove require 'rubygems', so folks with non-gem setups can still use AH
- - added more specific activesupport dependency to ensure that metaclass is available
- - AH no longer calls to_i on ids. If you pass in a string as an id, you'll get a string back
- - Fancy finders, such as find_all_by_id_and_name, will compare the to_s values of the fields, so you can pass in strings
- - You can now use ActiveHash models as the parents of polymorphic belongs_to associations
- - save, save!, create and create! now add items to the in-memory collection, and naively adds autoincrementing id
- - new_record? returns false if the record is part of the collection
- - ActiveHash now works with Fixjour!
-
-2009-08-19
- - Added custom finders for multiple fields, such as .find_all_by_name_and_age
-
-2009-07-23
- - Added support for auto-defining methods based on hash keys in ActiveHash::Base
- - Changed the :field and :fields API so that they don't overwrite existing methods (useful when ActiveHash auto-defines methods)
- - Fixed a bug where ActiveFile incorrectly set the root_path to be the path in the gem directory, not the current working directory
-
-2009-07-24
- - ActiveFile no longer reloads files by default
- - Added ActiveFile.reload_active_file= so you can cause ActiveFile to reload
- - Setting data to nil correctly causes .all to return an empty array
- - Added reload(force) method, so that you can force a reload from files in ActiveFile, useful for tests
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 00000000..86aa17a1
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,353 @@
+# active_hash Changelog
+
+## Version [3.2.0] - 2022-07-14
+
+- Add Ruby 3.2 to the CI matrix [#275](https://github.com/active-hash/active_hash/pull/275) @petergoldstein
+- Handle default value of `false` [#274](https://github.com/active-hash/active_hash/pull/274) @ihollander
+- Run CI only one time per commit [#273](https://github.com/active-hash/active_hash/pull/273) @flavorjones
+- Rails 7 support [#272](https://github.com/active-hash/active_hash/pull/272) @flavorjones
+- Avoid interfere with AR's belongs_to arguments. [#270](https://github.com/active-hash/active_hash/pull/270) @koyo-miyamura
+- Fix broken #pluck method with 3+ attrs specified [#269](https://github.com/active-hash/active_hash/pull/269) @h6ah4i
+- Fix relations for Rails 7 support, and not modifying conditions [#268](https://github.com/active-hash/active_hash/pull/268) @pfeiffer
+- docs: Remove the string 'F' [#264](https://github.com/active-hash/active_hash/pull/264) @tbotaq
+- Show example using regex in where query [#263](https://github.com/active-hash/active_hash/pull/263) @scottharvey
+- Improve performance of exists? [#262](https://github.com/active-hash/active_hash/pull/262) @ise-tang
+- Remove redundant ActiveRecord version check [#260](https://github.com/active-hash/active_hash/pull/260) @yujideveloper
+- Fix deprecation warnings [#259](https://github.com/active-hash/active_hash/pull/259) @yujideveloper
+- Fix rspec config when SKIP_ACTIVE_RECORD enabled [#258](https://github.com/active-hash/active_hash/pull/258) @yujideveloper
+- isolate tests with temporary classes [#256](https://github.com/active-hash/active_hash/pull/256) @machisuke
+- Avoid ActiveRecordExtensions affects AR's belongs_to method. [#255](https://github.com/active-hash/active_hash/pull/255) @machisuke
+- add option to disable erb parsing [#202](https://github.com/active-hash/active_hash/pull/202) @reedlaw
+- add collection singular ids for associations [#237](https://github.com/active-hash/active_hash/pull/237) @1160054
+- Fix the thread-safe spec for the updated cities fixture @adampal
+- Add thread-safety to ActiveFile [#229](https://github.com/active-hash/active_hash/pull/229) @dmitriy-kiriyenko
+
+## Version [3.1.1] - 2022-07-14
+
+ - Make scopes chainable [#248](https://github.com/active-hash/active_hash/pull/248) @andreynering
+ - Set default key attributes [#251](https://github.com/active-hash/active_hash/pull/251/commits/68a0a121d110ac83f4bbf0024f027714fd24debf) @adampal
+ - Migrate from Travis to GitHub Actions for CI @kbrock
+ - Add primary_key support for has_one [#218](https://github.com/active-hash/active_hash/pull/218) @yujideveloper
+ - Return a chainable relation when using .not [#205](https://github.com/active-hash/active_hash/pull/205) @pfeiffer
+ - Correct fields with YAML aliases in array style [#226](https://github.com/active-hash/active_hash/pull/226) @stomk
+ - Add ActiveHash::Relation#size method for compatibily [#227](https://github.com/active-hash/active_hash/pull/227) @sluceno
+ - Implement ActiveRecord::RecordNotFound interface [#207](https://github.com/active-hash/active_hash/pull/207) @ChrisBr
+ - Fix find_by_id with filter chain [#210](https://github.com/active-hash/active_hash/pull/210) @ChrisBr
+ - Suppress Ruby 2.7 kwargs warnings [#206](https://github.com/active-hash/active_hash/pull/206) @yhirano55
+ - Call reload if @records is not defined [#208](https://github.com/active-hash/active_hash/pull/208) @jonmagic
+ - Switch to rspec3 (and update the Gemfile) [#209](https://github.com/active-hash/active_hash/pull/209) @djberg96
+ - Implement filter by RegEx [#211](https://github.com/active-hash/active_hash/pull/211) @ChrisBr
+ - Supports .pick method [#195](https://github.com/active-hash/active_hash/pull/195/files) @yhirano55
+ - Lots of other small performance improvements, documentation and testing. Thanks to everyone who contributed!
+
+## Version [3.1.0] - 2020-01-15
+
+ - Add ActiveHash::Base.order method inspired by ActiveRecord [#177](https://github.com/active-hash/active_hash/pull/177)
+ - Add #to_ary to ActiveHash::Relation [#182](https://github.com/active-hash/active_hash/pull/182)
+ - Allow #find to behave like Enumerable#find if id is nil and a block is given [#183](https://github.com/active-hash/active_hash/pull/183)
+ - Delegate :sample to `records` [#189](https://github.com/active-hash/active_hash/pull/189)
+
+## Version [3.0.0] - 2019-09-28
+
+ - Make #where chainable [#178](https://github.com/active-hash/active_hash/pull/178)
+
+## Version [2.3.0] - 2019-09-28
+
+ - Add ::scope method (inspired by ActiveRecord) [#173](https://github.com/active-hash/active_hash/pull/173)
+ - Let `.find(nil)` raise ActiveHash::RecordNotFound (inspired by ActiveRecord) [#174](https://github.com/active-hash/active_hash/pull/174)
+ - `where` clause now works with range argument [#175](https://github.com/active-hash/active_hash/pull/175)
+
+## Version [2.2.1] - 2019-03-06
+
+ - Allow empty YAML [#171](https://github.com/active-hash/active_hash/pull/171) Thanks, @ppworks
+
+## Version [2.2.0] - 2018-11-22
+
+ - Support pluck method [#164](https://github.com/active-hash/active_hash/pull/164) Thanks, @ihatov08
+ - Support where.not method [#167](https://github.com/active-hash/active_hash/pull/167) Thanks, @DialBird
+
+## Version [2.1.0] - 2018-04-05
+
+ - Allow to use ERB (embedded ruby) in yml files [#160](https://github.com/active-hash/active_hash/pull/160) Thanks, @UgoMare
+ - Add `ActiveHash::Base.polymorphic_name` [#162](https://github.com/active-hash/active_hash/pull/162)
+ - Fix to be able to use enum accessor constant with same name as top-level constant[#161](https://github.com/active-hash/active_hash/pull/161) Thanks, @yujideveloper
+
+## Version [2.0.0] - 2018-02-27
+
+ - Drop old Ruby and Rails support [#157](https://github.com/active-hash/active_hash/pull/157)
+ - Don't generate instance accessors for class attributes [#136](https://github.com/active-hash/active_hash/pull/136) Thanks, @rainhead
+
+## Version [1.5.3] - 2017-06-14
+
+ - Support symbol values in where and find_by [#156](https://github.com/active-hash/active_hash/pull/156) Thanks, @south37
+
+## Version [1.5.2] - 2017-06-14
+
+ - Fix find_by when passed an invalid id [#152](https://github.com/active-hash/active_hash/pull/152) Thanks, @davidstosik
+
+## Version [1.5.1] - 2017-04-20
+
+ - Fix a bug on `.where` [#147](https://github.com/active-hash/active_hash/pull/147)
+
+## Version [1.5.0] - 2017-03-24
+
+ - add support for `.find_by!`(@syguer)
+
+## Version [1.4.1] - 2015-09-13
+
+ - fix bug where `#attributes` didn't contain default values [#107](https://github.com/active-hash/active_hash/pull/107)
+ - add support for `.find_by` and `#_read_attribute`. Thanks, @andrewfader
+
+## Version [1.4.0] - 2014-09-03
+
+ - support Rails 4.2 @agraves, @al2o3cr
+
+## Version [1.3.0] - 2014-02-18
+
+ - fix bug where including ActiveHash associations would make `belongs_to :imageable, polymorphic: true` blow up
+ - fixed several bugs that prevented active hash from being used without active record / active model
+ - add support for splitting up data sources into multiple files @rheaton
+ - add support for storing data in json files @rheaton
+
+## Version [1.2.3] - 2013-11-29
+
+ - fix bug where active hash would call `.all` on models when setting has_many @grosser
+
+## Version [1.2.2] - 2013-11-05
+
+ - fix bug in gemspec that made it impossible to use w/ Rails 4
+
+## Version [1.2.1] - 2013-10-24
+
+ - fixed nasty bug in belongs_to that would prevent users from passing procs @freebird0221
+ - fixed bug where passing in a separate class name to belongs_to_active_hash would raise an exception @mauriciopasquier
+
+## Version [1.2.0] - 2013-10-01
+
+ - belongs_to is back!
+ - added support for primary key options for belongs_to @tomtaylor
+
+## Version [1.0.2] - 2013-09-09
+
+ - `where(nil)` returns all results, like ActiveRecord @kugaevsky
+
+## Version [1.0.1] - 2013-07-15
+
+ - Travis CI for ActiveHash + Ruby 2, 1.8.7, Rubinius and JRuby support @mattheworiordan
+ - no longer need to call .all before executing `find_by_*` or `where` methods @mattheworiordan
+
+## Version [1.0.0] - 2013-06-24
+
+ - save is a no-op on existing records, instead of raising an error (issue #63)
+
+## Version [0.10.0] - 2013-06-24
+
+ - added ActiveYaml::Aliases module so you can DRY up your repetitive yaml @brett-richardson
+
+## Version [0.9.14] - 2013-05-23
+
+ - enum_accessor can now take multiple field names when generating the constant
+ - temporarily disabled rails edge specs since there's an appraisal issue with minitest
+
+## Version [0.9.13] 2013-01-22
+ - Fix find_by_id and find method returning nil unless .all called in ActiveYaml @mattheworiordan
+
+## Version [0.9.12] 2012-07-25
+ - Make find_by_id lookups faster by indexing records by id @desmondmonster
+
+## Version [0.9.11] 2012-07-16
+ - Validate IDs are unique by caching them in a set @desmondmonster
+
+## Version [0.9.10] 2012-04-14
+ - Support for has_one associations @kbrock
+
+## Version [0.9.9] 2012-04-05
+
+ - Allow gems like simple_form to read metadata about belongs_to associations that point to active hash objects @kbrock
+ - Move specs to appraisal @flavorjones
+
+## Version [0.9.8] - 2012-01-18
+
+ - Make ActiveHash.find with array raise an exception when record cannot be found @mocoso
+
+## Version [0.9.7] - 2011-09-18
+
+ - Fixing the setting of a `belongs_to_active_hash` association by association (not id).
+
+## Version [0.9.6] - 2011-08-31
+ - added a module which adds a .belongs_to_active_hash method to ActiveRecord, since it was broken for Rails 3.1 @felixclack
+
+## Version [0.9.5] - 2011-06-07
+ - fixed bug where .find would not work if you defined your ids as strings
+
+## Version [0.9.4] - 2011-06-05
+ - fixed deprecation warnings for class_inheritable_accessor @scudco
+ - added basic compatibility with the `where` method from Arel @rgarver
+
+## Version [0.9.3] - 2011-04-19
+ - better dependency management and compatibility with ActiveSupport 2.x @vandrijevik
+
+## Version [0.9.2] - 2011-01-22
+ - improved method_missing errors for dynamic finders
+ - prevent users from trying to overwrite :attributes [#33](https://github.com/active-hash/active_hash/issues/33)
+
+## Version [0.9.1] 2010-12-08
+ - ruby 1.9.2 compatibility
+
+## Version [0.9.0] 2010-12-06
+ - added dependency on ActiveModel
+ - add persisted? method to ActiveHash::Base
+ - ActiveHash::Base#save takes \*args to be compatible with ActiveModel
+ - ActiveHash::Base#to_param returns nil if the object hasn't been saved
+
+## Version [0.8.7] 2010-11-09
+ - Use Ruby's definition of "word character" (numbers, underscores) when forming ActiveHash::Enum constants @tstuart
+
+## Version [0.8.6] 2010-11-07
+ - Get ActiveHash::Associations to return a scope for has_many active record relationships @mocoso
+
+## Version [0.8.5] 2010-10-20
+ - Allow find_by_* methods to accept an options hash, so rails associations don't blow up
+
+## Version [0.8.4] 2010-10-07
+ - Add conditions to ActiveHash#all (Ryan Garver)
+ - Add #cache_key to ActiveHash::Base (Tom Stuart)
+ - Add banged dynamic finder support to ActiveHash::Base (Tom Stuart)
+
+## Version [0.8.3] 2010-09-16
+ - Enum format now uses underscores instead of removing all characters
+ - Removed test dependency on acts_as_fu
+
+## Version [0.8.2] 2010-05-26
+ - Silence metaclass deprecation warnings in active support 2.3.8
+
+## Version [0.8.1] 2010-05-04
+ - When calling ActiveFile::Base.reload do not actually perform the reload if nothing has been modified unless you call reload(true) to force (Michael Schubert)
+
+## Version [0.8.0] 2010-04-25
+ - When ActiveRecord model belongs_to an ActiveHash and the associated id is nil, returns nil instead of raising RecordNotFound (Jeremy Weiskotten)
+ - Merged Nakajima's "add" alias for "create" - gotta save those ASCII characters :)
+
+## Version [0.7.9] 2010-03-01
+ - Removed "extend"-related deprecations - they didn't play well with rails class loading
+
+## Version [0.7.8] 2010-01-18
+ - Added stub for #destroyed? method, since Rails associations now depend on it
+
+## Version [0.7.7] 2009-12-19
+ - Deprecated include ActiveHash::Associations in favor of extend ActiveHash::Associations
+
+## Version [0.7.6] 2009-12-19
+ - Added ActiveHash::Enum (John Pignata)
+ - Fixed bug where you can't set nil to an association
+ - Calling #belongs_to now creates the underlying field if it's not already there (belongs_to :city will create the :city_id field)
+
+## Version [0.7.5] 2009-12-10
+ - Fixed a bug where belongs_to associations would raise an error instead of returning nil when the parent object didn't exist.
+ - Added #[] and #[]= accessors for more ActiveRecord-esque-ness. (Pat Nakajima & Dave Yeu)
+
+## Version [0.7.4] 2009-12-01
+ - Add marked_for_destruction? to be compatible with nested attributes (Brandon Keene)
+ - Added second parameter to respond_to? and cleaned up specs (Brian Takita)
+ - Find with an id that does not exist now raises a RecordNotFound exception to mimic ActiveRecord (Pat Nakajima)
+
+## Version [0.7.3] 2009-10-22
+ - added setters to ActiveHash::Base for all fields
+ - instantiating an ActiveHash object with a hash calls the setter methods on the object
+ - boolean default values now work
+
+## Version [0.7.2] 2009-10-21
+ - Removed auto-reloading of files based on mtime - maybe it will come back later
+ - Made ActiveFile::Base.all a bit more sane
+
+## Version 0.7.1 2009-10-13
+ - added ActiveHash::Base.has_many, which works with ActiveRecord or ActiveHash classes @baldwindavid
+ - added ActiveHash::Base.belongs_to, which works with ActiveRecord or ActiveHash classes @baldwindavid
+ - added .delete_all method that clears the in-memory array
+ - added support for Hash-style yaml (think, Rails fixtures)
+ - added setter for parent object on belongs_to ( `city = City.new; city.state = State.first; city.state_id == State.first.id` )
+
+## Version [0.7.0] 2009-10-12
+ - auto-assign fields after calling data= instead of after calling .all
+ - remove require 'rubygems', so folks with non-gem setups can still use AH
+ - added more specific activesupport dependency to ensure that metaclass is available
+ - AH no longer calls to_i on ids. If you pass in a string as an id, you'll get a string back
+ - Fancy finders, such as find_all_by_id_and_name, will compare the to_s values of the fields, so you can pass in strings
+ - You can now use ActiveHash models as the parents of polymorphic belongs_to associations
+ - save, save!, create and create! now add items to the in-memory collection, and naively adds autoincrementing id
+ - new_record? returns false if the record is part of the collection
+ - ActiveHash now works with Fixjour!
+
+## Version [0.6.1] 2009-08-19
+ - Added custom finders for multiple fields, such as .find_all_by_name_and_age
+
+## Version 0.5.0 2009-07-23
+ - Added support for auto-defining methods based on hash keys in ActiveHash::Base
+ - Changed the :field and :fields API so that they don't overwrite existing methods (useful when ActiveHash auto-defines methods)
+ - Fixed a bug where ActiveFile incorrectly set the root_path to be the path in the gem directory, not the current working directory
+
+## Version 0.4.0 2009-07-24
+ - ActiveFile no longer reloads files by default
+ - Added ActiveFile.reload_active_file= so you can cause ActiveFile to reload
+ - Setting data to nil correctly causes .all to return an empty array
+ - Added reload(force) method, so that you can force a reload from files in ActiveFile, useful for tests
+
+[HEAD]: https://github.com/active-hash/active_hash/compare/v4.3.0...HEAD
+[4.3.0]: https://github.com/active-hash/active_hash/compare/v3.2.0...v4.3.0
+[4.2.0]: https://github.com/active-hash/active_hash/compare/v3.1.1...v4.2.0
+[3.1.1]: https://github.com/active-hash/active_hash/compare/v3.1.0...v3.1.1
+[3.1.0]: https://github.com/active-hash/active_hash/compare/v3.0.0...v3.1.0
+[3.0.0]: https://github.com/active-hash/active_hash/compare/v2.3.0...v3.0.0
+[2.3.0]: https://github.com/active-hash/active_hash/compare/v2.2.1...v2.3.0
+[2.2.1]: https://github.com/active-hash/active_hash/compare/v2.2.0...v2.2.1
+[2.2.0]: https://github.com/active-hash/active_hash/compare/v2.1.0...v2.2.0
+[2.1.0]: https://github.com/active-hash/active_hash/compare/v2.0.0...v2.1.0
+[2.0.0]: https://github.com/active-hash/active_hash/compare/v1.5.3...v2.0.0
+[1.5.3]: https://github.com/active-hash/active_hash/compare/v1.5.2...v1.5.3
+[1.5.2]: https://github.com/active-hash/active_hash/compare/v1.5.1...v1.5.2
+[1.5.1]: https://github.com/active-hash/active_hash/compare/v1.5.0...v1.5.1
+[1.5.0]: https://github.com/active-hash/active_hash/compare/v1.4.1...v1.5.0
+[1.4.1]: https://github.com/active-hash/active_hash/compare/v1.4.0...v1.4.1
+[1.4.0]: https://github.com/active-hash/active_hash/compare/v1.3.0...v1.4.0
+[1.3.0]: https://github.com/active-hash/active_hash/compare/v1.2.3...v1.3.0
+[1.2.3]: https://github.com/active-hash/active_hash/compare/v1.2.2...v1.2.3
+[1.2.2]: https://github.com/active-hash/active_hash/compare/v1.2.1...v1.2.2
+[1.2.1]: https://github.com/active-hash/active_hash/compare/v1.2.0...v1.2.1
+[1.2.0]: https://github.com/active-hash/active_hash/compare/v1.0.2...v1.2.0
+[1.0.2]: https://github.com/active-hash/active_hash/compare/v1.0.1...v1.0.2
+[1.0.1]: https://github.com/active-hash/active_hash/compare/v1.0.0...v1.0.1
+[1.0.0]: https://github.com/active-hash/active_hash/compare/v0.10.0...v1.0.0
+[0.10.0]: https://github.com/active-hash/active_hash/compare/v0.9.14...v0.10.0
+[0.9.14]: https://github.com/active-hash/active_hash/compare/v0.9.13...v0.9.14
+[0.9.13]: https://github.com/active-hash/active_hash/compare/v0.9.12...v0.9.13
+[0.9.12]: https://github.com/active-hash/active_hash/compare/v0.9.11...v0.9.12
+[0.9.11]: https://github.com/active-hash/active_hash/compare/v0.9.10...v0.9.11
+[0.9.10]: https://github.com/active-hash/active_hash/compare/v0.9.9...v0.9.10
+[0.9.9]: https://github.com/active-hash/active_hash/compare/v0.9.8...v0.9.9
+[0.9.8]: https://github.com/active-hash/active_hash/compare/v0.9.7...v0.9.8
+[0.9.7]: https://github.com/active-hash/active_hash/compare/v0.9.6...v0.9.7
+[0.9.6]: https://github.com/active-hash/active_hash/compare/v0.9.5...v0.9.6
+[0.9.5]: https://github.com/active-hash/active_hash/compare/v0.9.4...v0.9.5
+[0.9.4]: https://github.com/active-hash/active_hash/compare/v0.9.3...v0.9.4
+[0.9.3]: https://github.com/active-hash/active_hash/compare/v0.9.2...v0.9.3
+[0.9.2]: https://github.com/active-hash/active_hash/compare/v0.9.1...v0.9.2
+[0.9.1]: https://github.com/active-hash/active_hash/compare/v0.9.0...v0.9.1
+[0.9.0]: https://github.com/active-hash/active_hash/compare/v0.8.7...v0.9.0
+[0.8.7]: https://github.com/active-hash/active_hash/compare/v0.8.6...v0.8.7
+[0.8.6]: https://github.com/active-hash/active_hash/compare/v0.8.5...v0.8.6
+[0.8.5]: https://github.com/active-hash/active_hash/compare/v0.8.4...v0.8.5
+[0.8.4]: https://github.com/active-hash/active_hash/compare/v0.8.3...v0.8.4
+[0.8.3]: https://github.com/active-hash/active_hash/compare/v0.8.2...v0.8.3
+[0.8.2]: https://github.com/active-hash/active_hash/compare/v0.8.1...v0.8.2
+[0.8.1]: https://github.com/active-hash/active_hash/compare/v0.8.0...v0.8.1
+[0.8.0]: https://github.com/active-hash/active_hash/compare/v0.7.9...v0.8.0
+[0.7.9]: https://github.com/active-hash/active_hash/compare/v0.7.8...v0.7.9
+[0.7.8]: https://github.com/active-hash/active_hash/compare/v0.7.7...v0.7.8
+[0.7.7]: https://github.com/active-hash/active_hash/compare/v0.7.6...v0.7.7
+[0.7.6]: https://github.com/active-hash/active_hash/compare/v0.7.5...v0.7.6
+[0.7.5]: https://github.com/active-hash/active_hash/compare/v0.7.4...v0.7.5
+[0.7.4]: https://github.com/active-hash/active_hash/compare/v0.7.3...v0.7.4
+[0.7.3]: https://github.com/active-hash/active_hash/compare/v0.7.2...v0.7.3
+[0.7.2]: https://github.com/active-hash/active_hash/compare/v0.7.0...v0.7.2
+[0.7.0]: https://github.com/active-hash/active_hash/compare/v0.6.1...v0.7.0
+[0.6.1]: https://github.com/active-hash/active_hash/compare/v0.6.0...v0.6.1
diff --git a/active_hash.gemspec b/active_hash.gemspec
index c5477356..4be600bf 100644
--- a/active_hash.gemspec
+++ b/active_hash.gemspec
@@ -36,8 +36,15 @@ Gem::Specification.new do |s|
s.homepage = %q{http://github.com/active-hash/active_hash}
s.license = "MIT"
+ s.metadata = {
+ "homepage_uri" => s.homepage,
+ "changelog_uri" => "https://github.com/active-hash/active_hash/blob/master/CHANGELOG.md",
+ "source_code_uri" => s.homepage,
+ "bug_tracker_uri" => "https://github.com/active-hash/active_hash/issues",
+ }
+
s.files = [
- "CHANGELOG",
+ "CHANGELOG.md",
"LICENSE",
"README.md",
"active_hash.gemspec",
diff --git a/lib/active_hash/version.rb b/lib/active_hash/version.rb
index ca957c09..bba238e9 100644
--- a/lib/active_hash/version.rb
+++ b/lib/active_hash/version.rb
@@ -1,5 +1,5 @@
module ActiveHash
module Gem
- VERSION = "3.1.1"
+ VERSION = "3.2.0"
end
end