Skip to content

Releases: Perspective-AI/perspective

@perspective-ai/sdk@1.13.1

Choose a tag to compare

@github-actions github-actions released this 08 Jul 14:18
Immutable release. Only release title and notes can be modified.
677ec68

Patch Changes

  • a0af14d: Change the float launcher's default icon from a microphone to lucide's AudioLines icon for the voice and voice+text channels.

@perspective-ai/sdk-react@1.13.1

Choose a tag to compare

@github-actions github-actions released this 08 Jul 14:18
Immutable release. Only release title and notes can be modified.
677ec68

Patch Changes

  • Updated dependencies [a0af14d]
    • @perspective-ai/sdk@1.13.1

@perspective-ai/sdk@1.13.0

Choose a tag to compare

@github-actions github-actions released this 07 Jul 13:31
Immutable release. Only release title and notes can be modified.
a72e00e

Minor Changes

  • dc8254c: Add teaser config to control the float welcome teaser: enabled turns the whole welcome sequence (teaser bubble, chime, notification dot) on or off, delay sets when the teaser appears (ms, default 3000), and sound mutes the chime. Available programmatically (createFloatBubble, FloatBubble, useFloatBubble), via data attributes (data-perspective-teaser, data-perspective-teaser-delay, data-perspective-teaser-sound), and via API embedSettings.teaser (which takes precedence). Disabling the teaser through update() or late-arriving API config cancels a pending or visible teaser.

@perspective-ai/sdk-react@1.13.0

Choose a tag to compare

@github-actions github-actions released this 07 Jul 13:31
Immutable release. Only release title and notes can be modified.
a72e00e

Minor Changes

  • dc8254c: Add teaser config to control the float welcome teaser: enabled turns the whole welcome sequence (teaser bubble, chime, notification dot) on or off, delay sets when the teaser appears (ms, default 3000), and sound mutes the chime. Available programmatically (createFloatBubble, FloatBubble, useFloatBubble), via data attributes (data-perspective-teaser, data-perspective-teaser-delay, data-perspective-teaser-sound), and via API embedSettings.teaser (which takes precedence). Disabling the teaser through update() or late-arriving API config cancels a pending or visible teaser.

Patch Changes

  • Updated dependencies [dc8254c]
    • @perspective-ai/sdk@1.13.0

@perspective-ai/sdk@1.12.0

Choose a tag to compare

@github-actions github-actions released this 01 Jul 14:40
Immutable release. Only release title and notes can be modified.
6ea7f38

Minor Changes

  • d2f7626: Slider, popup, and float now hand their close (X) button to the interview app.

    The app renders its own X (it emits perspective:close when clicked), placed
    within its own header so it no longer overlaps the app's top-right UI such as
    the participant avatar or the menu. The SDK now only draws a temporary X
    over the loading skeleton and removes it the moment the interview becomes
    visible, so there's never a double or overlapping X.

    • The perspective:init handshake now sends renderCloseButton (true unless
      disableClose is set) for slider, popup, and float. widget/fullpage have
      no X and don't send it.
    • The legacy hasCloseButton init flag is retired — the SDK no longer emits it.
      It remains on the InitMessage type as @deprecated because the app may still
      receive it from older deployed SDK clients.
    • Backdrop-click and Escape close handlers are unchanged; float's launcher bubble
      still closes the window. disableClose continues to suppress the X entirely.

@perspective-ai/sdk-react@1.12.0

Choose a tag to compare

@github-actions github-actions released this 01 Jul 14:39
Immutable release. Only release title and notes can be modified.
6ea7f38

Patch Changes

  • Updated dependencies [d2f7626]
    • @perspective-ai/sdk@1.12.0

@perspective-ai/sdk@1.11.0

Choose a tag to compare

@github-actions github-actions released this 29 Jun 13:01
Immutable release. Only release title and notes can be modified.
1c2c8cb

Minor Changes

  • 7a592f7: Widget: polished default appearance with a non-breaking, fully overridable
    frame.

    A bare inline widget (<div data-perspective-widget> / <Widget /> with no
    container sizing) now renders as a centered, framed card — border, rounded
    corners, soft shadow, a comfortable height, and a sensible max-width — so it
    looks finished with zero CSS. Previously it was an unstyled, full-bleed iframe
    that looked awkward on wide pages.

    Backward compatible: when the host has sized the container (a height, flex,
    height: 100%, etc.), the widget keeps filling it edge to edge with no framing,
    exactly as before.

    New frame config object (also a <Widget frame={…} /> prop) controls the
    inline widget's layout and appearance:

    • layout: "card" | "fill" — force a mode regardless of detection ("fill"
      restores the full-width behaviour; omit to auto-detect).
    • maxWidth, minHeight, radius, border, shadow, background — each
      maps to a --perspective-widget-* CSS custom property the card reads, so the
      same knob is reachable from the frame object, a stylesheet, or inline
      style. Because the SDK only reads these vars, an override wins at any
      specificity and isn't clobbered by global resets.

    Script-tag users get the same control declaratively via a packed
    data-perspective-frame attribute, mirroring data-perspective-brand:
    data-perspective-frame="layout=fill,radius=4px,shadow=none,bg=#fff".

