- #305 -
PaperTrail::VERSIONshould be loaded at runtime. - #295 - Explicitly specify table name for version class when
querying attributes. Prevents
AmbiguousColumnerrors on certainJOINstatements. - #289 - Use
ActiveSupport::Concernfor implementation of base functionality onPaperTrail::Versionclass. Increases flexibility and makes it easier to use custom version classes with multipleActiveRecordconnections. - #288 - Change all scope declarations to class methods on the
PaperTrail::Versionclass. Fixes usability whenPaperTrail::Version.abstract_class? == true. - #287 - Support for
PostgreSQL's JSON Type for storing
objectandobject_changes. - #281 -
Rails::Controllerhelper will returnfalsefor thepaper_trail_enabled_for_controllermethod ifPaperTrail.enabled? == false. - #280 - Don't track virtual timestamp attributes.
- #278/#272 - Make RSpec and Cucumber helpers usable with Spork and Zeus.
- #273 - Make the
onlyandignoreoptions acceptHasharguments; allows for conditional tracking. - #264 - Allow unwrapped symbol to be passed in to the
onoption. - #224/#236 - Fixed compatibility with ActsAsTaggableOn.
- #235 - Dropped unnecessary secondary sort on
versionsassociation. - #216 - Added helper & extension for RSpec, and helper for Cucumber.
- #212 - Added
PaperTrail::Cleanermodule, useful for discarding draft versions. - #207 - Versions for
'create'events are now created withcreate!instead ofcreateso that an exception gets raised if it is appropriate to do so. - #199 - Rails 4 compatibility.
- #165 - Namespaced the
Versionclass under thePaperTrailmodule. - #119 - Support for Sinatra; decoupled gem from
Rails. - Renamed the default serializers from
PaperTrail::Serializers::YamlandPaperTrail::Serializers::Jsonto the capitalized forms,PaperTrail::Serializers::YAMLandPaperTrail::Serializers::JSON. - Removed deprecated
set_whodunnitmethod from Rails Controller scope.
- #228 - Refactored default
user_for_paper_trailmethod implementation so thatcurrent_useronly gets invoked if it is defined. - #219 - Fixed issue where attributes stored with
nilvalue might not get reified properly depending on the way the serializer worked. - #213 - Added a
version_limitoption to thePaperTrail::Configoptions that can be used to restrict the number of versions PaperTrail will store per object instance. - #187 - Confirmed JRuby support.
- #174 - The
eventfield on the versions table can now be customized.
- #206 - Fixed Ruby 1.8.7 compatibility for tracking
object_changes. - #200 - Fixed
next_versionmethod so that it returns the live model when called on latest reified version of a model prior to the live model. - #197 - PaperTrail now falls back on using YAML for serialization of
serialized model attributes for storage in the
objectandobject_changescolumns in theVersiontable. This fixes compatibility forRails 3.0.xfor projects that employ theserializedeclaration on a model. - #194 - A JSON serializer is now included in the gem.
- #192 -
object_changesshould store serialized representation of serialized attributes forcreateactions (in addition toupdateactions, which had already been patched by #180). - #190 - Fixed compatibility with SerializedAttributes gem.
- #189 - Provided support for a
configureblock initializer. - Added
settermethod for theserializerconfig option.
- #183 - Fully qualify the
Versionclass to help prevent namespace resolution errors within other gems / plugins. - #180 - Store serialized representation of serialized attributes
on the
objectandobject_changescolumns in theVersiontable. - #164 - Allow usage of custom serializer for storage of object attributes.
- #181/#182 -
Controller metadata methods should only be evaluated when
paper_trail_enabled_for_controller == true. - #177/#178 -
Factored out
version_keyinto it's own method to preventConnectionNotEstablishederror from getting thrown in instances wherehas_paper_trailis declared on class prior to ActiveRecord establishing a connection. - #176 - Force metadata calls for attributes to use current value if attribute value is changing.
- #173 - Update link to diff-lcs.
- #172 - Save
object_changeson creation. - #168 - Respect conditional
:ifor:unlessarguments to thehas_paper_trailmethod fordestroyevents. - #167 - Fix
originatormethod so that it works with subclasses and STI. - #160 - Fixed failing tests and resolved out of date dependency issues.
- #157 - Refactored
class_attributenames on theClassMethodsmodule for names that are not obviously pertaining to PaperTrail to prevent method name collision.