From 31ecd8590ac1c02fe1e8b95a2446c7f54a380747 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C5=82az=CC=87ej=20Pankowski?= <86720177+pblazej@users.noreply.github.com> Date: Wed, 9 Sep 2026 08:52:04 +0200 Subject: [PATCH] Re-baseline the uniffi iOS and Android size budgets The livekit-uniffi 0.1.10 release failed both size gates. Data streams v2 (#1286) bumped only ANDROID_SIZE_LIMIT_BYTES, leaving the iOS budget at 1152 KiB while the same async foreign-trait machinery landed in that slice too, so it measured 1433 KiB. Android was a separate, ordinary 8 KiB of creep past its 1536 KiB limit at 1544 KiB. Both limits are re-baselined on the measured 0.1.10 sizes with 10% headroom, rounded up to a 64 KiB boundary. Co-Authored-By: Claude Opus 5 (1M context) --- .changeset/bump_uniffi_size_budgets.md | 5 +++++ livekit-uniffi/Makefile.toml | 9 ++------- 2 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 .changeset/bump_uniffi_size_budgets.md diff --git a/.changeset/bump_uniffi_size_budgets.md b/.changeset/bump_uniffi_size_budgets.md new file mode 100644 index 000000000..6f9aa3995 --- /dev/null +++ b/.changeset/bump_uniffi_size_budgets.md @@ -0,0 +1,5 @@ +--- +livekit-uniffi: patch +--- + +Re-baseline the iOS and Android binary size budgets, which had fallen behind the shipping binaries and blocked the 0.1.10 release. diff --git a/livekit-uniffi/Makefile.toml b/livekit-uniffi/Makefile.toml index 3a9d357dc..90beb3c08 100644 --- a/livekit-uniffi/Makefile.toml +++ b/livekit-uniffi/Makefile.toml @@ -400,7 +400,7 @@ echo # are ~2× larger by construction (two archs in one Mach-O) and shouldn't be # the metric. Override the limit per release with SPM_SIZE_LIMIT_BYTES. [tasks.swift-check-size.env] -SPM_SIZE_LIMIT_BYTES = { value = "1179648", condition = { env_not_set = ["SPM_SIZE_LIMIT_BYTES"] } } +SPM_SIZE_LIMIT_BYTES = { value = "1638400", condition = { env_not_set = ["SPM_SIZE_LIMIT_BYTES"] } } [tasks.swift-check-size] private = true @@ -543,13 +543,8 @@ run_task = "swift-package-flow" # Measured on the stripped .so inside the release AAR (AGP strips debug symbols # during assemble; the raw target/ artifact is larger and not what ships). # Override the limit per release with ANDROID_SIZE_LIMIT_BYTES. -# -# 1536 KiB as of data streams v2: the async foreign-trait machinery, the stream-closed and -# open-stream-count surface, and trailer encryption checks put the arm64-v8a slice at 1490 KiB -# (measured 2026-08; cargo's `strip = "symbols"` is already applied, so AGP's strip pass has -# nothing further to remove). [tasks.android-check-size.env] -ANDROID_SIZE_LIMIT_BYTES = { value = "1572864", condition = { env_not_set = ["ANDROID_SIZE_LIMIT_BYTES"] } } +ANDROID_SIZE_LIMIT_BYTES = { value = "1769472", condition = { env_not_set = ["ANDROID_SIZE_LIMIT_BYTES"] } } [tasks.android-check-size] extend = "android-shared"