Tags give the ability to mark specific points in history as being important
-
2.4.1
5743147b · ·FlowDrop 2.4.1 A rule-conformance patch. The specification registry's rules were read against the code that claims to implement them, and every disagreement was closed: sixteen fixes, no new features, no @api changes. No database update and no config re-export. Seven behaviour changes are documented in UPGRADE.md (2.4.x to 2.4.1) — read them before deploying, since a rule the code was breaking is a rule a graph may have been leaning on.
-
2.3.0-alpha4
93b5515d · ·2.3.0-alpha4 Every side-effecting node type now ships a confirmation policy instead of deriving one from HasSideEffectsInterface. Ungates conversation_buffer, which paused twice per turn in the shipped chat workflow, and converges sites installed fresh on 2.1/2.2 with their upgraded peers. Spec-registry RT-GATE-15.
-
2.3.0-alpha1
4fd47b28 · · -
2.1.0
69a5af0e · ·FlowDrop 2.1.0 First minor of the 2.x line. Adds the human-in-the-loop confirmation gate: side-effecting nodes can require operator approval before executing, on both the graph plane and the tool plane. Approval is argument-bound and consume-once; decline routes down the node's normal error channel and never fails the run. Non-breaking by construction: the fail-closed derived default applies only to node types that have not chosen, and a post-update grandfathers existing undecided side-effecting types to an explicit FALSE — nothing that ran unattended before 2.1.0 pauses after it. No @api surface changes; every class added in this release is @internal, so the 2.0.0 freeze carries forward. Gate at this tag: phpcs, phpstan level 8 (zero production baseline), spec coverage (registry and bindings agree, RT-GATE-1..7 pinned) and the full phpunit-parallel suite (329 classes) green. Playwright e2e NOT run — unchanged editor bundle, same status as the 2.0.0 tag.
-
2.0.0
97cc6fc1 · ·FlowDrop 2.0.0 The 2.x line is stable. The public API is frozen from this tag: all 679 in-scope production classes carry exactly one of @api or @internal, and the BC policy's promise starts here. Known defect, documented in docs/reference/api/bc-policy.md: OrchestratorInterface is @api but is typed entirely in @internal DTOs. Until 3.0.0 resolves it, the DTOs reached from OrchestrationRequest are treated as covered by the @api promise; anyone needing it resolved should open an issue and contact the maintainers. Gate at this tag: phpcs, phpstan level 8 (1066 files, zero production baseline) and the full phpunit-parallel suite (325 classes) green. Playwright e2e NOT run — the bundled editor moved 2.0.0-beta.11 -> 2.0.0 and that path is unverified here.
-
2.0.0-beta1
e8631afa · ·FlowDrop 2.0.0-beta1 The 2.x line moves from alpha to beta. No new features: this release exists because the module did not run on PHP 8.3 -- the floor Drupal 11.3 sets and the version drupal.org CI tests. Fixed: 89 promoted constructor properties across 50 classes were declared readonly beneath Drupal base classes that use DependencySerializationTrait, whose __wakeup() reassigns them on unserialize. PHP below 8.4 forbids initializing a readonly property declared in a child class from the parent's scope, so every such reassignment was a fatal Error. WorkflowExecutionQueueWorker was the sharpest case: Drupal serializes queue items, so fire-and-forget workflow execution could not survive the queue. Immutability on value objects is untouched -- 933 of 1022 readonly declarations are unchanged. Also fixed: five StateGraph port-resolution tests that had kept the phpunit job red since before the alpha15 tag. Changed: the declared PHP floor is 8.3 in composer.json and flowdrop_chat.info.yml. A no-op for existing sites -- any Drupal 11.3 site already satisfies it. Beta, not a release candidate: the @api/@internal boundary that bc-policy.md requires on every class is unfinished, so the public surface is not yet frozen. Treat anything undeclared as internal until it is annotated. Nothing to run on upgrade: no schema updates, no config changes, no behaviour changes to workflows.
-
2.0.0-alpha14
5ecc93a8 · ·FlowDrop 2.0.0-alpha14 A single-fix release, out one day after alpha13 because that release is what broke this. Fixed: a `mixed`/`any` input port refused every structured value at the launch and session-turn doors. `SchemaFragmentChecker::kind()` had no arm for `mixed`/`any`, so a port declaring no constraint at all checked as `string` (`is_scalar()`) and refused arrays and NULL with "expected mixed, got array" — while `ParameterResolver` accepted the same value once the run was under way. `mixed` is the port editor's default `dataType`, so this sat on the default authoring path. No schema updates, no post_update hooks, no configuration changes.