diff --git a/CHANGELOG.md b/CHANGELOG.md index 509d8b2da9..9302e15021 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,20 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [Unreleased] +## [0.43.1] - 2026-05-03 + +### Fixed +- fix(link-daintree): fan-out fallback logic no longer silently drops presets when no vanilla provider has a matching `provider` field — the family gate is now correctly bypassed when the inferred family doesn't match any vanilla slot, falling back to all candidates sorted by daintree_preset_id then numeric suffix + +## [0.43.0] - 2026-05-02 + +### Changed +- refactor(install): manifest-driven CLI detection — `providers.json` now shipped empty and populated at install time from `~/.claude.json` MCP servers and PATH auto-detection + +### Fixed +- fix(formal): resolve merge conflict markers in `.planning/formal/` JSON files that caused `extract-annotations.cjs` to fail with JSON parse errors +- fix(formal): give `max_retries` a safe default value in `oauth-rotation.pm` — PRISM requires all constants to be defined + ## [0.43.0-rc.1] - 2026-04-23 — next prerelease ### Changed diff --git a/commands/nf/link-daintree.md b/commands/nf/link-daintree.md index 92cb7b29d4..5702100b2d 100644 --- a/commands/nf/link-daintree.md +++ b/commands/nf/link-daintree.md @@ -482,7 +482,7 @@ function inferFamily(envObj) { function findVanilla(agentName, family) { const candidates = providersData.providers.filter(p => p.mainTool === agentName); const familyMatch = family ? candidates.filter(p => p.provider === family) : candidates; - const pool = familyMatch.length ? familyMatch : (family ? [] : candidates); + const pool = familyMatch.length ? familyMatch : candidates; // Prefer provider without daintree_preset_id, then lowest numeric suffix pool.sort((a, b) => { const aIsClone = !!a.daintree_preset_id; diff --git a/docs/assets/terminal.svg b/docs/assets/terminal.svg index 2f61a2433b..b7913a8504 100644 --- a/docs/assets/terminal.svg +++ b/docs/assets/terminal.svg @@ -80,7 +80,7 @@ - nForma — Consensus before code. Proof before production. v0.43.0-rc.1 + nForma — Consensus before code. Proof before production. v0.43.0 Built on GSD-CC by TÂCHES. The task of leadership is to create an alignment of strengths so strong that it makes the system’s weaknesses irrelevant. diff --git a/package-lock.json b/package-lock.json index d4f2a0a748..cbbfd7df17 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@nforma.ai/nforma", - "version": "0.43.0-rc.1", + "version": "0.43.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@nforma.ai/nforma", - "version": "0.43.0-rc.1", + "version": "0.43.0", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index d5d1b8da1a..cd103c7f23 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@nforma.ai/nforma", - "version": "0.43.0-rc.1", + "version": "0.43.0", "description": "nForma — Multi-agent coding orchestrator with quorum consensus and formal verification (TLA+, Alloy, PRISM). Consensus before code, proof before production.", "bin": { "nforma": "bin/nforma-cli.js",