Skip to content

Bump python-statemachine from 2.5.0 to 2.6.0#287

Merged
bcorfman merged 1 commit intomainfrom
dependabot/uv/python-statemachine-2.6.0
Feb 16, 2026
Merged

Bump python-statemachine from 2.5.0 to 2.6.0#287
bcorfman merged 1 commit intomainfrom
dependabot/uv/python-statemachine-2.6.0

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Feb 16, 2026

Bumps python-statemachine from 2.5.0 to 2.6.0.

Release notes

Sourced from python-statemachine's releases.

StateMachine 2.6.0

February 2026

What's new in 2.6.0

This release adds the StateMachine.enabled_events method, Python 3.14 support, a significant performance improvement for callback dispatch, and several bugfixes for async condition expressions, type checker compatibility, and Django integration.

Python compatibility in 2.6.0

StateMachine 2.6.0 supports Python 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, and 3.14.

Checking enabled events

A new StateMachine.enabled_events method lets you query which events have their cond/unless guards currently satisfied, going beyond StateMachine.allowed_events which only checks reachability from the current state.

This is particularly useful for UI scenarios where you want to enable or disable buttons based on whether an event's conditions are met at runtime.

>>> class ApprovalMachine(StateMachine):
...     pending = State(initial=True)
...     approved = State(final=True)
...     rejected = State(final=True)
...
...     approve = pending.to(approved, cond="is_manager")
...     reject = pending.to(rejected)
...
...     is_manager = False
>>> sm = ApprovalMachine()
>>> [e.id for e in sm.allowed_events]
['approve', 'reject']
>>> [e.id for e in sm.enabled_events()]
['reject']
>>> sm.is_manager = True
>>> [e.id for e in sm.enabled_events()]
['approve', 'reject']

Since conditions may depend on runtime arguments, any *args/**kwargs passed to enabled_events() are forwarded to the condition callbacks:

... (truncated)

Commits
  • a18a396 Merge branch 'release/2.6.0'
  • ac825d1 chore: prepare release 2.6.0
  • 7211235 fix: skip MachineMixin init for Django historical models (#551) (#561)
  • 9697dea fix: use *args/**kwargs in AddCallbacksMixin.call to silence Pyright (#51...
  • 1f6013c feat: add enabled_events() method (#520) (#559)
  • 570687e fix: await async predicates in condition expressions (#557)
  • 37e6c1a fix: handle VAR_POSITIONAL and kwargs precedence in _fast_bind cache (#556)
  • 1fd4b7e perf: cache signature binding results (#550)
  • bf06293 fix: set ruff target-version to py39 and upgrade django (#555)
  • 7b5fb68 feat: Add Python 3.14 support (#552)
  • 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.5.0 to 2.6.0.
- [Release notes](https://github.com/fgmacedo/python-statemachine/releases)
- [Commits](fgmacedo/python-statemachine@v2.5.0...2.6.0)

---
updated-dependencies:
- dependency-name: python-statemachine
  dependency-version: 2.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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 Feb 16, 2026
@bcorfman bcorfman merged commit da768fb into main Feb 16, 2026
33 checks passed
@bcorfman bcorfman deleted the dependabot/uv/python-statemachine-2.6.0 branch February 16, 2026 21:42
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.

1 participant

Comments