Skip to content

Releases: pulseengine/rivet

Rivet v0.19.0

24 Jun 05:34
v0.19.0
a251fbd

Choose a tag to compare

What's Changed

  • fix(wasm): rivet-core --features wasm test build compiles (#543) by @avrabe in #569
  • fix(yaml): parse plain multi-line scalars as sequence items (#570) by @avrabe in #572
  • feat(coverage): combined V-closure metric — satisfied AND verified (REQ-228) by @avrabe in #571
  • chore(release): v0.19.0 — measure the V by @avrabe in #575

Full Changelog: v0.18.0...v0.19.0

Rivet v0.18.0

23 Jun 17:52
v0.18.0
950f0ae

Choose a tag to compare

What's Changed

  • feat(schema): requirement-verification rule — close the right side of the V (#555) by @avrabe in #561
  • ci(release): make VSIX Marketplace publish non-blocking so npm publish isn't skipped by @avrabe in #560
  • fix(schema): load bundled bridge schemas by name in a consumer's schemas: list (#530) by @avrabe in #558
  • fix(add): create a default file for a new artifact type instead of forcing --file (#552) by @avrabe in #562
  • feat(schema): per-type status enum overrides the global lifecycle (#550) by @avrabe in #563
  • feat(schema): cited-source usable on any type incl. verification (#556) by @avrabe in #565
  • feat(cli): rivet verify advances to verified on verifying evidence (#559) by @avrabe in #566
  • chore(release): v0.18.0 — close the right side of the V by @avrabe in #568

Full Changelog: v0.17.0...v0.18.0

Rivet v0.17.0

19 Jun 19:45
v0.17.0
d648ce4

Choose a tag to compare

What's Changed

  • fix(next-id): honor IDs claimed in git history, never reissue a burned ID (#479) by @avrabe in #531
  • docs(npm): first-class npm/npx install path + sync stale package versions by @avrabe in #533
  • feat(cli): minimal --no-default-features build (excludes serve+MCP+LSP stack) — REQ-202 / #456 by @avrabe in #534
  • ci: move mutants-cli off lean-mem to rust-cpu (#523) by @avrabe in #526
  • fix(schema): restore accepted to canonical status enum (#522) by @avrabe in #525
  • feat(init): --vendor-schemas pins built-in schemas on-disk against upgrades (#431) by @avrabe in #537
  • fix(deps): bump wasmtime 43 → 44.0.3 for RUSTSEC-2026-0182 (unblocks all PRs) by @avrabe in #542
  • feat(check): add rivet check docs oracle with --format json + --strict (#540) by @avrabe in #541
  • fix(variants): skip feature-model binding files in load_variant_configs_from_dir (#532) by @avrabe in #539
  • ci: runner-liveness alert for the self-hosted pool (#509 slice 1) by @avrabe in #536
  • fix(cli): JSON error envelope on parse failure under --format json (#500) by @avrabe in #535
  • release(v0.17.0): bump version + CHANGELOG by @avrabe in #545

Full Changelog: v0.16.1...v0.17.0

Rivet v0.16.1

14 Jun 08:20
b3bec52

Choose a tag to compare

What's Changed

  • ci: CI reliability — Miri timeout headroom + Verus on ubuntu-latest (v0.17.0, #509) by @avrabe in #520
  • ci(miri): parallelize with cargo-nextest so Miri uses the cores (not 45 min on one) by @avrabe in #521
  • fix(cli): next-id/add hard-fail on a parse-broken source (REQ-216, #518) by @avrabe in #527
  • fix(variant): check --variant accepts the form init scaffolds (REQ-217, #514) by @avrabe in #528
  • release(v0.16.1): #514 + #518 fixes (gale unblock) by @avrabe in #529

Full Changelog: v0.16.0...v0.16.1

Rivet v0.16.0

09 Jun 22:02
23b2495

Choose a tag to compare

What's Changed

  • fix(matrix): hint the correct --direction on an all-empty matrix (REQ-152) by @avrabe in #401
  • fix(impact): load --since baseline via the canonical loader (REQ-153, #403) by @avrabe in #404
  • fix(list,stats): loudly report sources skipped by parse errors (REQ-154, #353) by @avrabe in #405
  • fix(validate): suppress prose-mention warning when no link type can connect the types (REQ-155, #353) by @avrabe in #407
  • feat(validate): add coverage-rule-consistency schema check (REQ-148, #350) by @avrabe in #409
  • refactor(validate): single chokepoint for schema-level consistency checks (REQ-156, #410) by @avrabe in #411
  • fix(validate): emit the per-file parse-error skip WARN once, not twice (REQ-157, #406) by @avrabe in #412
  • feat(validate,add): near-duplicate-intent detection (REQ-158, #397) by @avrabe in #413
  • fix(add): deterministic near-duplicate note + correct REQ-158 self-count (#397) by @avrabe in #414
  • feat(store): deterministic iter_sorted() + document iter() nondeterminism (REQ-159, #415) by @avrabe in #416
  • fix(query,export,migrate): deterministic order over the HashMap-backed store (REQ-160, #415) by @avrabe in #417
  • feat(validate): --structural gates on integrity only, via Diagnostic::is_structural() (REQ-161, #408) by @avrabe in #418
  • ci(compliance): forward version-switcher + back-link inputs to the report action (REQ-163, #420) by @avrabe in #421
  • chore(git): union-merge driver for CHANGELOG to cut parallel-PR conflicts (REQ-164, #422) by @avrabe in #423
  • feat(schema): declare canonical status lifecycle in common.yaml (REQ-162, #352, #355) by @avrabe in #419
  • fix(aspice): verification gates accept forward target status (REQ-165, #355 Finding 2) by @avrabe in #424
  • feat(matrix): infer direction + link when --direction omitted (REQ-166, #402) by @avrabe in #425
  • feat(cli): add rivet trace <id> + deterministic explain ordering (REQ-167, #426) by @avrabe in #427
  • feat(bundle): --incoming follows backlinks so sinks bundle their realizers (REQ-168, #428) by @avrabe in #429
  • feat(externals): rivet sync refuses to clobber uncommitted git-external edits (REQ-169) by @avrabe in #432
  • feat(externals): surface un-synced externals so cycle/backlink checks aren't silently incomplete (REQ-170) by @avrabe in #434
  • fix(playwright): bound graph E2E node count so dataset growth doesn't trip render budget (REQ-171) by @avrabe in #435
  • fix(serve): preserve active variant scope when filtering/searching (REQ-172, #430) by @avrabe in #437
  • fix(externals): ignore only .rivet/repos/ cache, not the whole .rivet/ dir (REQ-173, #433) by @avrabe in #439
  • test(serve): /graph tests retry on status==0 to stop flapping on unrelated PRs (REQ-175) by @avrabe in #441
  • ci(hooks): pre-commit also runs cargo fmt --check on staged Rust (REQ-174, #438) by @avrabe in #440
  • feat(schema): rivet schema info reports on-disk vs embedded source (REQ-176, #431) by @avrabe in #442
  • feat(schema): add rivet schema sources — on-disk vs embedded resolution (REQ-177, #431) by @avrabe in #443
  • docs(artifacts): file REQ-178 — coverage-gap diagnostics should name the intermediate chain (#350) by @avrabe in #444
  • feat(validate): --explain names which backlink source types can attach directly (REQ-178, #350) by @avrabe in #445
  • docs(artifacts): realize shipped dogfood REQs with feature artifacts (coverage 27.9%→31.8%) by @avrabe in #446
  • feat(cli): rivet next-id accepts a positional type/prefix shorthand (REQ-179, #447) by @avrabe in #448
  • docs(agents): surface rivet next-id in generated agent guidance (REQ-180, #447) by @avrabe in #449
  • fix(export): escape backslashes in zola TOML front matter + gate it (REQ-181, #392) by @avrabe in #450
  • fix(export): actionable error when a single-file format gets a directory --output (REQ-182) by @avrabe in #451
  • fix(reqif): title-less artifacts stay re-importable via id LONG-NAME fallback (REQ-183) by @avrabe in #452
  • feat(cli): add import as a visible alias for import-results (REQ-184, #453) by @avrabe in #454
  • fix(lsp): resolve cross-repo external links so VSIX doesn't flag them broken (REQ-185) by @avrabe in #455
  • plan: REQ-186 — CLI minimal-build feature (validate without serve+MCP+LSP) by @avrabe in #457
  • feat(cli): rivet query accepts s-expression as a positional shorthand (REQ-187) by @avrabe in #458
  • feat(cli): positional link/unlink target + accurate init/modify help (REQ-188) by @avrabe in #459
  • feat(cli): query --format json carries command envelope + ships query-output schema (REQ-189) by @avrabe in #460
  • fix(query): execute_sexpr returns deterministic (id-sorted) matches (REQ-190, #415) by @avrabe in #461
  • fix(links): orphans() returns id-sorted output for deterministic stats/validate (REQ-191, #415) by @avrabe in #462
  • feat(cli): commits --format json carries the command envelope field (REQ-192) by @avrabe in #463
  • fix(embed): {{query:...}} embed renders rows id-sorted for reproducible docs (REQ-193, #415) by @avrabe in #464
  • feat(cli): snapshot diff accepts the baseline path positionally (REQ-194) by @avrabe in #465
  • feat(cli): variant subcommands accept a bare --variant (REQ-195, #466) by @avrabe in #467
  • fix(export): honest AADL fallback in static HTML, no perpetual Loading (REQ-196, #468) by @avrabe in #469
  • fix(serve/docs): honest AADL/WASM-unavailable guidance, not broken tooling (REQ-197, #468) by @avrabe in #470
  • fix(mutate): rivet add emits valid YAML for multi-line/special-char fields (REQ-198) by @avrabe in #471
  • fix(mutate): serialize nested (list/map) field values as structures, not strings (REQ-199) by @avrabe in #472
  • fix(export): honest AADL fallback in the REAL html export path (REQ-200, #468) by @avrabe in #473
  • ci: key main concurrency group per-sha so main runs stay conclusive (#436) by @avrabe in #481
  • fix(tools/intro-video): make the video pipeline actually produce a video by @avrabe in #480
  • chore: ignore recorded/generated video repo-wide (mp4/webm/mov/mkv/m4v) by @avrabe in #486
  • docs(agents): document the parallel-PR conflict-avoidance policy (#422) by @avrabe in #489
  • fix(export): node-budget the single-page graph render so it can't hang (REQ-201) by @avrabe in #474
  • docs(agents): "Before You Push (Rust)" guidance + REQ-202 (minimal build) — issues #438, #456 by @avrabe in #475
  • feat(add): rivet add stamps AI provenance at creation (REQ-203, closes #476) by @avrabe in #477
  • fix(serve,lsp): sort the 2 remaining nondeterministic store.iter() output sites (REQ-204, #415) by @avrabe in #478
  • feat(validate+schema): surface schema set name@version + source everywhere (#431, closes #484) by @avrabe in #483
  • ci: warn when a schema changes without a version bump (REQ-206, closes #485) by @avrabe in #487
  • test(playwright): lift node budget in variant-scoping graph invariant (#436) by @avrabe in #491
  • feat(serve): presentation/clean mode for recordings (REQ-207, closes #482) by @avrabe in #492
  • ci(nextest): retry flaky tests so one serve-test race doesn't red main (closes #493) by @avrabe in #494
  • ci(proptest): upload failing seeds so extended proptest reds are reproducible (closes #495) by @avrabe in #496
  • feat(tools/intro-video): record dashboard in presentation mode (clean frames) by @avrabe in https:...
Read more

Rivet v0.15.0

02 Jun 16:02
930e531

Choose a tag to compare

What's Changed

  • fix(coverage): relabel per-rule totals so they don't read as artifact counts (REQ-110/111) by @avrabe in #348
  • fix(validate,coverage): required-backlink matches inverse-name convention + honours alternate-backlinks by @avrabe in #351
  • docs(artifacts): file REQ-132..134 from issue #350 (sw-req implement friction) by @avrabe in #356
  • chore: untrack .claude/scheduled_tasks.lock (committed by accident) by @avrabe in #362
  • docs(artifacts): file REQ-135 (status enum) + REQ-136 (modify ergonomics) by @avrabe in #361
  • docs(artifacts): mark merged features implemented + re-file REQ-131 by @avrabe in #363
  • feat(get,list): expose incoming links (what links to an artifact) (#358) by @avrabe in #364
  • feat(modify): wire --set-description flag + clearer usage (#359, #360) by @avrabe in #365
  • feat(validate): --min-severity display filter to cut advisory noise (#357) by @avrabe in #366
  • docs(artifacts): mark REQ-136 implemented by @avrabe in #367
  • fix(export): drop the localhost oEmbed discovery tag from static export (REQ-117) by @avrabe in #368
  • docs(REQ-135): record base_fields root cause of the status-enum gap by @avrabe in #369
  • feat(validate): retain base-fields + enforce status enum when declared (REQ-135) by @avrabe in #370
  • feat(modify,add): reject a status outside the declared enum (REQ-135, #354) by @avrabe in #371
  • feat(validate): --explain — per-artifact traceability explanation (REQ-125) by @avrabe in #372
  • feat(list): --orphans — list artifacts disconnected from the graph (REQ-128) by @avrabe in #373
  • fix(reqif): directory import fails loudly on a corrupt file (REQ-120, F2) by @avrabe in #374
  • fix(reqif): import fails on an unresolved ENUM-VALUE-REF (REQ-119, F2) by @avrabe in #375
  • fix(reqif): import fails on a title-less SPEC-OBJECT (REQ-123, F2) by @avrabe in #376
  • fix(export): Zola links survive a sub-directory deploy (REQ-115/116/118) by @avrabe in #377
  • fix(load): silence skip-WARN for legitimate non-artifact YAML (REQ-139) by @avrabe in #379
  • feat(modify): --where for query-driven bulk modify (REQ-141) by @avrabe in #380
  • fix(modify): correct s-expr syntax in --where help examples (REQ-141) by @avrabe in #382
  • fix(sexpr): show field-equality example in filter parse error (REQ-142, #381) by @avrabe in #383
  • fix(externals): resolve refs with a hyphenated (kebab) prefix (REQ-143) by @avrabe in #384
  • fix(source-view): match artifact ids as whole tokens, not substrings (REQ-144) by @avrabe in #387
  • feat(junit): honor a rivet_tc_id testcase property as the artifact id (REQ-145) by @avrabe in #388
  • test(serve): stabilize graph_type_filter flake with a 15s budget (#389) by @avrabe in #390
  • feat(scripts): Zola export build smoke check (REQ-138, #378) by @avrabe in #391
  • fix(validate): salsa path evaluates status-gate validation-rules (REQ-146, #355) by @avrabe in #393
  • fix(validate): coverage diagnostics name the link + satisfier types (REQ-147, #350) by @avrabe in #394
  • docs(schemas): recipe for extending a built-in artifact type with project fields (REQ-149, #350) by @avrabe in #395
  • chore(artifacts): dogfood REQ audit — flip REQ-134, reconcile REQ-149 duplicate, file REQ-150 by @avrabe in #396
  • feat(list): --rank-by-backlinks — rank artifacts by inbound-link count (REQ-128) by @avrabe in #398
  • feat(cli): global -q/--quiet flag to suppress the WARN log preamble (REQ-151, #353) by @avrabe in #399
  • release(v0.15.0): sub-directory-safe exports + agent-ergonomic CLI by @avrabe in #400

Full Changelog: v0.14.0...v0.15.0

Rivet v0.14.0

31 May 08:26
v0.14.0
cb670c8

Choose a tag to compare

What's Changed

  • feat(tools): re-generatable intro-video infrastructure (tools/intro-video/) by @avrabe in #339
  • docs(req-105): consolidate the 3 HTML-export asset gaps + serve image-rewrite tests by @avrabe in #337
  • ci(release-npm): preflight npm-auth check (loud-fail on bad/expired token) by @avrabe in #342
  • docs(roadmap): file REQ-093..101 + 10-persona review design doc (supersedes #326) by @avrabe in #341
  • feat(validate): agent-actionable diagnostic remediation (REQ-124) by @avrabe in #345
  • feat(export): HTML export self-contained — relative links + bundled JS + copied images (REQ-105) by @avrabe in #343
  • docs(artifacts): file REQ-125..128 — gbrain-derived deterministic-armor backlog by @avrabe in #346
  • docs(artifacts): file 14 oracle-verified bug-hunt findings (REQ-110..123) + REQ-109 decision by @avrabe in #344
  • release(v0.14.0): agent-actionable validation + self-contained export by @avrabe in #347

Full Changelog: v0.13.3...v0.14.0

Rivet v0.13.3

29 May 18:42
v0.13.3
1b085ca

Choose a tag to compare

What's Changed

  • fix(serve): variant scope uses binding embedded in the variant file (REQ-106) by @avrabe in #335
  • fix(serve): external artifact links route to the artifact detail (REQ-108, item 1) by @avrabe in #336
  • fix(serve): render sequence/mapping field values structurally, not Rust Debug (REQ-107) by @avrabe in #338
  • release(v0.13.3): serve dashboard correctness (REQ-106 / REQ-107 / REQ-108) by @avrabe in #340

Full Changelog: v0.13.2...v0.13.3

Rivet v0.13.2

28 May 20:00
v0.13.2
0d5c308

Choose a tag to compare

What's Changed

  • release(v0.13.2): ReqIF interchange completeness + export polish by @avrabe in #334

Full Changelog: v0.13.1...v0.13.2

Rivet v0.13.1

27 May 17:59
v0.13.1
1ebd25e

Choose a tag to compare

What's Changed

  • fix(bazel): pin rules_wasm_component via git_override (Rocq Proofs unblocker) by @avrabe in #328
  • fix(ci): Rocq Proofs job — use cachix Nix installer (match working synth pattern) by @avrabe in #332
  • fix(yaml): rowan parser handles flush-left block sequences + links loud-fail (REQ-091, v0.13.1) by @avrabe in #329
  • chore(deps): bump spar pin 84a7363 → v0.10.0 tag by @avrabe in #327
  • chore(release): align release pipeline with synth reference (SBOM + SLSA + build-env) by @avrabe in #330
  • test(serve): stabilize test_reload_yaml_error flake (status==0 → retry) by @avrabe in #331
  • release(v0.13.1): silent-failure closeout + release-pipeline standardization by @avrabe in #333

Full Changelog: v0.13.0...v0.13.1