You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor!: remove strict_states, add validate_trap_states and validate_final_reachability (#568)
Replace the `strict_states` class parameter (introduced in v2.2.0) with two
independent class-level attributes that default to `True`:
- `validate_trap_states`: non-final states must have outgoing transitions
- `validate_final_reachability`: when final states exist, all non-final states
must have a path to at least one final state
This fulfils the v2.2.0 promise that `strict_states=True` would become the
default in the next major release. The warning-based behavior is removed —
violations now always raise `InvalidDefinition`.
BREAKING CHANGE: `strict_states=True/False` no longer accepted. Use
`validate_trap_states = False` / `validate_final_reachability = False` to
opt out, or (recommended) mark terminal states as `final=True`.
0 commit comments