The week in one paragraph

No platform shipped anything that breaks us this week. The three P1s on this page are all carried from last week, and the only one whose clock actually moved is Apple: iOS 27 GA is now seven days out, the RC is expected around tomorrow alongside the 9 September event, and countly-sdk-ios has still never been exercised under Xcode 27. The NuGet key finding got sharper rather than resolved — Countly 26.1.0 was published to NuGet.org on 13 August 2026, four days before the cutoff, which converts last week's "the key is almost certainly pre-17-August" assumption into an established fact. The key dies on 1 November.

The more valuable output this week is three corrections to our own picture, all of which make the fleet look better than the radar has been reporting. The Flutter bridge's alarming mavenLocal() dependency on ly.count.android:sdk-otel — reported here last week as something that "will not resolve for an outside contributor" — is not on the branch at all. It is uncommitted work in Arif's local tree, alongside four untracked lib/src/otel*.dart files. Public staging is clean. Second: AGP 10's legacy-DSL removal, carried as an undated worry for both bridges, does not touch us — a sweep for every removed API across the four Gradle-built repos returns zero hits. Third: countly-sdk-windows is at 26.1.0, not the 25.4.3 this page has printed for three weeks.

One genuinely new item deserves attention even though nothing breaks: Chrome moves to a two-week release cycle starting with Chrome 153 on 8 September. The rate at which browser behaviour can change under countly-sdk-web doubles tomorrow, and beta lead time compresses to about three weeks. And a new find in the C++ SDK — the vendored SQLite amalgamation is 3.29.0, from July 2019, last touched in this repo in August 2019. It is opt-in and not remotely exploitable in our usage, but it will trip every enterprise dependency scanner it meets.

Action needed 3 findings, 0 new · 0 PRs opened

P1

iOS 27 GA is seven days out — the RC lands tomorrow

Apple announced a special event for 9 September at 10 a.m. PT on 26 August. Reporting converges on the iOS 27 release candidate arriving 8–9 September and GA around 14 September 2026, with iPadOS 27, watchOS 27, tvOS 27 and visionOS 27 alongside. Public beta 6 went out 31 August. Xcode 27 carries the iOS 27 SDK and Swift 6.4.

countly-sdk-ios · countly-sdk-flutter-bridge · countly-sdk-react-native-bridge · countly-sdk-unity

Re-verified this run: the submission floor is still Xcode 26 and the iOS/iPadOS/tvOS/visionOS/watchOS 26 SDKs, in force since 28 April 2026, and developer.apple.com/news/upcoming-requirements/ lists no iOS 27 requirement. This is not a compliance deadline. It is a support-wave deadline: countly-sdk-ios is at 26.1.4 with swift-tools 5.9 and floors of iOS 12 / macOS 10.14 / tvOS 12 / watchOS 4 / visionOS 1, and customers upgrade on day one.

Smallest fix Build and run the countly-sdk-ios test suite under Xcode 27 beta before 14 September, then the three wrappers that embed it. This escalated from "about two weeks" to "seven days" since the last edition and is the only item on this page whose clock moved. Verification task — nothing to change blind, and nothing the radar can perform.
P1

The NuGet key that published Countly 26.1.0 expires on 1 November — now confirmed, not assumed

NuGet.org caps API keys created on or after 17 August 2026 at 30 days, and expires every key created before that date on 1 November 2026. Last week this page assumed our key predated the cutoff. It now does not have to assume: the NuGet registration index puts the publication of Countly 26.1.0 at 2026-08-13 — four days before the cutoff — and 25.4.3 at 2025-12-11. Both were pushed with a long-lived key that will be revoked.

countly-sdk-windows

.github/workflows/ in countly-sdk-windows still contains only release_notice.yml. There is no publish workflow, so the release is pushed by hand from a laptop with a human-held key. Trusted Publishing over OIDC is the recommended replacement and requires a CI publish workflow to exist.

Smallest fix Configure Trusted Publishing on the Countly package against a GitHub Actions workflow in Countly/countly-sdk-windows, or accept a 30-day manual rotation cadence. Not PR'd — needs nuget.org owner access and a decision about whether Windows releases move to CI at all. 55 days left.
P1

countly-sdk-cpp still does not configure on any CMake 4.x

Unchanged, and re-verified: CMakeLists.txt:1 is cmake_minimum_required(VERSION 3.0), and CMake 4.0 made a version or range not covering 3.5 a hard error. vendor/json/CMakeLists.txt is at VERSION 3.1, same problem. No CMake release this week — 4.4.3 from 25 August is still current, there is no 4.5, and 4.x remains the default cmake on Homebrew and Fedora.