@perspective-ai/sdk-react@1.11.0

Choose a tag to compare

@github-actions github-actions released this 29 Jun 13:01
Immutable release. Only release title and notes can be modified.
1c2c8cb

Minor Changes

  • 7a592f7: Widget: polished default appearance with a non-breaking, fully overridable
    frame.

    A bare inline widget (<div data-perspective-widget> / <Widget /> with no
    container sizing) now renders as a centered, framed card — border, rounded
    corners, soft shadow, a comfortable height, and a sensible max-width — so it
    looks finished with zero CSS. Previously it was an unstyled, full-bleed iframe
    that looked awkward on wide pages.

    Backward compatible: when the host has sized the container (a height, flex,
    height: 100%, etc.), the widget keeps filling it edge to edge with no framing,
    exactly as before.

    New frame config object (also a <Widget frame={…} /> prop) controls the
    inline widget's layout and appearance:

    • layout: "card" | "fill" — force a mode regardless of detection ("fill"
      restores the full-width behaviour; omit to auto-detect).
    • maxWidth, minHeight, radius, border, shadow, background — each
      maps to a --perspective-widget-* CSS custom property the card reads, so the
      same knob is reachable from the frame object, a stylesheet, or inline
      style. Because the SDK only reads these vars, an override wins at any
      specificity and isn't clobbered by global resets.

    Script-tag users get the same control declaratively via a packed
    data-perspective-frame attribute, mirroring data-perspective-brand:
    data-perspective-frame="layout=fill,radius=4px,shadow=none,bg=#fff".

Patch Changes

  • Updated dependencies [7a592f7]
    • @perspective-ai/sdk@1.11.0

@perspective-ai/sdk@1.10.0

Choose a tag to compare

@github-actions github-actions released this 24 Jun 12:27
Immutable release. Only release title and notes can be modified.
f450345

Minor Changes

  • 83eab2c: Trim brand color overrides to primary + bg only

    The interview app no longer honors the secondary and text brand overrides and has rescoped bg, so the SDK no longer advertises or forwards them.

    • BrandColors now centers on primary and bg. The SDK no longer forwards secondary or text to the iframe.
      • primary themes buttons, the progress bar, links, the mic, and focus rings.
      • bg paints the interview background behind the card, shown only when no background scene is set.
      • secondary and text remain on the type as @deprecated no-ops so existing TypeScript consumers don't break; they're ignored at runtime.

    This is non-breaking: the app gracefully ignores unknown brand.* params and already-deployed embeds keep working. Passing secondary/text is simply a no-op going forward.

    Also: SDK chrome that paints a brand color now derives a contrasting foreground from that color's WCAG luminance, so light brand colors no longer produce unreadable white-on-light content. This applies to the popup/slider trigger button text, the float launcher icon (both previously hard-coded to white), and the loading skeleton shimmer/border palette (now chosen from the actual brand.bg luminance rather than the theme, so a dark brand.bg under a light theme still shows visible shimmer). Each falls back to the previous behavior when the color isn't a parseable hex.

@perspective-ai/sdk-react@1.10.0

Choose a tag to compare

@github-actions github-actions released this 24 Jun 12:27
Immutable release. Only release title and notes can be modified.
f450345

Minor Changes

  • 83eab2c: Trim brand color overrides to primary + bg only

    The interview app no longer honors the secondary and text brand overrides and has rescoped bg, so the SDK no longer advertises or forwards them.

    • BrandColors now centers on primary and bg. The SDK no longer forwards secondary or text to the iframe.
      • primary themes buttons, the progress bar, links, the mic, and focus rings.
      • bg paints the interview background behind the card, shown only when no background scene is set.
      • secondary and text remain on the type as @deprecated no-ops so existing TypeScript consumers don't break; they're ignored at runtime.

    This is non-breaking: the app gracefully ignores unknown brand.* params and already-deployed embeds keep working. Passing secondary/text is simply a no-op going forward.

    Also: SDK chrome that paints a brand color now derives a contrasting foreground from that color's WCAG luminance, so light brand colors no longer produce unreadable white-on-light content. This applies to the popup/slider trigger button text, the float launcher icon (both previously hard-coded to white), and the loading skeleton shimmer/border palette (now chosen from the actual brand.bg luminance rather than the theme, so a dark brand.bg under a light theme still shows visible shimmer). Each falls back to the previous behavior when the color isn't a parseable hex.

Patch Changes

  • Updated dependencies [83eab2c]
    • @perspective-ai/sdk@1.10.0