The week in one paragraph

Countly is leaving Maven Central. Between 29 and 30 September, countly-sdk-android and countly-sdk-java both landed a complete self-hosted release pipeline on staging: roughly 2,800 lines of Python each, signing, SBOMs, consumer-probe builds, and uploads to a Cloudflare R2 bucket served at https://maven.countly.com. Both CHANGELOGs open with a !! Major breaking change !! telling integrators to add that repository by hand. Maven Central survives in the new pipeline only as a collision check: release.py fails a production run if the version is already on Central, and never publishes there. The Java repo deleted publishing.yml outright. This is the single largest change to how customers consume our SDKs in years, and it arrived with no PR of mine required and no announcement I can find outside the two CHANGELOG entries.

It also retires the item that has led this page for five weeks. Sonatype's commercial-nature test is no longer our problem, and the evidence is better than a policy reading: ly.count.android:sdk 26.1.6 published to Maven Central on 30 September, one day before the deadline, and the pipeline that replaces it does not target Central at all. The sharp edge that remains is smaller and very concrete: maven.countly.com does not resolve. NXDOMAIN today, while maven-test.countly.com is live behind Cloudflare and already serving dry-run artifacts 0.0.1 and 0.0.2. The production host has to exist before the first release ships, and both bridges need the repository added to their Gradle files before they can ever bump past 26.1.2.

The second new finding is Apple's. PostHog's iOS SDK shipped an emergency fix on 29 September for apps killed at launch under Apple's Enhanced Security capability, and KSCrash opened the same fix on 4 October: a process with Mach platform restrictions may only set exception ports as EXCEPTION_IDENTITY_PROTECTED, and PLCrashReporter registers EXCEPTION_DEFAULT. Our default crash path is not affected: it is NSSetUncaughtExceptionHandler plus seven signal() installs, no Mach ports anywhere. But Countly-PL plus shouldUseMachSignalHandler = YES is exactly the failing shape, and upstream PLCrashReporter has not had a commit since 12 November 2025. Zero PRs again: the Maven work is live under someone's hands, and the crash fix needs a vendored dependency.

Action needed 4 findings · 2 new · 0 PRs opened

P1

NEW: Android and Java leave Maven Central for maven.countly.com, and that host does not resolve yet