countly-sdk-cpp

Smallest fix One line: cmake_minimum_required(VERSION 3.5...3.31), plus the same in vendor/json. Still not PR'd — raising a declared minimum is a floor bump and a human's call. Second week carried, and it will keep appearing until someone types the line.

Corrections 3 items this page had wrong

Corrected

The Flutter bridge's mavenLocal() / sdk-otel dependency is not on the branch

Last week's edition reported that countly-sdk-flutter-bridge/android/build.gradle pulls ly.count.android:sdk-otel:26.1.4 from mavenLocal() and that this "will not resolve for an outside contributor." That was a read of a dirty working tree, not of the branch. git show staging:android/build.gradle contains one Countly dependency — implementation 'ly.count.android:sdk:26.1.2' — with no mavenLocal() and no sdk-otel. The last commit to that file is be2d9835, 8 April 2026, and git log -S "sdk-otel" on it returns nothing. Public staging builds fine. No exposure, and the alarm was ours.

What is real and worth knowing: the OTel work is live as uncommitted local changes — modified android/build.gradle, CountlyFlutterPlugin.java, lib/countly_flutter.dart, lib/src/countly_flutter.dart, pubspec.yaml, plus four untracked files: lib/src/otel.dart, otel_flutter_instrumentation.dart, otel_internal.dart, otel_navigator_observer.dart. Not pushed, not branched. Two consequences: it is one rm -rf from gone, and ly.count.android:sdk-otel 404s on Maven Central — so publishing that artifact is a hard prerequisite before this can land anywhere.

Corrected

AGP 10's legacy-DSL removal does not touch any of our repos

Carried for two weeks as an undated worry against both bridges. AGP 9.4.0 shipped this month (with Android Studio Quail 4, stable 1 September), and its release notes plus the official DSL/API migration timeline enumerate exactly what AGP 10.0 removes: applicationVariants, libraryVariants, testVariants, unitTestVariants, variantFilter, registerJavaGeneratingTask, registerResGeneratingTask, the Transform API, and the android.newDsl / android.builtInKotlin opt-out flags.

countly-sdk-android · countly-sdk-flutter-bridge · countly-sdk-react-native-bridge · countly-sdk-java

A sweep of every *.gradle, *.kts and gradle.properties across those four repos for all nine of those symbols returns zero matches. We use none of the removed surface. AGP 9.4 also narrows the escape hatch from a global android.newDsl=false to a per-module android.newDsl.optOut=:module, which is irrelevant to us for the same reason. The bridges' ancient AGP classpath declarations (3.2.1 and 7.0.1) remain a separate and still-live concern — they constrain what Gradle a consumer can build the bridge with — but the AGP 10 API cliff is not our cliff. Dropping the DSL half off the watchlist.

Corrected

countly-sdk-windows is at 26.1.0, not 25.4.3

The baseline table and the last two editions printed 25.4.3. nuget/Countly.nuspec reads 26.1.0 on the local tree, on origin/staging and on origin/master (commit 4eec245, 10 August), and nuget.org lists 26.1.0 as the latest published version, released 13 August 2026. Baseline updated. Also re-read and confirmed unchanged: net35-full, net45, netstandard2.0, with Newtonsoft.Json 13.0.3 as the only shared dependency.

Platform

Android P2

  • 1 September — Android Studio Quail 4 went stable, carrying AGP 9.4.0. Requirements move up modestly: Gradle 9.6.0 minimum (from 9.5.0), JDK 17, build-tools 36.0.0, max API 37. countly-sdk-android is on AGP 9.3.2 with a Gradle 9.7.1 wrapper, so it already clears the new floor and the bump to 9.4.0 is a one-line, zero-risk change whenever someone wants it. Not PR'd: routine maintenance, not P0/P1.
  • Two AGP 9.4 changes are worth reading even though neither hits us. The new Variant API becomes mandatory in AGP 10; the opt-out is now per-module (android.newDsl.optOut=:example-lib1) and disappears with AGP 10.0. And dynamic-feature modules now get build warnings for flavour-dimension mismatches against the app module, becoming errors in AGP 10.0. We ship no dynamic features. See Corrections for why the removal list is a non-event for us.
  • Android developer verification enters its final month — 30 September 2026. App registration becomes required for participating stores in Brazil, Indonesia, Singapore and Thailand: Google Play, HONOR App Market, OPPO App Market, Galaxy Store, Palm Store, V-Appstore and GetApps. Google says over 99% of Play apps are already auto-registered and developers need only confirm status on the Play Console home page; developers distributing only outside Play must sign up for the Android Developer Console. Global expansion is planned for 2027.
  • Our exposure is nil and this needs saying plainly: we publish libraries, not apps. No Countly SDK repo ships a Play-distributed artifact, and the app/ demo modules are not published. There is no SDK-side surface — no manifest entry, no API, no version floor. It will still generate customer questions for the next three weeks, so it belongs in a support answer rather than a backlog item.
  • No new Google Play policy updates in the window. The three policies with 26 August compliance dates were announced 15 July and concern anonymous-chat apps.
  • Our own release activity, in window: ly.count.android:sdk-native:26.1.6-rc2 was published to Maven Central on 4 September (rc1 preceding it), while ly.count.android:sdk remains at 26.1.5 from 31 July. 26.1.6 is in flight on the native/NDK side.

