All Versions
60
Latest Version
Avg Release Cycle
43 days
Latest Release
795 days ago

Changelog History
Page 5

  • v1.2.1 Changes

    March 24, 2015
    • โž• Add support for Postgres 9.4's jsonb column type (patch by @isaacseymour)
  • v1.2.0 Changes

    March 18, 2015

    ๐Ÿ”„ Changes

    • โž• Add a most_recent column to transition tables to greatly speed up queries (ActiveRecord adapter only).
      • All queries are backwards-compatible, so everything still works without the new column.
      • The upgrade path is:
      • Generate and run a migration for adding the column, by running rails generate statesman:add_most_recent <ParentModel> <TransitionModel>.
      • Backfill the most_recent column on old records by running rake statesman:backfill_most_recent[ParentModel].
      • Add constraints and indexes to the transition table that make use of the new field, by running rails g statesman:add_constraints_to_most_recent <ParentModel> <TransitionModel>.
      • The upgrade path has been designed to be zero-downtime, even on large tables. As a result, please note that queries will only use the most_recent field after the constraints have been added.
    • ActiveRecordQueries.{not_,}in_state now accepts an array of states.
  • v1.1.0 Changes

    December 09, 2014

    ๐Ÿ›  Fixes

    • ๐Ÿ‘Œ Support for Rails 4.2.0.rc2:
      • Remove use of serialized_attributes when using 4.2+. (patch by @greysteil)
      • Use reflect_on_association rather than directly using the reflections hash. (patch by @timrogers)
    • Fix ActiveRecordQueries.in_state when Model.initial_state is defined as a symbol. (patch by @isaacseymour)

    ๐Ÿ”„ Changes

    • ๐Ÿ“‡ Transition metadata now defaults to {} rather than nil. (patch by @greysteil)
  • v1.0.0 Changes

    November 21, 2014

    No changes from v1.0.0.beta2

  • v1.0.0.beta2 Changes

    October 10, 2014

    ๐Ÿ’ฅ Breaking changes

    • ๐Ÿ“‡ Rename ActiveRecordModel to ActiveRecordQueries, to reflect the fact that it mixes in some helpful scopes, but is not required.
  • v1.0.0.beta1 Changes

    October 09, 2014

    ๐Ÿ’ฅ Breaking changes

    • Classes which include ActiveRecordModel must define an initial_state class method.

    ๐Ÿ›  Fixes

    • ActiveRecordModel.in_state and ActiveRecordModel.not_in_state now handle inital states correctly (patch by @isaacseymour)

    โž• Additions

    • Transition tables created by generated migrations have NOT NULL constraints on to_state, sort_key and foreign key columns (patch by @greysteil)
    • before_transition and after_transition allow an array of to states (patch by @isaacseymour)
  • v0.8.3 Changes

    September 02, 2014

    ๐Ÿ›  Fixes

    • Optimisation for Machine#available_events (patch by @pacso)
  • v0.8.2 Changes

    September 02, 2014

    ๐Ÿ›  Fixes

    • ๐Ÿ“‡ Stop generating a default value for the metadata column if using MySQL.
  • v0.8.1 Changes

    August 19, 2014

    ๐Ÿ›  Fixes

    • โž• Adds check in Machine#transition to make sure the 'to' state is not an empty array (patch by @barisbalic)
  • v0.8.0 Changes

    June 29, 2014

    โž• Additions

    • Events. Machines can now define events as a logical grouping of transitions (patch by @iurimatias)
    • Retries. Individual transitions can be executed with a retry policy by wrapping the method call in a Machine.retry_conflicts {} block (patch by @greysteil)