Skip to content

Developer changelog

This page lists SDK releases, API updates, and platform changes that affect Pushwoosh integrations.

November 2026

Anchor link to
Date
Component
Change
Details
Nov 02Web Push SDK v3.104.1BreakingPW_SiteOpened sends path in the page’s letter case and page rules match it case-sensitively. Rules and path conditions saved in lowercase no longer match pages with capital letters. Learn more

October 2026

Anchor link to
Date
Component
Change
Details
Oct 30Android SDK v6.17.2BreakingRich Media no longer substitutes single-brace placeholders like {Name|text|} inside <script>, so scripts relying on them get the raw text. Double-brace ones still work. Learn more
Oct 30Android SDK v6.17.2FixedGeozone entry and exit transitions reach the SDK, so geozone push notifications fire. Transitions after stopLocationTracking() are ignored. Learn more
Oct 30Android SDK v6.17.2FixedOn Android 9 and below, taps outside a modal Rich Media window reach the app. Learn more
Oct 30Android SDK v6.17.2FixedregisterExistingToken() reports success only after the server accepts the token. A saved token that wasn’t delivered is sent again. Learn more
Oct 30Customer Journey APIBreakingWith Existing and new users or Only new users, Audience-based entry also rejects segments that nest event-based or static segments when the journey is saved or started. Learn more
Oct 30Device APIBreakingEmail opens and clicks by mail scanners no longer send PW_EmailOpen or PW_EmailLinkClicked, set Last Email Open or Last Email Click tags, or advance journeys. Learn more
Oct 30Customer Journey APIFixedReading a journey returns the event name, not the attribute, in dynamic_time.event_name of an event-relative Wait point. Learn more
Oct 29Statistics APIBreakingMessage statistics leave out email opens and clicks labelled as bots (link scanners) by default. include_bots: true counts them. Learn more
Oct 28Capacitor SDK v1.0.14BreakingpushReceivedCallback and pushOpenedCallback receive an event object, so TypeScript that reads the first argument as message text no longer compiles (bundles Android SDK 6.17.1, iOS SDK 7.3.0). Learn more
Oct 28Unity SDK v6.3.0BreakingiOS projects on CocoaPods or EDM4U switch to Swift Package Manager on update, except in the cases listed in Learn more. Xcode then needs github.com access. Learn more
Oct 28Unity SDK v6.3.0FixedOn iOS, an empty Application Code leaves the SDK uninitialized instead of crashing the app. Learn more
Oct 27Cordova SDK v8.3.80FixedAndroid VoIP call events that arrive before onDeviceReady, during WebView recreation, or with no listener are delivered at the next onDeviceReady (bundles Android SDK 6.17.1, iOS SDK 7.3.0). Learn more
Oct 27Web Push SDK v3.103.0AddedWeb campaigns can target visitors by push permission status, and Pushwoosh.getPushPermissionStatus() is public. Learn more
Oct 27Web Push SDK v3.102.0ChangedPW_SiteOpened carries a decoded, lowercased path, so web campaign page rules match case-insensitively, including non-Latin paths. Learn more
Oct 27iOS SDK v7.3.0DeprecatedPushwoosh.sharedInstance(), initializeWithAppCode, all Pushwoosh instance members, PWInAppManager.shared(), PWInbox, and PWRichMediaManager.shared() are deprecated in favor of Pushwoosh.configure, Pushwoosh.inbox, and Pushwoosh.media.legacyRichMedia. Learn more
Oct 27iOS SDK v7.3.0FixedregisterForPushNotifications(completion:) reports the server’s actual result instead of an early success, and tags passed with registration survive transient failures. Learn more
Oct 27iOS SDK v7.3.0BreakingRich Media no longer substitutes single-brace placeholders like {Name|text|} inside <script>, so scripts relying on them get the raw text. Double-brace ones still work. Learn more
Oct 27iOS SDK v7.3.0FixedThe SDK no longer unregisters the device when iOS revokes the VoIP token, so regular push notifications keep arriving. Learn more
Oct 27iOS SDK v7.3.0BreakingPWInboxMessageProtocol has a new required tabId property that custom implementations of the protocol must add. Learn more
Oct 23Android SDK v6.17.1FixedThe push token rotated by Firebase reaches Pushwoosh, even if the device is offline at that moment. Learn more
Oct 23Messaging API v2AddedAdded custom_data_raw: JSON-text custom data that keeps integers above 2^53 exact and can’t be combined with custom_data. REST requests fill it automatically. Learn more
Oct 21Messaging API v2AddedAdded sms.rcs (content_sid, content_variables) to send RCS via a Twilio content template, for apps on Twilio with their own credentials and a Messaging Service. Learn more
Oct 20User-centric APIBreakingpostEvent no longer auto-creates events with names over 128 characters or with control characters and returns an invalid-field error. Existing events keep working. Learn more
Oct 19.NET SDK v2.1.0AddedPushwoosh.DotNet and Pushwoosh.DotNet.Geozones include .NET 10 builds alongside .NET 8 (bundles Android SDK 6.17.0, iOS SDK 7.2.10). Learn more
Oct 19.NET SDK v2.1.0BreakingBuilds fail with PW0001 below iOS 15.0 and PW0002 on mismatched Pushwoosh.DotNet and Pushwoosh.DotNet.Geozones versions. iOS PWInlineInAppView is obsolete and shows nothing. Learn more
Oct 19Messaging API v2BreakingRequests are rejected with 400 for Chrome button_urlN without button_textN, and for time_to_live over 2419200 seconds (28 days) on Android, Huawei, Baidu, and Chrome. Learn more
Oct 19Messaging API v2FixediOS sound_enabled: false sends the notification without sound. Learn more
Oct 19Messaging API v2BreakingSegment (non-transactional) messages fail with SandboxMaxDevices when the app uses the APNs Sandbox gateway and has more than 200 iOS push-enabled subscribers. Learn more
Oct 19Statistics APIChangedgetTagStats counts any tag per application when applications is passed, otherwise account-wide. Previously application-specific tags required applications and other tags rejected it. Learn more
Oct 16Messages API v1BreakingcreateTargetedMessage enforces API token application restrictions: restricted tokens can’t send to other applications, and devices_filter without an application is rejected. Learn more
Oct 16React Native SDK v7.0.6AddedOn React Native 0.75+, pushwoosh_spm_post_install in the Podfile installs the iOS SDK via Swift Package Manager (bundles Android SDK 6.17.0, iOS SDK 7.2.10 via Swift Package Manager). Learn more
Oct 16Web Push SDK v3.100.0ChangedNew Safari 16+ subscribers register as device_type 11 (not 10) when the app has its own web VAPID keys, as on the unified web platform. Existing Website Push ID subscriptions keep 10, also on the unified web platform. Learn more
Oct 16Web Push SDK v3.99.0AddedWeb campaign forms submit all their values to Pushwoosh in one request, attributed to the campaign that shows the form. Learn more
Oct 15Android SDK v6.17.0AddedAdded up to three push action buttons through the pw_buttons payload field, with the tapped one returned by PushMessage.getTappedButtonId(). Learn more
Oct 15Android SDK v6.17.0AddedThe SDK reports the device’s push permission status to Pushwoosh on registration and app open. Learn more
Oct 15Android SDK v6.17.0DeprecatedAction and PushMessage.getActions() (pw_actions) are deprecated in favor of pw_buttons and PushMessage.getButtons(). Learn more
Oct 15Android SDK v6.17.0BreakingInboxMessage has a new abstract getTabId() method that custom implementations must add. Learn more
Oct 15Messaging API v2AddedAdded geo_zone (lat, lng, range in meters) to target segment messages at devices last located inside that circle. Learn more
Oct 15Messaging API v2ChangedWith follow_user_timezone: true, a past at is no longer moved to now. Later timezones get the message then, the rest follow past_timezones_behaviour. Learn more
Oct 15Messaging API v2AddedAdded a per-platform silent flag for iOS, Android, Huawei, and Baidu content. Learn more
Oct 15iOS SDK v7.2.10AddedAdded feature flags via Pushwoosh.configure.featureFlags (local cache, refresh(completion:), addUpdateListener(_:), logImpression(_:)). In beta. Learn more
Oct 15iOS SDK v7.2.10AddedThe SDK reports push permission status (granted_explicit, provisional, ephemeral, denied, not_determined), also returned by getRemoteNotificationStatus() as push_permission_status. Learn more
Oct 15iOS SDK v7.2.10FixedstartLiveActivityWithToken:activityId:completion: fails with an error on a missing or empty token instead of sending it. Learn more
Oct 13Messages API v1FixedcreateMessage with best time to send and timezone computes send dates in the requested timezone. Learn more
Oct 13Web Push SDK v3.97.0AddedInline web campaigns render inside the first page element that matches their CSS selector instead of over the page. Learn more
Oct 12Event StreamingChangedAn HTTP endpoint that fails every delivery for 24 hours gets its integration paused and undelivered events dropped, and the account owner is emailed. Learn more
Oct 12Messaging API v2AddedAdded inbox.expires_in, a lifetime such as "604800s" from the send date, overridden by expiration_date when both are set. Learn more
Oct 11Messaging API v2AddedAdded the Viber carousel of 2–5 cards, which requires body and can’t be combined with an image, button, or template. Learn more
Oct 11Web Push SDK v3.96.0AddedAdded onsite product recommendations: trackProductView(), recommendations.fetch(), recommendations.trackClick(), and the [data-pw-recommendations] widget, once on-site recommendations are turned on in the Control Panel. Learn more
Oct 11Web Push SDK v3.95.0AddedapplicationOpen and registerDevice send push_permission_status (not_determined, granted_explicit, denied, unsupported), and a refused permission is registered without a push token. Learn more
Oct 10Device APIAddedregisterDevice and applicationOpen accept push_permission_status, stored in the Push Permission Status system tag. Learn more
Oct 09Android SDK v6.16.0AddedAdded feature flags via Pushwoosh.getInstance().getFeatureFlags() (local cache, isEnabled(), refresh(), addUpdateListener(), logImpression()). In beta. Learn more
Oct 09Android SDK v6.16.0AddedAdded PushwooshFcmRouterService in pushwoosh-firebase for apps with their own FCM handling: Pushwoosh messages and tokens go to the SDK, others to onAppMessageReceived(). Learn more
Oct 09Capacitor SDK v1.0.13AddedAdded the Message Inbox API (loadMessages(), readMessage(), deleteMessage(), performAction(), counters) and typed InboxStyle for presentInboxUI() (bundles Android SDK 6.16.0, iOS SDK 7.2.9). Learn more
Oct 09Capacitor SDK v1.0.13BreakinggetTags() is typed as the flat tags object it always returned, so TypeScript code that destructures { tags } no longer compiles. Learn more
Oct 09Cordova SDK v8.3.79FixedFixed an isRegisteredForPushNotifications compile error that broke Android builds of the plugin (bundles Android SDK 6.16.0, iOS SDK 7.2.9). Learn more
Oct 09Messaging API v2AddedAdded schedule.best_time_to_send for segment messages, up to 30 days ahead. Learn more
Oct 09Messaging API v2ChangedMessages can be scheduled up to 30 days ahead, up from 14. Learn more
Oct 09Messaging API v2BreakingA transactional message to users who have devices, but none on its channel, returns OK without sending instead of NoRecipientsFound, matching the v1 Messages API. Learn more
Oct 09Web Push SDK v3.94.1AddedAdded feature flags via Pushwoosh.featureFlags (typed getters, isEnabled(), refresh(), update listeners, logImpression()), with no requests on sites not using them. In beta. Learn more
Oct 08Web Push SDK v3.93.1FixedAn App Inbox message linked to a web popup shows that popup on tap. Learn more
Oct 08iOS SDK v7.2.9FixedA visible push with content-available arriving in the background counts as opened only when tapped and as received exactly once. Learn more
Oct 07Messaging API v2FixedA push with empty platforms goes to push platforms (silent-capable ones for silent pushes), not every enabled platform. Learn more
Oct 07Tags APIBreakingTags named PW_FF_* (any case) are reserved for feature flags: setTags, registerDevice, and bulk updates drop their values, and getTags omits them. Learn more
Oct 06React Native SDK v7.0.5FixedOn iOS, every Linking.getInitialURL() call in a JS runtime returns the launching push’s link, even if another library reads it first. Learn more
Oct 06Web Push SDK v3.93.0ChangedWith Web SDK settings managed in the Control Panel, webPopups.enable comes from the panel. On npm, enable: false also stops widgets created in code. Learn more
Oct 06Web Push SDK v3.92.0ChangedWith Web SDK settings managed in the Control Panel, panel inboxWidget values override the snippet. Keys the panel doesn’t set, such as triggerId, keep snippet values. Learn more
Oct 05Capacitor SDK v1.0.12BreakingThe minimum iOS version rises to 15.0 for both CocoaPods and Swift Package Manager installs (bundles Android SDK 6.15.1, iOS SDK 7.2.8). Learn more
Oct 05Customer Journey APIBreakingJourneys created from November 5, 2026 won’t launch while a push, SMS, Viber, WhatsApp, in-app, smart content, or inbox step after an event or API entry lacks message_type. API-created journeys only get a warning until December 5. Learn more
Oct 05Customer Journey APIFixedThe v3 start, pause, finish, draft, and archive endpoints return 400 with the validation findings instead of 500. Learn more
Oct 02Event StreamingBreakingWebhook deliveries are sent in batches of up to 100 events or 768 KiB, and only a 2xx response counts as delivered. Learn more
Oct 02Flutter SDK v2.3.25BreakingThe minimum iOS deployment target rises to 15.0 for pushwoosh_flutter, pushwoosh_inbox, and pushwoosh_geozones (bundles Android SDK 6.15.1, iOS SDK 7.2.8). Learn more
Oct 02Flutter SDK v2.3.25AddedThe iOS plugins also ship as Swift packages, which Flutter 3.44+ uses by default. Learn more
Oct 02Flutter SDK v2.3.25FixedOn Android, addToApplicationIconBadgeNumber adds to the current badge number instead of replacing it. Learn more
Oct 02Messaging API v2Addedschedule.past_timezones_behaviour supports PAST_TIMEZONES_BEHAVIOUR_DO_NOT_SEND and PAST_TIMEZONES_BEHAVIOUR_NEXT_DAY. Learn more
Oct 02React Native SDK v7.0.4FixedOn iOS, Linking.getInitialURL() returns the launching push’s Universal Link on cold start, even if link verification is slow (bundles Android SDK 6.15.1). Learn more
Oct 02Statistics APIBreakingmessages:list without date_range returns only the last 31 days (UTC) for message_type ALL (default) or TRANSACTIONAL, unless messages_ids or messages_codes is set. Learn more
Oct 01Android SDK v6.15.1Breakingpushwoosh-inbox-ui marks messages read on display instead of on tap by default, and PushwooshInboxStyle.automaticReadOnDisplay = false keeps tap-only. Learn more
Oct 01Messaging API v2BreakingAn unknown enum value in a REST request body returns 400 naming the field instead of falling back to the default value. Learn more

