All Versions
Latest Version
Avg Release Cycle
76 days
Latest Release
412 days ago

Changelog History
Page 6

  • v3.0.8 Changes

    • #525 / #512 - Support for virtual accessors and redefined setter and getter methods.
  • v3.0.7 Changes

    • #404 / #428 - Fix errors occuring when a user attempts to update the inheritance column on an STI model instance in ActiveRecord 4.1.x
  • v3.0.6 Changes

    • #414 - Backport fix for ignore argument to has_paper_trail in ActiveRecord 4.
  • v3.0.5 Changes

    • #401 / #406 - PaperTrail::Version class is not loaded via a Rails::Engine, even when the gem is used within Rails. This feature has will be re-introduced in version 4.0.
    • #398 - Only require the RSpec helper if RSpec::Core is required.
  • v3.0.3 Changes

    ๐Ÿ’Ž This version was yanked from RubyGems and has been replaced by version 3.0.5, which is almost identical, but does not eager load ๐Ÿš… in the PaperTrail::Version class through a Rails::Engine when the gem is used on Rails since it was causing issues for some users.

    • #386 - Fix eager loading of versions association with custom class name in ActiveRecord 4.1.
    • #384 - Fix VersionConcern#originator instance method.
    • #383 - Make gem compatible with ActiveRecord::Enum (available in ActiveRecord 4.1+).
    • #380 / #377 - Add VersionConcern#where_object instance method; acts as a helper for querying against the object column in versions table.
    • #373 - Fix default sort order for the versions association in ActiveRecord 4.1.
    • #372 - Use Arel for SQL construction.
    • #365 - VersionConcern#version_at should return nil when receiving a timestamp that occured after the object was destroyed.
    • Expand PaperTrail::VERSION into a module, mimicking the form used by Rails to give it some additional modularity & versatility.
    • Fixed VersionConcern#index instance method so that it conforms to using the primary key for ordering when possible.
  • v3.0.2 Changes

    • #357 - If a Version instance is reified and then persisted at that state, it's timestamp attributes for update should still get touched.
    • #351 / #352 - PaperTrail::Rails::Controller should hook into all controller types, and should not get loaded unless ActionController is.
    • #346 - user_for_paper_trail method should accommodate different types for return values from current_user method.
    • #344 - Gem is now tested against MySQL and PostgreSQL in addition to SQLite.
    • #317 / #314 - versions should default to ordering via the primary key if it is an integer to avoid timestamp comparison issues.
    • PaperTrail::Cleaner.clean_versions! should group versions by PaperTrail.timestamp_field when deciding which ones to keep / destroy, instead of always grouping by the created_at field.
    • If a Version instance is reified and then persisted at that state, it's source version (model_instance#version_association_name, usually model_instance#version) will get cleared since persisting it causes it to become the live instance.
    • If destroy actions are tracked for a versioned model, invoking destroy on the model will cause the corresponding version that gets generated to be assigned as the source version (model_instance#version_association_name, usually model_instance#version).
  • v3.0.1 Changes

    • #340 - Prevent potential error encountered when using the InstallGenerator with Rails 4.1.0.rc1.
    • #334 - Add small-scope whodunnit method to PaperTrail::Model::InstanceMethods.
    • #329 - Add touch_with_version method to PaperTrail::Model::InstanceMethods, to allow for generating a version while touching a model.
    • #328 / #326 / #307 - Model.paper_trail_enabled_for_model? and model_instance.without_versioning is now thread-safe.
    • #316 - user_for_paper_trail should default to current_user.try(:id) instead of current_user (if current_user is defined).
    • #313 - Make the Rails::Controller helper compatible with ActionController::API for compatibility with the rails-api gem.
    • #312 - Fix RSpec with_versioning class level helper method.
    • model_instance.without_versioning now yields the model_instance, enabling syntax like this: model_instance.without_versioning { |obj| obj.update(:name => 'value') }.
    • Deprecated Model.paper_trail_on and Model.paper_trail_off in favor of bang versions of the methods. Deprecation warning informs users that the non-bang versions of the methods will be removed in version 4.0
  • v3.0.0 Changes

    • #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.
  • v2.7.2 Changes

    • #228 - Refactored default user_for_paper_trail method implementation so that current_user only gets invoked if it is defined.
    • #219 - Fixed issue where attributes stored with nil value might not get reified properly depending on the way the serializer worked.
    • #213 - Added a version_limit option to the PaperTrail::Config options that can be used to restrict the number of versions PaperTrail will store per object instance.
    • #187 - Confirmed JRuby support.
    • #174 - The event field on the versions table can now be customized.
  • v2.7.1 Changes

    • #206 - Fixed Ruby 1.8.7 compatibility for tracking object_changes.
    • #200 - Fixed next_version method 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 object and object_changes columns in the Version table. This fixes compatibility for Rails 3.0.x for projects that employ the serialize declaration on a model.
    • #194 - A JSON serializer is now included in the gem.
    • #192 - object_changes should store serialized representation of serialized attributes for create actions (in addition to update actions, which had already been patched by #180).
    • #190 - Fixed compatibility with SerializedAttributes gem.
    • #189 - Provided support for a configure block initializer.
    • Added setter method for the serializer config option.