Skip to content

Releases: farcasterxyz/snap

@farcaster/snap@2.6.1

Choose a tag to compare

@github-actions github-actions released this 21 May 21:27
Immutable release. Only release title and notes can be modified.
564b7e4

Patch Changes

  • #192 b06b0ab Thanks @bob-obringer! - Stop clamping v2 text to one line by default.

    Text now renders unclamped when maxLines is omitted in both React and React Native renderers. text.props.maxLines remains the explicit opt-in API for bounding visible lines.

@farcaster/snap@2.6.0

Choose a tag to compare

@github-actions github-actions released this 21 May 20:22
Immutable release. Only release title and notes can be modified.
8b74b86

Minor Changes

  • #189 3cce263 Thanks @bob-obringer! - Add v2 Snap component improvements for height-conscious layouts and richer media.

    This release adds a v2-only paginator component for client-local page navigation. Paginators render one child page at a time, support optional built-in previous/next controls and indicators, support controlsPosition: "top" | "bottom" for placing the built-in pagination bar, support author-controlled transition: "slide" | "fade" | "scale" | "none" page-change animations, and keep the active page entirely in json-render local UI state so paginator movement is never included in POST inputs. Custom controls can bind normal on.press frontend actions with paginator_next, paginator_prev, or paginator_go_to. For this release, a rendered snap supports one paginator, and paginator controls may live anywhere in the same snap.

    Images now support aspect: "4:1" for compact banners, plus optional title and subtitle overlay props. These image overlay props are the intended abstraction for hero-like visuals in this pass; no separate hero component was added.

    The v2 renderers now support more compact vertical layouts: buttons are shorter, default stack spacing and text line height are tighter, and text defaults to one visible line unless maxLines is provided. text.props.maxLines allows longer copy to opt into a bounded number of rendered lines.

    cell_grid now supports cellAspectRatio: "square" plus tokenized maxWidth: "sm" | "md" | "lg" sizing. sm and md render centered constrained square grids for small board-like layouts, while lg and omitted maxWidth preserve the default full-width behavior.

    React Native SnapCard now supports host-controlled expansion with forceExpanded, expandButtonLabel, and onExpandPress. Hosts can keep inline feed embeds clipped at 500px, intercept the collapsed expand button, portal the same snap into an expanded surface, and render it without clipping or Show more / Show less controls. Existing internal Show more / Show less behavior remains the default.

    The docs, llms guidance, catalog descriptions, validation tests, and example snaps were updated to cover paginator behavior, image overlays, compact text/layout rules, and centered square grid sizing.

@farcaster/snap-turso@2.0.14

Choose a tag to compare

@github-actions github-actions released this 21 May 21:27
Immutable release. Only release title and notes can be modified.
564b7e4

Patch Changes

  • Updated dependencies [b06b0ab]:
    • @farcaster/snap@2.6.1

@farcaster/snap-turso@2.0.13

Choose a tag to compare

@github-actions github-actions released this 21 May 20:22
Immutable release. Only release title and notes can be modified.
8b74b86

Patch Changes

  • Updated dependencies [3cce263]:
    • @farcaster/snap@2.6.0

@farcaster/snap-hono@2.1.7

Choose a tag to compare

@github-actions github-actions released this 21 May 21:27
Immutable release. Only release title and notes can be modified.
564b7e4

Patch Changes

  • Updated dependencies [b06b0ab]:
    • @farcaster/snap@2.6.1

@farcaster/snap-hono@2.1.6

Choose a tag to compare

@github-actions github-actions released this 21 May 20:22
Immutable release. Only release title and notes can be modified.
8b74b86

Patch Changes

  • Updated dependencies [3cce263]:
    • @farcaster/snap@2.6.0

@farcaster/snap@2.5.1

Choose a tag to compare

@github-actions github-actions released this 08 May 19:55
Immutable release. Only release title and notes can be modified.
2c98f14

Patch Changes

  • #184 5db6204 Thanks @bob-obringer! - Add cell_grid textColor override

    cell_grid cells now accept an optional textColor field alongside color. textColor accepts the same palette color names and #rrggbb hex values as cell fill colors, and it is intentionally an override only: when textColor is omitted, web and native renderers keep using the existing auto-contrast text color derived from each cell background.

    The React web and React Native cell_grid renderers both resolve textColor through their existing palette/hex color resolvers before falling back to readableTextOnHex for colored cells and the normal theme text color for uncolored cells. This preserves existing snaps while giving games, pixel art, and board UIs a precise per-cell label color control.

    Docs, llms.txt, catalog text, schema validation tests, and a cell-grid-text-color example were added to cover the new catalog surface.

@farcaster/snap-turso@2.0.12

Choose a tag to compare

@github-actions github-actions released this 08 May 19:55
Immutable release. Only release title and notes can be modified.
2c98f14

Patch Changes

  • Updated dependencies [5db6204]:
    • @farcaster/snap@2.5.1

@farcaster/snap-hono@2.1.5

Choose a tag to compare

@github-actions github-actions released this 08 May 19:55
Immutable release. Only release title and notes can be modified.
2c98f14

Patch Changes

  • Updated dependencies [5db6204]:
    • @farcaster/snap@2.5.1

@farcaster/snap@2.5.0

Choose a tag to compare

@github-actions github-actions released this 07 May 14:41
Immutable release. Only release title and notes can be modified.
e56b2f9

Minor Changes

  • #181 efaf84c Thanks @bob-obringer! - Add shadcn-style media support to Snap item rows.

    Items now accept an optional props.media object that renders in a dedicated left-side media slot while existing children continue to render in the right-side actions slot. Icon media uses { variant: "icon", name, color? }; image media uses { variant: "image", url, alt?, round? }, where round: true renders avatar-style circular image media.

    The snap UI catalog now exposes the expanded item schema through itemProps and itemMediaProps, including the new discriminated media contract. The catalog keeps variant limited to "default" and does not add item sizes or media sizes, so clients continue to own the exact rendered dimensions. Catalog validation accepts icon media by name plus optional palette color, accepts image media by url plus optional alt and round, and rejects unsupported media fields.

    The React and React Native renderers now support this item media slot, keep media and trailing actions vertically centered in compact rows, use smaller subtitle text for item descriptions, and remove horizontal row padding for plain lists while preserving modest inset for bordered item groups. Image media URLs are validated with the same HTTPS and loopback development rules as regular image elements.

    This also adds a runnable examples/item-media app with real image media examples and updates the 2.0 item documentation and machine-readable guidance.

  • #183 511528e Thanks @bob-obringer! - Add cellAspectRatio support to cell_grid.

    cell_grid now accepts cellAspectRatio: "square" to keep each cell square as snap width changes, while preserving the existing rowHeight behavior by default. This makes board-style snaps such as Minesweeper render with stable cell geometry across client widths.

    The React, React Native, static HTML, and OG image renderers now honor square grid cells. The 2.0 docs, agent-facing skill text, and llms.txt reference material document the new option, and a focused cell-grid-square example app exercises the behavior in the emulator.

  • #178 96ad223 Thanks @bob-obringer! - Infer button-only stack and toggle group orientation from visible label content in the React and React Native components. The components render horizontally only when total visible label text fits these limits: 2 controls <= 20 chars, 3 controls <= 15 chars, 4 controls <= 11 chars, and 5 controls <= 8 chars. Six controls, or any button/toggle set over its limit, renders vertically.

    Button-only stacks now default to the sm gap when gap is omitted, regardless of whether the content resolves horizontal or vertical. Horizontal button-only stacks use content-proportional widths by default, and equalWidth: true can be set on a horizontal stack to force equal-width children.