Apple P1

  • iOS 27 GA in seven days — see Action needed. The 9 September event is confirmed by Apple; the RC is expected 8–9 September.
  • Apple developer news was silent in the window. The most recent items are 26 August (event announcement), 27 August (routine tax and price updates), 24 August (Sign in with Apple relay addresses moving to private.icloud.com, a host-app account-system concern with no Countly surface) and 18 August (EU business terms, effective 1 October — the Core Technology Commission replacing the Core Technology Fee). Nothing 1–7 September.
  • Submission floor re-read and unchanged: Xcode 26 / iOS 26 SDK family since 28 April 2026. No iOS 27 requirement is listed. Privacy manifest and required-reason-API rules unchanged since 1 May 2024.
  • WebKit: nothing datable in the window. The blog's recent posts concern Safari 27 features — top-level await spec compliance, customizable select, and the Safari MCP server flagged in last week's edition — but the fetched page carries no publication dates, so no in-window WebKit claim is being made.

Web & browsers P2

  • Chrome halves its release cadence starting tomorrow. From the stable release of Chrome 153 on 8 September 2026, a new beta and a new stable ship every two weeks on Desktop, Android and iOS. Dev and Canary are unchanged; Extended Stable keeps its eight-week cycle. Google's stated trade-off is smaller scopes per release; the practical consequence for anyone shipping a browser SDK is that beta lead time compresses to about three weeks and the number of releases that can move behaviour under us roughly doubles.
  • Read for us: nothing breaks, and there is nothing to change in countly-sdk-web or countly-sdk-js. What changes is a process assumption. A monthly "check the Chrome release notes" habit now misses half of them, and this radar's own web sweep needs to look at two release notes per edition rather than one. Worth a Chrome Beta smoke test in CI if we ever want early warning rather than incident-driven discovery.
  • Chrome 153's release notes were not yet published at time of writing (developer.chrome.com/release-notes/153 returns 404), so no 153 removals are asserted here. Chrome 152, stable 25 August, remains the last release whose contents this page has verified — and its Private Aggregation removal was cleared last week at zero exposure.
  • No Firefox or WebKit release in the window.

Unity P2

  • 31 August — Unity 6.6 (6000.6.0f1) shipped. Android gains SDK Platform 37 support and version labels matching Google's naming. Web builds get a substantial toolchain jump: Emscripten 3.1.38 → 4.0.19, plus Wasm64 support for players using up to 16 GB of WebAssembly memory. CoreCLR players gain deep profiling. The macOS editor is now signed and notarized by Apple.
  • Our exposure, honestly graded: lower than it looks. countly-sdk-unity contains no native plugin files at all — a sweep for .jslib, .cpp, .mm, .so and .a returns nothing. It is pure C#, so a major Emscripten bump changes how Unity compiles our code, not what we hand it. That is Unity's compatibility problem before it is ours.
  • What is still ours: ProjectSettings/ProjectVersion.txt reads 2020.3.20f1, so we cannot open a 6.6 project, let alone test against it — the SDK is at 24.8.2, the oldest-but-one in the fleet. And the local checkout sits on a branch literally named fix_web_assemly, whose last commit is 19 June 2026. Unity's Web target is where our stale editor pin and Unity's fastest-moving backend intersect, and that branch has been parked for eleven weeks.
  • Support windows re-confirmed: 6.3 LTS supported to December 2027; 6.0 LTS support ends October 2026. CoreCLR replaces the scripting runtime in 6.8.

C++ P2

  • New this week, and not from a vendor: countly-sdk-cpp/vendor/sqlite/sqlite3.c declares SQLITE_VERSION "3.29.0" — released July 2019. git log on vendor/sqlite shows a single commit, da7720d, 31 August 2019. That amalgamation has not been touched in seven years and misses every SQLite fix since.
  • Why this is P2 and not P0. Two mitigations, both verified in CMakeLists.txt. First, option(COUNTLY_USE_SQLITE "Use SQLite" OFF) — it is off by default, compiled only for integrators who explicitly enable it. Second, SQLite's own position on its CVE history is that every reported vulnerability requires the attacker to either run arbitrary SQL or supply a maliciously crafted database file. Our usage is an SDK-owned local request queue with SDK-generated SQL, so neither precondition is met.
  • Why it still matters. Enterprise procurement runs SCA scanners, and "SQLite 3.29.0" is an instant red row in every one of them regardless of reachability. The cost of this finding is arriving as a security questionnaire, not as an incident. Refreshing the amalgamation is mechanical and independent of the CMake floor decision.
  • No CMake release in the window; 4.4.3 from 25 August stands.

Quiet platforms P3

  • React Native — nothing in the window. 0.87.1 (26 August) and 0.86.3 (24 August) both predate it. Carried and unchanged: the bridge pins AGP 7.0.1, compileSdkVersion 35 / targetSdkVersion 35 / minSdkVersion 21, wraps ly.count.android:sdk:25.4.4 against an Android SDK at 26.1.5, and still has no Package.swift for the SwiftPM migration. Expo, 3 September: Expo Go 57 now requires a login to run projects — a workflow change for app developers, no SDK surface.
  • Flutter & Dart — nothing in the window. Stable is 3.47.2 and the release-notes page was last updated 12 August; Dart 3.13 also shipped 12 August. Dart 3.13's breaking changes are worth a note for countly-sdk-dart (Dart SDK ^3.0.0) even though they predate the window: final/var are no longer allowed on non-declaring parameters, and built-in fallback root certificates were removed from the Dart VM — the latter is the one that could surface as a TLS failure on a bare host, and is worth a deliberate check rather than an assumption.
  • Node.js — nothing in the window. v26.8.1, v26.8.0 and v24.20.0 all landed 26 August. No security releases. countly-sdk-nodejs is at 24.10.3 and still declares no engines field — third consecutive week. It also declares zero runtime dependencies, which is the good news attached to that.
  • .NET — nothing in the window. September servicing lands 8 September. .NET 8 and 9 still end support 10 November 2026; .NET 10 is Active to November 2028. Our TFMs are unaffected.
  • Java — nothing in the window. JDK 27 has been in release-candidate state since 20 August with its feature set frozen, GA 15 September: G1 as the default collector everywhere, post-quantum hybrid key exchange for TLS 1.3, compact object headers on by default. countly-sdk-java compiles at Java 8 source/target, which nothing in JDK 27 removes. Its only runtime dependencies are org.json:json:20250517 — Maven Central is now at 20260814, worth a routine bump — and jsr305:3.0.2.
  • HarmonyOS — not verifiable again. The Huawei portal returned no usable content on automated fetch for a second week. Secondary sources put current at 6.1.1 (API 24) with DevEco Studio supporting API 24 projects, against our declared targetSdkVersion 6.0.2(22) and compatibleSdkVersion 5.0.0(12). Nothing further asserted.

Competitors do we have it? · is it worth it?

Sentry — the manual replay API is now on both mobile platforms, ten days apart Table stakes

  • 3 September, sentry-cocoa 9.27.0 added SentrySDK.replay with start(), startBuffering(), pause() and resume() — the same shape sentry-java 8.54.0 shipped on 27 August. That is deliberate cross-platform API parity delivered inside ten days, and it upgrades last week's read: this is no longer one SDK's idea, it is a published cross-platform contract for manual replay control, which is precisely the artefact that is hardest to design and easiest to copy.
  • Same release also added maxFeatureFlags (default 100) and, notably, deprecated enableLogs and enableMetrics — manual log and metrics APIs are no longer gated behind those flags, and the flags go away next major. A clean read on config-surface design: the capability stays, the boolean that fragmented it does not.
  • 3 September, sentry-java 8.55.0 moved ANR profiling out of experimental and added InternalSentrySdk.captureEnvelopeNonTerminating and updateSessionForDroppedEventNonTerminating — explicitly "for hybrid SDKs" — plus a Session.State.Unhandled for unhandled errors that do not kill the process. This one is directly relevant to us: that is the exact problem shape our Flutter and React Native bridges have when forwarding a Dart or JS error that the native layer must record without treating the session as crashed. Worth reading their implementation before we design ours.
  • Do we have replay? No — zero of thirteen, carried unchanged. Worth it: yes, and the API design is now free. Effort remains large: a cross-SDK contract over capture, redaction, upload, storage and consent. The cheap steal this week is the hybrid-SDK envelope pattern, which is small and useful whether or not replay ever ships.

