PaperTrail v3.0.0 Release Notes

    • #305 - PaperTrail::VERSION should be loaded at runtime.
    • #295 - Explicitly specify table name for version class when querying attributes. Prevents AmbiguousColumn errors on certain JOIN statements.
    • #289 - Use ActiveSupport::Concern for implementation of base functionality on PaperTrail::Version class. Increases flexibility and makes it easier to use custom version classes with multiple ActiveRecord connections.
    • #288 - Change all scope declarations to class methods on the PaperTrail::Version class. Fixes usability when PaperTrail::Version.abstract_class? == true.
    • #287 - Support for PostgreSQL's JSON Type for storing object and object_changes.
    • #281 - Rails::Controller helper will return false for the paper_trail_enabled_for_controller method if PaperTrail.enabled? == false.
    • #280 - Don't track virtual timestamp attributes.
    • #278 / #272 - Make RSpec and Cucumber helpers usable with Spork and Zeus.
    • #273 - Make the only and ignore options accept Hash arguments; allows for conditional tracking.
    • #264 - Allow unwrapped symbol to be passed in to the on option.
    • #224/#236 - Fixed compatibility with ActsAsTaggableOn.
    • #235 - Dropped unnecessary secondary sort on versions association.
    • #216 - Added helper & extension for RSpec, and helper for Cucumber.
    • #212 - Added PaperTrail::Cleaner module, useful for discarding draft versions.
    • #207 - Versions for 'create' events are now created with create! instead of create so that an exception gets raised if it is appropriate to do so.
    • #199 - Rails 4 compatibility.
    • #165 - Namespaced the Version class under the PaperTrail module.
    • #119 - Support for Sinatra; decoupled gem from Rails.
    • Renamed the default serializers from PaperTrail::Serializers::Yaml and PaperTrail::Serializers::Json to the capitalized forms, PaperTrail::Serializers::YAML and PaperTrail::Serializers::JSON.
    • Removed deprecated set_whodunnit method from Rails Controller scope.