v0.4.3
π Fixed
- Site search client matches fumadocs 16.14's ZBSearch move: use
staticClient(no custom@orama/oramainit). Fresh installs were failingnext buildtypecheck underuseTypeScriptCli.
changelog
Written down before it is announced. The page is generated from changelog.md in the repo.
staticClient (no custom @orama/orama init). Fresh installs were failing next build typecheck under useTypeScriptCli.bun run bump updates package/jsr "version" fields in place so oxfmt compact arrays in jsr.json are not rewritten into multi-line form (which failed fmt:check after the v0.4.1 cut).next build with TypeScript 7: enable experimental.useTypeScriptCli so Next runs the project-local tsc instead of the removed JS compiler API, and point it at tsconfig.build.json so Bun *.test.ts files stay out of the production typecheck.Redacted<T> β a plain value wrapper for secrets at the value level. fx.vault now returns Redacted<string>: printing, logging, or JSON serialization yields a fixed placeholder, never the real value; .reveal() is the one explicit unwrap, called once at the credential boundary (drivers unchanged β they take plain strings at boot). fx.log (all levels) deep-masks any Redacted found anywhere in the logged data, nested included, on top of the existing boot-registered substring scrub. Orthogonal to effect tracking β the Manifest still records secret _names_.fx.using(acquire, release, use) β scoped resource cleanup that completes the structured-concurrency surface. release runs exactly once when use settles or when the ambient abort signal fires (a sibling fx.race winner or failing fx.all branch), reusing the Prompt-57 ALS signal rather than a second cancellation channel. Process-local only β not journaled, and not for handles held across durable park/resume.oke-deps agent skill β scoped dependency updates (one package, one package.json, or all) with Bun + ncu, pin/alias guards, and install verification. Documented under Skills; linked from AGENTS.md.meilisearch as an opt-in fourth store.index driver β full-text, typo-tolerant, faceted search as a genuinely different capability from the vector ANN drivers (memory / pgvector / libsql). IndexStore is now a discriminated union on driverId, so TypeScript rejects a vector query against a text index (and vice versa) at compile time, never at runtime. Local mode spawns a meilisearch binary from PATH with a generated master key under .oke/meilisearch/; docker/prod uses a getmeili/meilisearch image recipe. Not the default β memory stays the default and meilisearch is wired explicitly per env.fx / Vault / Console / official plugins already close. Ambition stated plainly; pre-1.0 maturity kept honest.--sql postgres / pgTable wording and template examples). Prose-density gate now covers get-started/.fx β Manifest β eight elements β ten exports with a real Quick start; Why OKE replaces the mega-table with seam-by-seam sections (cache, glue, secrets, observability, permissions, localβ prod) plus ambition/maturity.FlowShape, ManifestPipeline, Features, Vocabulary), Why OKE (DriftBoard, CollapseBoard), Installation (Surfaces, DevModes), Basic Usage (Surfaces, FlowShape, ClientLoop). Custom FlowShape / DevModes / ClientLoop / DriftBoard / CollapseBoard plus landing reuse registered in the docs MDX map.DriftBoard visual shows one change propagating two ways β hand-maintained copies scatter versions and stay scattered, Manifest derivations flip in sync β replacing the two duplicate pins/features tables with one summary table.VaultBootError), Flow triggers fire in turn into one Flow, Signal cards run once/broadcast/live delivery demos, Clock ticks a metronome vs a cron dial, a send travels Channel's consentβlocaleβfallbackβreceipts, and fx.ask is checked against each AI guardrail with verdicts. All driven by a shared deterministic beat clock (useTick + BeatPing in components/docs/reveal.tsx), hydration-safe, reduced-motion-aware (static snapshots), and toned in each element's canonical ink.CollapseBoard β a compact docs-side telling of the integration curve (Why OKE), replacing the 955px landing stepper in the article. The same 40 concerns on one ring twice: zoo mesh (136 seams) beside the hub collapse (48 edges), with the change feed costing one live change in both shapes (up to 15 seams re-checked vs always 2 edges). The full CollapseDiagram stays on the landing page.oxc-parser / @oxc-project/types to 0.142, vite to 8.2, Playwright to 1.62.1, plus patch updates for DuckDB, CodeMirror, React types, and @vitejs/plugin-react.16.14 / MDX 15.2.1, Next to 16.2.12, cnfast to 0.1, TypeScript to 7, plus patch/minor updates for lucide, framer-motion, postcss, and React types.git grep gate keeps those names out of the tree.infisical vault driver (vault-infisical / infisicalVaultDriver) β drop the unused SaaS-shaped secrets backend. Vault drivers that remain: env Β· openbao Β· managed Β· memory.layoutId morph (which fought the brand-cell width spring) with a single measured bar that only animates x / width.bump-version --dry-run rehearses cleanly right after a release: an empty ## Unreleased now prints a note instead of failing (real bumps still refuse to cut an empty release), so the publish gate stays green in the post-release window.