Releases: nullhack/flowr
Releases · nullhack/flowr
v1.0.0 — First Stone
v1.0.0 — First Stone
Added
- Specification reference page:
docs/index.html— semver.org-style specification with numbered rules, RFC 2119 language, formal syntax grammar, normative D3 diagrams, and FAQ - Remove fuzzy match operator:
~=(APPROXIMATELY_EQUAL) removed from the specification and reference implementation; flows using~=now produceFlowParseErrorwith state context
Changed
- Condition operators reduced from 7 to 6:
==,!=,>=,<=,>,< flowr/domain/condition.py: removedAPPROXIMATELY_EQUALenum value,~=from operator prefix map, and approximate comparison logicflowr/domain/loader.py: added_validate_condition_operators()to reject~=in all when-clause forms (inline dict, list-form, named references) withFlowParseError- Specification documents:
flow_definition_spec.md,glossary.md,system.md,product_definition.mdupdated to list exactly 6 operators - ADR_20260426_fuzzy_match_algorithm.md: deprecated with removal notice
- README.md: banner image uses absolute URL for PyPI rendering, guard conditions explicitly list 6 operators, documentation links use absolute URLs
- pyproject.toml: version bumped to 1.0.0, Documentation URL points to spec page, added PyPI classifiers
Removed
~=condition operator (APPROXIMATELY_EQUAL) — no longer a valid operator in the flowr specification- 6 obsolete tests referencing
~=parsing and evaluation
v0.5.0 Fine Sift
Fine Sift — Subflow Transition Overhaul
Highlights
- Subflow exit resolution: exit names now resolve through the parent flow's transition map instead of being used directly as state IDs
- Subflow chaining: atomic exit + re-enter next subflow (e.g., discovery-flow → architecture-flow) without manual state manipulation
- Recursive subflow entry: handles 3-level nesting (main-flow → feature-dev-flow → planning-flow)
- JSON-first output:
--jsonflag replaced with--text; JSON is now the default for all commands nextshows all transitions: includes blocked/guarded transitions with trigger→target mapping, status markers, and condition hints
New Features
states --session— list states in the current (sub)flowvalidate --session— validate the current (sub)flowcheck --session <trigger>— show transition conditions for a trigger (fixed argparse bug)session initauto-enters subflow when first state hasflow:field
Bug Fixes
resolve_subflows().yamlextension fallback for flow references without extension- Stack frame records correct parent state (subflow wrapper, not pre-transition state)
check --session <target>argparse consuming target asflow_file
Full Changelog: v0.4.0...v0.5.0
v0.4.0
v0.3.20260427 - Coarse Grind
v0.3.20260427 - Coarse Grind
"Nothing sifted out — the whole package, included."
Changelog
Fixed
- fix: package build missing subpackages — replaced static
packages = ["flowr"]withsetuptools.packages.findsoflowr.cliandflowr.domainare included in the installed distribution - fix: license deprecation — changed
project.licensefrom TOML table to SPDX string"MIT" - fix: CI verification — updated package install checks to import all submodules (
flowr,flowr.cli,flowr.domain)
SHA: b2504d6
v0.1
Full Changelog: https://github.com/nullhack/flowr/commits/v0.1