Doing our best at supporting SemVer with a nice looking Changelog.
Version 4.0.0 TBD
- Dropping Rails 3.x and 4.x (will use Active Record
or
syntax) - Dropping builds for ruby 1.9.3, 2.0, 2.1, and 2.2
- Dropping
*_conditions
methods. (will use Active Recordor
syntax) - Do not automatically call custom
ancestry
order clauses for scopes.
Version 3.0.2 2018-04-24
- fixed
order_by_ancestry
bug - fixed order tests for postgres on mac (it uses a different collation)
- fixed documentation (thx @besquared, @danfrenette, @eiwi1101, @isimluk, @mabusaad, @tilsammans)
- added missing
Ancestry::version
- added Rails 5.2 support (thx @jjuliano)
Version 3.0.1 2017-07-05
- added gem metadata
- fixed keep a changelog link (thx @mattbrictson)
- added alias has_parent?
- fixed bug where unscoping too much (thx @brendon)
- fixed tests on mysql 5.7 and rails 3.2
- Dropped 3.1 scope changes
Version 3.0.0 2017-05-18
- Dropping Rails 3.0, and 3.1. Added Rails 5.1 support (thx @ledermann)
- Dropping Rails 4.0, 4.1 for build reasons. Since 4.2 is supported, all 4.x should still work.
- Performance: Use
pluck
vsmap
for ids (thx @njakobsen and @culturecode) - Fixed acts_as_tree compatibility (thx @crazymykl)
- Fixed loading ActiveRails prematurely (thx @vovimayhem)
- Fixes exist (thx @ledermann)
- Properly touches parents when different class for STI (thx @samtgarson)
- Fixed issues with parent_id (only present on master) (thx @domcleal)
Version 2.2.2 2016-11-01
- Use
COALESCE
only for sorting versions greater than 5.0 - Fixed bug with explicit order clauses (introduced in 2.2.0)
- No longer load schema on
has_ancestry
load (thx @ledermann)
Version 2.2.1 2016-10-25
Sorry for blip, local master got out of sync with upstream master. Missed 2 commits (which are feature adds)
- Use like (vs ilike) for rails 5.0 (performance enhancement)
- Use
COALESCE
for sorting on pg, mysql, and sqlite vsCASE
Version 2.2.0 2016-10-25
- Predicates for scopes: e.g.:
ancestor_of?
,parent_of?
(thx @neglectedvalue) - Scope
path_of
arrange
now accepts blocks (thx @mastfish)- Performance tuning
arrange_node
(thx @fryguy) - In orphan strategy, set
ancestry
tonil
for no parents (thx @haslinger) - Only updates
updated_at
when a record is changed (thx @brocktimus) - No longer casts text primary key as an integer
- Upgrading tests for ruby versions (thx @brocktimus, @fryguy, @yui-knk)
- Fix non-default ancestry not getting used properly (thx @javiyu)
Version 2.1.0 2014-04-16
- Added arrange_serializable (thx @krishandley, @chicagogrrl)
- Add the :touch to update ancestors on save (thx @adammck)
- Change conditions into arel (thx @mlitwiniuk)
- Added children? & siblings? alias (thx @bigtunacan)
- closure_tree compatibility (thx @gzigzigzeo)
- Performance tweak (thx @mjc)
- Improvements to organization (thx @xsuchy, @ryakh)
Version 2.0.0 2013-05-17
- Removed rails 2 compatibility
- Added table name to condition constructing methods (thx @aflatter)
- Fix depth_cache not being updated when moving up to ancestors (thx @scottatron)
- add alias :root? to existing is_root? (thx @divineforest)
- Add block to sort_by_ancestry (thx @Iliya)
- Add attribute query method for parent_id (thx @sj26)
- Fixed and tested for rails 4 (thx @adammck, @Nihad, @Systho, @Philippe, e.a.)
- Fixed overwriting ActiveRecord::Base.base_class (thx @Rozhnov)
- New adopt strategy (thx unknown)
- Many more improvements
Version 1.3.0 2012-05-04
- Ancestry now ignores default scopes when moving or destroying nodes, ensuring tree consistency
- Changed ActiveRecord dependency to 2.3.14
Version 1.2.5 2012-03-15
- Fixed warnings: "parenthesize argument(s) for future version"
- Fixed a bug in the restore_ancestry_integrity! method (thx Arthur Holstvoogd)
Version 1.2.4 2011-04-22
- Prepended table names to column names in queries (thx @raelik)
- Better check to see if acts_as_tree can be overloaded (thx @jims)
- Performance inprovements (thx @kueda)
Version 1.2.3 2010-10-28
- Fixed error with determining ActiveRecord version
- Added option to specify :primary_key_format (thx @rolftimmermans)
Version 1.2.2 2010-10-24
- Fixed all deprecation warnings for rails 3.0.X
- Added
:report
option tocheck_ancestry_integrity!
- Changed ActiveRecord dependency to 2.2.2
- Tested and fixed for ruby 1.8.7 and 1.9.2
- Changed usage of
update_attributes
toupdate_attribute
to allow ancestry column protection
Version 1.2.0 2009-11-07
- Removed some duplication in has_ancestry
- Cleaned up plugin pattern according to http://yehudakatz.com/2009/11/12/better-ruby-idioms/
- Moved parts of ancestry into seperate files
- Made it possible to pass options into the arrange method
- Renamed acts_as_tree to has_ancestry
- Aliased has_ancestry as acts_as_tree if acts_as_tree is available
- Added subtree_of scope
- Updated ordered_by_ancestry scope to support Microsoft SQL Server
- Added empty hash as parameter to exists? calls for older ActiveRecord versions
Version 1.1.4 2009-11-07
- Thanks to a patch from tom taylor, Ancestry now works with different primary keys
Version 1.1.3 2009-11-01
- Fixed a pretty bad bug where several operations took far too many queries
Version 1.1.2 2009-10-29
- Added validation for depth cache column
- Added STI support (reported broken)
Version 1.1.1 2009-10-28
- Fixed some parentheses warnings that where reported
- Fixed a reported issue with arrangement
- Fixed issues with ancestors and path order on postgres
- Added ordered_by_ancestry scope (needed to fix issues)
Version 1.1.0 2009-10-22
- Depth caching (and cache rebuilding)
- Depth method for nodes
- Named scopes for selecting by depth
- Relative depth options for tree navigation methods:
- ancestors
- path
- descendants
- descendant_ids
- subtree
- subtree_ids
- Updated README
- Easy migration from existing plugins/gems
- acts_as_tree checks unknown options
- acts_as_tree checks that options are hash
- Added a bang (!) to the integrity functions
- Since these functions should only be used from ./script/console and not from your application, this change is not considered as breaking backwards compatibility and the major version wasn't bumped.
- Updated install script to point to documentation
- Removed rails specific init
- Removed uninstall script
- Initial version
- Tree building
- Tree navigation
- Integrity checking / restoration
- Arrangement
- Orphan strategies
- Subtree movement
- Named scopes
- Validations