Skip to main content
Version: Javascript tag

Changelog

v0.54.1 β€” 2026-09-03​

πŸ› Bug fixes​

  • Survey "link" answer buttons opened inside a native app webview now wait for the answer to be recorded before leaving, and open reliably instead of silently failing to open a new tab (a known limitation of target="_blank" inside app webviews). Behavior outside of webviews is unchanged.
  • Fixed dropdown menus in the in-context editor (action type, target, campaign selectors, targeting rule fields, checklist conditions, and various sidebar style pickers) opening behind sibling buttons and choices instead of on top of them.
  • Fixed the action count badge on a choice showing "1 actions" instead of "1 action".
  • Fixed the custom beacon visual upload tile not clearing after a successful upload, which made it hard to tell you could upload another image.

⚑ Improvements​

  • Resized the custom beacon visual upload tile in the picker to match the size of the built-in stickers.

v0.54.0 β€” 2026-09-03​

πŸš€ New features​

  • Custom beacon visuals: upload your own image for in-app message beacons instead of picking from the built-in sticker set, with an optional tint and a shadow toggle to match your brand. Uploaded visuals can also be deleted from the picker library.
  • The "Start survey/message" action now has a "Force restart" option, letting it close an already-open response for the targeted campaign and start a fresh one instead of leaving it untouched.

πŸ› Bug fixes​

  • Fixed the scroll indicator on long multiple-choice lists overlapping the Next button in full-page survey mode.
  • Fixed multiple-choice buttons losing their centered alignment in full-page survey mode.
  • Fixed scrolled choice bubbles showing a hard-cropped edge under the sticky navigation bar in full-page survey mode.
  • Fixed the scroll indicator never appearing in full-page survey mode even when there were more choices to scroll to.
  • Fixed the question label scrolling out of view together with a long choices list in full-page survey mode; only the choices list scrolls now.
  • Fixed the disabled Next button's validation hint appearing on simple hover and being hidden behind the arrow icon; it now shows reliably on click, positioned above the arrow.
  • Fixed the disabled Next button growing in size whenever its validation hint appeared.
  • Fixed "Start survey/message" actions with "Force restart" enabled silently failing to restart a survey that was already displayed.

v0.53.0 β€” 2026-09-01​

πŸš€ New features​

  • IAM beacons can now have contextual actions (navigate, track event, set property, etc.), triggered when the visitor clicks the beacon's sticker β€” configurable from a new "Actions" section in the beacon step editor.
  • The "Start a campaign" action is now "Start a survey/message": pick the campaign type explicitly and choose the target from a searchable list of your surveys/messages, instead of pasting a raw campaign ID.

πŸ› Bug fixes​

  • Fixed a "Start a campaign" action failing to launch when it targeted an in-app message instead of a survey.
  • Fixed campaigns picked before this update sometimes appearing unselected when reopening the action editor.

v0.52.3 β€” 2026-08-31​

πŸ› Bug fixes​

  • Fixed bold text (e.g. <strong>, markdown bold) rendering at regular weight in surveys when the visitor already had the font family installed locally.

v0.52.2 β€” 2026-08-31​

πŸ› Bug fixes​

  • Fixed the "Next" button not appearing for input questions even when the "Display a 'Next' button" option was enabled in the builder.
  • Fixed the "Next" button becoming unreachable on link-distributed surveys when a long list of multiple-choice answers made the card content scroll β€” it now stays pinned in view.

v0.52.1 β€” 2026-08-31​

πŸ› Bug fixes​

  • Fixed a required input question sometimes letting a survey advance to the next step even though no valid answer had been entered; the click is now fully blocked until a valid value is provided.
  • Fixed the "answer required" hint on the Next button disappearing later than it should, or reappearing incorrectly after an answer was submitted.

⚑ Improvements​

  • Multiple-choice answer lists on link-distributed surveys now grow to use the available page space instead of being capped at a fixed height with an internal scrollbar.

v0.52.0 β€” 2026-08-28​

πŸš€ New features​

  • The tag can now run under a Content Security Policy with no 'unsafe-inline' at all (neither for scripts nor styles), with a new security-requirements guide documenting exactly what each CSP directive needs to allow.
  • Added a no-inline-script install method: add data-channel-id to the loader <script> tag instead of calling init() from an inline script.

