Releases: RevealUIStudio/revealui
Release list
@revealui/presentation@0.12.1
Patch Changes
- 86780ad: Fix
RenderBlocksemittingdata-rvui-fieldpaths one segment short of the real draft structure (e.g.blocks.0.titleinstead ofblocks.0.data.title). Every block component reads its fields fromblock.data.*, so a path stopping at the block index landed an edit-session patch as a sibling ofdatainstead of inside it — silently corrupting the block's data on write, both in the session draft and (on publish) the live page. Attributes only appear in edit mode (editable+docId), so this does not affect any non-edit-mode rendering or visual output. - Updated dependencies [86780ad]
- @revealui/contracts@0.8.1
@revealui/mcp@0.8.3
@revealui/knowledge-graph@0.1.5
@revealui/harnesses@0.11.0
Minor Changes
-
b65c739: Delete the zero-consumer coordination-daemon twin per GAP-421's DELETE train
(audit step 8, daemon-ownership ADR 2026-07-25):goals/,server/rpc-server.ts,
server/spawner-service.ts,server/shared-memory-client.ts,coordinator.ts,
andcoordination/(3,002 source LOC + 1,211 test LOC), plus thestartand
coordinate --initCLI subcommands that were the only thing constructing the
now-deletedHarnessCoordinator. The RevDev daemon owns the coordination
runtime and the harness socket; this package keeps the CLI, content
definitions, and./gates. The published./goalssubpath export is removed
— a breaking change for any external importer, hence the minor bump inside 0.x.server/http-gateway.tsstays (it is ported into the RevDev daemon separately);
itsRpcServertype import is replaced with a minimal localRpcDispatch
structural interface covering its one real usage (dispatchHttp), plus
GatewayStoreandSpawnerLikestructural interfaces covering itsDaemonStore
andSpawnerServicecouplings the same way, so the module keeps compiling
without those two also-deleted types.storage/andconfig/were in the ADR's DELETE list but are NOT deleted here:
storage/backsserver/__tests__/http-gateway.test.ts's real (non-mocked)
security test suite (GAP-353 auth flow), andconfig/is a real production
dependency ofadapters/cursor-adapter.tsandadapters/opencode-adapter.ts
(both staying, INCUBATE). Both are consumers the ADR's routing did not account
for; deleting either would have required rewriting or gutting working code/tests
outside this train's scope, so they were left in place and reported instead. -
ec8b2dc: Remove the
./protocolsubpath export. It was mapped inpackage.jsonbut never listed intsup.config.ts, sodist/protocol/never existed and the export 404'd (ERR_MODULE_NOT_FOUND) for anyone who tried it. GAP-421's routing audit found zero consumers of the subpath fleet-wide; protocol types, schemas, and factories remain available via the root@revealui/harnessesexport, which already re-exports them.
Patch Changes
- @revealui/core@0.12.2
@revealui/editor@0.2.1
Patch Changes
- 86780ad: Land canvas defaults for a fresh edit session: resolve a published page (
homethenproductsthen first) when no dirty docs exist, so the preview iframe is not stuck on bare/. ExportpickDefaultPreviewPageIdfor the preference order. - 86780ad: VES P2 slice: gate fleet-marketing session patches with marketing-voice Tier-1 validation, extend prose slots for contracts block shapes, and add blocks.insert/remove/move ops on the session API plus canvas block chrome.
- Updated dependencies [86780ad]
- Updated dependencies [86780ad]
- @revealui/presentation@0.12.1
- @revealui/contracts@0.8.1
@revealui/db@0.10.0
Minor Changes
- fb3315c: Close the audit env-parity fail-open (GAP-417 item 5):
@revealui/dbnow exportshasDatabaseConnectionEnv(), a boot-time predicate that matchesgetClient()'s connection resolution exactly (config url, then POSTGRES_URL / DATABASE_URL), andassertAuditStorageEnvconsumes it instead of a local triple that also acceptedDATABASE_HOST— an env shapegetClient()never consults, which let the assert pass, the install throw, and production silently keep the in-memory audit sink. - 94d1714: GAP-417 both rails (owner-countersigned): the audit path has no escape hatch into unsigned production rows.
assertAuditStorageEnvrefuses a production boot without the signing key regardless ofSKIP_ENV_VALIDATION;DrizzleAuditStore.append/appendBatchrefuse to land an unsigned row whenNODE_ENV=production; and the signer composition normalizes single-line\n-escaped PEMs soenv_filetransports (RevForge kits) can carry the key.
@revealui/core@0.12.2
@revealui/contracts@0.8.1
Patch Changes
- 86780ad: VES P2 slice: gate fleet-marketing session patches with marketing-voice Tier-1 validation, extend prose slots for contracts block shapes, and add blocks.insert/remove/move ops on the session API plus canvas block chrome.
@revealui/cli@0.9.4
Patch Changes
- @revealui/setup@0.7.2
@revealui/auth@0.5.0
Minor Changes
- 50b9b4b: Add the shared audit storage boundary (
DrizzleBackedAuditStorage,installAuditStorage,assertAuditStorageEnv,auditStorageSelfTest,createAuditStore,getAuditRowSigner,mapSeverityToDb) at the dedicated subpath@revealui/auth/audit-storage, moved from apps/server so the admin process can install persistent, signed audit storage at boot. The boundary is deliberately not re-exported from the@revealui/auth/serverbarrel: route tests bare-mock that barrel forgetSession, and a bare mock must never swallow the audit write path. Fixes the defect where every admin-process audit emit (including login receipts) landed in the default in-memory store and evaporated on restart (GAP-338). - fb3315c: Close the audit env-parity fail-open (GAP-417 item 5):
@revealui/dbnow exportshasDatabaseConnectionEnv(), a boot-time predicate that matchesgetClient()'s connection resolution exactly (config url, then POSTGRES_URL / DATABASE_URL), andassertAuditStorageEnvconsumes it instead of a local triple that also acceptedDATABASE_HOST— an env shapegetClient()never consults, which let the assert pass, the install throw, and production silently keep the in-memory audit sink. - 94d1714: GAP-417 both rails (owner-countersigned): the audit path has no escape hatch into unsigned production rows.
assertAuditStorageEnvrefuses a production boot without the signing key regardless ofSKIP_ENV_VALIDATION;DrizzleAuditStore.append/appendBatchrefuse to land an unsigned row whenNODE_ENV=production; and the signer composition normalizes single-line\n-escaped PEMs soenv_filetransports (RevForge kits) can carry the key.