2016-05-18 12:34:10 -04:00
|
|
|
## 5.1.0 (Unreleased)
|
2016-05-10 22:43:43 -04:00
|
|
|
|
|
|
|
### Breaking Changes
|
|
|
|
|
|
|
|
- None
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
2016-05-18 12:34:10 -04:00
|
|
|
- [#809](https://github.com/airblade/paper_trail/pull/809) -
|
|
|
|
Print warning if version cannot be saved.
|
2016-05-10 22:43:43 -04:00
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
2016-05-18 12:34:10 -04:00
|
|
|
- Improvements to documentation
|
2016-05-10 22:43:43 -04:00
|
|
|
|
2016-05-04 18:20:36 -04:00
|
|
|
## 5.0.1 (2016-05-04)
|
2016-05-04 13:19:30 -04:00
|
|
|
|
|
|
|
### Breaking Changes
|
|
|
|
|
|
|
|
- None
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
|
|
- None
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
- [#791](https://github.com/airblade/paper_trail/issues/791) -
|
|
|
|
A rare issue in applications that override `warn`.
|
2016-05-04 15:47:49 -04:00
|
|
|
- [#789](https://github.com/airblade/paper_trail/issues/789) -
|
|
|
|
A potentially common issue, in applications with initializers that use
|
|
|
|
versioned models.
|
2016-05-04 13:19:30 -04:00
|
|
|
|
2016-05-02 12:19:18 -04:00
|
|
|
## 5.0.0 (2016-05-02)
|
2015-06-28 00:00:33 -04:00
|
|
|
|
2015-10-31 21:22:40 -04:00
|
|
|
### Breaking Changes
|
2015-06-28 00:00:33 -04:00
|
|
|
|
2016-04-08 01:14:01 -04:00
|
|
|
- [#758](https://github.com/airblade/paper_trail/pull/758) -
|
|
|
|
`PaperTrail.config.track_associations` getter method removed,
|
|
|
|
use `track_associations?` instead.
|
2016-04-26 22:06:22 -04:00
|
|
|
- [#740](https://github.com/airblade/paper_trail/issues/740) -
|
|
|
|
`PaperTrail.config.track_associations?` now defaults to false
|
2016-03-05 16:23:42 -05:00
|
|
|
- [#723](https://github.com/airblade/paper_trail/pull/723) -
|
|
|
|
`PaperTrail.enabled=` now affects all threads
|
2015-09-30 13:37:50 -04:00
|
|
|
- [#556](https://github.com/airblade/paper_trail/pull/556) /
|
|
|
|
[#301](https://github.com/airblade/paper_trail/issues/301) -
|
|
|
|
If you are tracking who is responsible for changes with `whodunnit`, be aware
|
2015-06-28 00:00:33 -04:00
|
|
|
that PaperTrail no longer adds the `set_paper_trail_whodunnit` before_filter
|
|
|
|
for you. Please add this before_filter to your ApplicationController to
|
|
|
|
continue recording whodunnit. See the readme for an example.
|
2016-01-02 11:51:02 -05:00
|
|
|
- [#683](https://github.com/airblade/paper_trail/pull/683) /
|
|
|
|
[#682](https://github.com/airblade/paper_trail/issues/682) -
|
|
|
|
Destroy callback default changed to :before to accommodate ActiveRecord 5
|
|
|
|
option `belongs_to_required_by_default` and new Rails 5 default.
|
2015-06-28 00:00:33 -04:00
|
|
|
|
|
|
|
### Added
|
|
|
|
|
2016-04-05 05:37:24 -04:00
|
|
|
- [#771](https://github.com/airblade/paper_trail/pull/771) -
|
|
|
|
Added support for has_and_belongs_to_many associations
|
2016-03-31 17:16:47 -04:00
|
|
|
- [#741](https://github.com/airblade/paper_trail/issues/741) /
|
|
|
|
[#681](https://github.com/airblade/paper_trail/pull/681)
|
|
|
|
MySQL unicode support in migration generator
|
2016-01-11 22:07:57 -05:00
|
|
|
- [#689](https://github.com/airblade/paper_trail/pull/689) -
|
|
|
|
Rails 5 compatibility
|
2016-01-16 16:48:27 -05:00
|
|
|
- Added a rails config option: `config.paper_trail.enabled`
|
2016-03-29 22:57:17 -04:00
|
|
|
- [#503](https://github.com/airblade/paper_trail/pull/730) -
|
|
|
|
Support for reifying belongs_to associations.
|
2015-06-28 00:00:33 -04:00
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
2016-04-17 15:33:38 -04:00
|
|
|
- [#777](https://github.com/airblade/paper_trail/issues/777) -
|
|
|
|
Support HMT associations with `:source` option.
|
2016-05-01 00:47:57 -04:00
|
|
|
- [#738](https://github.com/airblade/paper_trail/issues/738) -
|
|
|
|
Rare bug where a non-versioned STI parent caused `changeset` to
|
|
|
|
return an empty hash.
|
2016-03-13 16:02:43 -04:00
|
|
|
- [#731](https://github.com/airblade/paper_trail/pull/731) -
|
|
|
|
Map enums to database values before storing in `object_changes` column.
|
2016-03-06 14:05:21 -05:00
|
|
|
- [#715](https://github.com/airblade/paper_trail/issues/715) -
|
|
|
|
Optimize post-rollback association reset.
|
2016-01-16 21:48:48 -05:00
|
|
|
- [#701](https://github.com/airblade/paper_trail/pull/701) /
|
|
|
|
[#699](https://github.com/airblade/paper_trail/issues/699) -
|
|
|
|
Cleaning old versions explicitly preserves the most recent
|
|
|
|
versions instead of relying on database result ordering.
|
2016-03-05 16:23:42 -05:00
|
|
|
- [#635](https://github.com/airblade/paper_trail/issues/635) -
|
|
|
|
A bug where it was not possible to disable PT when using a multi-threaded
|
|
|
|
webserver.
|
2016-01-16 16:48:27 -05:00
|
|
|
- [#584](https://github.com/airblade/paper_trail/issues/584) -
|
|
|
|
Fixed deprecation warning for Active Record after_callback / after_commit
|
2015-06-28 00:00:33 -04:00
|
|
|
|
2016-02-07 00:05:44 -05:00
|
|
|
## 4.1.0 (2016-01-30)
|
2015-08-03 15:57:36 -04:00
|
|
|
|
2015-10-31 21:22:40 -04:00
|
|
|
### Breaking Changes
|
2015-08-03 15:57:36 -04:00
|
|
|
|
2015-10-31 21:22:40 -04:00
|
|
|
- None
|
2015-08-03 15:57:36 -04:00
|
|
|
|
|
|
|
### Added
|
|
|
|
|
2015-10-10 00:13:45 -04:00
|
|
|
- A way to control the order of AR callbacks.
|
|
|
|
[#614](https://github.com/airblade/paper_trail/pull/614)
|
2015-08-03 15:57:36 -04:00
|
|
|
- Added `unversioned_attributes` option to `reify`.
|
|
|
|
[#579](https://github.com/airblade/paper_trail/pull/579)
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
2015-12-13 21:36:49 -05:00
|
|
|
- None
|
2015-08-03 15:57:36 -04:00
|
|
|
|
2016-02-07 00:05:44 -05:00
|
|
|
## 4.0.2 (2016-01-19)
|
2016-01-18 16:59:10 -05:00
|
|
|
|
|
|
|
### Breaking Changes
|
|
|
|
|
|
|
|
- None
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
|
|
- None
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
- [#696](https://github.com/airblade/paper_trail/issues/696) /
|
|
|
|
[#697](https://github.com/airblade/paper_trail/pull/697)
|
|
|
|
Bind JSON query parameters in `where_object` and `where_object_changes`.
|
|
|
|
|
2016-02-07 00:05:44 -05:00
|
|
|
## 4.0.1 (2015-12-14)
|
2015-11-08 21:14:39 -05:00
|
|
|
|
|
|
|
### Breaking Changes
|
|
|
|
|
|
|
|
- None
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
|
|
- None
|
|
|
|
|
|
|
|
### Fixed
|
|
|
|
|
|
|
|
- [#636](https://github.com/airblade/paper_trail/issues/636) -
|
|
|
|
Should compile assets without a db connection
|
2015-12-13 21:36:49 -05:00
|
|
|
- [#589](https://github.com/airblade/paper_trail/pull/589) /
|
|
|
|
[#588](https://github.com/airblade/paper_trail/issues/588) -
|
|
|
|
Fixes timestamp for "create" versions
|
2015-11-08 21:14:39 -05:00
|
|
|
|
2016-02-07 00:05:44 -05:00
|
|
|
## 4.0.0 (2015-07-30)
|
2014-07-09 17:02:47 -04:00
|
|
|
|
2015-07-28 21:57:39 -04:00
|
|
|
This major release adds JSON column support in PostgreSQL, limited support for
|
|
|
|
versioning associations, various new configuration options, and a year's worth
|
|
|
|
of bug fixes. Thanks to everyone who helped test the two betas and two release
|
|
|
|
candidates.
|
|
|
|
|
2015-10-31 21:22:40 -04:00
|
|
|
### Breaking Changes
|
2014-10-08 00:17:46 -04:00
|
|
|
|
2015-07-12 22:31:59 -04:00
|
|
|
- Using a Rails initializer to reopen PaperTrail::Version or otherwise extend
|
|
|
|
PaperTrail is no longer recommended. An alternative is described in the
|
|
|
|
readme. See https://github.com/airblade/paper_trail/pull/557 and
|
|
|
|
https://github.com/airblade/paper_trail/pull/492.
|
2015-07-12 22:39:04 -04:00
|
|
|
- If you depend on the `RSpec` or `Cucumber` helpers, you must
|
|
|
|
[require them in your test helper](https://github.com/airblade/paper_trail#testing).
|
2015-08-03 16:02:10 -04:00
|
|
|
- [#566](https://github.com/airblade/paper_trail/pull/566) - Removed deprecated
|
|
|
|
methods `paper_trail_on` and `paper_trail_off`. Use `paper_trail_on!` and
|
|
|
|
`paper_trail_off!` instead.
|
2015-07-28 21:57:39 -04:00
|
|
|
- [#458](https://github.com/airblade/paper_trail/pull/458) - Version metadata
|
|
|
|
(the `:meta` option) from AR attributes for `create` events will now save the
|
|
|
|
current value instead of `nil`.
|
|
|
|
- [#391](https://github.com/airblade/paper_trail/issues/391) - `object_changes`
|
|
|
|
value should dump to `YAML` as a normal `Hash` instead of an
|
|
|
|
`ActiveSupport::HashWithIndifferentAccess`.
|
|
|
|
- [#375](https://github.com/airblade/paper_trail/pull/375) /
|
|
|
|
[#374](https://github.com/airblade/paper_trail/issues/374) /
|
|
|
|
[#354](https://github.com/airblade/paper_trail/issues/354) /
|
|
|
|
[#131](https://github.com/airblade/paper_trail/issues/131) -
|
|
|
|
Versions are now saved with an `after_` callback, instead of a `before_`
|
|
|
|
callback. This ensures that the timestamp field for a version matches the
|
|
|
|
corresponding timestamp in the model.
|
|
|
|
- `3da1f104` - `PaperTrail.config` and `PaperTrail.configure` are now
|
|
|
|
identical: both return the `PaperTrail::Config` instance and also
|
|
|
|
yield it if a block is provided.
|
2015-06-27 22:47:05 -04:00
|
|
|
|
2015-07-12 22:40:52 -04:00
|
|
|
### Added
|
2015-01-04 21:14:54 -05:00
|
|
|
|
2015-07-28 21:57:39 -04:00
|
|
|
- [#525](https://github.com/airblade/paper_trail/issues/525) /
|
|
|
|
[#512](https://github.com/airblade/paper_trail/pull/512) -
|
|
|
|
Support for virtual accessors and redefined setter and getter methods.
|
|
|
|
- [#518](https://github.com/airblade/paper_trail/pull/518) - Support for
|
|
|
|
querying against PostgreSQL's
|
|
|
|
[`JSON` and `JSONB` column types](http://www.postgresql.org/docs/9.4/static/datatype-json.html)
|
|
|
|
via `PaperTrail::VersionConcern#where_object` and
|
|
|
|
`PaperTrail::VersionConcern#where_object_changes`
|
|
|
|
- [#507](https://github.com/airblade/paper_trail/pull/507) -
|
|
|
|
New option: `:save_changes` controls whether or not to save changes to the
|
|
|
|
`object_changes` column (if it exists).
|
|
|
|
- [#500](https://github.com/airblade/paper_trail/pull/500) - Support for
|
|
|
|
passing an empty array to the `on` option (`on: []`) to disable all
|
|
|
|
automatic versioning.
|
|
|
|
- [#494](https://github.com/airblade/paper_trail/issues/494) - The install
|
|
|
|
generator will warn the user if the migration they are attempting to
|
|
|
|
generate already exists.
|
|
|
|
- [#484](https://github.com/airblade/paper_trail/pull/484) - Support for
|
|
|
|
[PostgreSQL's `JSONB` Type](http://www.postgresql.org/docs/9.4/static/datatype-json.html)
|
|
|
|
for storing `object` and `object_changes`.
|
|
|
|
- [#439](https://github.com/airblade/paper_trail/pull/439) /
|
|
|
|
[#12](https://github.com/airblade/paper_trail/issues/12) -
|
|
|
|
Support for versioning associations (has many, has one, etc.) one level deep.
|
|
|
|
- [#420](https://github.com/airblade/paper_trail/issues/420) - Add
|
|
|
|
`VersionConcern#where_object_changes` instance method; acts as a helper for
|
|
|
|
querying against the `object_changes` column in versions table.
|
|
|
|
- [#416](https://github.com/airblade/paper_trail/issues/416) - Added a
|
|
|
|
`config` option for enabling/disabling utilization of
|
|
|
|
`serialized_attributes` for `ActiveRecord`, necessary because
|
|
|
|
`serialized_attributes` has been deprecated in `ActiveRecord` version `4.2`
|
|
|
|
and will be removed in version `5.0`
|
|
|
|
- [#399](https://github.com/airblade/paper_trail/pull/399) - Add `:dup`
|
|
|
|
argument for options hash to `reify` which forces a new model instance.
|
|
|
|
- [#394](https://github.com/airblade/paper_trail/pull/394) - Add RSpec matcher
|
|
|
|
`have_a_version_with` for easier testing.
|
|
|
|
- [#347](https://github.com/airblade/paper_trail/pull/347) - Autoload
|
|
|
|
`ActiveRecord` models in via a `Rails::Engine` when the gem is used with
|
|
|
|
`Rails`.
|
2014-07-09 17:02:47 -04:00
|
|
|
|
2015-07-12 22:40:52 -04:00
|
|
|
### Fixed
|
|
|
|
|
2015-07-28 21:57:39 -04:00
|
|
|
- [#563](https://github.com/airblade/paper_trail/pull/563) - Fixed a bug in
|
|
|
|
`touch_with_version` so that it will still create a version even when the
|
|
|
|
`on` option is, e.g. `[:create]`.
|
|
|
|
- [#541](https://github.com/airblade/paper_trail/pull/541) -
|
|
|
|
`PaperTrail.config.enabled` should be Thread Safe
|
|
|
|
- [#451](https://github.com/airblade/paper_trail/issues/451) - Fix `reify`
|
|
|
|
method in context of model where the base class has a default scope, and the
|
|
|
|
live instance is not scoped within that default scope.
|
|
|
|
- [#440](https://github.com/airblade/paper_trail/pull/440) - `versions`
|
|
|
|
association should clear/reload after a transaction rollback.
|
|
|
|
- [#438](https://github.com/airblade/paper_trail/issues/438) -
|
|
|
|
`ModelKlass.paper_trail_enabled_for_model?` should return `false` if
|
|
|
|
`has_paper_trail` has not been declared on the class.
|
|
|
|
- [#404](https://github.com/airblade/paper_trail/issues/404) /
|
|
|
|
[#428](https://github.com/airblade/paper_trail/issues/428) -
|
|
|
|
`model_instance.dup` does not need to be invoked when examining what the
|
|
|
|
instance looked like before changes were persisted, which avoids issues if a
|
|
|
|
3rd party has overriden the `dup` behavior. Also fixes errors occuring when
|
|
|
|
a user attempts to update the inheritance column on an STI model instance in
|
|
|
|
`ActiveRecord` 4.1.x
|
|
|
|
- [#427](https://github.com/airblade/paper_trail/pull/427) - Fix `reify`
|
|
|
|
method in context of model where a column has been removed.
|
|
|
|
- [#414](https://github.com/airblade/paper_trail/issues/414) - Fix
|
|
|
|
functionality `ignore` argument to `has_paper_trail` in `ActiveRecord` 4.
|
|
|
|
- [#413](https://github.com/airblade/paper_trail/issues/413) - Utilize
|
|
|
|
[RequestStore](https://github.com/steveklabnik/request_store) to ensure that
|
|
|
|
the `PaperTrail.whodunnit` is set in a thread safe manner within Rails and
|
|
|
|
Sinatra.
|
|
|
|
- [#381](https://github.com/airblade/paper_trail/issues/381) - Fix `irb`
|
|
|
|
warning: `can't alias context from irb_context`. `Rspec` and `Cucumber`
|
|
|
|
helpers should not be loaded by default, regardless of whether those
|
|
|
|
libraries are loaded.
|
|
|
|
- [#248](https://github.com/airblade/paper_trail/issues/248) - In MySQL, to
|
|
|
|
prevent truncation, generated migrations now use `longtext` instead of `text`.
|
|
|
|
- Methods handling serialized attributes should fallback to the currently set
|
|
|
|
Serializer instead of always falling back to `PaperTrail::Serializers::YAML`.
|
|
|
|
|
|
|
|
### Deprecated
|
|
|
|
|
|
|
|
- [#479](https://github.com/airblade/paper_trail/issues/479) - Deprecated
|
|
|
|
`originator` method, use `paper_trail_originator`.
|
2015-07-12 22:40:52 -04:00
|
|
|
|
2015-12-13 22:14:25 -05:00
|
|
|
## 3.0.9
|
|
|
|
|
|
|
|
- [#479](https://github.com/airblade/paper_trail/issues/479) - Deprecated
|
|
|
|
`originator` method in favor of `paper_trail_originator` Deprecation warning
|
|
|
|
informs users that the `originator` of the methods will be removed in
|
|
|
|
version `4.0`. (Backported from v4)
|
|
|
|
- Updated deprecation warnings for `Model.paper_trail_on` and
|
|
|
|
`Model.paper_trail_off` to have display correct version number the methods
|
|
|
|
will be removed (`4.0`)
|
|
|
|
|
2015-04-29 17:10:37 -04:00
|
|
|
## 3.0.8
|
|
|
|
|
|
|
|
- [#525](https://github.com/airblade/paper_trail/issues/525) / [#512](https://github.com/airblade/paper_trail/pull/512) -
|
|
|
|
Support for virtual accessors and redefined setter and getter methods.
|
|
|
|
|
2015-03-02 13:11:19 -05:00
|
|
|
## 3.0.7
|
|
|
|
|
|
|
|
- [#404](https://github.com/airblade/paper_trail/issues/404) / [#428](https://github.com/airblade/paper_trail/issues/428) -
|
|
|
|
Fix errors occuring when a user attempts to update the inheritance column on an STI model instance in `ActiveRecord` 4.1.x
|
|
|
|
|
2014-10-09 12:42:31 -04:00
|
|
|
## 3.0.6
|
|
|
|
|
|
|
|
- [#414](https://github.com/airblade/paper_trail/issues/414) - Backport fix for `ignore` argument to `has_paper_trail` in
|
|
|
|
`ActiveRecord` 4.
|
|
|
|
|
2014-08-29 19:16:07 -04:00
|
|
|
## 3.0.5
|
2014-08-29 18:43:52 -04:00
|
|
|
|
2015-03-02 13:11:19 -05:00
|
|
|
- [#401](https://github.com/airblade/paper_trail/issues/401) / [#406](https://github.com/airblade/paper_trail/issues/406) -
|
2014-08-29 18:43:52 -04:00
|
|
|
`PaperTrail::Version` class is not loaded via a `Rails::Engine`, even when the gem is used with in Rails. This feature has
|
2014-12-29 15:03:40 -05:00
|
|
|
will be re-introduced in version `4.0`.
|
2014-09-02 14:08:43 -04:00
|
|
|
- [#398](https://github.com/airblade/paper_trail/pull/398) - Only require the `RSpec` helper if `RSpec::Core` is required.
|
2014-08-29 18:43:52 -04:00
|
|
|
|
2014-06-27 11:58:57 -04:00
|
|
|
## 3.0.3
|
2014-09-02 14:08:43 -04:00
|
|
|
*This version was yanked from RubyGems and has been replaced by version `3.0.5`, which is almost identical, but does not eager load
|
2014-08-29 18:43:52 -04:00
|
|
|
in the `PaperTrail::Version` class through a `Rails::Engine` when the gem is used on Rails since it was causing issues for some users.*
|
2014-05-28 19:18:53 -04:00
|
|
|
|
2014-06-24 12:42:26 -04:00
|
|
|
- [#386](https://github.com/airblade/paper_trail/issues/386) - Fix eager loading of `versions` association with custom class name
|
|
|
|
in `ActiveRecord` 4.1.
|
2014-06-17 10:58:53 -04:00
|
|
|
- [#384](https://github.com/airblade/paper_trail/issues/384) - Fix `VersionConcern#originator` instance method.
|
2014-06-17 11:40:17 -04:00
|
|
|
- [#383](https://github.com/airblade/paper_trail/pull/383) - Make gem compatible with `ActiveRecord::Enum` (available in `ActiveRecord` 4.1+).
|
2014-06-27 11:10:45 -04:00
|
|
|
- [#380](https://github.com/airblade/paper_trail/pull/380) / [#377](https://github.com/airblade/paper_trail/issues/377) -
|
|
|
|
Add `VersionConcern#where_object` instance method; acts as a helper for querying against the `object` column in versions table.
|
2014-06-17 13:04:14 -04:00
|
|
|
- [#373](https://github.com/airblade/paper_trail/pull/373) - Fix default sort order for the `versions` association in `ActiveRecord` 4.1.
|
2014-05-28 19:18:53 -04:00
|
|
|
- [#372](https://github.com/airblade/paper_trail/pull/372) - Use [Arel](https://github.com/rails/arel) for SQL construction.
|
2014-06-18 11:01:38 -04:00
|
|
|
- [#365](https://github.com/airblade/paper_trail/issues/365) - `VersionConcern#version_at` should return `nil` when receiving a timestamp
|
|
|
|
that occured after the object was destroyed.
|
2014-06-11 14:55:04 -04:00
|
|
|
- Expand `PaperTrail::VERSION` into a module, mimicking the form used by Rails to give it some additional modularity & versatility.
|
2014-05-29 10:34:25 -04:00
|
|
|
- Fixed `VersionConcern#index` instance method so that it conforms to using the primary key for ordering when possible.
|
2014-05-28 19:18:53 -04:00
|
|
|
|
2014-05-12 10:48:16 -04:00
|
|
|
## 3.0.2
|
2014-03-18 16:34:25 -04:00
|
|
|
|
2014-04-16 16:33:10 -04:00
|
|
|
- [#357](https://github.com/airblade/paper_trail/issues/357) - If a `Version` instance is reified and then persisted at that state,
|
|
|
|
it's timestamp attributes for update should still get `touch`ed.
|
2014-04-02 17:05:20 -04:00
|
|
|
- [#351](https://github.com/airblade/paper_trail/pull/351) / [#352](https://github.com/airblade/paper_trail/pull/352) -
|
|
|
|
`PaperTrail::Rails::Controller` should hook into all controller types, and should not get loaded unless `ActionController` is.
|
2014-04-16 12:44:21 -04:00
|
|
|
- [#346](https://github.com/airblade/paper_trail/pull/346) - `user_for_paper_trail` method should accommodate different types
|
2014-03-20 16:04:53 -04:00
|
|
|
for return values from `current_user` method.
|
2014-05-09 12:08:02 -04:00
|
|
|
- [#344](https://github.com/airblade/paper_trail/pull/344) - Gem is now tested against `MySQL` and `PostgreSQL` in addition to `SQLite`.
|
|
|
|
- [#317](https://github.com/airblade/paper_trail/issues/317) / [#314](https://github.com/airblade/paper_trail/issues/314) -
|
|
|
|
`versions` should default to ordering via the primary key if it is an integer to avoid timestamp comparison issues.
|
2014-03-18 16:34:25 -04:00
|
|
|
- `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.
|
2014-04-16 16:33:10 -04:00
|
|
|
- If a `Version` instance is reified and then persisted at that state, it's source version
|
2014-04-16 12:44:21 -04:00
|
|
|
(`model_instance#version_association_name`, usually `model_instance#version`) will get cleared since persisting it causes it to
|
|
|
|
become the live instance.
|
2014-04-16 12:17:33 -04:00
|
|
|
- If `destroy` actions are tracked for a versioned model, invoking `destroy` on the model will cause the corresponding version that
|
2014-04-16 12:44:21 -04:00
|
|
|
gets generated to be assigned as the source version (`model_instance#version_association_name`, usually `model_instance#version`).
|
2014-03-18 16:34:25 -04:00
|
|
|
|
2014-03-14 17:52:17 -04:00
|
|
|
## 3.0.1
|
2014-01-08 15:51:53 -05:00
|
|
|
|
2014-03-07 16:13:32 -05:00
|
|
|
- [#340](https://github.com/airblade/paper_trail/issues/340) - Prevent potential error encountered when using the `InstallGenerator`
|
|
|
|
with Rails `4.1.0.rc1`.
|
2014-03-11 17:55:44 -04:00
|
|
|
- [#334](https://github.com/airblade/paper_trail/pull/334) - Add small-scope `whodunnit` method to `PaperTrail::Model::InstanceMethods`.
|
2014-02-21 18:20:40 -05:00
|
|
|
- [#329](https://github.com/airblade/paper_trail/issues/329) - Add `touch_with_version` method to `PaperTrail::Model::InstanceMethods`,
|
2015-01-15 11:39:48 -05:00
|
|
|
to allow for generating a version while `touch`ing a model.
|
2014-03-11 17:55:44 -04:00
|
|
|
- [#328](https://github.com/airblade/paper_trail/pull/328) / [#326](https://github.com/airblade/paper_trail/issues/326) /
|
2014-02-20 11:40:52 -05:00
|
|
|
[#307](https://github.com/airblade/paper_trail/issues/307) - `Model.paper_trail_enabled_for_model?` and
|
|
|
|
`model_instance.without_versioning` is now thread-safe.
|
2014-02-11 11:08:58 -05:00
|
|
|
- [#316](https://github.com/airblade/paper_trail/issues/316) - `user_for_paper_trail` should default to `current_user.try(:id)`
|
|
|
|
instead of `current_user` (if `current_user` is defined).
|
|
|
|
- [#313](https://github.com/airblade/paper_trail/pull/313) - Make the `Rails::Controller` helper compatible with
|
2014-01-08 15:51:53 -05:00
|
|
|
`ActionController::API` for compatibility with the [`rails-api`](https://github.com/rails-api/rails-api) gem.
|
2014-03-11 10:48:06 -04:00
|
|
|
- [#312](https://github.com/airblade/paper_trail/issues/312) - Fix RSpec `with_versioning` class level helper method.
|
2014-03-12 10:09:59 -04:00
|
|
|
- `model_instance.without_versioning` now yields the `model_instance`, enabling syntax like this:
|
|
|
|
`model_instance.without_versioning { |obj| obj.update_attributes(:name => 'value') }`.
|
2014-12-29 15:03:40 -05:00
|
|
|
- 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`
|
2014-01-08 15:51:53 -05:00
|
|
|
|
2013-12-11 17:45:50 -05:00
|
|
|
## 3.0.0
|
2013-06-18 14:54:24 -04:00
|
|
|
|
2013-12-02 10:05:19 -05:00
|
|
|
- [#305](https://github.com/airblade/paper_trail/pull/305) - `PaperTrail::VERSION` should be loaded at runtime.
|
2013-11-15 13:54:30 -05:00
|
|
|
- [#295](https://github.com/airblade/paper_trail/issues/295) - Explicitly specify table name for version class when
|
|
|
|
querying attributes. Prevents `AmbiguousColumn` errors on certain `JOIN` statements.
|
2013-10-29 11:57:41 -04:00
|
|
|
- [#289](https://github.com/airblade/paper_trail/pull/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.
|
2013-10-17 14:46:06 -04:00
|
|
|
- [#288](https://github.com/airblade/paper_trail/issues/288) - Change all scope declarations to class methods on the `PaperTrail::Version`
|
|
|
|
class. Fixes usability when `PaperTrail::Version.abstract_class? == true`.
|
2013-10-16 15:28:16 -04:00
|
|
|
- [#287](https://github.com/airblade/paper_trail/issues/287) - Support for
|
|
|
|
[PostgreSQL's JSON Type](http://www.postgresql.org/docs/9.2/static/datatype-json.html) for storing `object` and `object_changes`.
|
2013-10-10 17:46:42 -04:00
|
|
|
- [#281](https://github.com/airblade/paper_trail/issues/281) - `Rails::Controller` helper will return `false` for the
|
|
|
|
`paper_trail_enabled_for_controller` method if `PaperTrail.enabled? == false`.
|
2013-10-03 10:43:19 -04:00
|
|
|
- [#280](https://github.com/airblade/paper_trail/pull/280) - Don't track virtual timestamp attributes.
|
2014-04-02 17:05:20 -04:00
|
|
|
- [#278](https://github.com/airblade/paper_trail/issues/278) / [#272](https://github.com/airblade/paper_trail/issues/272) -
|
2013-10-02 13:48:20 -04:00
|
|
|
Make RSpec and Cucumber helpers usable with [Spork](https://github.com/sporkrb/spork) and [Zeus](https://github.com/burke/zeus).
|
2013-09-19 16:18:02 -04:00
|
|
|
- [#273](https://github.com/airblade/paper_trail/pull/273) - Make the `only` and `ignore` options accept `Hash` arguments;
|
|
|
|
allows for conditional tracking.
|
2013-08-30 15:14:16 -04:00
|
|
|
- [#264](https://github.com/airblade/paper_trail/pull/264) - Allow unwrapped symbol to be passed in to the `on` option.
|
2013-07-02 11:38:23 -04:00
|
|
|
- [#224](https://github.com/airblade/paper_trail/issues/224)/[#236](https://github.com/airblade/paper_trail/pull/236) -
|
|
|
|
Fixed compatibility with [ActsAsTaggableOn](https://github.com/mbleigh/acts-as-taggable-on).
|
2013-06-18 14:54:24 -04:00
|
|
|
- [#235](https://github.com/airblade/paper_trail/pull/235) - Dropped unnecessary secondary sort on `versions` association.
|
2013-08-28 10:29:25 -04:00
|
|
|
- [#216](https://github.com/airblade/paper_trail/pull/216) - Added helper & extension for [RSpec](https://github.com/rspec/rspec),
|
|
|
|
and helper for [Cucumber](http://cukes.info).
|
2013-08-01 15:05:45 -04:00
|
|
|
- [#212](https://github.com/airblade/paper_trail/pull/212) - Added `PaperTrail::Cleaner` module, useful for discarding draft versions.
|
2015-06-27 22:47:05 -04:00
|
|
|
- [#207](https://github.com/airblade/paper_trail/issues/207) - Versions for `'create'` events are now created with `create!` instead of
|
2013-08-08 16:23:02 -04:00
|
|
|
`create` so that an exception gets raised if it is appropriate to do so.
|
2013-07-31 20:37:04 -04:00
|
|
|
- [#199](https://github.com/airblade/paper_trail/pull/199) - Rails 4 compatibility.
|
2013-08-30 15:14:16 -04:00
|
|
|
- [#165](https://github.com/airblade/paper_trail/pull/165) - Namespaced the `Version` class under the `PaperTrail` module.
|
2013-08-13 17:10:41 -04:00
|
|
|
- [#119](https://github.com/airblade/paper_trail/issues/119) - Support for [Sinatra](http://www.sinatrarb.com/); decoupled gem from `Rails`.
|
2013-10-17 22:05:24 -04:00
|
|
|
- Renamed the default serializers from `PaperTrail::Serializers::Yaml` and `PaperTrail::Serializers::Json` to the capitalized forms,
|
|
|
|
`PaperTrail::Serializers::YAML` and `PaperTrail::Serializers::JSON`.
|
2013-12-02 11:18:43 -05:00
|
|
|
- Removed deprecated `set_whodunnit` method from Rails Controller scope.
|
2013-06-18 14:54:24 -04:00
|
|
|
|
2013-05-23 16:09:46 -04:00
|
|
|
## 2.7.2
|
2013-03-26 12:34:38 -04:00
|
|
|
|
2013-05-22 10:58:42 -04:00
|
|
|
- [#228](https://github.com/airblade/paper_trail/issues/228) - Refactored default `user_for_paper_trail` method implementation
|
2014-02-20 11:40:52 -05:00
|
|
|
so that `current_user` only gets invoked if it is defined.
|
2013-05-13 10:17:19 -04:00
|
|
|
- [#219](https://github.com/airblade/paper_trail/pull/219) - Fixed issue where attributes stored with `nil` value might not get
|
2014-02-20 11:40:52 -05:00
|
|
|
reified properly depending on the way the serializer worked.
|
2013-05-23 15:56:19 -04:00
|
|
|
- [#213](https://github.com/airblade/paper_trail/issues/213) - Added a `version_limit` option to the `PaperTrail::Config` options
|
2014-02-20 11:40:52 -05:00
|
|
|
that can be used to restrict the number of versions PaperTrail will store per object instance.
|
2013-05-13 11:38:53 -04:00
|
|
|
- [#187](https://github.com/airblade/paper_trail/pull/187) - Confirmed JRuby support.
|
|
|
|
- [#174](https://github.com/airblade/paper_trail/pull/174) - The `event` field on the versions table can now be customized.
|
2013-03-26 12:34:38 -04:00
|
|
|
|
2013-02-15 13:06:20 -05:00
|
|
|
## 2.7.1
|
2012-12-28 14:06:34 -05:00
|
|
|
|
2013-02-11 12:49:08 -05:00
|
|
|
- [#206](https://github.com/airblade/paper_trail/issues/206) - Fixed Ruby 1.8.7 compatibility for tracking `object_changes`.
|
2013-02-05 13:45:59 -05:00
|
|
|
- [#200](https://github.com/airblade/paper_trail/issues/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.
|
2013-02-04 16:00:34 -05:00
|
|
|
- [#197](https://github.com/airblade/paper_trail/issues/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.
|
2013-01-22 18:13:58 -05:00
|
|
|
- [#194](https://github.com/airblade/paper_trail/issues/194) - A JSON serializer is now included in the gem.
|
2013-01-21 11:08:31 -05:00
|
|
|
- [#192](https://github.com/airblade/paper_trail/pull/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](https://github.com/airblade/paper_trail/pull/180)).
|
2013-01-22 18:13:58 -05:00
|
|
|
- [#190](https://github.com/airblade/paper_trail/pull/190) - Fixed compatibility with
|
2013-01-21 11:01:09 -05:00
|
|
|
[SerializedAttributes](https://github.com/technoweenie/serialized_attributes) gem.
|
2013-01-21 10:38:43 -05:00
|
|
|
- [#189](https://github.com/airblade/paper_trail/pull/189) - Provided support for a `configure` block initializer.
|
2013-01-04 10:19:19 -05:00
|
|
|
- Added `setter` method for the `serializer` config option.
|
|
|
|
|
2012-12-28 01:19:29 -05:00
|
|
|
## 2.7.0
|
2012-11-28 11:18:42 -05:00
|
|
|
|
|
|
|
- [#183](https://github.com/airblade/paper_trail/pull/183) - Fully qualify the `Version` class to help prevent
|
|
|
|
namespace resolution errors within other gems / plugins.
|
2012-12-28 14:06:34 -05:00
|
|
|
- [#180](https://github.com/airblade/paper_trail/pull/180) - Store serialized representation of serialized attributes
|
2013-02-04 16:00:34 -05:00
|
|
|
on the `object` and `object_changes` columns in the `Version` table.
|
2012-12-28 14:06:34 -05:00
|
|
|
- [#164](https://github.com/airblade/paper_trail/pull/164) - Allow usage of custom serializer for storage of object attributes.
|
2012-11-28 11:18:42 -05:00
|
|
|
|
2012-11-16 12:24:46 -05:00
|
|
|
## 2.6.4
|
2012-10-16 20:20:44 -04:00
|
|
|
|
2012-11-16 11:54:47 -05:00
|
|
|
- [#181](https://github.com/airblade/paper_trail/issues/181)/[#182](https://github.com/airblade/paper_trail/pull/182) -
|
|
|
|
Controller metadata methods should only be evaluated when `paper_trail_enabled_for_controller == true`.
|
2012-10-30 15:20:47 -04:00
|
|
|
- [#177](https://github.com/airblade/paper_trail/issues/177)/[#178](https://github.com/airblade/paper_trail/pull/178) -
|
|
|
|
Factored out `version_key` into it's own method to prevent `ConnectionNotEstablished` error from getting thrown in
|
|
|
|
instances where `has_paper_trail` is declared on class prior to ActiveRecord establishing a connection.
|
2012-10-16 20:20:44 -04:00
|
|
|
- [#176](https://github.com/airblade/paper_trail/pull/176) - Force metadata calls for attributes to use current value
|
|
|
|
if attribute value is changing.
|
|
|
|
- [#173](https://github.com/airblade/paper_trail/pull/173) - Update link to [diff-lcs](https://github.com/halostatue/diff-lcs).
|
2012-10-30 15:20:47 -04:00
|
|
|
- [#172](https://github.com/airblade/paper_trail/pull/172) - Save `object_changes` on creation.
|
2012-11-06 11:34:02 -05:00
|
|
|
- [#168](https://github.com/airblade/paper_trail/pull/168) - Respect conditional `:if` or `:unless` arguments to the
|
|
|
|
`has_paper_trail` method for `destroy` events.
|
2012-10-16 20:20:44 -04:00
|
|
|
- [#167](https://github.com/airblade/paper_trail/pull/167) - Fix `originator` method so that it works with subclasses and STI.
|
2012-11-06 12:19:31 -05:00
|
|
|
- [#160](https://github.com/airblade/paper_trail/pull/160) - Fixed failing tests and resolved out of date dependency issues.
|
|
|
|
- [#157](https://github.com/airblade/paper_trail/pull/157) - Refactored `class_attribute` names on the `ClassMethods` module
|
2012-11-16 12:24:46 -05:00
|
|
|
for names that are not obviously pertaining to PaperTrail to prevent method name collision.
|