πŸ› Bug fixes​

  • Fixed the editor's emoji picker firing hundreds of requests per second when it encountered an emoji with no matching image asset.
  • Fixed recolored and keycap emoji rendering as blank under a strict CSP (their styling was being silently dropped).
  • Fixed several edge cases in the new attribute-based install: the documented window.$screeb stub pattern now works correctly, the loader can no longer be confused by an injected page element sharing its id, and a page's own manual init() call could previously be silently duplicated/ignored.

⚑ Improvements​

  • Upgraded emoji artwork to Twemoji 17.0.3, fixing around 289 emoji that previously failed to render and adding every emoji introduced since Unicode 15 to the editor's picker.
  • The editor's emoji picker now loads its emoji list from Screeb's own servers instead of a third-party CDN, so it works out of the box under a locked-down connect-src CSP.

v0.51.2 β€” 2026-08-27​

πŸ› Bug fixes​

  • Closed several ways the editor/inspector session could be hijacked or its credentials leaked: editor mode can no longer be forced onto a customer page by a crafted link (the token from a link is now validated the same way as a stored one, and a rejected token clears itself instead of re-arming on the next page load); cross-frame messages can no longer be spoofed to impersonate the admin app or another part of the tag; and the mobile SDK webview page no longer allows an arbitrary script origin to be loaded via its host parameter.
  • Fixed a security issue where a crafted host page URL could break out of the tag's iframe boot script and execute arbitrary code in the customer's origin.
  • Error and crash reports sent to Screeb's logging backend are now scrubbed of PII and sensitive data (page query strings/fragments, request bodies, headers, and response contents), matching the redaction already applied to on-device error logs.

v0.51.1 β€” 2026-08-26​

πŸ› Bug fixes​

  • Rating scale, scoring, and slider questions now describe the meaning of their scale endpoints (e.g. "1 = hard, 5 = easy") to screen readers, not just the numeric position β€” fixing announcements on every scoring surface, including the in-app editor preview.
  • Fixed a security issue where a crafted link in a survey or message could execute arbitrary script when opened, including via middle-click, instead of navigating to the intended URL. This closes the sink for every clickable link across surveys, messages, and the in-app editor/inspector.
  • Fixed a security issue where inspector commands reachable from the page's public tag API could be used to read another respondent's event history and identity properties using the admin's inspector credentials. These commands now only work when triggered from the inspector itself.
  • Fixed a security issue where the admin's editor/inspector session token was exposed on the page's global scope and readable by any script on the host page when native browser storage was unavailable or restricted.

v0.51.0 β€” 2026-08-25​

πŸš€ New features​

  • Session replay: choose which console levels are recorded β€” assert, error, and warn as before, with info now available as an opt-in β€” via checkboxes next to the existing "Enable console" toggle.
  • Smoother popover repositioning inside mobile SDK webviews: surveys and messages that track a moving target (scrolling, resizing, in-app animations) now glide into place instead of visibly snapping between frames.

πŸ› Bug fixes​

  • Fixed a security issue where, if the page hosting the tag was itself embedded in another site's frame, session recordings could be sent to that outer frame instead of Screeb. Pages that were legitimately embedded and were silently producing empty recordings now record correctly again.
  • Fixed a security issue in the "set element attribute" contextual survey action that allowed arbitrary script execution on the customer's page (e.g. via onclick, onerror, or srcdoc values). Ordinary attributes and real URLs continue to work exactly as before.
  • Hardened SVG rendering in surveys and messages against XSS: malicious markup hidden on child elements or placed after the visible SVG is now rejected instead of being rendered.
  • Fixed a security issue where the calendar booking button's URL could be crafted to execute arbitrary script instead of loading a real booking page.
  • Fixed the in-app editor and element inspector appearing unstyled on sites with a strict Content Security Policy β€” their styles now load as proper stylesheets instead of being blocked as inline styles.

v0.50.0 β€” 2026-08-24​

πŸš€ New features​

  • New "inactivity" targeting rule: trigger a survey or in-app message after a configurable period (10s–3600s) with no visitor interaction on the page or screen. It's available as a trigger option in the wizard, alongside delay and exit intent.
  • Exit intent is now detected across desktop web, mobile web, and native iOS/Android apps, instead of desktop web only. Detection adapts automatically to the device: mouse movement toward the browser edge on desktop, a scroll-flick gesture on mobile, and screen-leave signals in native apps.