September 2026

Anchor link to
Date
Component
Change
Details
Sep 30iOS SDK v7.2.8FixedFixed a crash on launch in apps where another SDK wraps the app delegate (for example Firebase with FirebaseAppDelegateProxyEnabled). Learn more
Sep 29Web Push SDK v3.91.1BreakingInbox widget config texts (title, emptyInboxTitle, emptyInboxText) are now rendered as text instead of being injected as HTML. Pages using markup in them need to adjust. Learn more
Sep 29Web Push SDK v3.90.0BreakingsubscriptionWidget now replaces enable with prompt.enabled and launcher.enabled (each switched on independently), and launcher.size with launcher.width/launcher.height. A snippet still passing enable falls back to the older subscribe widgets. Learn more
Sep 29Web Push SDK v3.89.1AddedAdded the Subscription widget (subscriptionWidget init parameter or Control Panel): a prompt plus a launcher bell, replacing the push subscription button, custom subscription popup, and Subscription Prompt in one component so visitors never see two competing asks. Learn more
Sep 25iOS SDK v7.2.7AddedAdded Pushwoosh.media.setRichMediaColorScheme(_:) and the Pushwoosh_RICH_MEDIA_COLOR_SCHEME Info.plist key, so Rich Media built with prefers-color-scheme follows the app or system theme. Native in-app messages now support a dark appearance. Learn more
Sep 25iOS SDK v7.2.7AddedAdded PWInbox.reportActionForMessageWithCode(_:) to report an inbox message as opened without running its action. Learn more
Sep 25iOS SDK v7.2.7ChangedThe SDK now fetches the APNs device token itself when the app doesn’t pass it to handlePushRegistration(_:), so devices register without that call. Turned off with Pushwoosh_AUTO_DEVICE_TOKEN_REGISTRATION = NO. Learn more
Sep 24Android SDK v6.15.0AddedAdded PushwooshInbox.markMessageOpened() to report an inbox message as opened without running its action. Learn more
Sep 22Web Push SDK v3.86.0ChangedOn a panel-managed application, a value saved in the Control Panel now overrides the same parameter in the site’s init snippet. Learn more
Sep 21Web Push SDK v3.85.0AddedAdded panel-managed mode: Web SDK settings (autoSubscribe, defaultNotificationTitle, defaultNotificationImage, safariWebsitePushID, subscribeWidget) can now be managed from the Control Panel instead of the init snippet. Learn more
Sep 21Web Push SDK v3.85.0FixedFixed an unnecessary /unregisterDevice request on the first visit of a visitor who has never subscribed. Learn more
Sep 17Android SDK v6.14.0AddedLive Update notifications now open the app and follow deep links on tap like regular pushes, with opens counted in statistics. Added PushwooshLiveUpdates.getLiveUpdateActivityId() to tell them apart from regular pushes. Learn more
Sep 16Web Push SDK v3.82.0AddedApp Inbox messages can now open a web popup instead of a link. The popup code arrives in action_params.wp and is exposed as IInboxMessagePublic.webPopupCode. Learn more
Sep 15Web Push SDK v3.81.0AddedA subscribe-action button inside a web popup now requests the push permission and reports the resulting granted/denied/default status back to the popup. Learn more
Sep 14Web Push SDK v3.78.0AddedWidget styling (--pw-inbox-* on the App Inbox widget, --pw-popup-* on web popups) now uses real CSS custom properties on the widget root, a supported public API that a page can override from its own CSS. Learn more
Sep 12Web Push SDK v3.75.0AddedThe App Inbox widget now renders the same four cell layouts as the Control Panel campaign preview (classic, banner, captioned, carousel), so web inbox messages look as designed. Learn more
Sep 12Web Push SDK v3.75.0BreakingsendDate on a public inbox message is now a UTC instant instead of local wall-clock time labeled Z. Inbox message content is now HTML-escaped, and IInboxMessagePublic gains required fields layout, iconUrl, heroUrl, carousel, and customData. Learn more
Sep 11Android SDK v6.13.0AddedAdded RichMediaManager.setRichMediaColorScheme() and the com.pushwoosh.rich_media_color_scheme manifest key, so Rich Media built with prefers-color-scheme follows the app or system theme. Native in-app messages now support a dark appearance. Learn more
Sep 11Android SDK v6.13.0FixedA deep link from an opened notification now reaches the activity that is already running instead of a new copy of it. Learn more
Sep 09iOS SDK v7.2.6ChangedpostEvent(_:withAttributes:completion:) now calls its completion once the server accepts the event, instead of waiting for the account’s in-app resources to finish downloading. Learn more
Sep 08Flutter SDK v2.3.24AddedThe push payload on iOS now carries the foreground and onStart keys, as it already did on Android. Learn more
Sep 08Flutter SDK v2.3.24FixedPushwoosh.initialize() now throws ArgumentError for a non-string app_id instead of crashing the app. Learn more
Sep 04Android SDK v6.12.0AddedAdded rich message cards to pushwoosh-inbox-ui (banner, captioned, classic, carousel, video), selected by the message’s displayType, plus PushwooshInboxUi.onButtonClickListener for inline button taps. Learn more
Sep 02Web Push SDK v3.73.0AddedAdded the pushNotifications init parameter (default true) and isPushAvailable(). Push notifications are no longer a precondition for initialize() to complete, so popups, inbox, events, and tags work even with push turned off. Learn more
Sep 02Web Push SDK v3.73.0BreakingTypeScript consumers of the npm package see Pushwoosh.driver typed as IPushService | undefined. Code with strictNullChecks reading pushwoosh.driver.* directly needs a guard, preferably isPushAvailable(). Runtime behavior is unchanged. Learn more

