Changelog
v0.80.1 β 2026-10-29β
β‘ Improvementsβ
- Tags now call RPC 1.7.0 to receive theme colours and style settings under clearer names: answer colours, highlight colour, button colours, focus ring colour, and button radius, border and shadow. Existing looks are unchanged.
v0.80.0 β 2026-10-29β
π New featuresβ
- Secondary actions (Skip, Previous and Close) now have their own theme colours for fill, text and border, so you can style them independently from the main button. By default they look the same as before.
- Conversations have separate colours for the user's replies, so replies and the bot's bubbles can be themed independently.
- Text fields have editable colours for background, text, border, placeholder and icons.
- Answers have their own shadow colour, so they keep a visible edge even when the card shadow is turned off.
- Headers have their own colour settings, separate from the answer colours.
- The conditional step bubble in conversations now follows a theme colour for its warning border.
π Bug fixesβ
- Keyboard focus rings now use the button focus colour everywhere, and links, text fields, field icons, the video play button and the Likert radio show a single ring instead of two.
- The multiple-choice check mark now appears on the selected answer in cards and conversations.
- Single-choice answers, NPS scores and stars are outlined on hover and focus, like multiple-choice answers.
- The launcher label now follows its font settings, and keeps its previous 20px default size.
- The "Other" field no longer turns red when focused, and it shows the theme editor's focus preview.
- A missing border radius setting now falls back to Screeb's default instead of drawing square corners.
- The range slider track is visible again on older WebViews, and the slider handle and legends now use consistent colours across cards, conversations and emails.
- The fallback image shown when the animated Screeby fails to load now uses the right ink for light and dark backgrounds.
- Checklist ticks in message text now use the text colour instead of drawing black.
- Link buttons in messages are styled as call-to-action buttons, with a focus ring that follows their corner radius.
- Upload progress, loading spinners, scroll indicators and message footers now follow theme colours instead of fixed ones.
- The max-selections hint is drawn as part of the conversation.
- Conversations no longer pick a selection colour that blends into the answers, including on free plans.
- Email cards use the same theme colours as the widget for headers, answers and fields.
β‘ Improvementsβ
- Unselected checkboxes, radios and Likert rings, and text field borders, are darker so they meet the 3:1 contrast guideline.
- Text fields in cards and conversations have consistent rounded corners.
- Rating buttons, text fields and small link buttons follow the configured corner radius.
- Likert radios and NPS or star answers use the selection colour for hover, selection and focus.
v0.79.0 β 2026-10-29β
π Bug fixesβ
- Likert questions can now be completed even when the survey scenario still references statements that have since been removed. The Next button now appears once every displayed statement is answered, in both card and conversational formats.
v0.78.0 β 2026-10-23β
β‘ Improvementsβ
- Theme editor preview: the widget can now be previewed inside the Screeb theme editor, with forced visual states (hover, selected, focus, error) and a click-to-locate inspect mode that identifies which theme settings style each element (#3416).
- Theme tokens: added brand-level tokens and editor metadata for the theme editor. Corner-radius settings for avatars now offer three presets instead of a free range (#3410, #3411).
π Bug fixesβ
- The tag no longer logs an error when targeting is intentionally off (for example with the
disable-targetinginit option, in preview mode, in hosted pages, or in the external editor). It now logs a quiet debug message instead (#3423).
v0.77.0 β 2026-10-22β
β‘ Improvementsβ
- The tag now talks to the Screeb backend using RPC version 1.4.0. For workspaces with the corresponding feature enabled, in-app messages are drawn from the workspace theme (#3391).
v0.76.1 β 2026-10-22β
π Bug fixesβ
- Fixed the emoji picker in the survey editor appearing behind the dialog it was opened from. It now reliably stacks above the dialog each time it opens, including when the dialog is shown again while the picker is opening (#3402).
v0.76.0 β 2026-10-22β
π New featuresβ
- Closing rules can now apply to the whole response, not just before the visitor starts answering. When a distribution sets the closing rules lifecycle to "whole response", its closing rules also cover started responses, so a No Follow or Custom survey no longer follows a visitor around once they have begun answering (#3368).
- With the Close action, a started response ends like a displayed one.
- With the Hide action, the widget is removed but the response stays started, and it resumes at the same step when targeting matches again.
- The default, "before start", keeps today's behavior.
- The widget and the survey builder can now draw their appearance from a theme document sent by the API, falling back to the existing settings when none is sent (#3385).
- Uploaded theme fonts are loaded by URL.
- Page-level JS customizations keep taking precedence, so existing customizations keep working.
- Make sure your Content Security Policy's
font-srcallows the static assets origin used for uploaded fonts.
π Bug fixesβ
- A hidden response is no longer re-shown about a second later while its Custom closing rules still match.
- A malformed theme document now falls back to the settings instead of throwing.
- Malformed uploaded fonts are skipped, and a font that failed to load is retried.
β‘ Improvementsβ
- The inspector and debug output now show the closing rules lifecycle of each distribution.
- Capping no longer blocks a started response that closing rules hid mid-answer from resuming.
v0.75.0 β 2026-10-21β
π New featuresβ
- Theme documents are now resolved layer by layer (base, group, then format), so a widget can read its look from a stored theme as well as from workspace settings (#3383, #3384).
π Bug fixesβ
onSurveyShowednow fires once per response. Feedback button surveys previously triggered it twice, and again whenever the button remounted (#3374).- A broken theme token (an unknown reference, a type mismatch or a loop) no longer breaks the whole theme. Only that token falls back to the layer below or to Screeb's default, and each issue is reported once.
- A theme layer that is
nullis now skipped instead of causing an error.
β‘ Improvementsβ
- The survey editor's step sidebar, "Add a block" and "Add a step" dialogs, sticker picker and variable pickers now use the shared UI components, for a more consistent look and better keyboard and screen reader behavior (#3359).
- Pickers opened during a dialog's opening animation now stay anchored to their trigger.
- The editor's image and video upload buttons are now named in every state (idle, uploading, error, replacing), and their accessible name includes the words they show.
- The inspector's long lists no longer flood screen reader landmarks, since rows only become regions on request.
- Style picker pieces (option tiles and picker triggers) can now show a preview of the style, and long tile labels are clamped to two lines with the full text on hover.
v0.74.1 β 2026-10-20β
π Bug fixesβ
- Leave-intent detection on touch devices no longer fires on scrolls that the page animates on its own (for example smooth scrolling or scripted scroll animations). It now only triggers on a real finger gesture, including the inertia scroll that continues right after the finger lifts (#3375).
β‘ Improvementsβ
- The in-page inspector now uses the shared UI components, giving its tabs, rows, forms, empty and error states, and copy buttons a more consistent look and better keyboard focus behavior. Copy buttons appear on hover or focus.
- The survey editor's dialogs and step sidebar now use the shared UI components, giving them consistent titles, button layout, form fields, and panel sizing (#3358).
v0.74.0 β 2026-10-20β
β‘ Improvementsβ
- Mobile apps with session replay enabled now start the native view mirror only when something actually needs it: a recording starts, the editor or a preview is open, a targeting rule looks for an element, or an anchored message (popover, beacon) is displayed. This avoids walking the app's view tree after every change, scrolling included, for users who would never be recorded.
v0.73.0 β 2026-10-14β
β‘ Improvementsβ
- Surveys and messages appear faster: about 35% faster on a first visit and 40% faster for returning visitors in our measurements.
- The next question shows up sooner after an answer. Responses are now sent as plain HTTP requests, batched and without a CORS preflight, instead of over a WebSocket connection.
- Initialization no longer waits on session recording or identity capture.
- Tabs opened at the same time now share a single response, through a cross-tab lock instead of a random delay.
- The tag no longer opens a WebSocket connection, so a Content Security Policy no longer needs a
wssentry for Screeb.
π Bug fixesβ
- The tag keeps working on pages that add enumerable properties to
Object.prototype. - Commands are no longer corrupted on pages that define
Array.prototype.toJSON, such as pages using Prototype.js (Magento 1). - The tag keeps booting when
sessionStorageis full or blocked. - After a survey or message is disabled, an open page no longer keeps requesting it every second until its configuration refreshes.
v0.72.0 β 2026-10-14β
π New featuresβ
- Session replay has a new inputs-only privacy mode. It masks every form input while leaving page text visible, apart from any text you've chosen to mask with your own selectors. The tag now reads a three-level privacy setting (
none,inputs,all) from the channel configuration.
v0.71.0 β 2026-10-13β
π New featuresβ
- Pass and fail states in the inspector are now announced by name, not only shown by color. (#3295)
π Bug fixesβ
- Cancelling an image or video upload in the editor now really cancels it. Nothing is committed afterwards, and the original file is restored without an error message.
- Closing a popover or moving to another question mid-upload now aborts the upload instead of letting it finish in the background.
- An unreadable image no longer leaves the upload tile stuck on "uploading". It now shows an error.
- Hosted survey links now open correctly when a response was left running in another interaction. The old response is closed and a new one starts instead of failing.
- A searchable select no longer shows its keyboard focus ring after a mouse click, and its highlighted row only shows the ring when you navigate by keyboard.
- Fixed keyboard navigation in tab rows: the row keeps its Tab stop when the selected tab is disabled, and each tab points only at its own panel.
- Fields in the editor and inspector now have proper accessible names and labels that point at the right control. The "Simulate as a user" field in the inspector is now named too.
β‘ Improvementsβ
- Colors in the editor and inspector now meet WCAG AA contrast in light and dark mode: warning text, solid danger buttons, field borders, muted text on tinted surfaces and the upload progress overlay. A new automated contrast check guards this.
- All story components in the editor and inspector now pass automated accessibility checks (axe). Lists, step cards, the sticker picker and validation messages were fixed along the way.
- Form fields share one API and one keyboard focus ring, including the color picker, which previously showed no focus.
- The editor's Segmented control now behaves like a native radio group: Tab reaches the selected option and the arrow keys move the selection.
β οΈ Breaking changesβ
- Legacy survey distributions are removed. Hosted survey links now serve only the
linkandemailinteractions.
v0.70.1 β 2026-10-12β
π Bug fixesβ
- Fixed the screenshot editor's top bar showing an extra empty band above it on phones with a notch or status bar. The survey already sits below the notch, so the editor no longer adds the inset a second time. Side and bottom spacing is unchanged. (#3291)
- Fixed surveys on Android appearing under the status bar, together with the next Android SDK release. The widget now respects the system bars and display cutouts, so the editor's toolbar also clears the gesture bar. (#3291)
β‘ Improvementsβ
- The Android SDK now shares the device's system-bar insets with the tag and the widget re-lays out when they change. iOS is unaffected. (#3291)
v0.70.0 β 2026-10-12β
π Bug fixesβ
- Fixed the screenshot editor for long captures, such as scrolling phone screenshots: they used to be shrunk into an unusable strip, and the editor now opens on a fitted overview you can zoom into and annotate.
- Fixed the screenshot editor's top bar being covered by a phone's status bar. The editor now respects the device's top and side safe-area insets.
- Fixed the keyboard focus ring disappearing in the widget.
- Fixed rating buttons' focus ring using the primary text color, which is white on many themes. It now uses the call-to-action color, like neighboring choice buttons.
β‘ Improvementsβ
- Screenshot editor zoom: pinch to zoom and pan, scroll to pan, and use ctrl/cmd+scroll to zoom. One finger still draws. A new zoom control in the canvas corner offers zoom in, zoom out and fit to screen, translated in all supported languages. Stroke widths are unchanged if you never zoom, and resizing no longer shifts annotations you already drew.
- Under the hood, the widget's look (cards, conversational surveys, in-app messages, shared components and the feedback button) now comes from a single resolved theme, with the same default appearance as before.
v0.69.0 β 2026-10-12β
π Bug fixesβ
- Fixed email survey links and previews: surveys starting with an NES, Likert, or AI follow-up question now render correctly in the email channel; links with
&,#, or spaces in their parameters no longer break; clicking a choice in a multi-select email question now preselects it on the hosted page (instead of being ignored), so respondents can add more choices before continuing; email previews now open correctly on custom hosted-page domains; and merge tags from ActiveCampaign, Mailjet, and other emailing tools are preserved instead of being corrupted when building survey links. - Fixed survey and message widget accent colors (selected choices, buttons, focus rings, typing indicator) becoming invisible on workspaces whose brand color is white.
- Fixed broken images collapsing to a thin strip instead of keeping their intended size.
- Fixed tap/click areas on pinned messages (beacons, embedded modals, sidebars, floating banners), which were sometimes too small or blocked legitimate taps.
- Fixed screenshot annotations (drawing and cropping) landing away from the cursor when the screenshot zoom level wasn't 100%.
- Fixed the inspector's custom property type picker, which was stuck on "string" and couldn't create properties of other types.
v0.68.0 β 2026-10-02β
β οΈ Breaking changesβ
- Removed the "Close response on page/screen change" targeting option, which conflicted with the No Follow + Hide closing rule. Surveys that relied on it were automatically migrated to the equivalent No Follow + Close closing rule, so no action is needed.
v0.67.1 β 2026-10-01β
No user-visible changes in this release.
v0.67.0 β 2026-10-01β
π New featuresβ
- Targeting rules can now be organized into sub-groups, and every group (plus the top-level rule set) can have its own AND/OR operator β matching exactly what you build in the rule editor.
- Added a "matches pattern" operator (using
*as a wildcard) for text-based targeting rules, wherevercontainsis offered. - Added a rule to target identified vs. anonymous visitors, based on whether the visitor has a user ID, name, or email β not just how many aliases they carry.
- The targeting debug console output and the widget inspector now show the full rule tree (groups and sub-groups, with their operators) instead of a flat rule list, making it much clearer why a survey is or isn't eligible.
π Bug fixesβ
- Fixed several edge cases where AND/OR groups, sub-groups, and hidden or organization-level rules could be evaluated inconsistently, so complex targeting now always behaves as configured.
containsno longer treats spaces in the value as a wildcard β it now matches the literal substring you typed.
v0.66.1 β 2026-09-28β
π Bug fixesβ
- Fixed a bug where a targeting rule saved without any screen selected would break targeting for every survey on the page in mobile in-app webviews. Malformed rules now simply fail to match instead of blocking all other surveys.
v0.66.0 β 2026-09-28β
π New featuresβ
- Multiple-choice questions can now have an optional maximum number of selections. Once the limit is reached, remaining options are disabled and a "Select up to N" hint is shown, available in both card and conversational formats and translated into all supported languages.
v0.65.0 β 2026-09-28β
π New featuresβ
- Open-text, email, and phone questions can now have a custom placeholder, set per question and per language, instead of always showing the generic default.
β‘ Improvementsβ
- Session recording generates less work on the page while capturing events, improving performance on pages with heavy DOM activity.
v0.64.0 β 2026-09-28β
π Bug fixesβ
- Clicks that trigger a navigation in single-page apps are now recorded on the page where the click happened, instead of being misattributed to the page the user lands on.
- Session replay: shadow roots attached after recording starts and nested CSS rules inside the tag's own frame are now captured, and the touch cursor is visible again in replays of touch sessions.
β‘ Improvementsβ
- Session recording is faster and each recording batch is now compressed before upload, roughly halving the data sent per session.
- Heatmap element identification is more accurate: elements are named after stable developer identifiers (field names, class names, link targets) instead of visible text, so the same element no longer fragments across languages or wording changes; build-generated class names are no longer used as identifiers, and pages already tagged for other analytics tools are recognized automatically.
v0.63.3 β 2026-09-25β
π Bug fixesβ
- Markdown headings (
# Title) now render properly in messages and survey previews instead of being silently stripped out (#2926). - Fixed title and text blocks showing literal
**asterisks on screen when their content included a heading, list, or other block-level markdown (#2926).
v0.63.2 β 2026-09-25β
π Bug fixesβ
- Fixed screenshot answers on iOS sometimes capturing the system "Screen Sharing" sheet instead of the page β the capture now waits for that sheet to be dismissed before grabbing the frame (#2951).
- Fixed the hold-to-record microphone button getting permanently disabled after a single short tap; it's now only disabled when microphone access is actually denied. Also fixed a long press on iOS/WebKit sometimes triggering the native text-selection menu, which could leave a recording stuck running (#2950).