v0.49.0 β€” 2026-08-24​

πŸ› Bug fixes​

  • Fixed a case where a host Content Security Policy blocking our stylesheet would silently stop all surveys, in-app messages, and feedback buttons from rendering, even though tracking and targeting kept working. The tag now falls back to alternate ways of applying its styles so widgets still render, and logs a clear error naming the fix (adding the tag origin to style-src) when a fallback is used.

v0.48.2 β€” 2026-08-21​

πŸ› Bug fixes​

  • Fixed a silent failure where a host Content Security Policy blocking the widget stylesheet would stop all surveys, in-app messages, and feedback buttons from rendering, while tracking and targeting kept working normally with no error surfaced anywhere. This is now reported as an error.
  • The integration health inspector now checks the CSP directive that actually matters for widget rendering (style-src) instead of an outdated font directive the tag no longer needs, and reports it as the top-priority check since its failure blocks everything a respondent sees.

⚑ Improvements​

  • Removed the tag's last two uses of inline styles, so integrations can adopt a stricter Content Security Policy without style-src 'unsafe-inline' and still have widgets, fonts, and the editor's emoji picker render correctly.

v0.48.1 β€” 2026-08-20​

πŸ› Bug fixes​

  • Fixed session replay anonymization silently having no effect for sessions recorded from native iOS/Android apps, even when enabled in channel settings.
  • Fixed native mobile session replay recordings sometimes opening on a blank screen for the first moment before any content appeared.

v0.48.0 β€” 2026-08-20​

πŸ› Bug fixes​

  • Fixed the tag hanging or failing to boot when the host page was itself embedded in another cross-origin frame, or when the core script was blocked by CSP, an ad blocker, or a CDN outage β€” these cases now fail fast with a reported error instead of leaving $screeb() calls stuck forever.
  • Fixed a false "boot failed" error on slow connections β€” only bundles that actually fail to load or never start are now reported as failures.
  • Fixed session recording crashing instead of gracefully skipping when the host page is cross-origin and unreadable.
  • Fixed emoji images failing to render in session replay recordings due to a cross-origin canvas error.
  • Fixed a bug where a single failing event handler (e.g. an undeliverable survey answer) could permanently stop all further events β€” tracking, targeting, widget lifecycle β€” from being processed.
  • Fixed survey answers getting stuck instead of failing promptly when the realtime connection couldn't be established (now gives up after 30 seconds instead of retrying for up to 6 hours).
  • Fixed the tag crashing instead of falling back to in-memory storage for identified visitors when browser storage access is blocked (e.g. strict privacy settings).
  • Fixed surveys rendering unstyled or not at all on pages with a strict style-src CSP policy, and removed a duplicate stylesheet/script request that could occur in some cases.
  • Fixed custom fonts failing to load in most browsers β€” together with the styling fix above, surveys no longer need 'unsafe-inline' in style-src or blob: in font-src.

⚑ Improvements​

  • When a targeting rule (scroll position, DOM element, etc.) can't be evaluated because the tag can't read the host page's content, a clear one-time console warning now explains why, instead of the survey just silently not appearing.

v0.47.2 β€” 2026-08-13​

πŸ› Bug fixes​

  • Fixed screenshot/photo attachments not being submitted on iOS: the file picker input could be garbage-collected while the native photo picker was still open, so the survey never received the picked (or cancelled) image. Photo attachments now work reliably on iOS.

v0.47.1 β€” 2026-08-13​

Fix internal tests.

v0.45.1 β€” 2026-08-13​

πŸš€ New features​

  • The debug inspector now shows a "Closing" section for each survey/message, revealing whether it uses Follow, No Follow, or Custom closing rules, whether it will Hide or Close, and live pass/fail status for each rule β€” making it much easier to understand and troubleshoot why a survey or message stays visible or disappears.

v0.45.0 β€” 2026-08-12​

πŸš€ New features​

  • Added configurable closing rules for surveys and in-app messages: choose Follow Mode (default, keeps redisplaying), No Follow (stop once a targeting condition no longer matches), or Custom rules (close only once your chosen conditions are all met).
  • Closing rules now support a Hide or Close action, controlling whether a closed survey/message can still reappear later in the session or is dismissed permanently everywhere.

πŸ› Bug fixes​

  • Fixed in-app messages spamming the console with "already running" errors and failing to reappear after a page reload.