PostHog — a busy week, and mostly catching up to us P2

  • 1 September — Android NDK crash capture. Native crashes from Android 12+ with frame symbolication, spanning their Android SDK, a Gradle plugin and Flutter. Do we have it? Yes, and for years. countly-sdk-android ships :sdk-native as a first-class module in settings.gradle, published as ly.count.android:sdk-native — currently at 26.1.6-rc2 as of 4 September — with an :upload-plugin module for symbol upload. This is PostHog reaching parity with us, not the reverse. Worth saying out loud, because the radar's default posture is to look for gaps.
  • 1 September — autocapture for React Native Web: touches, mouse clicks, interactions inside portals, and Expo Router events. Do we have it? No. countly-sdk-react-native-bridge has no autocapture on any target. Worth it: not at this shape. RN Web is a narrow slice, and our RN bridge's real debt is AGP 7.0.1, an Android SDK two minors behind, and no SwiftPM support. Autocapture is a legitimate cross-SDK conversation; RN-Web-first is not the way into it.
  • 4 September — survey introduction screens on iOS, Android and Flutter, shown before the first question. Do we have it? Partly — we have the surveys, NPS and rating widget family across mobile, but not a configurable intro step. Worth it: cheap and server-led. This is widget-configuration work rather than SDK work if the widget content is server-rendered, which for us it largely is. Good candidate precisely because it is small.
  • 4 September — an asyncio-native Python client (no Countly equivalent; also no Countly Python SDK) and Next.js pageviews carrying route templates like /products/[id]. The latter is a genuinely good idea for countly-sdk-web and countly-sdk-js: unparameterised dynamic routes shred pageview aggregation, and every SPA integrator hits it. Small, and framework-adapter shaped rather than core-SDK shaped.

Quiet this week P3

  • Mixpanel — nothing between 31 August and 7 September. The most recent entry is First-Party Domains on 27 August, covered last week (and still the best value-per-unit-of-SDK-work item on the proposals list).
  • Amplitude — one entry in the window, "Schedule experiment stop" on 1 September, an experimentation-console feature with no SDK surface. Nothing SDK-side since Embedded Guides & Surveys on 5 August.
  • Segment — no release in the window. Worth recording as sector context rather than news: Analytics-iOS and Analytics-Android reached end of support at the end of Q1 2026, with Analytics-Swift and Analytics-Kotlin as the replacements carrying auto-instrumentation, consent management and live plugins. Two of the four are features we do not have.
  • Firebase/GA4 — Android BoM is still 34.18.0 from 19 August. Nothing in the window.
  • Datadog RUM, Statsig, RevenueCat, Heap, Pendo, OpenReplay, LogRocket, Embrace, Bugsnag, Adjust, AppsFlyer — nothing verifiable in the window. Datadog's and Statsig's changelog endpoints both 404'd on automated fetch this run, so those two are "not checked" rather than "nothing shipped"; see caveats.

Sector

Browser release cadence is compressing, and it changes how a web SDK has to be maintained

  • The evidence is one dated change, not a trend piece: Chrome goes to two-week stable releases from Chrome 153 on 8 September 2026. Beta still leads stable, but by about three weeks instead of six or more.
  • Read for us: the assumption that a browser SDK can be validated on a monthly rhythm expires tomorrow. Two things follow. Regression discovery has to become continuous — beta-channel CI — or it becomes incident-driven. And the value of a deprecation-watching habit goes up, because there are now twice as many chances per quarter for a default to change under countly-sdk-web without anyone reading a release note. This is a maintenance-model change disguised as a scheduling announcement.

