2011-11-25 18:11:30 -05:00
# CHANGELOG
2014-11-16 16:59:35 -05:00
## 4.1.0 (not yet released)
2014-11-24 17:50:04 -05:00
* `aasm_column` has been removed. Use `aasm.attribute_name` instead
* `aasm_human_event_name` has been removed. Use `aasm.human_event_name` instead
2014-12-12 18:43:24 -05:00
## 4.0.5 (not yet released)
2014-12-12 19:21:40 -05:00
* bugfix: `false` is treated as uninitialised state (same as `nil` ) (see [issue #195 ](https://github.com/aasm/aasm/issues/195 ) for details)
* bugfix: an event's `:error` callback now retrieves all arguments passed to the event (see [issue #196 ](https://github.com/aasm/aasm/issues/196 ) for details)
2014-12-12 18:43:24 -05:00
2014-12-06 05:15:12 -05:00
## 4.0.5
* bugfix: initialize the aasm state column after initialization of the _ActiveRecord_ instance only if the attribute has been loaded (see [issue #193 ](https://github.com/aasm/aasm/issues/193 ) for details)
2014-12-05 11:34:18 -05:00
## 4.0.4
2014-11-28 16:22:43 -05:00
2014-12-05 11:20:32 -05:00
* corrected callback order in README
2014-12-04 18:07:38 -05:00
* bugfix: initialize the aasm state column after initialization of the _ActiveRecord_ instance (see [issue #191 ](https://github.com/aasm/aasm/issues/191 ) for details)
* bugfix: avoid Rails autoloading conflicts (see [issue #137 ](https://github.com/aasm/aasm/issues/137 ) and [issue #139 ](https://github.com/aasm/aasm/issues/139 ) for details)
2014-11-28 16:22:43 -05:00
2014-11-25 16:23:23 -05:00
## 4.0.3
2014-11-24 17:50:04 -05:00
2014-11-25 16:23:23 -05:00
* bugfix: fire guards only once per transition, part 2 (see [issue #187 ](https://github.com/aasm/aasm/issues/187 ) for details)
2014-11-24 17:50:04 -05:00
* `aasm_column` is deprecated. Use `aasm.attribute_name` instead
2014-11-16 16:59:35 -05:00
2014-11-24 07:46:15 -05:00
## 4.0.2
* bugfix: really support block-guards (defined within a transition block) (see [issue #186 ](https://github.com/aasm/aasm/issues/186 ) for details)
2014-11-19 17:34:39 -05:00
## 4.0.1
* fire guards only once per transition (see [issue #184 ](https://github.com/aasm/aasm/issues/184 ) for details)
2014-11-24 17:50:04 -05:00
* `aasm_human_event_name` is deprecated, use `aasm.human_event_name` instead
2014-11-19 17:34:39 -05:00
2014-11-15 11:45:35 -05:00
## 4.0.0
2013-11-18 17:21:55 -05:00
2014-11-15 11:45:35 -05:00
* support `if` and `unless` guard syntax: (see [issue #179 ](https://github.com/aasm/aasm/issues/179 ) and [issue #181 ](https://github.com/aasm/aasm/issues/181 )), thanks to [@bigtunacan ](https://github.com/bigtunacan )
2014-05-18 08:21:35 -04:00
* may configure to not allow direct assignment for persisted AASM models (see [issue #53 ](https://github.com/aasm/aasm/issues/53 ))
2014-03-17 16:58:44 -04:00
* **DSL change**: callbacks don't require `to_state` parameter anymore, but still support it
2013-11-18 17:27:34 -05:00
(closing issues
[#11 ](https://github.com/aasm/aasm/issues/11 ),
[#58 ](https://github.com/aasm/aasm/issues/58 ) and
2013-11-30 09:14:52 -05:00
[#80 ](https://github.com/aasm/aasm/issues/80 )
2013-11-18 17:27:34 -05:00
thanks to [@ejlangev ](https://github.com/ejlangev ))
2014-03-17 16:58:44 -04:00
* **DSL change**: `after_commit` hooks are now event-based (see [issue #112 ](https://github.com/aasm/aasm/issues/112 ))
2014-09-09 17:04:47 -04:00
* **DSL change**: event and state callbacks have been re-ordered; state callbacks are not run anymore if any guard fails
2014-09-12 08:30:36 -04:00
* **DSL change**: `:on_transition` renamed to `:after`
* **DSL change**: `:on_transition` renamed to `:after`
* **DSL change**: transition `:after` binding changed (see [issue #59 ](https://github.com/aasm/aasm/issues/59 ), thanks to [@stiff ](https://github.com/stiff ))
2014-10-12 09:46:11 -04:00
* **DSL change**: instance-based events inspection now returns event instances (instead of the event names as symbol)
2014-10-12 09:57:56 -04:00
* **DSL change**: instance-based permissible_events has been removed in favor or events(:permissible => true)
2014-10-12 10:16:01 -04:00
* **DSL change**: class-based events now returns a list of Event instances (instead of a hash with event names as keys)
2014-10-13 17:24:00 -04:00
* **DSL change**: renamed permissible states and events to permitted states events
2014-11-05 18:02:13 -05:00
* removed deprecated methods (mostly the ones prefixed with `aasm_` )
2013-11-18 17:21:55 -05:00
2014-09-12 05:42:01 -04:00
## 3.4.0
* allow retrieving the current event (`aasm.current_event`) (see [issue #159 ](https://github.com/aasm/aasm/issues/159 ) and [issue #168 ](https://github.com/aasm/aasm/issues/168 ))
2014-08-20 15:46:57 -04:00
## 3.3.3
2014-08-17 12:42:19 -04:00
* bugfix: support reloading development environment in Rails (see [issue #148 ](https://github.com/aasm/aasm/issues/148 ))
2014-08-16 07:04:15 -04:00
## 3.3.2
2014-08-16 05:32:35 -04:00
2014-08-16 07:02:45 -04:00
* bugfix: avoid conflicts with `failed` and `fired` event names (see [issue #157 ](https://github.com/aasm/aasm/issues/157 )), thanks to [@MichaelXavier ](https://github.com/MichaelXavier )
2014-08-16 05:32:35 -04:00
* bugfix: not using transactions unless saving to the database (see [issue #162 ](https://github.com/aasm/aasm/issues/162 ) and [issue #164 ](https://github.com/aasm/aasm/issues/164 )), thanks to [@roberthoner ](https://github.com/roberthoner )
* bugfix: `after_commit` should only run if saving to the database (see [issue #151 ](https://github.com/aasm/aasm/issues/151 )), thanks to [@ivantsepp ](https://github.com/ivantsepp )
2014-07-12 10:09:53 -04:00
## 3.3.1
2014-07-12 09:24:10 -04:00
* bugfix: permissible events will respect given `guards` (see [issue #150 ](https://github.com/aasm/aasm/issues/150 ))
## 3.3.0
2014-07-06 12:41:44 -04:00
* support for Rails 4.1 enum fields (see [issue #124 ](https://github.com/aasm/aasm/issues/124 ), thanks to [@bkon ](https://github.com/bkon ))
* bugfix: allow lazy-evaluation for Rails 3 scopes (see [issue #144 ](https://github.com/aasm/aasm/issues/144 ), thanks to [@laurens ](https://github.com/laurens ))
2014-06-14 16:15:16 -04:00
## 3.2.1
* bugfix: permissible_events and events did not contain events with an empty "from" transition (see [issue #140 ](https://github.com/aasm/aasm/issues/140 ) and [issue #141 ](https://github.com/aasm/aasm/issues/141 ), thanks to [@daniel-rikowski ](https://github.com/daniel-rikowski ))
2014-05-16 16:00:18 -04:00
## 3.2.0
2014-05-05 15:56:37 -04:00
* support [Sequel ](http://sequel.jeremyevans.net/ ) (see [issue #119 ](https://github.com/aasm/aasm/issues/119 ), thanks to [@godfat ](https://github.com/godfat ))
2014-05-16 16:00:18 -04:00
* may not fire an unknown event (see [issue #128 ](https://github.com/aasm/aasm/issues/128 )
2014-05-05 15:56:37 -04:00
2014-03-01 09:35:20 -05:00
## 3.1.1
* bugfix: don't require ActiveRecord for localizing AASM event and state name (see [issue #113 ](https://github.com/aasm/aasm/issues/113 ), thanks to [@silentshade ](https://github.com/silentshade ))
2014-01-29 16:19:24 -05:00
## 3.1.0
2014-01-11 07:11:54 -05:00
* validating the current state (see [issue #95 ](https://github.com/aasm/aasm/issues/95 ), thanks to [@ivantsepp ](https://github.com/ivantsepp ))
2014-01-24 06:02:22 -05:00
* allow configuring behavior of nested transactions (see [issue #107 ](https://github.com/aasm/aasm/issues/107 ))
* support multiple guards per transition
* support event guards (see [issue #85 ](https://github.com/aasm/aasm/issues/85 ))
2014-01-27 15:51:38 -05:00
* support reading from- and to-state during on_transition callback (see [issue #100 ](https://github.com/aasm/aasm/issues/100 ))
2014-01-11 07:11:54 -05:00
2014-01-11 06:45:42 -05:00
## 3.0.26
2014-01-11 07:11:54 -05:00
* support state.human_name (aliased to state.localized_name) (see [issue #105 ](https://github.com/aasm/aasm/issues/105 ))
2014-01-11 06:45:42 -05:00
2013-12-16 17:42:50 -05:00
## 3.0.25
2013-12-16 17:45:46 -05:00
* initialize the state even if validation is skipped (for ActiveRecord and Mongoid persistence) (see [issue #103 ](https://github.com/aasm/aasm/issues/103 ), thanks to [@vfonic ](https://github.com/vfonic ) and [@aaronklaassen ](https://github.com/aaronklaassen ))
2013-12-16 17:42:50 -05:00
2013-11-20 15:45:52 -05:00
## 3.0.24
* added support for event blocks (thanks to [@Intrepidd ](https://github.com/Intrepidd ))
2013-11-18 17:21:55 -05:00
2013-10-24 09:29:38 -04:00
## 3.0.23
* added support for `after_commit` callback (transaction support) (thanks to [@tisba ](https://github.com/tisba ))
2013-08-29 15:42:10 -04:00
## 3.0.22
2013-08-29 15:41:45 -04:00
* fixed [issue 88 ](https://github.com/aasm/aasm/issues/88 ): wrong number of arguments for transaction method
2013-08-27 17:12:18 -04:00
## 3.0.21
* support nested ActiveRecord transactions ([@ozeias](https://github.com/ozeias))
* allow overwriting of events, can be very useful with inheritance ([@Intrepidd](https://github.com/Intrepidd))
2013-08-06 10:55:32 -04:00
## 3.0.20
* added configuration option to disable automatic scope creation
2013-05-29 17:30:24 -04:00
## 3.0.19
2013-03-15 00:00:22 -04:00
2013-05-29 18:02:09 -04:00
* fixed deprecation warning with *Rails 4* (`Relation#update_all` with conditions is deprecated)
2013-05-29 18:04:52 -04:00
* fixing [issue #69 ](https://github.com/aasm/aasm/issues/69 ) ( *ActiveRecord* scopes are not chainable)
2013-05-29 17:19:04 -04:00
2013-05-15 18:43:48 -04:00
## 3.0.18
2013-05-29 18:02:09 -04:00
* fixing [issue #66 ](https://github.com/aasm/aasm/issues/66 ) (state methods not reflecting the current state)
2013-05-15 18:43:48 -04:00
2013-04-28 12:13:20 -04:00
## 3.0.17
2013-05-29 18:02:09 -04:00
* supporting instance level inspection for states (including permissible state, see [issue #54 ](https://github.com/aasm/aasm/issues/54 ))
2013-03-15 00:00:22 -04:00
* added autocreation of constants for each state ([@jherdman](https://github.com/jherdman))
2013-01-16 04:00:54 -05:00
## 3.0.16
* added autocreation of state scopes for Mongoid (thanks to [@jonnyshields ](https://github.com/johnnyshields ))
2012-12-26 16:23:41 -05:00
## 3.0.15
2013-05-29 18:02:09 -04:00
* added support for localized state names (on a class level, like `Record.aasm.states.map(&:localized_name)` )
2012-12-26 16:23:41 -05:00
2012-11-05 17:51:05 -05:00
## 3.0.14
* supporting event inspection for to-states transitions (`Event#transitions_to_state?`)
2012-10-24 04:03:09 -04:00
## 3.0.13
2012-11-05 17:51:05 -05:00
* supporting *ActiveRecord* transactions when firing an event
2012-10-24 04:03:09 -04:00
2012-10-19 06:05:43 -04:00
## 3.0.12
2012-11-05 17:51:05 -05:00
* `aasm_from_states_for_state` now supports to filter for specific transition
2012-10-19 06:05:43 -04:00
2012-10-19 05:44:20 -04:00
## 3.0.11
2012-11-05 17:51:05 -05:00
* added class method `aasm_from_states_for_state` to retrieve all from states (regarding transitions) for a given state
2012-10-19 05:44:20 -04:00
2012-10-19 03:22:00 -04:00
## 3.0.10
2013-05-29 18:04:52 -04:00
* added support for transitions from all other states (thanks to [@swrobel ](https://github.com/swrobel ))
2012-10-19 03:22:00 -04:00
2012-09-25 20:35:13 -04:00
## 3.0.9
2012-11-05 17:51:05 -05:00
* guard checks (e.g. `may_edit?` ) now support guard parameters as well
2012-09-25 20:35:13 -04:00
2012-06-17 02:13:07 -04:00
## 3.0.8
* fixed issue with generating docs using yard
2012-06-06 17:05:22 -04:00
## 3.0.7
2012-06-06 06:32:52 -04:00
2013-05-29 18:04:52 -04:00
* removed deprecation warning when localizing aasm state names (look at [issue #38 ](https://github.com/rubyist/aasm/issues/38 ) for details)
2012-06-06 06:32:52 -04:00
2012-05-17 06:05:43 -04:00
## 3.0.6
* bugfix: if configured to skip validation the code does not validate anymore
2012-04-17 16:36:45 -04:00
## 3.0.5
* bugfix: get rid of error with old rubygems versions
2012-04-02 06:11:35 -04:00
## 3.0.4
* bugfix: Subclasses of aasm-enabled classes don't lose settings anymore (thanks to codez)
2012-02-22 06:08:09 -05:00
## 3.0.3
* bugfix: ActiveRecord scopes are generated when using the new DSL
2012-01-16 11:42:53 -05:00
## 3.0.2
2012-01-16 11:27:15 -05:00
* ActiveRecord persistence can ignore validation when trying to save invalid models
2011-12-21 06:39:02 -05:00
## 3.0.1
* added support for Mongoid (Thanks, Michał Taberski)
2011-11-26 15:11:57 -05:00
## 3.0.0
* switched documentation to the new DSL
* whiny transactions: by default, raise an exception if an event transition is not possible
* you may disable whiny transactions
2012-11-05 17:51:05 -05:00
## 2.4.0
2011-11-25 18:11:30 -05:00
* supporting new DSL (which is much shorter)
## 2.3.1
* bugfix: avoid naming conflict with i18n
## 2.3.0
* supporting i18n
* supporting regular expressions for hash values and strings