v0.44.2 β€” 2026-08-11​

πŸ› Bug fixes​

  • Fixed an unwanted focus ring flashing on a modal in-app message's close button when it appeared; focus now lands on the dialog itself, and keyboard navigation (Tab, Escape) works correctly from the first keystroke.
  • Fixed the feedback button's rating scores getting hidden behind tall host page headers on hover instead of appearing on top; also corrected the vertical spacing around the rating buttons.

v0.44.1 β€” 2026-08-11​

πŸ› Bug fixes​

  • Security: closed an XSS vector where a crafted message could smuggle a javascript:/data: URL into a "navigate" call-to-action (in-page navigation and open-in-new-tab), which could otherwise execute attacker-controlled script in the visitor's browser. All navigation targets are now consistently sanitized before use.
  • Security: fixed postMessage origin validation on the host page trusting a URL query parameter that could be set by anyone linking to the page, which could let an attacker spoof a trusted origin and trigger contextual actions on your site. The tag now only honors that parameter within its own sandboxed iframes, never on the top-level host page.

v0.44.0 β€” 2026-08-07​

πŸš€ New features​

  • The in-app message builder is now platform-aware: it knows which formats, CTA actions, blocks, and design settings work on web, iOS, Android, Flutter, and React Native, and warns or disables the ones that won't work on your chosen targets before you publish.
  • Structural message editing (adding/removing/reordering steps, and drag-to-reorder or inline insertion of blocks) now happens in the tag editor. Messages can also be edited live from inside a mobile app via QR code / deep link, with the web builder automatically syncing changes saved from the phone.

πŸ› Bug fixes​

  • Fixed "navigate" CTA actions (including "open in new tab") doing nothing inside the iOS/Android app webviews; they now correctly hand off to the device's browser or app.
  • Fixed copy-to-clipboard CTA actions silently failing outside Chrome, and properly disabled (with a clear warning) where the native app can't support clipboard access at all.
  • Fixed CTA navigation being silently dropped on older Android WebViews due to an outdated URL-validation check.
  • Fixed localized (per-language) CTA content occasionally failing to fire.
  • Fixed full-height sidebar/modal messages being clipped by mobile browser chrome, notches, or home indicators, and made corner rounding/shadows render consistently between iOS and Android.
  • Fixed floating messages (popovers, banners) rendering under the device notch or home indicator; a configurable extra offset is now available too.
  • Fixed accidental deletion of message blocks on touch devices β€” a block's edit/delete controls now only appear after it's explicitly selected.
  • Fixed banner corner rounding and safe-area padding being wrong at some sizes and placements.
  • Fixed the editor's markdown toolbar squeezing its buttons on narrow panels; overflowing tools now collapse into a menu instead.
  • Fixed the editor leaving a phantom gap in the widget after being closed.

⚑ Improvements​

  • The editor now flags unsupported CTA actions, targeting conditions, and design settings with "Web only" / "Mobile only" tags right in the picker, so you can see platform restrictions before configuring them, not just after.

v0.43.3 β€” 2026-08-07​

No user-visible changes in this release.

v0.43.2 β€” 2026-08-07​

πŸ› Bug fixes​

  • Fixed a bug where a running survey or in-app message response (e.g. a persistent feedback button) could stay open even after the condition that triggered it was no longer true. Responses tied to an element appearing/disappearing on the page or to scroll position now correctly close when those conditions change back.

v0.43.1 β€” 2026-08-07​

No user-visible changes in this release.

v0.43.0 β€” 2026-08-05​

πŸ› Bug fixes​

  • Fixed scroll-depth percentages on heatmaps that could show more than 100% on pages taller than about two screens; depth is now measured against the actual page height everywhere it's displayed.
  • Fixed the "lowest scroll depth" page insight sometimes highlighting the wrong page by comparing scroll depths without accounting for differences in page length.
  • Fixed scroll-depth tracking carrying over the previous page's height after an in-app (SPA) navigation, which could under-report scroll depth on the new page.

v0.42.3 β€” 2026-08-04​

πŸ› Bug fixes​

  • Fixed colored emojis (used in survey and message text) rendering incorrectly or losing their color tint in Safari.

v0.42.2 β€” 2026-07-30​

πŸ› Bug fixes​

  • Fixed surveys and in-app messages targeted by DOM element presence not being correctly re-evaluated on page/state changes, alongside existing URL and screen targeting rules.

