Skip to content

Bump python-statemachine from 2.6.0 to 3.0.0#1105

Open
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/uv/python-statemachine-3.0.0
Open

Bump python-statemachine from 2.6.0 to 3.0.0#1105
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/uv/python-statemachine-3.0.0

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Mar 4, 2026

Bumps python-statemachine from 2.6.0 to 3.0.0.

Release notes

Sourced from python-statemachine's releases.

StateMachine 3.0.0

Upgrading from 2.x? See upgrade guide for a step-by-step migration guide.

What's new in 3.0.0

Statecharts are here! 🎉

Version 3.0 brings full statechart support to the library — compound states, parallel states, history pseudo-states, and an SCXML-compliant processing model. It also introduces a new StateChart base class with modern defaults, a richer event dispatch system (delayed events, internal queues, cancellation), structured error handling, and several developer-experience improvements.

The implementation follows the SCXML specification (W3C), which defines a standard for statechart semantics. This ensures predictable behavior on edge cases and compatibility with other SCXML-based tools. The automated test suite now includes W3C-provided .scxml test cases to verify conformance.

While this is a major version with backward-incompatible changes, the existing StateMachine class preserves 2.x defaults. See the upgrade guide for a smooth migration path.

Compound states

Compound states have inner child states. Use State.Compound to define them with Python class syntax — the class body becomes the state's children:

from statemachine import State, StateChart
class ShireToRoad(StateChart):
class shire(State.Compound):
bag_end = State(initial=True)
green_dragon = State()
visit_pub = bag_end.to(green_dragon)
road = State(final=True)
depart = shire.to(road)

sm = ShireToRoad()
set(sm.configuration_values) == {"shire", "bag_end"}
True
sm.send("visit_pub")
"green_dragon" in sm.configuration_values
True
</tr></table>

... (truncated)

Commits
  • b31d830 Merge branch 'release/3.0.0'
  • 9a16dac chore: prepare release 3.0.0
  • 26aef73 chore: headline
  • e02f866 feat: add timeout() contrib helper for per-state watchdog timers (#585)
  • f7cbd4a docs: add "Coming from the State Pattern" how-to guide
  • 162cfc7 docs: add migration guide from pytransitions (#584)
  • 04bf5ec docs: reorganize toctree sections and remove listeners from concepts
  • 2975fea docs: merge mixins.md into integrations.md and move API ref to api.md
  • 1c998a1 refactor: rename error_on_execution to catch_errors_as_events (#583)
  • 2d7a551 docs: comprehensive v3 documentation rewrite (#582)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [python-statemachine](https://github.com/fgmacedo/python-statemachine) from 2.6.0 to 3.0.0.
- [Release notes](https://github.com/fgmacedo/python-statemachine/releases)
- [Commits](fgmacedo/python-statemachine@2.6.0...v3.0.0)

---
updated-dependencies:
- dependency-name: python-statemachine
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Mar 4, 2026
@sonarqubecloud
Copy link

sonarqubecloud bot commented Mar 4, 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants