These releases are more than 12 months old. For recent releases, see the changelog.
MaintenanceiOS
console.infocalls are properly shown in web console logs now
MaintenanceAndroid
- Upgraded GeckoView plugin’s SDK version to the current latest stable version v144 to fix crash issue on Android 16 devices
Bug fixApp Studio
- Fixed an issue where the “Submit” button in “Contact Us” form was not responsive in some cases.
MaintenanceiOS
- AppReviewPlugin now uses the new
StoreKitframework to ask for app review
MaintenanceiOS
- Minimum OS version has been bumped to iOS 15.5
MaintenanceiOS
- Enabled compatibility with iOS 26 by disabling glass design. We are working to properly support the new design guidelines
MaintenanceAndroid
- Meta App Events plugin now supports SDK version 18
Bug fixAndroid
- Fixed a visual bug where JS dialogs in dark theme would have dark text on dark background
MaintenanceiOS
- Biometric auth plugin now invalidates any credentials when FaceID/TouchID signature is changed
MaintenanceAndroid
- Biometric auth plugin now invalidates any credentials when new biometric data(e.g. a new fingerprint) is added.
MaintenanceApp Studio
- Added Expand/Collapse button for app groups in your organization.
New featureApp Studio
- Released official support for Single Sign-On (SSO), allowing you to securely log in using your organization’s identity provider. Please contact the Median team to enable SSO for your organization.
Bug fixMaintenanceAndroid
Bug fix
- Fixed an issue where volume keys could trigger backwards/forward navigation
- Improved User-Agent handling for popup windows to ensure consistent behavior across all WebView instances.
New featureApp Studio
- Released new UI for App Studio with new features like Groups, App Tags, App Pinning to allow for a better organized app management. Docs
- Added functionality to view a list of previously uploaded assets and delete/restore previous assets as required.
Bug fixiOS
- Fixed:
onesignal.register()method resolving the promise even before the user made a choice to opt-in for notifications
MaintenanceAndroid
- GeckoView now has better support for event handling inside iframes.
- Upgraded GeckoView to version 140
MaintenanceAndroid
- Document Scanner plugin: Improved image quality of scanned image by using full-resolution image
Bug fixAndroid
- Fixed: Incorrect navigation title are shown sometimes when redirects are involved.
MaintenanceAndroid
- Improved handling of new windows using
window.openwhen using the GeckoView plugin
Bug fixAndroid
- Fixed: An empty image would sometimes show up in Gallery when uploading a new image
Bug fixiOSAndroid
- Added better support for
data://based pixel tracking
Bug fixApp Studio
- Fixed issue with App Studio “Native Navigation” configuration not being imported via “Import from Existing App” functionality.
Bug fixiOS
- Fixed: FirebaseAnalyticsPlugin: Some JSBridge method calls were being ignored in the native code.
Bug fixAndroid
- Fixed: Onscreen keyboard may sometime overlay the webview causing the textfield to be hidden behind it
Bug fixiOS
- Fixed issue with blob downloads not working in new windows
Bug fixAndroid
- Fixed issue in latest v5 OneSignal plugin where using the JS bridge method to set tags was clearing any existing tags
Bug fixAndroid
- Fixed: File input with invalid or empty mimetypes would sometimes cause no file to be uploaded
Bug fixAndroid
- Fixed: Default date and time picker modals showed white buttons which merged with the background
New featureMaintenanceApp Studio
New feature
- Added option to specify the inactive bottom tab bar color for iOS in the “Bottom Tab Bar” tab within the “Native Navigation” tab
- “Bottom Tab Bar” visual editor preview in “Native Navigation” tab now accurately displays the inactive icons and colors
Bug fixiOS
- Fixed black rectangle appearing at top of WebView on devices with notched display (iPhone X and later)
New featureiOS
- iOS now supports setting separate color for inactive bottom tab item.
Bug fixApp Studio
- Fix an issue with Bottom Tab Bar Inactive Icon not saving
Bug fixiOS
- Fixed a crash when user agent string is set to null
Bug fixiOS
- Fixed logic on handling data urls to resolve Calendar plugin issue
- Fixed an issue with the bottom navbar always selecting the first button
New featureApp Studio
- “Top Navigation Bar” visual editor in “Native Navigation” tab now allows putting multiple nav bar items inside an Action Menu
- “Bottom Tab Bar” visual editor in “Native Navigation” tab now allows specifying tab bar icons based on inactive / active state
Bug fixAndroid
- Fixed: Nested items in the side menu may be unindented.
New featureAndroid
- Capture quality can be set when uploading an image using the device camera. Docs
New featureAndroid
- Upgraded all UI to Material Design 3.
New featureApp Studio
- Added Android 15 option in simulator preview for Pixel 6, Pixel 6 Pro, Pixel 7, Pixel 7 Pro, Pixel 8, Pixel 8 Pro devices
New featureiOS
- Added callbacks to the download methods. Download a File
New featureBug fixiOS
New feature
- Released a new plugin: ReaderModalPlugin (External Link Accounts for Reader Apps)
- Added a regex pattern which opens all calendar links when the CalenderPlugin is installed
- App now correctly shows page title in top navbar instead of app name
- PDF files downloaded as blobs now correctly open in PDF viewer
Bug fixApp Studio
- Fixed unresponsive delete button on “Top Navigation Bar” and “Bottom Tab Bar” visual editors in “Native Navigation” tab
New featureBug fixiOS
New feature
- Appsflyer Plugin: Added uninstall tracking and SKAN support. Appsflyer Plugin
- Adjust Plugin: Added uninstall tracking, SKAN and attribution info support. Adjust Plugin
- Fixed: Navbar items’ icon color is sometimes wrong
New featureBug fixAndroid
New feature
- Adjust Plugin: Added uninstall tracking and attribution info support. Adjust Plugin
- Appsflyer Plugin: Added uninstall tracking support. Appsflyer Plugin
- Fixed: Animated splash screen does not respect the “At least one full loop” option
Bug fixApp Studio
- Fixed an issue with Google Services config file missing warning immediately closing on rebuild requests
Bug fixApp Studio
- Fixed issue with “Discard Changes” not restoring deleted Google Services configuration in “Build & Download” tab
New featureApp Studio
- Added hover tooltip animation for improved accessibility when using App Studio
- Added iPhone 16 Pro and iPhone 16 Pro Max devices with iOS 18 in simulator preview
- Added iOS 18 option in simulator preview for other iPhone and iPad devices
Bug fixiOS
- Fixed loading spinner color not being set in the app correctly
MaintenanceApp Studio
- Added UI text fields to enter Auth0 plugin configuration
- Adjusted logic for “Advanced Mode” toggle in Native Plugin settings for improved user experience
Bug fixApp Studio
- Fixed an issue with deleting “Link Behavior” rules on initial page load
Bug fixAndroid
- Document Scanner plugin now properly asks permission for camera/storage.
MaintenanceiOSAndroid
- Meta events plugin and social login plugin now use Facebook SDK v17
MaintenanceAndroid
- ShareIntoApp now correctly works when sharing text from Slack and some other apps. Docs
MaintenanceiOS
- We have updated our build platform to strip bitcode making the code compatible with Xcode 16
MaintenanceAndroid
- SSL errors no longer show a toast message; are silently logged by default now.
MaintenanceAndroid
- App now asks to enable location services in phone settings if they are disabled on every location prompt. (Previously only happened when asking for location permission) Docs
MaintenanceiOSAndroid
- PDF links are now treated like other downloadable links ignoring .pdf extension as some websites e.g. Dropbox like to put .pdf at the end of non pdf links
MaintenanceApp Studio
- Renamed “Claim App” to “Add to Account” and improved user experience for “Add to Account” functionality.
- Improved user experience for “Transfer Organization” functionality. Your app’s icon and name will be displayed when selecting the target organization to transfer your app.
MaintenanceiOS
purchasemethod in In App Purchases plugin now returns transaction information if a POST callback is not configured Docs
Bug fixiOS
- Fixed an issue where a null value for pinch to zoom settings was being set on rebuild for some apps causing a crash on initial launch
New featureApp Studio
- Added links to Release Notes in “Build & Download” tab
- Added “Rebuild on Save” toggle in simulator preview. This is enabled by default. When enabled, saving your changes in App Studio automatically rebuilds your app in the simulator preview. Disabling this will not automatically rebuild the app in the simulator preview when you save your changes.
MaintenanceAndroid
- App no longer crashes when opening password protected PDFs. An error message is shown to the user.
MaintenanceiOS
- AuthPlugin
getStatusmethod no longer throws error if keychain is empty - Renamed error code
none_enrolledtononeEnrolledfor AuthPlugin - Renamed error code
no_hardwaretonowHardwarefor AuthPlugin - Renamed error code
security_update_requiredtossecurityUpdateRequiredfor AuthPlugin
Bug fixAndroid
- Fixed crash when launching initialUrl in
app-browser - Fixed
setTabsmethod causing an unnecessary bottom tab bar animation
New featureApp Studio
- Added “Install on device” button to the ‘Build & Download’ tab and Public Sharing Link. Now, you can more easily download and install the Android APK directly to your device by scanning a QR code.
Bug fixAndroid
- Fixed infinite loading if a bottom tab bar button is selected using the JavaScript bridge
MaintenanceApp Studio
- Improvements to Chrome DevTools functionality for browser-based simulators
Bug fixiOSAndroid
- Improved URL matching for dynamic titles in top navigation bar. Which did not show in some scenarios
Bug fixAndroid
- Fixed navigation bar sometimes showing up when set to
autoand no valid navigation item configured.
New featureApp Studio
- Added Pixel 8 and Pixel 8 Pro devices in simulator preview
- Added Android 14 option in simulator preview for Galaxy Tab S7 and Pixel 6, 6 Pro, 7, 7 Pro, 8, 8 Pro devices
MaintenanceiOSAndroid
Bug fixiOS
- If TopNavBar is set to
Alwaysand no nav bar is configured in the visual editor the app will now show the defaults (app icon or custom image) - Fixed
isFirstLaunchkey inmedian.deviceInfo()may befalseon first launch of the app
Bug fixAndroid
- Fixed
isFirstLaunchkey inmedian.deviceInfo()may befalseon first launch of the app
MaintenanceiOS
- PDF viewer now passes correct cookies data in the download request
New featureApp Studio
- You can now restart your app within the browser-based simulator without restarting the entire device.
- You can also stop the current simulator session to more quickly switch to a different device model or device type.
MaintenanceiOS
- Added
InfoPlist.stringsfile to the project
MaintenanceAndroid
- Upgraded the platform to AGP 8.5 and Gradle v8.7
Bug fixiOS
- Fixed a crash when setting Bottom Navigation config using JavaScript bridge
MaintenanceApp Studio
- Improvements to backup preview display.
MaintenanceiOS
- MediaPlayer now correctly shows seek controls in notification center view for playlists.
- Fixed a memory leak causing media to keep playing in secondary windows even after closing them.
MaintenanceApp Studio
- Improvements to language localization on the Interface tab. Contact our team to add support for additional languages.
New featureAndroid
- Native Media Player Plugin now uses ExoPlayer
- Media Player now supports playing HLS live streams
Bug fixAndroid
- User Agent string is now properly appended for all requests
MaintenanceApp Studio
- Improvements to Top Navigation Bar configuration editor
- Performance improvements for display of custom icon when previewing
MaintenanceAndroid
- Google Sign-In now uses the new CredentialsManager API for faster and more secure login on Android
Bug fixiOS
- Fixed an issue which may cause OneSignal rich content notification to not show or show with a significant delay
Bug fixApp Studio
- Fixed an issue where a zero value was not valid for the Session Cookie Expiry under Website Overrides
MaintenanceiOS
- Face ID plugin now works properly with Promises
- Context menu is correctly disabled for JS links with invalid href values
MaintenanceAndroid
- Fixed app may crash if theme fails to apply in time
MaintenanceAndroid
- We have greatly improved internal memory management of the platform making it more stable for resource-heavy websites
Bug fixAndroid
- Fixed pull-to-refresh gesture accidentally activating on scroll up.
- Fixed crash on
tel://scheme links
New featureApp StudioiOSAndroid
- Added support for custom context menus
MaintenanceAndroid
- Added support for Android 14 for the Media Player Plugin
New featureiOS
- iOS now supports opening PDF Documents directly within the app.
New featureAndroid
- Android now supports opening PDF Documents directly within the app.
New featureiOSAndroid
- Median now supports OneSignal’s user-centric data model. Existing apps are now in “Legacy Mode”. To migrate your app review our documentation and disable Legacy Mode on the Push Notifications tab
New featureiOSAndroid
- New method for OneSignal
median.onesignal.badge.setwhich can be used to set notification badge count
Bug fixiOS
- Fixed a bug with location callback not triggering when user denies permission
Bug fixAndroid
- Fixed
median_iap_purchasesnot being called properly on new Android versions - Fixed location permission not being prompted again after selecting “Just this time” in the location permission prompt
Bug fixMaintenanceAndroid
Bug fix
- Implemented a fix for
transactionTooLargeexception - General stability improvements
- Updated the GeckoView version used in the GeckoView plugin
Bug fixMaintenanceAndroid
Bug fix
- Fixed an issue where if a user does not have a default web browser registered external links cause an “App Not Found” error.
- Keyboard state return data updated to match iOS docs
New featureApp Studio
- Add option “Import from existing app” on the “Build & Download” tab’s “App Configuration” section. This allows importing selected app configuration sections from another app in your organization to your desired app.
Bug fixAndroid
- Fixed a crash that may happen when the app is moved to background
- Fixed a regression that caused JS to not be injected on page load
New featureApp Studio
- Add option to customize iOS permission description text for microphone access on the Permissions tab
New featureiOS
window.opennow accepts a 2nd parameter called mode. See docs for all the supported values
New featureMaintenanceAndroid
New feature
window.opennow accepts a 2nd parameter called mode. See docs for all the supported values
- Now supporting Android 6.0 (Marshmallow) and above
New featureiOSAndroid
- AppsFlyer plugin now supports reporting conversion data on app launch and foreground
New featureBug fixiOS
New feature
- You can now pick one or more contacts using a native UI when using native contacts
median.keyboard.infomethod now accepts a callback method Keyboard Tracking
New featureAndroid
- You can now pick one or more contacts using a native UI when using native contacts
Bug fixAndroid
- Stability improvements
Bug fixAndroid
- NFC scan prompt now properly gets dismissed upon scan for all tag types
MaintenanceApp Studio
- Added support for Activity Indicator customization
MaintenanceiOS
- Activity Indicator can now be customized
MaintenanceAndroid
- App now uses Material Design Progress circle
- Progress circle (Activity indicator) can now be customized
MaintenanceApp Studio
- Renamed Link Handling - Internal vs External Links to Link Behavior
- Added
My Domainoption for Link Behavior - Pages to Trigger Rule. This will allow easier configuration of link handling behavior for your app’s domain.
New featureiOSAndroid
- Added new
getPlatform()helper method to Median JS Bridge NPM Library
MaintenanceAndroid
- Android target API has been increased to 34. Android apps and all plugins have been updated to support the latest Android platform requirements.
MaintenanceiOSAndroid
- Native Datastore plugin now supports promise-based callbacks
New featureiOSAndroid
- Add a prompt to get user consent to use personal data to serve personalized Ads when using AdMob
MaintenanceiOS
- Add
dataRegionappConfig field for iterable plugin - Add an appConfig field
injectMedianJS: booleanwhich can be used to disable in-app injection of Javascript bridge in favor of NPM package for React/Angular/Etc apps - When closing the appbrowser window
median_appbrowser_closedcallback will be called.
MaintenanceAndroid
- Add
dataRegionappConfig field for iterable plugin - Fix parsing the internal/external rules may cause a crash if value type is not correct.
Bug fixiOS
- Fixed an issue where iOS alert dialogs would clear webview controller settings including status bar styling
MaintenanceAndroid
- Add an appConfig field
injectMedianJS: booleanwhich can be used to disable in-app injection of Javascript bridge in favor of NPM package for React/Angular/Etc apps - Fixed: Share dialog not adding the text in the shared content
- InternalExternal rules are overwritten on app updates. Previously if they were set using the Median JS Bridge, a new update will have no impact. This behaviour is now in parity with iOS
- OneSignal plugin added back
oneSignalSubscribedin info method response.
New featureApp Studio
- Introducing In-App browser links. You can now define link handling rules so that set links open in an in-app browser. This helps improve the end-user experience and increases session time.
New featureiOS
- Introducing In-App browser. You can now define link handling rules so that links open in a separate Safari window within the app. This helps improve the end-user experience and increases session time.
New featureAndroid
- Introducing In-App browser. You can now define link handling rules so that links open in a separate Chrome window within the app. This helps improve the end-user experience and increases session time.
MaintenanceiOS
- arm64 simulators are now supported on M-series Macs
- Activity indicator now always has white color regardless of color theme (dark/light)
Bug fixiOS
- Fixed: Back button is not always labelled ‘Back’ on nav level 1 and up.
Bug fixAndroid
- Fixed: Camera intent not showing when QR/Barcode Scanner or similar plugins that require camera access are active.
New featureApp Studio
- Hosted offline page functionality to create an app offline page based on a live URL. The App Studio will save the content at the specified URL and display this cached page when your app is offline and unable to access your website.
- This functionality can be used to provide an offline page that is seamless and completely white labeled to your app without needing to write standalone HTML/CSS.
New featureiOSAndroid
- Added ‘state’ parameter to Social Login plugin
New featureApp Studio
- Added iPhone 15 Pro and iPhone 15 Pro Max devices with iOS 17 in simulator preview.
- Added iOS 17 option in simulator preview for iPhone 11 Pro, 12, 13 Pro, 13 Pro Max, 14 Pro, 14 Pro Max devices
Bug fixAndroid
- Fixed bottom tab bar labels not showing if more than 3 buttons are present in menu.
Bug fixAndroid
- Fixed bug where top navigation bar icons disappear in some cases.
Bug fixAndroid
- Fixed slow performance on lower end devices
- Fixed native transitions between pages not working as expected
Bug fixAndroid
- Fixed bug where downloading a file with a filename that already exists may crash the app on Samsung Note 10+ devices.
MaintenanceiOS
- Javascript
alertandpromptdialogs now have button order which is consistent with other browser apps.
Bug fixAndroid
- Pressing back on root url now quits the app. This behavior change was introduced when switching to system API for splash screen
Bug fixiOS
- Push notification auto-prompt for permission now works with ATT auto-consent-prompt
MaintenanceAndroid
- Initial splash screen fade time has been improved
New featureiOS
- Added ability to remove keyboard accessory view using
general.iosShowKeyboardAccessoryViewkey
Bug fixAndroid
- App now resets to
initialUrlinstead of crashing if the app is closed while in background with a large history stack.
New featureApp Studio
- Specify the languages you wish your app to support on the Interface tab. Contact our team to add support for additional languages.
New featureiOS
- Added Dynamic Type support
New featureAndroid
- Android now uses the new splash screen API.
MaintenanceAndroid
- Remove location-services dependencies from main app
New featureiOS
- Added delay to splash screen animation. Splash screen is now visible until the first page load is complete.
- Improvements to how Content-Disposition header is used to guess the filename when downloading files.
New featureMaintenanceAndroid
New feature
- New splash screen configuration. Android now uses system splash screen.
- Added WebRTC flag.
New featureiOS
- Use filename suggested in
Content-Dispositionheader in file downloads
Bug fixAndroid
- Camera uploads now work correctly when using QR/Barcode Scanner plugin.
- Minor UI changes and stability issues.
- Fixed side menu was able to swipe into view when it is set to be disabled.
- Fixed blob downloads.
New featureiOS
- Custom headers for backward and forward navigation
New featureiOS
- Added new JavaScript Bridge function to monitor keyboard state.
New featureAndroid
- Added new JavaScript Bridge function to check for Android location permission.
New featureiOS
- Added new window.open and window.close methods.
- Check MIME type for main window only and not trigger downloads for iframes.
New featureAndroid
- Added
window.openandwindow.closemethods.
New featureAndroid
- Add support for setting
cacheModevia appConfig.
New featureApp Studio
- More granular permission for WebRTC applications to provide app-level permission for the microphone and/or camera rather than both. Found on the Permissions tab.
New featureiOS
- Added new JavaScript Bridge param to set
maxWindow.autoCloseDocs
- Add new method in JavaScript to silence foreground notifications for OneSignal. Docs
New featureBug fixAndroid
New feature
- Add new method in JavaScript Bridge to silence foreground notifications for OneSignal. Docs
- Downloads that are internal are now opened immediately.
- Fixed internal downloads not saving properly in some cases.
- All internal downloads are now opened regardless of ContentDisposition header.
- Fixed selecting a tab using JavaScript Bridge method may also emulate a click causing a url change.
- Used new method to silent foreground notifications for OneSignal.
- Used new bridge param to set maxWindow autoClose.
- WebRTC permissions are no longer required at startup.
New featureAndroid
- Downloads with
attachment=inlineheader now open automatically.
MaintenanceAndroid
- Added support for new foldable phone models.
New featureAndroid
- Added JavaScript Bridge function to enable/disable back swipe gestures.
- Reinstated some previous download behaviors (downloaded files not showing up in file manager apps).
- Removed haptics with swipe gestures.
Bug fixAndroid
- Fixed horizontal scrolling not working in some cases.
- Unified download behaviours across all possible scenarios.
New featureiOS
- Default assets can now be changed on iOS.
Bug fixiOS
- Fixed media player widget not showing correctly on lock screen.
- Fixed app crash when calling
setTabsandselectTabsvia JS Bridge
Bug fixMaintenanceAndroid
Bug fix
- This fix reinstates previous functionality of
maxWindowsflag irrespective ofautoClose
- Downloading files no longer shows a notification showing the progress.
- Improved swipe back gestures and diagonal movement detection.
New featureiOS
- Added
keepScreenOnbridge methods. - Added new
median_app_resumedcallback which is called when app is resumed from background. Documentation - Allowed optional
textwhen sharing a url using the bridge method. - Fixed statusBarStyle not following system settings when set to
auto.
New featureAndroid
- Reworked downloads (Notification is displayed with download progress and info).
- Top navigation bar will show Display Mode
autowhen a valid title or actions are defined. - Fixed title not being centered in top navigation bar.
- Fixed icons not always displaying in top navigation bar.
- Added new
median_app_resumedcallback which is called when app is resumed from background. Documentation - Added optional
textparameter for median.share function. Documentation
New featureiOSAndroid
- Auto-closes windows when approaching the maximum number of open windows allowed.
Bug fixiOS
- Native file download requests now use the proper
User-Agentstring. - Fixed navigation items overwriting back button title in new windows.
Bug fixAndroid
- Fixed internal/external regex not being immediately updated when using the Median JavaScript Bridge.
- Fixed app crash in certain situations when tabs are set using the Median JavaScript Bridge.
New featureApp Studio
- Custom iOS camera permission can now be set on Permissions tab to skip needing to customize this string in Xcode
Bug fixAndroid
- Fixed tab deselection not working using Median JavaScript Bridge.
New featureApp Studio
- NFC usage description can now be set on Permissions tab.
Bug fixAndroid
- Fixed issue with app updates showing warnings about AD_ID being present when admob plugin is not being used.
MaintenanceAndroid
- Major enhancements to Android file picker.
Bug fixAndroid
- Disable app-based swipe gestures when system is set to use gesture navigation as they may conflict.
New featureiOS
- Allow refresh and search functions in navigation bar.
New featureMaintenanceAndroid
New feature
- Allow refresh and search functions in navigation bar.
- Improved handling of
intent:\\urls.
Bug fixiOS
- Fixed pinch to zoom not working in some apps.
Bug fixAndroid
- Fixed crash on
blob://url downloads. - Fixed Android notification prompt not working on Android 13+.
- Improved console web logs.
- Fixed interception of download urls and UI no longer freezes.
Bug fixiOS
- Fix for native search not working in some cases in new navigation bar.
Bug fixAndroid
- Improved handling of
intent:\\urls.
New featureAndroid
- Added additional optional param to set filename when downloading file.
- Fixed issue where an empty file may be created when user cancels a file upload from camera.
New featureAndroid
- Added support for
intent:\\urls on websites.
New featureiOS
- Added support for webConsoleLogs to show website Javascript logs in Appetize device logs.