Read from origin/staging today. Both repos now carry an identical release system under .github/release/ and .github/workflows/release.yml, added by turtledreams on 29 to 30 September (countly-sdk-android #606, countly-sdk-java #293).

EvidenceValue
.github/release/config.json → publicBaseUrl.productionhttps://maven.countly.com/
publicBaseUrl.testhttps://maven-test.countly.com/
centralBaseUrl, only userelease.py:140: "is already on Maven Central", a pre-flight collision check. No publish step targets Central.
Transports3.py: aws s3api against <account>.r2.cloudflarestorage.com; index.py rewrites maven-metadata.xml from the bucket
Old pipelinecountly-sdk-java deleted .github/workflows/publishing.yml (35 lines removed) and release_notice.yml
Triggeron: release: [published] plus workflow_dispatch with a production/test choice, tags only
DNS, checked todaymaven.countly.com → NXDOMAIN. maven-test.countly.com → 104.21.9.244 / 172.67.161.200, serving ly/count/android/sdk/maven-metadata.xml with 0.0.1, 0.0.2, lastUpdated 20260929094943

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

What breaks. Nothing today: the change sits under an unreleased ## XX.XX.XX heading and 26.1.6 is on Central. On the day the next version ships, three things fail at once:

  • Every integrator who does not edit settings.gradle gets Could not find ly.count.android:sdk:<next>. That is the intended, announced cost of the move.
  • Our own two bridges resolve the Android SDK from Central and nowhere else. countly-sdk-flutter-bridge/android/build.gradle declares rootProject.allprojects { repositories { mavenCentral(); google() } } and implementation 'ly.count.android:sdk:26.1.2'; countly-sdk-react-native-bridge/android/build.gradle declares a module-level repositories { mavenCentral(); google(); … } and the same coordinate. Neither can be bumped past 26.1.2 until the repository is added.
  • The published install instructions are wrong. Knowledge Base/SDK Specs/Android-360037754031.txt still shows mavenCentral() and ly.count.android:sdk:26.1.5; the Java article shows ly.count.sdk:java:26.8.0 with no repository block at all.

Smallest fix Three parts, in order. (1) Make maven.countly.com resolve and serve: it is the only hard blocker on shipping the next release. (2) Add the repository block to both bridges' android/build.gradle; for Flutter the existing rootProject.allprojects block already reaches the app build, for React Native the module-level repositories block is enough for the module's own configurations. (3) Update the Android and Java KB install snippets in the same week the release goes out, not after.

No PR. §7 says skip a file carrying in-flight work. This pipeline landed four days ago and the production host does not exist; a PR adding a repository URL that returns NXDOMAIN would be worse than no PR.

P1

NEW: Apple's Enhanced Security kills apps using our optional PLCrashReporter Mach handler, and the dependency is dormant

Apps that adopt Xcode 26's Enhanced Security capability run with Mach IPC platform restrictions. Under those restrictions a process may only set exception ports with EXCEPTION_IDENTITY_PROTECTED, EXCEPTION_STATE or EXCEPTION_STATE_IDENTITY_PROTECTED; registering EXCEPTION_DEFAULT traps as EXC_GUARD with SET_EXCEPTION_BEHAVIOR and the app is killed inside SDK setup, before any user code runs.

  • PostHog/posthog-ios #857 (27 September, closed): "Crash autocapture aborts the app at launch under Apple Enhanced Security: EXC_GUARD SET_EXCEPTION_BEHAVIOR from PLCrashReporter." Fixed in 3.85.3 on 29 September by vendoring and patching PLCrashReporter to register EXCEPTION_IDENTITY_PROTECTED on iOS 15+/macOS 12+ and resolve the task through task_identity_token_get_task_port, weak-linked because that symbol is absent on iOS 13.
  • kstenerud/KSCrash #956 (4 October, open): "Keep crash reporting working in apps that adopt Enhanced Security." Two independent crash SDKs, same mechanism, same week.

countly-sdk-ios

Our exposure, read from origin/staging. The default path is clean: CountlyCrashReporter.m:169-178 installs NSSetUncaughtExceptionHandler plus signal() for SIGABRT SIGILL SIGSEGV SIGFPE SIGBUS SIGPIPE SIGTRAP, and a grep for task_set_exception_ports, EXCEPTION_DEFAULT and mach_port across the whole repo returns nothing outside the CHANGELOG. The exposed path is the opt-in one: Countly-PL.podspec's PL subspec depends on PLCrashReporter', '~> 1', and CountlyCrashReporter.m:237 selects PLCrashReporterSignalHandlerTypeMach when the integrator sets shouldUseMachSignalHandler.

Why this is not P0. Three conditions must all hold: the customer installs the Countly/PL subspec, sets shouldUseMachSignalHandler = YES, and enables Enhanced Security on their app. The BSD default is unaffected, so there is a one-flag workaround. Against that: it is a silent launch-time abort with no diagnostic pointing at us, and upstream PLCrashReporter's last release is 1.12.2 on 12 November 2025 and its last commit is the same day: there is no open issue there about EXC_GUARD or Enhanced Security, and no reason to expect a fix.

Smallest fix Document it first: a note on shouldUseMachSignalHandler in CountlyConfig.h and in the iOS KB article saying the Mach handler is incompatible with Enhanced Security, and that BSD is the supported choice there. The durable fix, vendoring PLCrashReporter the way PostHog did or retiring the PL path, is a design decision, not a radar PR.

P0

Carried, unchanged: Xcode 27 rejects our below-range deployment targets; the Flutter bridge has no app-side workaround

Nothing moved this week. The ten below-range files across four repos are unchanged on origin/staging; countly-sdk-flutter-bridge/ios/countly_flutter.podspec still declares s.ios.deployment_target = '10.0' on line 18 alongside an s.resource_bundles entry on line 15, the shape the app-side post_install lift does not reach. countly-sdk-swift remains the one Apple repo already in range at .iOS(.v15) .macOS(.v12) .tvOS(.v15) .watchOS(.v9).

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

New supporting evidence, from a competitor. posthog-ios 3.87.0 (1 October) formally announces that "PostHog 4.0 raises the minimum iOS deployment target from 13.0 to 15.0. The macOS, tvOS, watchOS and visionOS minimums are unchanged." They are moving from 13 to 15; we would be moving from 10 to 15. Separately, dd-sdk-ios 3.19.0 (2 October) now "requires Swift tools version 6.2 (Xcode 26) or later" for its SwiftPM manifest. The floor is rising on both axes and the fleet is below both.

Smallest fix Unchanged: raise ios.deployment_target to 15.0 in the Flutter bridge podspec first, since it is the only file with no customer-side workaround. Still not a PR: §7 forbids bumping a minimum platform version, and the Flutter Apple files carry in-flight SwiftPM work.

P1

Carried: countly-sdk-swift still has no documentation, eleven days after its first release

Re-verified today against countly-backup-documentation at HEAD (3 October). Knowledge Base/SDK Specs/ still holds exactly 14 files and Swift is not among them. grep -rl "countly-sdk-swift" "Knowledge Base/" returns zero matches. SDK_Repos_and_Features still omits it. The repo has had no commits since the three that shipped 26.8.0 on 24 September.

countly-sdk-swift · countly-sdk-js

Smallest fix Unchanged, and still the cheapest it will ever be: the 26.8.0 CHANGELOG is already close to an API reference. Restructure it into an SDK Specs/ article covering the multi-instance entrypoints, the events/views/sessions/userProfile namespaces and the .countlyView(_:) SwiftUI modifier, and add the row to SDK_Repos_and_Features. Authorship, so a proposal rather than a PR.

Cleared 5 retired this week

CLEARED

Maven Central's commercial-nature test: the deadline passed and we published through it

This item led the page for five weeks. Two pieces of evidence close it. First, https://repo1.maven.org/maven2/ly/count/android/sdk/maven-metadata.xml lists 26.1.6 with lastUpdated 20260930073421: published to Central on 30 September, the day before enforcement, successfully. Second, the replacement pipeline described above does not publish to Central at all, so there is no future release for the Publisher Pro question to apply to. The board already carried this key as "Already fixed" on 28 September; the code landing a day later is what that referred to.

CLEARED

The C++ SDK's CMake floor: the baseline table was wrong, and we are CMake 4 safe

The §1 baseline has claimed cmake_minimum_required(VERSION 3.0) for countly-sdk-cpp since August, which would be a hard error on any CMake 4.x. origin/staging:CMakeLists.txt line 1 actually reads cmake_minimum_required(VERSION 3.13...3.31), and the only other one in the repo is examples/qt_demo at 3.16. Both are at or above CMake 4's 3.5 floor, and the ...3.31 policy max pins behaviour. CMake 4.4.4 shipped 2 October and changes nothing for us. The baseline table should be corrected rather than the repo.

CLEARED

Apple's Developer ID Sub-CA expiry: we sign nothing with it

Apple announced on 1 October that the original Developer ID Certification Authority Sub-CA expires 1 February 2027; .pkg files signed with an affected certificate stop installing on that date, and replacements must be issued from the G2 Sub-CA. We ship source through SPM and CocoaPods and distribute no signed macOS installer, so there is nothing of ours to re-sign. It is a customer-support answer for anyone shipping a Mac app that embeds us, not an SDK item.

CLEARED

Device metrics on foldables: our iOS resolution already reads the window, not the screen

posthog-ios spent three releases this week fixing foldable and resizable-window bugs: 3.85.2 (session replay kept the original screen size after a resize), 3.86.0 (added $hinge_status), 3.86.1 and 3.86.3 (survey sheets and $screen events sized or duplicated against the main screen). CountlyDeviceInfo.m already resolves the first UIWindowScene's window and uses window.bounds with window.traitCollection.displayScale, falling back to UIScreen.mainScreen only on pre-scene systems, the correct shape, written years before it mattered. The honest residual, not a bug: metrics are sampled at session start, so a fold mid-session is not reflected until the next session. No $hinge_status equivalent, which is a P3 gap, not a defect.

CLEARED

Connection type: we already collect it on both mobile SDKs

sentry-cocoa 9.30.0 added connection_type (wifi/ethernet/cellular/none) and connection_effective_type to its device context on 30 September. We have had the equivalent for years: CountlyDeviceInfo.m:424 +(NSUInteger)connectionType backed by CTTelephonyNetworkInfo, and DeviceInfo.java using ConnectivityManager and TelephonyManager. Nothing to build.

Platform news

Apple P1

  • Enhanced Security and Mach exception ports: the week's new P1, above. Apple's own page, Conforming to Mach IPC security restrictions, would not render for the fifth consecutive attempt at developer.apple.com/documentation/; the mechanism is quoted from the two maintainer fixes.
  • Developer ID Sub-CA expires 1 February 2027 (news 1 October): cleared above, carried on the watchlist as a customer-support date.
  • Updates to Full Disk Access in macOS (news 2 October): Apple will require "very explicit user action" before Full Disk Access is granted, citing autonomous AI agents as the motivation. No date, no SDK surface: we request no TCC permission on macOS. P3
  • Nothing else published. developer.apple.com/news/ runs 2 October, 1 October, then back to 18 September. The April 2027 iOS 27 SDK requirement is still absent from the upcoming-requirements page, fifth week of checking.

Android quiet

  • No new platform behaviour change reached us. developer.android.com/about/versions/latest/behavior-changes-all now returns 404; the versions index still names Android 17 as latest and carries a 2025-06-10 footer. Another dead source to replace rather than retry.
  • AGP 9.4.1 is the newest stable on dl.google.com; everything past it is 9.5.0-alpha. No change to the AGP 10 Variant-API item for the two bridges.
  • Our own repo was the busy one. 26.1.6 shipped 29 to 30 September with the regression fixes that matter to integrators: the AAR no longer declares a Kotlin stdlib dependency it does not use, it compiles to Java 8 bytecode again rather than 11, and compileSdk 24 is enough again instead of 34. Four StrictMode violations fixed, and data:/zip:/intent: URI schemes now blocked by default in content, feedback and push links with setAllowedIntentSchemes(List) as the escape hatch.

React Native P2

  • 0.88.0-rc.3 shipped 28 September. Stable is still 0.87.1; the 0.88 date on the watchlist is 12 October. Nothing in rc.3 touches our bridge directly: Hermes bump, a Metro package-exports warning, an androidx.collection bump.
  • One line worth reading twice. The iOS fix in rc.3: "SwiftPM: Stop autolinking from recreating library package roots on every sync, which broke Xcode builds of apps using libraries that ship their own Package.swift." Our bridge ships ios/src/Package.swift, a vendored copy of the iOS SDK's manifest, name: "Countly", swift-tools 5.3, .iOS(.v10). RN 0.88's SwiftPM autolinking discovers library Package.swift files; ours declares a deployment target Xcode 27 rejects. That is the existing P0 inventory item #9 acquiring a plausible delivery mechanism, not a new finding, and I did not read the autolinking discovery code, so treat the link as unproven.
  • The Codegen change from rc.2: no longer crawling node_modules or following symlinks when discovering components, is still the thing to read before the next bridge cycle. Our bridge declares codegenConfig.

Flutter and Dart quiet

  • No release in the window. flutter/flutter's master CHANGELOG.md still opens at 3.47, unchanged from last week, and the GitHub releases feed is abandoned at v1.16.3 (2024), so it is useless as a source. The official release-notes page footer is still 2026-08-12. "No release this week" stays an inference, for the third week running.
  • The November in-SDK Material/Cupertino deprecation and the Dart 3.13 root-certificate question both carry unchanged.

Unity P2

  • Unity 7 was announced at Unite Seoul 2026, with CoreCLR landing there next year. 6.7 is in beta (6000.7.0b2) and described as the final Mono-based release, shipping experimental CoreCLR player builds for Windows, macOS and Linux: editor CoreCLR is deferred to 6.8. The experimental backend is constrained to .NET Standard 2.1 and C# 9.
  • Our editor project is still pinned at 2020.3.20f1 and the SDK is still 24.8.2, oldest in the fleet by more than two years. The pin is what blocks verifying any of the above, and it carries iOSTargetOSVersionString 10.0 into the Apple P0.
  • Sourcing caveat unchanged: all of this is Unity Discussions and blog recaps. unity.com/releases/editor/archive is a nav page that returns nothing readable.

Web and browsers nothing this week

  • Chrome is still 154. The version-history API shows 154.0.8037.93 and .95 serving from 2 October; the Chromium dash puts 155's latest beta at 8 October, so stable is still weeks out. Nothing shipped in the window.
  • The referrerPolicy cheap steal is unchanged and still one line: countly-sdk-web/lib/countly.js passes only method, headers, body and signal to fetch(), so the browser default strict-origin-when-cross-origin sends the full page URL and query string in Referer on same-origin deployments.

Node, .NET, Java, C++, HarmonyOS P3

  • Node: no release in the window; newest are 22.23.3 (23 September) and 26.10.0 (22 September). countly-sdk-nodejs is 24.10.4 on origin/staging with still no engines field, seventh week. Zero runtime deps, so the risk stays theoretical; radar will not PR a floor where none existed.
  • .NET: nothing new; 10.0.12 / 9.0.20 / 8.0.31 all date to 8 September. The NuGet API-key expiry on 1 November is unchanged and was rejected on the board as not ours; it stays on the watchlist as a date, not a task.
  • Java: nothing new upstream. The repo's own change is the Maven migration above.
  • C++: CMake 4.4.4 on 2 October; cleared above.
  • HarmonyOS: sixth consecutive failure. The official overview page times out and the community mirror developer.harmonyos.cool now 301s to developer.huawei.com/consumer/cn/. The API 24 claim still rests on search summaries. Our targetSdkVersion is 6.0.2(22). This needs a human with a Huawei developer account, not another radar retry.

Competitors PostHog shipped 12 iOS releases in 8 days

What shippedDo we have it?Call
posthog-ios 3.87.0 (1 Oct): deprecates everything PostHog 4.0 hides, and announces iOS 15 as the 4.0 minimum, up from 13. n/a: this is evidence, not a feature. Use it. A direct competitor publicly moving to the same floor our P0 asks for, a full major version in advance. Worth citing in the deployment-target decision.
posthog-ios 3.86.0 (30 Sep): $hinge_status (closed/partially_open/fully_open) on foldable iPhones, iOS 27.1 and Xcode 27.1 or later. No. CountlyDeviceInfo.m reports raw hw.machine with no lookup table and no fold state. Not yet. It needs an Xcode 27.1 build to even compile the API, and we cannot build. Revisit when the Apple toolchain decision is made; the resolution path is already correct (see Cleared).
posthog-ios 3.89.0 (3 Oct): onFeatureFlags(_:) returning a PostHogFeatureFlagsSubscription with unsubscribe(), fired on the main thread and replayed if flags already loaded. Partly. ModuleRemoteConfig has removeDownloadCallback on Android, so the unsubscribe half exists, but registration is a config-time list, with no returned handle and no replay-on-register. Cheap steal of the week. The design detail is replay on register: a callback registered after flags loaded fires immediately instead of waiting for the next download. That removes the "did I miss it?" race every integrator hits, and it is a handful of lines in NotifyDownloadCallbacks. Android first.
posthog-ios 3.88.0 (2 Oct): disableGeoIp config; events carry $geoip_disable and flag requests send geoip_disable, so the server does not infer location from IP. Different shape. We have location controls on the SDK side, but no single flag that tells the server to stop deriving geo from the request IP. Worth a look, not this quarter. It is a server contract as much as an SDK one, so it is a cross-team item rather than an SDK change.
sentry-java 8.59.0 (1 Oct): sendDefaultPii now formally deprecated in favour of per-category dataCollection, ahead of removal in 9.0. Also: direct Sentry.logger() calls now bypass the enable flag entirely. n/a: pattern, not feature. Already carried and already rejected on the board. Keep as a pattern. The migration rule is the part to reuse: unconfigured keeps the old boolean's behaviour exactly; configure any category and the boolean is ignored. Use it the next time a Countly config option outgrows its type.
dd-sdk-ios 3.19.0 (2 Oct): RUM partial view updates on by default; attribute limit raised 256 → 1900; SwiftPM now requires Swift tools 6.2 (Xcode 26). Partial updates do not map: our view model is start/stop with a duration, not a continuously-updated event. Not worth it. The useful part is the floor datapoint for the Apple decision, not the feature.
posthog-android 3.71.2 (28 Sep): event properties can no longer override $process_person_profile and $is_identified; per-event values are ignored, beforeSend is the supported rewrite path. Not applicable in this form, but the principle is: custom segmentation keys that collide with reserved internal keys. Worth an audit, free. Check which reserved keys a caller can currently shadow through segmentation on Android and Web, and whether the SDK silently accepts it. Android is the behavioural source of truth, so decide there.
sentry-cocoa 9.30.0 (30 Sep): connection_type/connection_effective_type; several experimental options promoted to stable with defaults unchanged; MetricKit attachments compacted to save quota. Connection type: yes, both mobile SDKs (see Cleared). Nothing to do. The promotion-without-changing-defaults habit is a good one to copy when our own experimental config graduates.

Still outstanding and unchanged: no session replay in any of our 14 SDKs; no app-hang or ANR detection on any Apple SDK; no rage or dead tap detection anywhere. The rage/dead-tap card was rejected on the board as "not worth it now", so it is not re-proposed: it stays here as a standing gap, not a task.

Sector trends

  • OpenTelemetry: one client-side signal this week. opentelemetry-swift 2.6.0 (1 October) continues to build out its session model: explicit session end and explicit linked reset both landed, alongside URLSession instrumentation fixes. That is the SIG nearest our own session semantics and it is the one place upstream is moving. The spec is at 1.61.0 (14 September), semconv still 1.44.0 (4 August) and opentelemetry-js still 2.11.0 (31 August): the two that would actually bind us remain static.
  • Our side is unchanged: countly-sdk-js:otel-telemetry-phase1 carries no OTel code, the real work is still uncommitted in the flutter-bridge working tree, and ly.count.android:sdk-otel does not exist on Maven Central. Note that a self-hosted Maven repo makes publishing an experimental sdk-otel artifact materially cheaper than it was last week.
  • Self-hosted package distribution as a trend, not just our decision. Sonatype's commercial tiering pushed us off Central; NuGet's 30-day API-key cap pushes toward OIDC trusted publishing on the .NET side. Registry policy is becoming a release-engineering cost centre across the fleet, and this week we paid it with roughly 2,800 lines of release tooling per repo.

Documentation

  1. The Android and Java install snippets go stale the day the next release ships. SDK Specs/Android-360037754031.txt shows mavenCentral() and 26.1.5; SDK Specs/Java-360037813891.txt shows ly.count.sdk:java:26.8.0 with no repository block. Both CHANGELOGs already contain the exact Gradle and Maven snippets to paste. This is the highest-value doc change available and it has a hard trigger date. P1
  2. countly-sdk-swift still has no article. Unchanged from last week, detailed above. P1
  3. A whole SDK family is documented internally only. Countly Internal Library/AI SDK/ gained 14 articles on 26 September and all of them were updated again on 29 to 30 September: OpenAI, Anthropic, Google GenAI, Cohere, LangChain, LlamaIndex, Mastra and Vercel AI SDK integrations, plus cost calculation, feedback collection and troubleshooting. The packages are real and public: @countly/ai-sdk-openai and @countly/ai-sdk-anthropic are both on npm at 0.0.6, published 2 August. Nothing is customer-facing, and the §1 baseline does not list them at all. Either they are pre-release and the internal home is correct, or we have a published SDK family with no public docs: worth one sentence from whoever owns it. P2
  4. No countly-sdk-js article. The only JS article, Web_analytics_JavaScript_, documents countly-sdk-web. Carried. P2
  5. The iOS article needs the Enhanced Security note described in the P1 above, next to shouldUseMachSignalHandler. Small, and it is the only fix available until the dependency question is settled. P2

Watchlist

WhenWhatAffected
next releasemaven.countly.com must resolve and serve before the first production release runs; both bridges need the repository addedandroid · java · flutter-bridge · rn-bridge
2026-10-12React Native 0.88 stable; read the Codegen node_modules/symlink discovery change and the SwiftPM autolinking change before the next bridge cyclern-bridge
2026-10-21 approx.Chrome 155 stable (latest beta 8 October); nothing known yet that touches our transportweb · js
2026-11-01All NuGet.org API keys created before 17 August expire; new keys capped at 30 days. Rejected on the board as not ours; kept as a datewindows
2026-11-10.NET 8 and .NET 9 end of support; our TFMs unaffected, watch ecosystem drift off netstandard2.0windows
2026-11In-SDK Material/Cupertino formally deprecated in Flutter; the bridge ships no widgets, exposure limited to example/flutter-bridge
2026-12iOS 27.2 alternative EU ATT prompt, mandatory in DE/FR/IT/PL/RO; cleared as an SDK item, support macro onlyios
2027-02-01Apple Developer ID Sub-CA expires; .pkg files signed with it stop installing, replacements from the G2 Sub-CA. Customer-support answer, not ours to fixnone
2027-02Play quality requirements: dynamic memory, cached bitmap memory, 25% DEX optimisation via R8. Measured on the app, not the libraryandroid
2027-04App Store Connect requires iOS/iPadOS/tvOS/visionOS/watchOS 27 SDKs. Still absent from the upcoming-requirements page, fifth weekios · flutter-bridge · rn-bridge · unity
openXcode 27 deployment-target floor: ten files, four repos. P0 on the Flutter podspecios · flutter-bridge · rn-bridge · unity
openPLCrashReporter Mach handler versus Apple Enhanced Security; upstream dormant since 2025-11-12ios
opencountly-sdk-swift and countly-sdk-js have no KB article; AI SDK family documented internally onlyswift · js
openNode SDK declares no engines range, seventh weeknodejs
openUnity editor pinned at 2020.3.20f1, SDK at 24.8.2; Unity 6.7 beta is the last Mono release, Unity 7 announcedunity
openWeb/JS fetch() sets no referrerPolicy; one-line cheap stealweb · js
openBridges: AGP classpath 3.2.1 and 7.0.1, both compileSdk 35, both wrapping ly.count.android:sdk:26.1.2 against 26.1.6flutter-bridge · rn-bridge
openHarmonyOS release notes unreachable for six weeks; API 24 claim unverifiedhos
openDart 3.13 root-certificate removal versus a search result naming 3.12.2 as newest; still unresolveddart
openFlutter ios/countly_flutter/Package.swift comment claims the iOS SDK targets iOS 10; it targets 12. Wrong regardless of the floor decisionflutter-bridge

What could not be verified

  • Why Countly is leaving Maven Central is an inference. The move itself is primary: the config, the workflows and the two CHANGELOG entries are all on origin/staging. The connection to Sonatype's commercial-nature policy is mine, drawn from the timing. No public statement says so.
  • The production bucket is unproven. maven.countly.com does not resolve, so I could not fetch a single artifact from it. The test host works and serves dry-run artifacts; everything said about the production layout is read from layout.py and index.py, not observed.
  • Apple's Mach IPC page would not render, for the fifth attempt across three runs on developer.apple.com/documentation/. The Enhanced Security mechanism (which exception behaviours are permitted, and task_identity_token_get_task_port) is quoted from the PostHog and KSCrash fixes and from a search summary of Apple's page, not from Apple's page.
  • I did not reproduce the PLCrashReporter crash. We cannot build these repos: no Xcode, no pod install, no Gradle sync, no Enhanced Security entitlement to test against. The claim that our Countly/PL + Mach configuration is the failing shape rests on reading our source and PostHog's bug report side by side.
  • The React Native SwiftPM autolinking link is speculative. I read the rc.3 release note, not the autolinking discovery code. Whether RN 0.88 actually picks up ios/src/Package.swift inside our bridge is unproven.
  • Flutter "no release this week" is an inference for the third week, from an undated master CHANGELOG. The GitHub releases feed stops in 2024 and the release-notes page footer still reads 2026-08-12.
  • Unity 6.7, Unity 7 and the CoreCLR timeline come from Unity Discussions and blog recaps, not from a dated page on unity.com. The editor archive remains a nav page.
  • HarmonyOS, sixth failure. Official page times out; the mirror now redirects to Huawei's Chinese portal. API 24 remains unverified.
  • Dead sources confirmed again, replace rather than retry: developer.android.com/about/versions/latest/behavior-changes-all now 404s; developer.apple.com/documentation/* renders title-only; developer.chrome.com/release-notes/155 404s because 155 has not shipped; unity.com/releases/editor/archive and webkit.org/blog/ remain unusable. gh api repos/<owner>/<repo>/releases remains the best competitor source by a wide margin.
  • Not reached this run: Statsig, Mixpanel, Heap, Pendo, Segment, Embrace, LogRocket, OpenReplay, Adjust, AppsFlyer, Firefox, WebKit.

Sources