Skip to content

Releases: RevealUIStudio/revealui

create-revealui@0.5.15

Choose a tag to compare

@github-actions github-actions released this 19 Jul 02:15
387d1b0

Patch Changes

  • Updated dependencies [a064e08]
    • @revealui/cli@0.9.2

@revealui/utils@0.3.6

Choose a tag to compare

@github-actions github-actions released this 19 Jul 02:15
387d1b0

Patch Changes

  • Correct the README code samples in these packages so they match the real exported API (for example core's revealui import becomes getRevealUI, and services' stripeClient becomes getStripe/protectedStripe). Documentation only, no source or runtime changes; security's edit is a test corpus README.

@revealui/tokens@0.3.0

Choose a tag to compare

@github-actions github-actions released this 19 Jul 02:15
387d1b0

Minor Changes

  • 5924269: Re-author the Button family as owned RevealUI components (component sovereignty PR-2).

    Breaking (0.x minor): the Button API is now two orthogonal axes styled entirely from --rvui-* design tokens:

    • variant = semantic colour intent: 'brand' | 'neutral' | 'success' | 'warning' | 'danger' (default 'brand')
    • appearance = visual weight: 'solid' | 'outline' | 'ghost' | 'link' (default 'solid')

    The old flat variant values are replaced. Migration:

    • variant="default" / variant="primary" -> variant="brand"
    • variant="secondary" -> variant="neutral"
    • variant="destructive" -> variant="danger"
    • variant="outline" -> appearance="outline" variant="neutral"
    • variant="ghost" -> appearance="ghost" variant="neutral"
    • variant="link" -> appearance="link"

    size, glow, shine, isLoading, asChild are unchanged. LinkButton follows the same two-axis API.

    Export rename: the owned button reclaims the bare Button export. ButtonCVA remains as a deprecated alias for one minor; migrate imports to Button. It will be removed in the next minor.

    Retired: the Catalyst-derived color/outline/plain palette button (button-headless.tsx) is removed. Its internal Dropdown-trigger role is now DropdownTriggerButton (dropdown-trigger.tsx, internal). TouchTarget now lives in _button-shared.

    Behaviour: states use native CSS pseudo-classes; the focus ring is the --ring token (the fixed outline-blue-500 is gone); interaction motion honours prefers-reduced-motion at the CSS level; isLoading now also sets data-loading.

    @revealui/tokens: adds --rvui-text-on-success, --rvui-text-on-warning, and --rvui-success-strong for solid success/warning button ink at verified WCAG AA contrast.

@revealui/sync@0.3.17

Choose a tag to compare

@github-actions github-actions released this 19 Jul 02:15
387d1b0

Patch Changes

  • Updated dependencies [c3c1e8f]
  • Updated dependencies [1385cd6]
  • Updated dependencies [077d3c4]
  • Updated dependencies [578214d]
  • Updated dependencies [1a49590]
    • @revealui/db@0.9.0
    • @revealui/contracts@0.8.0
    • @revealui/cache@0.2.5

@revealui/setup@0.7.0

Choose a tag to compare

@github-actions github-actions released this 19 Jul 02:15
387d1b0

Minor Changes

  • 16b235f: Promote the audit-row signer composition into @revealui/security and add key provisioning + a public-key endpoint (GAP-355 Stage 3).

    • @revealui/security gains createAuditRowSignerFromEnv, resolveAuditPublicKey, and deriveAuditKid (server entry) — the single env→signer→kid derivation shared by every audit writer, re-exported through @revealui/core/security.
    • @revealui/setup generates a per-deployment Ed25519 audit-signing keypair (generateAuditSigningKeypair), writes the private key to the env output, and prints the kid + public key for offline receipt verification. Adds a @revealui/security dependency.
    • A new unauthenticated GET /api/audit/public-key publishes the SPKI public key + kid so a customer can verify an audit-log record offline, without our secret. Unsigned deployments answer an honest 404.

Patch Changes

  • Updated dependencies [16b235f]
  • Updated dependencies [578214d]
  • Updated dependencies [b550aa2]
    • @revealui/security@0.5.0
    • @revealui/config@0.6.0

@revealui/services@0.7.7

Choose a tag to compare

@github-actions github-actions released this 19 Jul 02:15
387d1b0

Patch Changes

  • Updated dependencies [16b235f]
  • Updated dependencies [11ab999]
  • Updated dependencies [83846a2]
  • Updated dependencies [b029d2d]
  • Updated dependencies [c3c1e8f]
  • Updated dependencies [1385cd6]
  • Updated dependencies [077d3c4]
  • Updated dependencies [578214d]
  • Updated dependencies [1a49590]
  • Updated dependencies [6a58057]
    • @revealui/core@0.12.0
    • @revealui/db@0.9.0
    • @revealui/contracts@0.8.0
    • @revealui/config@0.6.0

