SIGN IN SIGN UP

[AUTOMATIC] Release/10.16.2 (#3953)

**This is an automatic release.**

## RevenueCat SDK
### 🐞 Bugfixes
* fix: don't share a MessageDigest across coroutines in FontLoader and
DefaultFileCache (#3930) via Tarek M. Ben Lechhab (@bilqisium)
* Fix misleading ui_config warnings for projects without paywalls
(#3926) via Rick (@rickvdl)
* fix: Declare kotlinx-coroutines-android as a dependency (#3916) via
Álvaro Brey (@AlvaroBrey)
* fix(paywalls): prewarm the current offering's workflow assets on load
(#3910) via Álvaro Brey (@AlvaroBrey)

## RevenueCatUI SDK
### Paywallsv2
#### 🐞 Bugfixes
* Default missing text localizations to empty instead of fallback
paywall (#3903) via Cesar de la Vega (@vegaro)

### 🔄 Other Changes
* ci: install mise Ruby 3.3.0 so CI honors Gemfile.lock (#3952) via
Álvaro Brey (@AlvaroBrey)
* refactor(checkpoints): Local rule evaluation foundation (#3942) via
Toni Rico (@tonidero)
* refactor(paywalls): move image warming to `purchases-ui` and use a
ServiceLoader to reach it (#3913) via Álvaro Brey (@AlvaroBrey)
* build: fix api-tester customEntitlementComputation variant resolution
after Kover bump (#3945) via Álvaro Brey (@AlvaroBrey)
* feat(checkpoints): expose CheckpointParams customProperties as paywall
custom variables (#3941) via Toni Rico (@tonidero)
* Ingest audiences config topic (#3936) via Cesar de la Vega (@vegaro)
* build: update Kover to 0.9.9 (#3932) via Álvaro Brey (@AlvaroBrey)
* build: update Metalava to 0.5.0 (#3935) via Álvaro Brey (@AlvaroBrey)
* refactor(checkpoints): Cleanup to offeringIdByWorkflowId map + custom
checkpoint screen in checkpoint tester (#3919) via Toni Rico (@tonidero)
* refactor(paywalls): collect web_view assets in the existing
predownload walk (#3902) via Álvaro Brey (@AlvaroBrey)
* Update baseline profiles (#3927) via RevenueCat Git Bot (@RCGitBot)
* Fix flaky cached offerings integration test and cover the
fully-offline case (#3920) via Álvaro Brey (@AlvaroBrey)
* chore: stop persisting ProductEntitlementMapping.originalSource to
disk (#3917) via Álvaro Brey (@AlvaroBrey)
* refactor(checkpoints): Resolve a checkpoint's workflow from its rules
(#3914) via Toni Rico (@tonidero)
* Ingest checkpoint rules remote config (#3907) via Cesar de la Vega
(@vegaro)
* refactor(checkpoints): Implement checkpoint use cases in
`CheckpointTester` (#3900) via Toni Rico (@tonidero)
* refactor(checkpoints): Move the checkpoints API to the RevenueCatUI
module (#3909) via Toni Rico (@tonidero)
* build(deps): bump fastlane-plugin-revenuecat_internal from `b4e1e7f`
to `7fbbe66` (#3908) via dependabot[bot] (@dependabot[bot])
* refactor(checkpoints): Create empty `CheckpointTester` project (#3898)
via Toni Rico (@tonidero)
* refactor(checkpoints): Checkpoints wiring and sample usage in paywall
tester - SDK-4423 (#3863) via Toni Rico (@tonidero)
* refactor(checkpoints): Checkpoints workflow presenter UI - SDK-4423
(#3889) via Toni Rico (@tonidero)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Changes are limited to version bumps, changelog, docs redirect, and CI
S3 paths with no SDK runtime code modifications in this PR.
> 
> **Overview**
> **Automatic release** packaging for **10.16.2**: the branch moves the
repo from `10.17.0-SNAPSHOT` to the stable **`10.16.2`** version
everywhere it is published or referenced.
> 
> Version strings are updated in **`gradle.properties`**,
**`.version`**, **`Config.frameworkVersion`**, example/test
**`libs.versions.toml`** files, and the hosted docs **`index.html`**
redirect. **`CHANGELOG.md`** / **`CHANGELOG.latest.md`** are refreshed
to document **10.16.2** (paywall/cache/coroutines fixes, UI localization
behavior, checkpoints and build-tooling work listed in the release
notes). CircleCI **`docs-deploy`** now syncs **`docs/10.16.2`** to S3
instead of the previous snapshot path.
> 
> There is **no new application logic** in this diff—only release
metadata, changelog, docs hosting, and sample dependency pins.
> 
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
6f4a6f980afd9665ebf369f5ec1357185b855a74. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
R
RevenueCat Git Bot committed
23b052027906e90e79e1ce034a87ec60dc334f9d
Parent: 491acea
Committed by GitHub <noreply@github.com> on 8/13/2026, 7:18:11 AM