August 2026

Anchor link to
Date
Component
Change
Details
Aug 31Web Push SDK v3.70.0AddedAdded webPopups.colorScheme ('auto', 'light', or 'dark') to pick the palette a popup with dark mode configured renders in. Learn more
Aug 31Web Push SDK v3.70.0AddedWeb popup Topic picker and Rating blocks now write through the SDK: picks append to the bound device tag, and ratings post as a custom event. Learn more
Aug 31Web Push SDK v3.70.0ChangedA web popup with an expired Countdown block is no longer shown, even when triggered manually via show(). Learn more
Aug 27iOS SDK v7.2.5ChangedPush links now open in-app only for domains listed in the app’s Associated Domains. All other links open in the browser. Learn more
Aug 27iOS SDK v7.2.5AddedPushwooshInboxKit cards now show the push attachment as the card image. Learn more
Aug 27iOS SDK v7.2.5FixedFixed push links, external links, and in-app buttons that opened the wrong destination or nothing at all. Learn more
Aug 24Customer Journey APIBreakingThe send_email point’s email_type field now accepts only an empty string, marketing, or transactional (lowercase), validated when the journey is validated or started. Learn more
Aug 21Android SDK v6.11.0AddedAdded a video in-app template to pushwoosh-inapp-ui. It shows a full-screen autoplay video with an overlaid title, message, and action button, plus mute and close controls. Learn more
Aug 21Android SDK v6.11.0AddedAdded Pushwoosh.getBaseUrl() to return the Pushwoosh API endpoint the SDK currently sends requests to. Learn more
Aug 21Android SDK v6.11.0ChangedPush transport on Huawei/Honor HMS-only devices is now auto-detected in Cordova and React Native, matching native apps. With the full HMS setup in place, HMS Push Kit is used out of the box. Learn more
Aug 21Android SDK v6.11.0DeprecatedPushwoosh.enableHuaweiPushNotifications() is deprecated and has no effect. Push transport is now auto-detected. Learn more
Aug 19Messaging API v2AddedAdded use_latest_user_device to NotifySegment. When set, delivery goes only to each matched user’s most recently active device, not every device tied to that user ID. Learn more
Aug 14iOS SDK v7.2.4FixedFixed native in-app messages flickering, disappearing, or getting stuck on screen when the app called the SDK from an in-app delegate callback. Learn more
Aug 14iOS SDK v7.2.4FixedFixed a native in-app message not showing when its button link contained a space or non-Latin characters. Learn more
Aug 14iOS SDK v7.2.4FixedFixed personalization placeholders in native in-app messages falling back to default text instead of the device’s tag values. Learn more
Aug 13Messaging API v2AddedAdded mode and timezone to FrequencyCapping. The new calendar-day mode anchors the count-and-days window to local midnight in the given IANA timezone, instead of a rolling window from send time. Learn more
Aug 12React Native SDK v6.1.59AddedAdded setEmails() and setUserEmails() to register a user’s email address(es) for the email channel, matching push and email deliveries to the same user. Learn more
Aug 11Flutter SDK v2.3.23AddedAdded setAppCode()/getAppCode() for switching the Pushwoosh application, and optionally its API endpoint, at runtime; an optional base_url parameter in initialize(); and presentInApp() to render a native in-app message from a config object. Learn more
Aug 10iOS SDK v7.2.3FixedFixed an issue that could prevent Rich Media from being displayed. Learn more
Aug 10iOS SDK v7.2.3ChangedImproved the accuracy of the startup integration check for apps that configure the SDK at runtime. Learn more
Aug 07iOS SDK v7.2.2AddedNative in-app messages now support dynamic content: personalization placeholders in campaign text are filled with the device’s tag values, the same as Rich Media. Learn more
Aug 07iOS SDK v7.2.2FixedFixed a crash that could occur when the foreground push delegate was read, and a Rich Media rendering issue when campaign context or custom push data carried values that aren’t valid JSON. Learn more
Aug 07iOS SDK v7.2.2ChangedHardened the SDK against malformed server and push payloads, improving the stability of Inbox actions, push handling, and registration. Learn more
Aug 07Android SDK v6.10.2AddedNative in-app messages now support dynamic content: personalization placeholders in campaign text are filled with the device’s tag values, the same as Rich Media. Learn more
Aug 06Messaging API v2AddedAdded subject, file_urls, and message_at to the SMS payload block. subject and file_urls turn the message into an MMS on providers with an MMS endpoint; other providers ignore both and deliver the plain-text body. Learn more
Aug 03Android SDK v6.10.1AddedAdded banner (compact bar with optional auto-dismiss), carousel (swipeable card deck), and sheet (bottom-pinned card with swipe-down dismissal) in-app templates to pushwoosh-inapp-ui. Learn more
Date
Component
Change
Details
Jul 31iOS SDK v7.2.1AddedPushwooshInApp supports sheet (bottom card), carousel (swipeable slides), and banner (compact toast) in-app templates, in addition to modal, fullscreen, and stories. Learn more
Jul 31Statistics APIChangedmessages:list now errors when page × per_page exceeds 100,000. Narrow the date range or use smaller pages. Learn more
Jul 29Messaging API v2FixedNotify no longer drops deeplink URLs that contain Liquid personalization ({{ }} / {% %}). Learn more
Jul 28Messaging API v2ChangedSetting days: 0 and count: 0 together now disables frequency capping entirely, instead of returning an error. This makes it easier to turn off capping without extra logic on your end. Sending only one of days or count is still rejected. Learn more
Jul 27Web Push SDK v3.63.0AddedWeb popups can now be controlled entirely from your own code, with a new API to show, hide, and check popup state, plus events to react to visibility changes in real time. Learn more
Jul 24iOS SDK v7.2.0AddedIn-app messages can now render natively on device. Added PushwooshInApp, supporting modal, fullscreen, and stories templates via the Pushwoosh.inApp API. Learn more
Jul 24Android SDK v6.10.0AddedIn-app messages can now render natively on device. Added pushwoosh-inapp-ui, supporting modal, fullscreen, and stories templates via the PushwooshInAppUi API. Learn more
Jul 24Android SDK v6.10.0FixedFixed an issue that could prevent some in-app messages from being displayed. Learn more
Jul 23Tags APIBreakingTags are no longer split into application-specific and account-wide. listTags returns isApplicationSpecific: true for every tag, and addTag ignores application_specific. Learn more
Jul 21User-centric APIAddedpostEvent now supports PW_Conversion for revenue tracking. Learn more
Jul 15iOS SDK v7.1.5FixedFixed an issue with custom VoIP ringtone configuration, and made the SDK more resilient to malformed push payloads, tags, inbox data, and rich media content. Learn more
Jul 15iOS SDK v7.1.5ChangedLive Activity push tokens are now re-registered after an app relaunch, and duplicate token updates are skipped, for more reliable remote updates. Learn more
Jul 14Liquid TemplatesAddedThe connected_content tag can now send request headers, so you can pass an authorization token when pulling dynamic content from a URL. Learn more
Jul 09Android SDK v6.9.6ChangedMade the SDK more resilient to rare issues in in-app messages, Rich Media, and notification handling. Geolocation, geofencing, and Firebase push registration are also more reliable now on devices with an outdated or missing Google Play services library, along with tag updates and local notification storage handling. Learn more
Jul 03Android SDK v6.9.5ChangedModal Rich Media animation duration can now be configured remotely via the in-app’s style settings, no app update required. Notifications, in-app messages, and Rich Media also got a stability pass this release. Learn more
Jul 03iOS SDK v7.1.4AddedLive Activities can now be scheduled to start at a future date and cancelled by activityId. Modal Rich Media now supports fade and no-animation transitions, with a configurable animation duration. Learn more
Jul 03iOS SDK v7.1.4FixedFixed the modal Rich Media auto-close timer, which previously only worked on the first presentation, along with a resource cleanup issue after a modal Rich Media was dismissed. Learn more
Jul 01Messaging API v2AddedNotify now supports Viber as a channel via the viber payload block. Learn more
Date
Component
Change
Details
Jun 26Messaging API v2AddedSend Android Live Updates by adding a live_update object (OPERATION_START/OPERATION_UPDATE/OPERATION_END, shared live_update.id) to the android block of a transactional Notify. Learn more
Jun 25iOS SDK v7.1.3AddedAdded handleWillPresentNotification() and handleNotificationResponse() for apps that own the UNUserNotificationCenter delegate, plus a startup integration checker that prints config diagnostics. Learn more
Jun 25Android SDK v6.9.4ChangedModal in-app messages can now be presented without a transition animation. Learn more
Jun 24Messaging API v2AddedNotify can now build SMS from a saved preset: set payload-level sms_preset instead of inlining sms.body per locale (an inline sms.body still overrides the preset for that locale). Learn more
Jun 24Android SDK v6.9.3FixedFixed modal Rich Media crashes on background transitions and when opening external links. Core and WebKit now ship as transitive dependencies. Supersedes the withdrawn 6.9.2. Learn more
Jun 19Google Wallet APIAddedIssue and update Google Wallet passes from your backend. Changes sync to every device that saved the pass. Learn more
Jun 18iOS SDK v7.1.2AddedPushwooshInboxKit now supports rich card types (carousel, video, and Apple Wallet) selected per message via displayType, with delegate callbacks for wallet-pass actions. Learn more
Jun 18Customer Journey APIAddedNew REST/JSON Customer Journey API to create, update, and manage journeys, trigger API entries, and read journey statistics (base https://journey.pushwoosh.com). Learn more
Jun 16Android SDK v6.9.1AddedAdded getSubscriptionAccountId() for Google Play Billing subscription attribution. Firebase Messaging now ships as a transitive dependency. Live Updates progress bar can be hidden for status-only updates. Learn more
Jun 16Web Push SDK v3.59.0AddedEmbed web popups from code: export WebPopupsWidget from the SDK package. Learn more
Jun 15Messaging API v2AddedAdded the Cancel method (POST /messaging/v2/cancel) to cancel a pending, waiting, or processing message by message_code. Learn more
Jun 15iOS SDK v7.1.1AddedAdded Pushwoosh.configure.pushPrimer, a customizable soft opt-in dialog shown before the iOS system permission prompt. Learn more
Jun 15iOS SDK v7.1.0AddedAdded PushwooshNotificationServiceExtension, a drop-in base class for Notification Service Extensions. Learn more
Jun 15iOS SDK v7.1.0DeprecatedPWNotificationExtensionManager is deprecated in favor of subclassing PushwooshNotificationServiceExtension. Learn more
Jun 11Messaging API v2AddedAdded use_latest_user_device to NotifyTransactional: when targeting users, deliver only to each user’s most recently active device. Learn more
Jun 11Customer Journey Statistics APIAddedGET /api/journey/{id}/statistics/external now returns in-app journey elements in points, with pointStat metrics shows, interactions, and skipped. Previously in-app-only journeys returned points: []. Learn more
Jun 08iOS SDK v7.0.46AddedAdded the PushwooshNotificationUI module: a drop-in full-screen “stories” experience for expanded push notifications, rendered by subclassing PushwooshStoriesViewController in a Notification Content Extension. Learn more
Jun 08iOS SDK v7.0.46FixedFixed App Store upload rejections (error 409), a notification service extension hang with App Groups, and a crash on malformed badge values. Learn more
Jun 02Android SDK v6.9.0AddedAdded the pushwoosh-liveupdates module for ongoing, progress-style notifications on Android 16 (API 36+), for use cases like orders, rides, and deliveries. Learn more
Jun 02Apple Wallet PassKit APIAddedAdded Apple Wallet passes as a channel, with a PassKit API to issue and update passes. Updates sync to every device that added the pass. Learn more
Jun 01Tags APIAddedAdded email system tags for email segmentation: Last Email Open Message Code, Last Email Click Message Code, Last Email Confirm, Bounced Email, and Unsubscribed Emails. Learn more
Date
Component
Change
Details
May 26Messaging API v2AddedNotify now supports SMS as a first-class channel. Learn more
May 22Web Push SDK v3.57.0AddedAdded api.setLanguage(...) to override device locale. It takes priority over initParams and navigator.language. Learn more
May 22Web Push SDK v3.57.0AddedAdded support for the webPopups widget option in the SDK init params. Learn more
May 22SMTP gatewayAddedAdded SMTP submission endpoint smtp.pushwoosh.com:587 (STARTTLS + AUTH PLAIN). Messages are forwarded to Messaging API v2 as transactional email. Learn more
May 21Android SDK v6.8.1ChangedImproved session, idle, and exit-intent tracking accuracy. setLogLevel() now keeps the previous level and logs an error instead of throwing on an unrecognized value. Learn more
May 18iOS SDK v7.0.43RemovedLegacy PushwooshInboxUI was removed from build and release pipelines. Migrate to PushwooshInboxKit. Learn more
May 18iOS SDK v7.0.43BreakingApplication codes containing . are now explicitly rejected. This format has long been deprecated. Contact Pushwoosh Support if you still use one. Learn more
May 18iOS SDK v7.0.43FixedInboxKit refresh now runs only on real background transitions to prevent extra POST requests
May 14Android SDK v6.8.0AddedAdded setAdvertisingId() for passing GAID to Pushwoosh for Meta Ads MADID matching. Requires user consent and manual integration in your app. Learn more
May 13iOS SDK v7.0.41AddedAdded setAdvertisingId() for passing IDFA to Pushwoosh for Meta Ads MADID matching. Requires ATT consent and manual integration in your app. Learn more
May 07iOS SDK v7.0.40AddedAdded PushwooshInboxKit with banner, captioned, and classic card layouts, inline CTA buttons, and swipe-to-delete. Learn more