Changelog
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_selectorcan 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-evalin 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
onRecordingStartedandonRecordingStoppedlifecycle hooks, so integrations can react when session recording begins or ends. Works the same way as the existingonReadyhook, 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
spaNavigationHandlerconfiguration and as a toggle in the editor's action target settings. - Added
onButtonNavigateStartedandonButtonNavigateCompletedhooks 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: blockduring 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.htmlextension, 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.