OpenTelemetry — the JS SDK moved, the spec did not, and our own initiative is not where the baseline says it is

  • 31 August — opentelemetry-js 2.11.0 and experimental 0.222.0. The experimental release deprecates SdkLogRecord in favour of ReadWriteLogRecord, makes SDK initialisation from config files fail fast across propagator, meter-provider, tracer-provider and resource creation, and adds sensitive-query-parameter redaction for server-side HTTP spans. Stable 2.11.0 adds per-call force-flush timeouts and attach() on the Node async-local-storage context manager. Separately, SDK 3.x is targeted for around September 2026 and will remove @opentelemetry/propagator-jaeger.
  • Spec and semconv are static: spec v1.60.0 from 7 August, semconv v1.44.0 from 4 August. The browser.web_vital.* attribute rework carried since then is unchanged and unaddressed.
  • A baseline correction that matters more than any of the above. This page's baseline table says the OTel work "lives on otel-telemetry-phase1" in countly-sdk-js. It does not: that branch is at commit cf94eef — byte-identical to staging, zero diff, and git ls-tree finds no file with "otel" in its name anywhere on it. The actual OTel work is the uncommitted Flutter-bridge tree described in Corrections. So the initiative is real, is Dart-and-Android-shaped rather than JS-shaped, and exists only in a working directory. Given ly.count.android:sdk-otel 404s on Maven Central and has no module in countly-sdk-android on any local branch, there is currently no path by which any of it ships.

Platform gatekeeping keeps moving from code to identity

  • Three dated instances now point the same way. Android developer verification requires registered, identity-verified developers for participating stores in four countries on 30 September, expanding globally in 2027. NuGet replaced long-lived keys with 30-day keys and OIDC Trusted Publishing on 17 August. Maven Central enforces publishing limits from 1 October.
  • Read for us: none of it is a code change and all of it can stop a release. The pattern from the last three editions holds — the risk in our fleet has migrated from "does it compile" to "can we still publish it, and who is authorised to." For an SDK team of one, the mitigation is the same in every case: move publishing into CI with OIDC, so the credential is a repository configuration rather than a person.

Watchlist carried into next week

WhenWhat happensAffected
2026-09-08Chrome 153 stable — two-week release cadence begins. Browser-change rate under the web SDK doubles; beta lead time drops to ~3 weeks.web, js
2026-09-14iOS 27 / iPadOS 27 / watchOS 27 / tvOS 27 / visionOS 27 expected GA, RC 8–9 Sept, event 9 Sept. Validate under Xcode 27 beta first. Submission floor stays Xcode 26.ios, flutter-bridge, react-native-bridge, unity
2026-09-15JDK 27 GA (RC since 20 Aug, feature set frozen). Java 8 source/target still accepted; obsolescence clock only.java
2026-09-30Android developer verification / app registration required in BR, ID, SG, TH across 7 stores. No Countly SDK surface — customer-question item only. Global 2027.none
2026-10-01Maven Central publishing limits go to hard enforcement. Our cadence is far under the qualitative criteria; numeric limits unpublished. Monitor only. Also: EU App Store business terms take effect.android, java, ios
2026-10Unity 6.0 LTS support ends (6.3 LTS runs to Dec 2027). Node 26 becomes Active LTS — the moment to finally declare engines, third week running.unity, nodejs
2026-11-01All pre-17-August NuGet.org API keys expire. Confirmed relevant: Countly 26.1.0 was published 13 Aug with such a key. Fix is Trusted Publishing, which needs a CI publish workflow that does not exist.windows
2026-11-10.NET 8 and .NET 9 end of support. Our TFMs unaffected; watch ecosystem drift off netstandard2.0.windows
2026-11Flutter's in-SDK Material/Cupertino formally deprecated. Bridge ships no widgets; exposure is the example/ app.flutter-bridge
2027-02Play memory, bitmap and 25% DEX-optimization requirements begin. Pushes every integrator onto R8; we still ship no consumerProguardFiles — re-verified this run.android, and every wrapper
2027-04Play zero-tap sign-in via the Restore Credentials API. No Countly surface, but customers will ask.none
~2027-04Expected iOS 27 SDK submission floor, extrapolated from the Xcode 26 floor's ~6-month lag. Not announced.ios
pendingcmake_minimum_required(VERSION 3.0) is a hard configure error on CMake ≥ 4.0. Current CMake 4.4.3; 4.x is the Homebrew/Fedora default. One-line fix, held as a human floor decision. Not reproduced locally (local cmake 3.28.1 warns only).cpp
pendingVendored SQLite 3.29.0 (July 2019, single commit Aug 2019). Opt-in via COUNTLY_USE_SQLITE=OFF and not reachable in our usage, but it fails every SCA scan it meets.cpp
pendingBridges declare ancient AGP classpath versions — flutter-bridge 3.2.1 / compileSdk 35, rn-bridge 7.0.1 / compileSdk 35 — constraining what Gradle a consumer can build them with. The AGP 10 legacy-DSL removal is now cleared (zero usage); this row is the classpath half only.flutter-bridge, react-native-bridge
pendingRN SwiftPM migration: bridge ships only CountlyReactNative.podspec, no Package.swift, no react-native.config.js, no branch in flight — unlike Flutter's swiftpm-support-ios.react-native-bridge
pendingUnity 6.6 shipped 31 Aug (SDK Platform 37, Emscripten 4.0.19, Wasm64). Editor pin 2020.3.20f1 blocks verification entirely. fix_web_assemly branch parked since 19 June. CoreCLR replaces the runtime in 6.8.unity
pendingOTel initiative has no shippable path. countly-sdk-js:otel-telemetry-phase1 is identical to staging (no OTel content). Real work is uncommitted in the Flutter bridge tree (4 untracked otel*.dart files). ly.count.android:sdk-otel 404s on Maven Central and has no module in the Android repo. semconv v1.44 browser.web_vital.* unaddressed.js, flutter-bridge, android
pendingSession replay ships in PostHog, Amplitude, Mixpanel, Sentry and Datadog RUM; absent from all 13 of ours. Sentry has now published the manual-control API on both java (8.54.0) and cocoa (9.27.0) — a cross-platform contract to copy, not one SDK's idea.all
pendingBridges lag Android: flutter-bridge wraps sdk:26.1.2, rn-bridge wraps 25.4.4, Android is 26.1.5 with sdk-native:26.1.6-rc2 already on Central.flutter-bridge, react-native-bridge
pendingRoutine bumps, none urgent: AGP 9.3.2 → 9.4.0 (Gradle floor already met at 9.7.1), org.json:json 20250517 → 20260814.android, java
CLOSED2026-09-07 · Flutter bridge mavenLocal()/sdk-otel alarm was a false positive — read from a dirty working tree, not on staging. Public branch is clean.flutter-bridge
CLOSED2026-09-07 · AGP 10 legacy-DSL removal does not affect us — zero usage of any removed API across android, java and both bridges.android, java, both bridges
CLOSED2026-09-07 · Windows baseline corrected to 26.1.0 (on master, and published to nuget.org 13 Aug), not 25.4.3.windows