@revealui/security@0.5.0

Choose a tag to compare

@github-actions github-actions released this 19 Jul 02:15
387d1b0

Minor Changes

  • 16b235f: Promote the audit-row signer composition into @revealui/security and add key provisioning + a public-key endpoint (GAP-355 Stage 3).

    • @revealui/security gains createAuditRowSignerFromEnv, resolveAuditPublicKey, and deriveAuditKid (server entry) — the single env→signer→kid derivation shared by every audit writer, re-exported through @revealui/core/security.
    • @revealui/setup generates a per-deployment Ed25519 audit-signing keypair (generateAuditSigningKeypair), writes the private key to the env output, and prints the kid + public key for offline receipt verification. Adds a @revealui/security dependency.
    • A new unauthenticated GET /api/audit/public-key publishes the SPKI public key + kid so a customer can verify an audit-log record offline, without our secret. Unsigned deployments answer an honest 404.
  • 578214d: Sign every audit-log row at the write door with per-row Ed25519, and retire the legacy HMAC path (GAP-355 Stage 3 PR-2).

    @revealui/db (signer slot): DrizzleAuditStore now takes an optional injected AuditRowSignerFn. When supplied, each append/appendBatch fetches the row's seq from the sequence up front (pg_get_serial_sequence), signs over the full row including that seq, and inserts an explicit seq + signature; when absent, the DB assigns seq and signature stays NULL (dev/test). The package stays crypto-free and security-package-free — the real signer is composed and injected by the consumer. New exports: AuditRowSignable, AuditRowSignerFn. The signature/previousSignature pass-through fields are removed from AuditEntry (the store owns signing now; previous_signature is never written).

    @revealui/security (breaking, 0.x minor): the exported-but-unwired HMAC helpers signAuditEntry / verifyAuditEntry (and the internal SignableFields) are removed. They signed a non-canonical 5-field subset and cannot back an offline-verifiable receipt. Use Ed25519AuditRowSigner + verifyAuditRow (RFC 8785 canonicalization over the full row) instead.

    @revealui/config: REVEALUI_AUDIT_HMAC_SECRET is removed from the env schema and RevealConfig.auditHmacSecret is dropped. Replaced by REVEALUI_AUDIT_SIGNING_KEY (Ed25519 PKCS#8 PEM) + optional REVEALUI_AUDIT_SIGNING_KID. A signing deployment refuses to boot without a valid signing key; there is no REVEALUI_SECRET fallback.

  • b550aa2: audit signing library (GAP-355 Stage 3 PR-1): add canonicalizeJcs (RFC 8785 JSON canonicalization, promoted + hardened from the mcp-audit canonicalizer) to the client-safe barrel, and the per-row Ed25519 signer + verifier to @revealui/security/serverEd25519AuditRowSigner (implements the AuditRowSigner injection interface, emits v1.ed25519.<kid>.<base64url>), verifyEd25519AuditSignature / verifyAuditRow, auditSignableBytes (the shared sign-and-verify byte builder over the integrity-bearing columns incl. sequence/tenant), and classifyAuditSignature. Library only — no caller wired yet (Stage 3 PR-2 injects it at the DrizzleAuditStore door and retires the legacy HMAC).

Patch Changes

  • Updated dependencies [c3c1e8f]
  • Updated dependencies [1a49590]
    • @revealui/contracts@0.8.0

@revealui/router@0.3.11

Choose a tag to compare

@github-actions github-actions released this 19 Jul 02:15
387d1b0

Patch Changes

  • Updated dependencies
    • @revealui/utils@0.3.6

@revealui/presentation@0.12.0

Choose a tag to compare

@github-actions github-actions released this 19 Jul 02:15
387d1b0

Minor Changes

  • 5924269: Re-author the Button family as owned RevealUI components (component sovereignty PR-2).

    Breaking (0.x minor): the Button API is now two orthogonal axes styled entirely from --rvui-* design tokens:

    • variant = semantic colour intent: 'brand' | 'neutral' | 'success' | 'warning' | 'danger' (default 'brand')
    • appearance = visual weight: 'solid' | 'outline' | 'ghost' | 'link' (default 'solid')

    The old flat variant values are replaced. Migration:

    • variant="default" / variant="primary" -> variant="brand"
    • variant="secondary" -> variant="neutral"
    • variant="destructive" -> variant="danger"
    • variant="outline" -> appearance="outline" variant="neutral"
    • variant="ghost" -> appearance="ghost" variant="neutral"
    • variant="link" -> appearance="link"

    size, glow, shine, isLoading, asChild are unchanged. LinkButton follows the same two-axis API.

    Export rename: the owned button reclaims the bare Button export. ButtonCVA remains as a deprecated alias for one minor; migrate imports to Button. It will be removed in the next minor.

    Retired: the Catalyst-derived color/outline/plain palette button (button-headless.tsx) is removed. Its internal Dropdown-trigger role is now DropdownTriggerButton (dropdown-trigger.tsx, internal). TouchTarget now lives in _button-shared.

    Behaviour: states use native CSS pseudo-classes; the focus ring is the --ring token (the fixed outline-blue-500 is gone); interaction motion honours prefers-reduced-motion at the CSS level; isLoading now also sets data-loading.

    @revealui/tokens: adds --rvui-text-on-success, --rvui-text-on-warning, and --rvui-success-strong for solid success/warning button ink at verified WCAG AA contrast.

  • 7c6432f: Export the icon set and provider/social brand marks from the main entry (previously /server-only), and add XIcon (the X, formerly Twitter, mark). Apps can now compose GitHubIcon, XIcon, LinkedInIcon, IconMenu, IconClose, and the rest of the icon set instead of handrolling inline SVGs.

  • 1a49590: Add marketing-shaped section blocks to the canonical block union and a shared, annotatable block renderer.

    @revealui/contracts — three new section-level block types on the canonical BlockSchema union (pages.blocks), each with a create*Block factory:

    • hero{ eyebrow?, title, subtitle?, support?, links? }
    • ctaSection{ heading, body?, links?, snippet? } (snippet is display-only CLI text)
    • section{ eyebrow?, heading, body?, items? }, the generic repeater covering FAQ / demo-beats / cards

    Text fields are plain strings in P1 (no Lexical serialized state). A shared MarketingLinkSchema ({ label, href, variant? }) backs the hero and cta link arrays.

    @revealui/presentation — a new RenderBlocks renderer (server-safe, render-only) that validates each block against BlockSchema and dispatches to per-type components (HeroBlock, CtaSectionBlock, SectionBlock, plus thin renderers for text/heading/quote/list/divider/spacer). Unsupported or invalid blocks render nothing with a dev-only diagnostic.

    Edit-mode annotation contract: when editable and a docId are provided, every text-bearing element carries data-rvui-doc and data-rvui-field (a dot-path into the block array, e.g. blocks.3.title, blocks.3.items.2.body). No data attributes are emitted otherwise.

  • e788ba3: Add an optional animate="print" prop to ReceiptCard. When set, each AuditLine row and the integrity footer play a one-shot CSS entrance stagger (the receipt "prints" itself line by line), and the integrity footer's seal pulses once after its entrance. Pure CSS, no JS timeline. Disabled under prefers-reduced-motion: reduce. Default is unchanged (no animate prop = no visual change).

Patch Changes

  • Updated dependencies [5924269]
  • Updated dependencies [c3c1e8f]
  • Updated dependencies [1a49590]
    • @revealui/tokens@0.3.0
    • @revealui/contracts@0.8.0

@revealui/mcp@0.8.1

Choose a tag to compare

@github-actions github-actions released this 19 Jul 02:15
387d1b0

Patch Changes

  • c3c1e8f: fix the Streamable HTTP bridge so a governed mount works behind body-consuming middleware. createNodeStreamableHttpHandler now accepts an optional pre-parsed body (third argument); a web-framework bridge that has already read Request.body passes it through instead of re-reading the raw Node stream, which arrives empty when upstream middleware has claimed it. Direct Node-server callers are unchanged (the raw-read path still runs when no body is passed).
  • Updated dependencies [16b235f]
  • Updated dependencies [11ab999]
  • Updated dependencies [83846a2]
  • Updated dependencies [b029d2d]
  • Updated dependencies [c3c1e8f]
  • Updated dependencies [1385cd6]
  • Updated dependencies [077d3c4]
  • Updated dependencies [578214d]
  • Updated dependencies [b550aa2]
  • Updated dependencies [1a49590]
  • Updated dependencies [6a58057]
    • @revealui/security@0.5.0
    • @revealui/setup@0.7.0
    • @revealui/core@0.12.0
    • @revealui/db@0.9.0
    • @revealui/contracts@0.8.0
    • @revealui/config@0.6.0
    • @revealui/knowledge-graph@0.1.3