SDK Versions
| Platform | Version | Source |
|---|---|---|
| Web | 0.1.0 | packages/web-sdk/package.json |
| iOS | 0.1.0 | apps/ios-sdk/OneSygnalSDK.podspec (s.version) |
| Android | 0.1.0 | apps/android-sdk/onesygnal/build.gradle.kts (sdkVersion) |
| Flutter | 0.4.0 | apps/flutter-sdk/pubspec.yaml |
Flutter is ahead of the two natives it bridges — expected, since it versions independently as a bridge package, not in lockstep with what it bridges.
Three separate version notions per native SDK — don’t conflate them
Each native SDK has three independent version numbers, none of which are currently linked to each other:
- The published artifact version — a Gradle property (
onesygnalVersion, defaulting to0.1.0) or the podspec’ss.versionfield. This is what a dependency manager resolves. - The runtime-reported SDK version (
SDK_VERSIONon Android,sdkVersionon iOS) — a hardcoded constant sent to the backend for analytics/support purposes, currently0.1.0on both, matching (1) today only because nobody has published a new version yet. - The library version for
$lib_version(LIB_VERSIONon Android,libVersionon iOS) — a separate hardcoded constant, also currently0.1.0.
Publishing a new artifact with e.g. -PonesygnalVersion=0.2.0 would ship a package whose
own runtime constants still report 0.1.0 — nothing currently enforces these three staying
in sync. A separate version-consistency test checks that apps/flutter-sdk/pubspec.yaml, the
Flutter plugin’s own ios/onesygnal.podspec (s.version), and both wrapper-version constants
(WRAPPER_VERSION/wrapperVersion, currently 0.4.0) agree with each other — but that only
covers the Flutter bridge’s own versioning, not the two native artifact/runtime/lib version
triples above. If you’re debugging a version mismatch report from an integrator, check which
of these you’re actually looking at.
See Distribution Model for how these artifacts are (and currently aren’t) published.