Bump native SDKs to iOS 4.6.0 and Android 1.8.0 and cut 1.3.0 - #15
Conversation
Move both pins, their validation fixtures, and the public platform documentation together. The Android public API is byte-identical between 1.7.0 and 1.8.0, and the iOS private Swift interface adds only an SDK-emitted ASA_ATTRIBUTION event type, so neither bridge changes. Platform floors stay at iOS 15.0+ and Android API level 21+. Drop the claim that the committed AppstackSDK.xcframework directory is byte-identical across a version range. The range was not verified past 4.5.0, and the reason the fixture ignores that directory is that it does not track the tag.
Generate package.json and Runtime/AppstackVersion.cs together with scripts~/set-version.mjs, and promote the changelog entry to a dated section. Summarize the native releases the pin picks up, from their public changelogs: on-device custom event parameter encryption on both platforms, the Apple privacy manifest added in iOS 4.5.1, and the iOS event parameter fixes for null and non-representable values.
RELEASING.md predated the package signing added in #14 and the -SNAPSHOT guard added in #7. Record both, name the three UPM secrets the job needs, and note that the ZIP and the signed .tgz are both attached to the release. Add a publish step to confirm OpenUPM reports the version as signed. The publish action exposes a signed output that the workflow does not assert, so an unsigned publish leaves the job green. The iOS privacy manifest shipped natively in 4.5.1, so the deferred item is now verification rather than adding it.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Essentials Run ID: 📒 Files selected for processing (13)
Included review availability: 3 reviews are currently available. Your included PR review attempts over the past 7 days set your current allowance at 5 reviews per hour. 📜 Recent review details🔇 Additional comments (13)
📝 SummarySummary by CodeRabbit
WalkthroughThe release updates the Unity package to 1.3.0, aligns Android and iOS native SDK references, updates integration validation, documents iOS privacy-manifest verification, and expands signed release and OpenUPM publication checks. ChangesSDK release alignment
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to This release updates the Unity wrapper and aligned Android and iOS SDK pins, with matching package metadata, export validation references, and release documentation. No current merge-blocking risk remains. Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 5 files. (8 skipped: 8 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
✨ Simplify code
Comment |
Moves both native pins to the current stable releases, cuts the wrapper as
1.3.0, and brings the release guide up to date with the workflow.Native pins
Editor/AppstackDependencies.xmlandEditor/AppstackIOSPostProcessBuild.csmove to Android
1.8.0and iOS4.6.0, together with the native andintegration fixtures that assert them and the public platform documentation.
Neither bridge changes. The Android public API is byte-identical between
1.7.0and1.8.0— verified by diffingjavapoutput forAppstackAttributionSdk,EventType, andLogLevelacross both AARs. TheiOS private Swift interface adds only
import CryptoKitand anASA_ATTRIBUTIONevent type, which the SDK emits itself, alongside theexisting
FIRST_OPENandFIRST_OPEN_GUARDED.Runtime/EventType.cscontinues to mirror the Android enum exactly.
Platform floors are unchanged: iOS 15.0+ and Android API level 21+. The new
Android crypto classes ship their own consumer keep rules in the AAR, so
proguard-user.txtis unaffected.Release
1.3.0is a minor: the wrapper's public API is unchanged, but both nativeSDKs moved a minor version and bring new behavior to integrators. The
changelog summarizes that behavior from the native SDKs' public changelogs.
Release guide
RELEASING.mdpredated the signing work in #14 and the-SNAPSHOTguard in#7. It now records both, names the three UPM secrets the job requires, and
notes that the GitHub Release carries the ZIP and the signed
.tgz.The publish action exposes a
signedoutput that the workflow never asserts,so an unsigned publish would still leave the job green. Added as a manual
publish step rather than a workflow change, since whether OpenUPM consumes the
signed
.tgzat all is still open.Validation
against the real
1.8.0artifact.compiles against the checksum-verified
4.6.0release artifact with everyexpected C ABI symbol present.
set-version.mjs --check 1.3.0passes, so the tag gate will match.-SNAPSHOTguard passes, and.metacoverage and GUID uniqueness hold.Not run, as they need Unity and physical devices: the Unity Test Runner editor
tests, the
Tests~/Integrationmatrix, and the device-build matrix inDEVELOPMENT.md.