- #257: Add track_blank_changes option - @BrianLMatthews.
- Your contribution here.
- #250: Migrate to Github actions - @johnnyshields.
- #249: Don't update version on embedded documents if the document itself is being destroyed - @getaroom.
- #248: Don't update version on embedded documents if an ancestor is being destroyed in the same operation - @getaroom.
- Not released.
- #236: Fix Ruby 2.7 keyword argument warnings - @vasilysn.
- #237: Fix tracking subclasses with additional fields - @getaroom.
- #239: Optimize
modified_attributes_for_create
6-7x - @getaroom. - #240:
Mongoid::History.disable
anddisable_tracking
now restore the original state - @getaroom. - #240: Added
Mongoid::History.enable
,Mongoid::History.enable!
,Mongoid::History.disable!
,enable_tracking
,enable_tracking!
, anddisable_tracking!
- @getaroom.
- #233: Bug fix-Track ALL embedded relations when used with fields and filtered attributes on embedded objects - @jagdeepsingh.
- #232: Bug/187 track changes from embedded documents (not deeply nested) - @Startouf.
- #227: Store options in inheritable class attributes - @jnfeinstein.
- #229, #225: Fixed inheritance of
history_trackable_options
- @jnfeinstein.
- #180: Removed deprecation notice - @sivagollapalli.
- #208: Fix: history tracks fields declared after
track_history
- @mikwat. - #210: Do not track unmodified embedded relations - @jagdeepsingh.
- #205: Allow modifier field to be optional - @yads.
- #211: Enable tracking create/destroy by default - @jagdeepsingh.
- #212:
track_history
method support for:if
and:unless
options - @jagdeepsingh.
- #202: Do not create tracker on persistence error - @mikwat.
- #196: Fix bug causing history tracks to get mixed up between multiple trackers when using multiple trackers - @ojbucao.
- #182: No-op on repeated calls to destroy - @msaffitz.
- #170: Parent repo is now mongoid/mongoid-history - @dblock.
- #171: Add field formatting - @jnfeinstein.
- #172: Add config helper to track all embedded relations - @jnfeinstein.
- #173: Compatible with mongoid 6 - @sivagollapalli.
- #2: Forked into the mongoid organization - @dblock.
- #1: Added Danger, PR linter - @dblock.
- #166: Hash fields should default to an empty Hash - @johnnyshields.
- #162: Do not consider embedded relations as dynamic fields - @JagdeepSingh.
- #144: Can modify history tracker insertion on object creation - @sivagollapalli.
- #155: Add support to whitelist the attributes for tracked embeds_one and embeds_many relations - @JagdeepSingh.
- #154: Prevent soft-deleted embedded documents from tracking - @JagdeepSingh.
- #151: Added ability to customize tracker class for each trackable; multiple trackers across the app are now possible - @JagdeepSingh.
- #151: Added automatic support for
request_store
gem as drop-in replacement forThread.current
- @JagdeepSingh. - #150: Added support for keeping embedded objects audit history in parent itself - @JagdeepSingh.
- #143: Added support for Mongoid 5 - @dblock.
- #133: Added dynamic attributes tracking (Mongoid::Attributes::Dynamic) - @minisai.
- #142: Allow non-database fields to be specified in conjunction with a custom changes method - @kayakyakr.
- #131: Added
undo
method, that helps to get specific version of an object without saving changes - @alexkravets. - #127: Fixed gem naming per rubygems specs, now you can
require 'mongoid/history'
- @nofxx. - #129: Support multiple levels of embedded polimorphic documents - @BrunoChauvet.
- #123: Used a method compatible with mongoid-observers to determinine the version of Mongoid - @zeitnot.
- #110: Fixed scope reference on history tracks criteria - @adbeelitamar.
- #106: Added support for polymorphic relationship
scope
- @adbeelitamar. - #106: Enabled specifying an array of relationships in
scope
- @adbeelitamar. - #83: Added support for Mongoid 4.x, which removed
attr_accessible
in favor of protected attributes - @dblock. - #103: Fixed compatibility with models using
default_scope
- @mrjlynch.
- Fixed compatibility with Mongoid 4.x - @dblock.
Mongoid::History::Sweeper
has been removed, in accorance with Mongoid 4.x (see #3108) and Rails 4.x observer deprecation - @dblock.- Default modifier parameter to
nil
inundo!
andredo!
- @dblock. - Fixed
undo!
andredo!
for mass-assignment protected attributes - @mati0090. - Implemented Rubocop, Ruby style linter - @dblock.
- Remove unneeded coma from README - @matsprea.
- Replace Jeweler with Gem-Release - @johnnyshields.
- Track version as a Ruby file - @johnnyshields.
- Added
Mongoid::History.disable
andMongoid::History.enabled?
methods for global tracking disablement - @johnnyshields. - Added
:changes_method
that optionally overrides which method to call to collect changes - @joelnordel. - The
:destroy
action now stores trackers in the formatoriginal=value, modified=nil
(previously it was the reverse) - @johnnyshields. - Support for polymorphic embedded classes - @tstepp.
- Support for Mongoid field aliases, e.g.
field :n, as: :name
- @johnnyshields. - Support for Mongoid embedded aliases, e.g.
embeds_many :comments, store_as: :coms
- @johnnyshields. - Added
#tracked_changes
and#tracked_edits
methods toTracker
class for nicer change summaries - @johnnyshields and @tstepp. - Refactored and exposed
#trackable_parent_class
inTracker
, which returns the class of the trackable regardless of whether the trackable itself has been destroyed - @johnnyshields. - Added class-level
#tracked_field?
and#tracked_fields
methods; refactor logic to determine whether a field is tracked - @johnnyshields. - Fixed bug in Trackable#track_update where
return
condition at beginning of method caused a short-circuit where memoization would not be cleared properly - @johnnyshields. - Tests: Added spec for nested embedded documents - @matekb.
- Tests: Test run time cut in half (~2.5s versus ~5s) by using
#let
helper and removing class initialization before each test - @johnnyshields. - Tests: Remove
database_cleaner
gem in favor ofMongoid.purge!
- @johnnyshields. - Tests: Remove dependency on non-committed file
mongoid.yml
and hardcode collection tomongoid_history_test
- @johnnyshields.
- #42: Fix: corrected creation of association chain when using nested embedded documents - @matekb.
- #56: Fix: now possible to undo setting (creating) attributes that was previously unset - @matekb.
- #49: Fix: now correctly undo/redo localized fields - @edejong.
- #54: Used an index instead of the
$elemMatch
selector inhistory_tracks
- @vecio. - #11: Added
:modifier_field_inverse_of
ontrack_history
that defines the:inverse_of
relationship of the modifier class - @matekb, @dblock.
- #45: Fix: intermittent hash ordering issue with
history_tracks
- @getaroom. - #50: Fix: tracking of array changes, undo and redo of field changes on non-embedded objects - @dblock.
- #38: Fix: allow sub-models to be tracked by using
collection_name
as the scope - @acant. - #35: Fix: sweeper references record of change, not the record changed - @dblock.
- #23: Updated
Trackable::association_hash
to write through parent - @tcopple. - Fix:
Trackable::association_hash
nil meta value call - @tcopple. - #27: Added support for re-creation of destroyed embedded documents - @erlingwl.
- Fix: tracking
false
values - @gottfrois. - Used a mongoid observer and controller
around_filter
to pick up modifying user from controller - @bensymonds. - More flexible dependency on mongoid - @sarcilav.
- Fix: tracking broken in a multithreaded environment - @dblock.
- Added support for
destroy
- @dblock. - Added undo and redo - @aq1018.
- Added support for temporarily disabling history tracking - @aq1018.
- Record modifier for undo and redo actions - @aq1018.
- Intial public release - @aq1018.