All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
3.2.0 - 2021-12-28
- Added GitHub Actions integration & badge
- Added Ruby 2.7.5 support
- Added Rails 7.0 support
- Removed Travis-ci integration
- Remove EOL rubies from CI (ruby 1.9-2.2)
3.1.0 - 2021-02-17
- Added a
preprocessor
option - Added a
postprocessor
option
- Ensure the initial options hash is never modified
- When using conditions in combination with array includes, ensure nested includes are not accidentally deleted
- Removed jeweler as a gem dependency
3.0.0 - 2019-08-18
- Support for Ruby 2.6.3
- Support for Ruby 2.5.5
- Support for Rails 6.0
- When using conditions, return
nil
instead offalse
as return value when a condition fails - Refactored gem structure and include in AR using lazy load hooks
- Skip validations on save by using module
DeepCloneable::SkipValidations
instead of a code patch - Namespace of
ActiveRecord::Base::DeepCloneable::AssociationNotFoundException
changed toDeepCloneable::AssociationNotFoundException
- Process optional block after all other processing has been finished
- Add the
validate
option to the list of passed dup options to ensure validations are never run on save
- Official support for ruby 1.8.7, as it is not supported by Travis CI anymore
- Official support for ruby 1.9.2, as it is not supported by Travis CI anymore
2.4.0 - 2019-01-10
- Support
has_one
andhas_one - through
- Lint code via Rubocop
- Refactor code to improve readability
- Use HTTPS in the gemspec website URL
2.3.2 - 2018-04-11
- Support for Ruby 2.4 and 2.5
- Support for Rails 5.1 and 5.2
- CHANGELOG.md
2.3.1 - 2017-10-03
- Documentation on when the optional block is invoked, which is before attributes are excluded
- Conditional includes for nested associations
2.3.0 - 2017-06-14
- Support for skipping missing associations
- Multikey hashes in include arrays
2.2.2 - 2016-10-10
- Documentation on cloning associated Carrierwave files
- Use
inverse_of
when defined for finding the reverse association - Cache bundler in Travis
- Use index operator for setting column defaults
- Explicitly require activerecord to resolve a sidekiq issue
- Bump rails 5.0 appraisal
2.2.1 - 2016-05-27
- Properly set column defaults for attributes
- Rails 5.0 compatibility
2.2.0 - 2016-01-11
- Support for conditional cloning when using array inclusions
- Bump rails 4.2 appraisal to 4.2.3
2.1.0 - 2015-03-10
- Support for conditional cloning
- Check the dictionary before cloning has_many through or habtm associations
- Refactor methods to refer to
dup
instead ofclone
2.0.2 - 2014-12-17
- Broken activerecord dependency in gemspec
2.0.1 - 2014-12-17
- Rails 4.2.0.rc3 compatibility
2.0.0 - 2014-06-26
- Override of
dup
- References to
dup
- Open-ended dependency warning
1.7.0 - 2014-06-25
- Deprecated
dup
in favor ofdeep_clone
1.6.1 - 2014-04-16
- Switched test suite to minitest
- Update travis.yml with rails 4.1
- Rails 4.1 compatibility
1.6.0 - 2013-11-02
:only
option for whitelisting attributes- MIT license
1.5.5 - 2013-08-28
- Fix activerecord gem dependency
1.5.4 - 2013-08-12
- Rails 3.0 support, as it was broken anyway
- Update travis.yml with rails 4.0
- Appraisals should load the correct major version of rails
- Exclude unsupported builds in Travis
1.5.3 - 2013-06-18
- Fix
initialize_dup
error
1.5.2 - 2013-06-10
- Properly support has_many through associations
- Fix reverse association lookup for self-referential models
- Travis.ci status image
1.5.1 - 2013-03-06
- Ruby 2.0 compatibility
1.5.0 - 2013-02-27
:validate
option to disable validations when saving a cloned object
- Depend on activerecord instead of rails
1.4.1 - 2012-07-23
- Don't save HABTM associations on clone
1.4.0 - 2012-04-02
- Possibility to add a optional block
- Ruby 1.8.7 compatibility for rails 3.1
1.3.1 - 2012-01-26
- Rails 3.2 compatibility
1.2.4 - 2011-06-15
- Raise an exception when the reverse association is missing
- Reset column value when cloning associations
1.2.3 - 2011-02-27
- Find and set the reverse association when cloning associations
1.2.2 - 2011-02-21
- Use association reflection for fetching the primary key name
1.2.1 - 2011-02-07
- Cloning for polymorphic associations
1.2.0 - 2010-10-20
:except
option for excluding attributes
- Set foreign keys properly
- Convert existing code to a gem