v0.42.1 β€” 2026-07-30​

πŸ› Bug fixes​

  • Fixed end card text appearing shifted and clipped (with an unclickable Close button) when a survey's final "end" card briefly rendered while a leave animation was in progress.

v0.42.0 β€” 2026-07-30​

πŸš€ New features​

  • The webview bridge used by native SDKs (iOS/Android/Flutter/React Native) now supports pinning the tag to a specific released version instead of always loading the latest build.

πŸ› Bug fixes​

  • Fixed the media attach picker not reopening when picking the same source (e.g. "file") twice in a row, which could leave the attach button stuck unresponsive after the app returned from background.

v0.41.1 β€” 2026-07-30​

πŸ› Bug fixes​

  • Fixed the hidden webview widget container being exposed to screen readers, ensuring it's properly ignored by assistive technology until visible.

v0.41.0 β€” 2026-07-29​

πŸ› Bug fixes​

  • Fixed rating and Likert scale questions showing an unwanted horizontal scrollbar on desktop and tablet embeds (in-page, email, and link widgets). These now only scroll horizontally on real mobile devices; on desktop/tablet, compressed scales (e.g. NPS) wrap to fit instead.

v0.40.3 β€” 2026-07-28​

πŸ› Bug fixes​

  • Fixed an issue where a survey or in-app message that appeared on its own could steal keyboard focus and show an unwanted focus outline on page load. Focus is now only moved automatically for modal widgets, and closing a widget no longer resets focus unless it actually took it. (#2229)

v0.40.2 β€” 2026-07-27​

πŸ› Bug fixes​

  • Fixed a remaining case where the visual survey editor's dialog window didn't resize correctly when switching between fullscreen and minimized modes.

v0.40.1 β€” 2026-07-27​

πŸ› Bug fixes​

  • Fixed the "Insert variable" picker for survey contextual actions: it's now available on every applicable field (navigate URL, set value, copy to clipboard, custom event detail, set attribute value, track event properties, not just one), and no longer appears invisible, gets clipped, or closes itself before you can click it.
  • Fixed number input fields in the survey editor rendering visibly larger than neighboring text fields.
  • Fixed dialog and window sizing/centering issues in the visual survey editor when switching between fullscreen and minimized modes.

v0.40.0 β€” 2026-07-24​

⚑ Improvements​

  • Modal and embedded in-app messages can now use a configurable stacking order (z-index), so they no longer always render above every other element on the page. Centered modals with an overlay always keep the maximum stacking order to guarantee they stay visible; modals and messages inserted in-flow via embed_selector can be positioned relative to surrounding page content instead.

v0.39.7 β€” 2026-07-23​

⚑ Improvements​

  • Events sent in quick succession (e.g. session start, page view, identify, and track calls firing together) are now batched into a single network request instead of one per event, reducing network overhead. Buffered events are also flushed immediately when the page is hidden or unloaded, so nothing is lost during navigation.

v0.39.6 β€” 2026-07-23​

πŸ› Bug fixes​

  • Fixed the "add block" dialog in the visual editor getting pushed off-screen and clipped in narrower or offset embed containers β€” it now reliably centers within the actual visible viewport. (#2178)

v0.39.5 β€” 2026-07-23​

What's Changed​

  • fix(builder): keep add-block popover inside viewport when step is left.

v0.39.4 β€” 2026-07-21​

πŸ› Bug fixes​

  • Fixed calendar embeds (e.g. Microsoft Bookings) on narrow mobile screens where part of the calendar was cut off and couldn't be reached by touch scrolling. The calendar now scrolls horizontally as needed so all days and time slots stay reachable on small devices. (#2160)

v0.39.3 β€” 2026-07-20​

πŸ› Bug fixes​

  • Fixed the "Set value of" contextual action so that {variable} placeholders typed into its value field are now properly resolved against the visitor's properties before being sent, matching how variables already worked in labels. A variable picker was also added to the value field so you can insert available variables directly instead of typing them by hand. (#2159)

v0.39.2 β€” 2026-07-17​

πŸ› Bug fixes​

  • Fixed surveys that end with an app store rating step preceded by a text step: the review prompt now reliably shows up, and the preceding thank-you/text message now renders correctly as the closing card instead of leaving the widget blank. (#2135)

v0.39.1 β€” 2026-07-17​

πŸ› Bug fixes​

  • Fixed a bug where embedding the Screeb tag in a cross-origin iframe could throw errors during session recording, in some browsers (e.g. Firefox). The tag now safely falls back instead of breaking. (#2122)

v0.38.1 β€” 2026-07-16​

πŸ› Bug fixes​

  • Fixed an issue where a survey consisting only of an App Store rating prompt would silently fail to trigger the rating dialog and related integration events for a first-time visitor. (#2115)

v0.38.0 β€” 2026-07-16​

⚑ Improvements​

  • In the in-app message editor, picking an element with a CSS selector that matches zero or multiple elements on the page no longer blocks you with an error. Instead you get a warning explaining the issue, with the choice to edit the selector or continue anyway. (#2110)

v0.37.4 β€” 2026-07-15​

πŸ› Bug fixes​

  • Fixed compatibility detection so the tag never requires unsafe-eval in a page's Content Security Policy. Sites with strict CSP rules (which previously could be pushed onto the legacy bundle, or blocked entirely) now get the same modern/legacy routing as every other page. (#2108)

v0.37.3 β€” 2026-07-15​

πŸ› Bug fixes​

  • Fixed an issue where calling identify() on a visitor who already had an active anonymous session could create a duplicate respondent instead of attaching the identity to the existing one. Identifying a visitor now preserves their prior anonymous history and does not consume extra MTU. (#1811)

v0.37.2 β€” 2026-07-15​

πŸ› Bug fixes​

  • Fixed an in-app message issue where confirming a step (via the CTA button or by clicking the highlighted host element) could sometimes skip the next step entirely, silently swallowing its actions like navigation. Steps now only advance from the interaction the visitor actually performed.
  • Fixed a rare case where an answer could be lost if a survey CTA navigated to a new page immediately after answering, which could leave the conversation stuck on an already-completed step.
  • Corrected the German translation for the skip button, which now reads "Überspringen" instead of the previous, less natural wording.

v0.37.1 β€” 2026-07-14​

πŸš€ New features​

  • Added onRecordingStarted and onRecordingStopped lifecycle hooks, so integrations can react when session recording begins or ends. Works the same way as the existing onReady hook, providing channel and user info, and is available across all supported SDK wrappers (JS, browser, React, Angular, Vue, Svelte, Ionic).

πŸ› Bug fixes​

  • Fixed a bug where the tag could leak internal helper variables onto the host page's global scope (window), which could silently break customer scripts that happened to declare a global with the same name β€” and vice versa. The tag no longer defines any global variables.

v0.37.0 β€” 2026-07-13​

No user-visible changes in this release.

v0.36.2 β€” 2026-07-10​

No user-visible changes in this release.

v0.36.1 β€” 2026-07-09​

πŸ› Bug fixes​

  • Fixed crashes on older browsers and pinned Android WebViews (Chromium versions below 97) that support JavaScript modules but not all the modern APIs the tag relies on. These engines are now automatically served the legacy, fully-compatible bundle instead of the modern one, restoring survey and in-app message delivery on affected devices.

v0.36.0 β€” 2026-07-09​

πŸ› Bug fixes​

  • Fixed the step sidebar allowing the single step of a Conversation Starter to be removed or duplicated, which left the builder unable to add a new step back. The Remove/Duplicate actions are now disabled for Conversation Starters, with an explanatory tooltip, while other survey types keep full step management.

v0.35.4 β€” 2026-07-08​

πŸ› Bug fixes​

  • Fixed surveys and in-app messages that could stay permanently invisible in mobile webview integrations when the host app sized the webview late (e.g. certain Android WebView races) β€” the tag now detects this and automatically repositions and redisplays widgets once the webview is properly sized (#2043).
  • Fixed the tag getting permanently stuck with no widgets or targeting when a stale, expired, or malformed editor-mode session was left behind β€” it now recovers automatically on the next load (#2046).
  • Fixed unrecoverable boot failures being silent: calls to $screeb() no longer hang forever if the tag fails to start β€” they now fail immediately with a clear error (#2046).

v0.35.3 β€” 2026-07-08​

πŸ› Bug fixes​

  • Fixed the French "previous question" button label, which read "Retour" (easily confused with closing the survey) and now reads "PrΓ©cΓ©dent".
  • Fixed persistent feedback-button widgets (surveys that stay visible unanswered until the visitor engages) that could remain permanently empty and never show a question after being displayed.

v0.35.2 β€” 2026-07-07​

πŸ› Bug fixes​

  • Fixed an issue on mobile apps (React Native/Expo, Flutter) where surveys could stop appearing entirely after an over-the-air update or hot restart, until the app was fully restarted. This fix is applied server-side and requires no SDK update.

v0.35.1 β€” 2026-07-07​

πŸ› Bug fixes​

  • Choice, score, Likert, and tips buttons no longer show a focus highlight on mouse clicks or when a step auto-focuses them β€” the highlight now only appears during keyboard navigation. (#2037)
  • In the editor preview, the "take me there" navigation prompt no longer appears when running inside a mobile app's webview, so the preview stays put instead of breaking the native app's in-app browser. (#2036)

v0.35.0 β€” 2026-07-07​

πŸš€ New features​

  • Rating (NPS/CSAT/CES/NES) and Likert questions can now disable the mobile horizontal scroll, matching the option already available on multiple-choice questions. Creators can force a wrapped/grid layout instead of a scrollable row. Existing surveys keep the current scrolling behavior unless changed. (#2021)

πŸ› Bug fixes​

  • The record-audio icon in the response input now uses the same outline style as the send and attachment icons for a more consistent look. (#2022)
  • Fixed the scoring legend floating over the middle of the row instead of staying anchored above the last button when scrolling on mobile in conversational surveys. (#2021)

⚑ Improvements​

  • Redesigned the compressed rating layout on cards: scores now render as a full-width grid of rounded buttons that wraps neatly on narrow screens, replacing the old segmented bar that could clip on desktop. Tap targets are larger and legends stay aligned with their buttons. (#2021)

v0.34.3 β€” 2026-07-06​

πŸš€ New features​

  • New audience sampling targeting rule: show a survey or in-app message to only a chosen percentage of otherwise-eligible visitors, with a stable per-visitor result that persists across reloads. (#2004)

πŸ› Bug fixes​

  • Fixed the in-app message preview in the visual editor getting stuck on top of a block editing dialog after picking a DOM element on the page. (#2028)

⚑ Improvements​

  • Surveys and messages triggered by CDP events (Amplitude, Segment, Rudderstack) now use adaptive, server-driven polling: the tag checks targeting more frequently while a match is imminent and automatically backs off otherwise, reducing unnecessary requests while keeping triggers responsive. (#2023)

v0.34.2 β€” 2026-07-03​

πŸ› Bug fixes​

  • Fixed a bug where a single-choice button configured to navigate within the same single-page app (in-page-spa) would incorrectly open a new browser tab instead of navigating in place, and would skip firing the onButtonNavigate* hooks. (#2013)

v0.34.1 β€” 2026-07-02​

No user-visible changes in this release.

v0.34.0 β€” 2026-07-02​

πŸš€ New features​

  • Message and tour buttons that navigate to a URL now support a new "single-page app" navigation mode: instead of reloading the page, the navigation updates the browser history in place so SPA hosts keep their app state. This mode is available both via spaNavigationHandler configuration and as a toggle in the editor's action target settings.
  • Added onButtonNavigateStarted and onButtonNavigateCompleted hooks that fire when a message/tour button triggers a "Navigate to URL" action, letting integrators react to (and confirm completion of) these navigations, including for the new SPA and new-tab targets.

πŸ› Bug fixes​

  • Fixed session replay on newer mobile webviews (WebView 5+) incorrectly forcing an internal container to display: block during recording, which is no longer needed and could affect replay rendering on those versions.

v0.33.8 β€” 2026-07-01​

No user-visible changes in this release.

v0.33.7 β€” 2026-07-01​

πŸ› Bug fixes​

  • Fixed an issue where the Android in-app webview page (webview.html) was served through a redirect that stripped the .html extension, which could break the webview integration. It's now served directly without any redirect.

v0.33.6 β€” 2026-07-01​

No user-visible changes in this release.

v0.33.5 β€” 2026-07-01​

No user-visible changes in this release.

v0.33.4 β€” 2026-07-01​

No user-visible changes in this release.

v0.33.3 β€” 2026-07-01​

No user-visible changes in this release.

v0.33.2 β€” 2026-07-01​

πŸ› Bug fixes​

  • Fixed "Take me there" style navigation links so they reliably navigate the whole page instead of getting stuck inside the tag's embedded frame, even in apps with complex framework routing or sandboxed embeds.

v0.33.1 β€” 2026-07-01​

πŸš€ New features​

  • The debug inspector's Messages and Surveys tabs now show the live state of started campaigns (status and display conditions) even when targeting is paused, such as in preview mode, instead of just showing an error.

πŸ› Bug fixes​

  • Fixed an occasional "WS is closed" error when closing a message or survey.
  • Closing a running campaign from the inspector no longer causes it to briefly reappear.
  • The inspector no longer spams the browser console or opens extra background connections while polling message/survey state.

v0.33.0 β€” 2026-07-01​

⚑ Improvements​

  • Faster page loads for the vast majority of visitors: the core, widget, and message bundles are meaningfully smaller thanks to a higher modern-browser baseline, code-splitting rarely-used targeting and debug logic out of the main bundle, dependency trimming, and tighter minification. Older browsers are unaffected and keep working exactly as before.
  • Survey and message text now appears immediately in a fallback font and swaps in the custom webfont once loaded, instead of staying invisible while the font downloads.
  • Image placeholders (blurhash) are now loaded on demand, so widgets without images ship a smaller bundle.
  • Repeat visitors load cached tag assets faster thanks to longer-lived CDN caching of versioned files.
  • Browser devtools no longer show 404 errors for source map files in production.

v0.32.3 β€” 2026-07-01​

No user-visible changes in this release.

v0.32.1 β€” 2026-06-30​

πŸ› Bug fixes​

  • Absolute date targeting for event time rules now works correctly. Surveys and messages using "visitor event time" targeting with a fixed calendar date (before/after a specific date) were previously broken β€” the tag threw an error and aborted targeting evaluation entirely. This release adds proper support for absolute date operators, matching the behaviour already present on the backend.

v0.32.0 β€” 2026-06-30​

πŸš€ New features​

  • Screeb Inspector: A new developer panel is now bundled with the tag, giving developers and product teams real-time visibility into the tag's state on any page. The panel includes tabs for page overview, health diagnostics, tracked events, visitor properties, and active surveys and messages. A Simulate tab lets you test targeting rules against custom visitor states, events, and properties β€” all without reloading the page or making a deployment. Sign in with your Screeb account to unlock the full panel. (#1827)

v0.31.17 β€” 2026-06-29​

πŸ› Bug fixes​

  • Fixed a broken favicon data URI in the in-app webview that could cause a failed resource load or missing icon in embedded web content (#1993).

v0.31.16 β€” 2026-06-29​

No user-visible changes in this release.

v0.31.15 β€” 2026-06-29​

πŸ› Bug fixes​

  • In-app message builder: Fixed an issue in the multiple-choice CTA editor where opening a button-style dropdown (variant selector) could visually cover choices below it, including the "No actions" button. Dropdowns now correctly appear on top of all other elements while open. (#1987)

v0.31.14 β€” 2026-06-29​

πŸ› Bug fixes​

  • Fixed vertical alignment of content blocks inside banner widgets β€” items now center-align correctly instead of snapping to the text baseline.

v0.31.13 β€” 2026-06-29​

πŸ› Bug fixes​

  • Fixed an issue where the last step of a multi-step in-app message with a Stop & Close call-to-action was not recorded as completed β€” the step completion event now always fires before the widget closes. (#1967)
  • Fixed a missing analytics event when a popover CTA combined Stop & Close with another action (e.g. scroll or navigate) β€” the simulated click on the pin target is now reliably triggered. (#1967)

v0.31.12 β€” 2026-06-25​

πŸ› Bug fixes​

  • Fixed an issue where clicking a multiple-choice CTA button configured with a "Stop & Close" action did not record the response, causing those answer choices to show 0% in survey statistics (#1964).

v0.31.11 β€” 2026-06-23​

πŸ› Bug fixes​

  • Delay rules now work correctly in message preview mode. When previewing a multi-step in-app message that includes a "delay between steps" condition, the required page-load timestamp was never seeded because the full targeting engine is disabled in preview. The tag now seeds that timestamp on preview init and keeps it fresh on SPA navigation, so delay-gated steps behave the same in preview as they do in production.

v0.31.10 β€” 2026-06-22​

No user-visible changes in this release.