Proposals ordered by leverage, not urgency

  1. Commit or branch the OTel work in the Flutter bridge this week. Four untracked files and five modified ones are the entirety of an initiative this radar has been tracking for a month, and they exist in one directory on one laptop. Push it to a branch even if it is not ready. Then decide the real blocker: ly.count.android:sdk-otel must exist on Maven Central — and as a module in countly-sdk-android/settings.gradle — before any of this can ship to a customer.
  2. Run the iOS test suite under Xcode 27 beta before 14 September. Seven days. Carried from last week with the deadline halved.
  3. Set up NuGet Trusted Publishing for countly-sdk-windows before 1 November. Now confirmed rather than assumed: the key that published 26.1.0 on 13 August is a pre-cutoff key. Useful side effect — it forces Windows releases behind CI instead of a laptop.
  4. Fix cmake_minimum_required in countly-sdk-cpp. One line, VERSION 3.5...3.31, plus vendor/json. Third week carried, held only because it moves a declared minimum.
  5. Refresh the vendored SQLite amalgamation. 3.29.0 is seven years old and independent of the CMake decision. Not an exploitability argument — a procurement-questionnaire argument.
  6. Steal Sentry's hybrid-SDK envelope pattern. captureEnvelopeNonTerminating and a session state for unhandled-but-not-fatal errors solve exactly the problem our Flutter and RN bridges have forwarding a Dart or JS error to the native recorder. Small, useful now, and independent of ever building replay.
  7. Add route templates to web pageviews. PostHog's /products/[id] item is a small framework-adapter change that fixes a real aggregation problem every SPA integrator hits.
  8. Put a Chrome Beta smoke test in CI for countly-sdk-web. From tomorrow there are twice as many stable releases per quarter; three weeks of beta lead time is only useful if something is actually watching it.
  9. Ship consumerProguardFiles in the Android AAR ahead of Play's February 2027 DEX rule. Design task, not mechanical. Carried.
  10. Declare engines in countly-sdk-nodejs — third week, unchanged, >=22 still defensible. Zero runtime dependencies makes this genuinely a one-line change.

