Changelog

Every SDK release and every visible change to the console and the ingest platform. SDK lines receive fixes for eighteen months after the next major release.

iOS 2.9.1iOS

Frame tracking fix for the current iOS beta

  • FixedA crash in the frame tracker when CADisplayLink reported a zero-duration frame on the current iOS beta.
  • FixedScreen names for SwiftUI views wrapped in NavigationStack inside a TabView were reported as the tab's name.
  • ChangedUpload retries now honour Retry-After down to one second instead of rounding up to five.
Android 2.9.0Android

Exit reasons, Compose navigation and a smaller start

  • AddedANRs and low-memory kills are reported from ApplicationExitInfo on the next launch, even when the watchdog could not capture them.
  • AddedAutomatic screen names for Compose Navigation 2.8 destinations, including typed routes.
  • ChangedInitialisation on the main thread is 15% shorter; the SDK now adds 2.9 ms to cold start at p95 on our reference devices.
  • ChangedMinimum AGP raised to 8.0.
iOS 2.9.0iOS

SwiftUI names, screenReady and privacy manifest update

  • Added.gatepostScreen(_:) view modifier and Gatepost.screenReady(_:) for screens that load content asynchronously.
  • AddedTLS handshake and connection reuse are now reported per request.
  • ChangedPrivacy manifest updated with the system boot time reason code used for monotonic timing.
  • FixedCold start was occasionally reported as warm after a background app refresh.
React Native 1.6.2React Native

Expo config plugin fix

  • FixedThe Expo config plugin did not inject the project key on Android when app.config.js exported a function.
  • FixedDuplicate request events when a fetch polyfill and the native client both observed the same request.
Flutter 1.4.0Flutter

go_router support and an http client wrapper

  • AddedGatepostNavigatorObserver works with go_router and reports named routes.
  • AddedGatepostHttpClient wraps any http.Client; the dio interceptor is unchanged.
  • ChangedDart errors captured through Gatepost.runZoned include the last five screens as breadcrumbs.
ConsoleConsole

Release comparison and webhook alerts

  • AddedCompare any two releases side by side across app start, screens, network and crash-free rate, with the difference highlighted per metric.
  • AddedAlerts can call an HTTP webhook with a signed JSON payload in addition to email, Slack and Telegram.
  • ChangedSession trace pages load the first screen before the rest of the timeline, which makes large sessions open faster.
Android 2.8.3Android

ViewPager2 and R8 full mode

  • FixedFragments inside ViewPager2 produced duplicate screen events when the pager preloaded neighbours.
  • FixedConsumer rules updated for R8 full mode so trace attribute names are not stripped.
iOS 2.8.2iOS

Scrubber patterns from the console

  • AddedAdditional PII scrubber patterns configured in the console are applied to crash messages and trace attributes on the device.
  • FixedTLS timing was missing for requests that reused a connection on iOS 18.4 and later.
React Native 1.6.0React Native

New architecture and Hermes source maps

  • AddedFull support for the new architecture with TurboModules; the old bridge remains supported.
  • Addedgatepost-cli upload-sourcemap understands Hermes bytecode bundles.
  • ChangedMinimum React Native version raised to 0.73.
iOS 2.8.0, Android 2.8.0iOS Android

Child spans and remote sampling

  • AddedCustom traces can have child spans, up to 256 per trace.
  • AddedSample rate, ignored hosts and upload interval can be changed from the console without a new build.
  • ChangedBatches are now capped at 256 KB compressed and split automatically.
Ingest platformPlatform

South America region and clearer rate limiting

  • AddedCollectors in South America. Projects with a South America home region are stored there.
  • Changed429 responses always carry Retry-After; SDKs from 2.8 honour it.
  • ChangedThe /diagnostics page on every collector now shows the answering region.