All Versions
Latest Version
Avg Release Cycle
62 days
Latest Release
3596 days ago

Changelog History
Page 1

  • v1.2.0 Changes

    March 30, 2013
    • 👍 Allow multiple whitelisted / blacklisted :to states when definining transitions
    • 🛠 Fix event attributes not being processed when saved via association autosaving
    • 🛠 Fix Mongoid integration not setting initial state attributes properly for associations
    • Completely rewrite ORM action hooks to behave more consistently across the board
    • 🔄 Change transitions to be executed the same whether using ORM save actions or not
    • 🛠 Fix around_transition callbacks not being executed properly in ORM integrations
    • 🛠 Fix additional transitions not being able to be fired in transition callbacks
    • ➕ Add documentation on the order in which transition callbacks run within ORM integrations
    • ⚡️ Update README to include a topic on explicit vs. implicit event transitions [Nathan Long]
    • 🛠 Fix around_transition pausing not being marked as unsupported for rubinius [Daniel Huckstep]
    • 🛠 Fix all / any / same matchers not being able to be used in :from / :to options in transitions and callbacks
    • 🛠 Fix ActiveModel locale paths not being loaded properly under certain JRuby environments [Brad Heller]
    • Remove dependency on the validation_class_methods plugin for Sequel 2.12.0+ [Casey Howard]
    • ✂ Remove dependency on command-line git binaries from within the gemspec
    • 🛠 Fix deprecation warnings on ruby-graphviz 1.0.3+
    • ⚡️ Update minimum required ruby-graphviz version to 0.9.17
    • 🛠 Fix aliased fields in Mongoid 2.4.0+ not being automatically detected
    • ➕ Add Mongoid 3.0.0+ support
    • 🛠 Fix scopes getting generated multiple times when the singular / plural machine names are the same but of a different type (symbol vs. string)
    • ➕ Add initial support for ActiveRecord / ActiveModel 4.0.0 beta
    • 🛠 Fix static initial states always being set even when the state has already been initialized in non-ORM integrations
    • ⚠ Generate a warning when the ORM's backend and state_machine define conflicting initial states for an attribute
    • 🛠 Fix all Ruby warnings
    • 🛠 Fix callbacks not working for methods that respond via method_missing [Balwant Kane]
    • 🛠 Fix observer callbacks being run when disabled in ActiveModel / ActiveRecord integrations
    • ➕ Add YARD integration for autogenerating documentation / embedding visualizations of state machines
    • 👍 Allow states / events to be drawn with their human name instead of their internal name
  • v1.1.2 Changes

    January 20, 2012
    • 🛠 Fix states not being initialized properly on ActiveRecord 3.2+
  • v1.1.1 Changes

    December 31, 2011
    • 🛠 Fix fields being defined for Mongoid / MongoMapper state attributes even if they're already defined in the model
    • 🚩 Raise error when states / events are referenced in a definition with different types (e.g. both Strings and Symbols)
    • 👍 Allow all states / events to be looked up by their string / symbol equivalent
    • 👍 Allow state_machine to be loaded without extensions to the Ruby core
  • v1.1.0 Changes

    November 13, 2011
    • 👍 Allow the transitions / known states for an event to be reset
    • Add fire_#{name}_event instance method for firing an arbitrary event on a state machine
    • 👌 Improve InvalidTransition exception messages to include the failure reason(s) in ORM integrations
    • 💎 Don't allow around_transitions to attempt to be called in multiple execution contexts when run in jruby
    • 👍 Allow :from option to be used in transitions defined within state contexts
    • 🛠 Fix arguments / block not being preserved when chaining methods defined in state contexts
    • 🛠 Fix super not being allowed when a method is defined for multiple state contexts
    • 🔄 Change loopbacks to only cause objects to be persisted when the ORM decides it's necessary, instead of always forcing persistence
    • 🛠 Fix Mongoid 2.3.x integrations not initializing dynamic states in the same manner as other integrations with initialize callbacks
  • v1.0.3 Changes

    November 05, 2011
    • 🛠 Fix MongoMapper 0.10.0+ integrations not matching versions properly
    • ⚡️ Update warnings for method conflicts to include instructions on how to ignore conflicts
    • 🛠 Fix state initialization in Mongoid 2.3.x integrations [Durran Jordan]
    • 🛠 Fix after_transition callbacks sometimes not running in Mongoid 2.2.x integrations
    • 🔌 Automatically load the plugins required in Sequel integrations
    • 👍 Allow all / any matcher helpers to be used when defining states / events
    • 👍 Allow states / events to be referenced by the string equivalent of their name
    • 🛠 Fix observer callbacks being run incorrectly when using nil states in ActiveModel-based integrations
    • ✂ Remove ActiveModel Observer method chains in order to better ensure compatibility
    • ⚡️ Update DataMapper integration for 1.2.0+ support [Markus Schirp]
    • 🌐 Provide access to the human state name in invalid_transition translations
    • Add support for i18n keys in the form of #{i18n_scope}.state_machines.#{model_name}.states/events.#{value}
    • Clarify documentation on writing to state machine attributes, using factory_girl and can_#{event} / #{event}_transition helpers
    • ➕ Add documentation for dynmically generating state machines
  • v1.0.2 Changes

    August 10, 2011
    • 👍 Allow transitions to be defined within a state, event, or machine context
    • 👉 Use supported framework hooks for integrating Sequel 3.24.0+
    • ✅ Use appraisal for testing integrations
    • 👌 Improve documentation on the handling of method conflicts
    • ⚡️ Update Mongoid integration for 2.1.0+ support
    • 🛠 Fix ActiveRecord machine state predicates incorrectly calling superclass implementation when using targeted attributes
    • 🛠 Fix error when defining states with the same name as the state's machine in ActiveRecord, MongoMapper, and Mongoid integrations
    • 🛠 Fix machine state predicate not calling superclass implementation if defined after machine definition
    • ⚠ Generate warnings when defining a helper method more than once
    • 🛠 Fix multiple machines not being able to target the same attribute if all possible states aren't defined in each
    • 🛠 Fix ActiveModel / DataMapper integrations not overriding StateMachine::Machine#after_initialize properly
    • 👌 Improve documentation for overriding states and integration transactions
  • v1.0.1 Changes

    May 30, 2011
    • ➕ Add the ability to ignore method conflicts for helpers
    • ⚠ Generate warnings for any helper, not just state helpers, that has a conflicting method defined in the class
    • 🛠 Fix scopes in Sequel not working if the table name contains double underscores or is not a string/symbol
    • ➕ Add full support for chaining state scopes within Sequel integrations
    • 🛠 Fix Rails 3.1 deprecation warnings for configuring engine locales [Stefan Penner]
  • v1.0.0 Changes

    May 12, 2011
    • Celebrate
  • v0.10.4 Changes

    April 14, 2011
    • 🛠 Fix translations not being available under certain environments in Rails applications
  • v0.10.3 Changes

    April 08, 2011
    • 🛠 Fix state initialization failing in ActiveRecord 3.0.2+ when using with_state scopes for the default scope