What could not be verified

  • None of these repos can be built here. Every Gradle, AGP, podspec, nuspec, pubspec and CMake claim is a read of the declared configuration, not an observed build.
  • The iOS 27 RC and GA dates are not primary. Apple has confirmed only the 9 September event. The 8–9 September RC and 14 September GA rest on press reporting, and the public beta 6 date on 31 August likewise. What is primary is the unchanged submission floor, read directly from Apple's upcoming-requirements page.
  • AGP 9.4.0's exact release day is not established — Google's release notes say "September 2026" without a day. It is tied here to Android Studio Quail 4 going stable on 1 September, which is dated on the Android Developers blog.
  • The AGP 10 removal list is from the migration-timeline page, which states its dates are estimates. The "zero usage" conclusion is solid — it is a grep over our own files — but the removal list it was checked against could still grow.
  • Chrome 153's contents are unknown. developer.chrome.com/release-notes/153 returned 404. Only the cadence change is asserted, from Chrome's own blog post. The 8 September stable date for 153 comes from that post.
  • The SQLite risk assessment is reasoning, not a scan. No SCA tool was run and no CVE list was enumerated against 3.29.0 line by line. The version string, the single 2019 commit and the OFF default are all read directly from the repo; the "not reachable in our usage" judgement rests on SQLite's own stated CVE preconditions plus how our code uses it, and it deserves a second opinion before anyone repeats it to a customer.
  • Datadog's and Statsig's changelog URLs both 404'd, and Amplitude's docs changelog did too before a working URL was found. Those two are "not checked this week" rather than "nothing shipped." RevenueCat's changelog also 404'd.
  • HarmonyOS is unverified for a second week — the Huawei portal returned no usable content. 6.1.1 (API 24) rests on secondary coverage.
  • The Unity 6.6 details come from Unity's own what's-new page for 6000.6.0f1, which is primary, but the CoreCLR / .NET 10 / C# 14 framing repeated in secondary coverage was not confirmed there and is not asserted.
  • The Dart 3.13 root-certificate removal is read from Dart's breaking-changes page. Whether it actually affects countly-sdk-dart at runtime was not tested — that is the check being proposed, not a finding.
  • No PR was opened, so nothing was branched, pushed or built anywhere. All three P1s require a human decision under the radar's own rules: two are verification tasks and one is a floor bump.
  • Nothing under ~/GitHub/SDKS was modified. All reads were git show, git log, git status and file reads; no branch was checked out and no state was mutated.

Sources

developer.apple.com/news/ developer.apple.com/news/upcoming-requirements/ macrumors.com/2026/08/31/apple-ios-27-public-beta-6/ developer.android.com/build/releases/agp-9-4-0-release-notes developer.android.com/build/releases/gradle-plugin developer.android.com/build/releases/gradle-plugin-roadmap android-developers.googleblog.com android-developers.googleblog.com/2026/06/android-developer-verification.html support.google.com/googleplay/android-developer/answer/9934569 developer.chrome.com/blog/chrome-two-week-release unity.com/releases/editor/whats-new/6000.6.0 unity.com/releases/unity-6/support docs.flutter.dev/release/release-notes github.com/flutter/flutter/blob/stable/CHANGELOG.md dart.dev/resources/breaking-changes github.com/facebook/react-native/releases expo.dev/changelog/expo-go-57-login nodejs.org/en/blog github.com/dotnet/core/blob/main/release-notes/README.md openjdk.org/projects/jdk/27/ mail.openjdk.org — JDK 27 RC schedule repo1.maven.org/maven2/ly/count/android/sdk/maven-metadata.xml repo1.maven.org/maven2/ly/count/android/sdk-native/maven-metadata.xml repo1.maven.org/maven2/org/json/json/maven-metadata.xml api.nuget.org — Countly package registration index devblogs.microsoft.com/nuget — reducing API key lifetime pub.dev/packages/countly_flutter cmake.org/cmake/help/latest/release/4.0.html sqlite.org/cves.html github.com/open-telemetry/opentelemetry-js/releases github.com/open-telemetry/semantic-conventions/releases github.com/open-telemetry/opentelemetry-specification/releases posthog.com/changelog github.com/getsentry/sentry-java/releases github.com/getsentry/sentry-cocoa/releases docs.mixpanel.com/changelogs amplitude.com/releases twilio.com — sunsetting legacy Segment analytics libraries firebase.google.com/support/release-notes/android developer.huawei.com — HarmonyOS 6.1.1(24) release notes