Skip to content

fix(android): bump rive-android to 11.6.2 - #317

Merged
mfazekas merged 1 commit into
mainfrom
fix/android-rive-11.6.2
Jul 6, 2026
Merged

mfazekas merged 1 commit into
mainfrom
fix/android-rive-11.6.2

Conversation

@mfazekas

@mfazekas mfazekas commented Jul 6, 2026 •

Copy link
Copy Markdown
Collaborator

Bumps the pinned Android runtime from 11.6.1 to 11.6.2, which backports the ViewModelInstance read/write lock from 11.7.0. A patch bump carries just the lock; the 11.7 minor also ships the new Vulkan backend (opt-in — OpenGL stays the default renderer) plus other changes, and grows librive-android.so by ~2 MB per ABI (arm64: 5.76 → 7.73 MB uncompressed, +34%) since Vulkan is compiled into the prebuilt library even when unused.

In 11.6.1, StateMachineInstance.advance() holds the file lock but ViewModelInstance property access takes no lock, so a property write or instance teardown on another thread can race the advance path's DataBindContainer::updateDataBinds and crash (SIGSEGV reported in production on 0.4.11). Related ledger: #308.

Verified on a Pixel 6 API 34 emulator (arm64 debug build): the databinding-related harness suites and a targeted advance-vs-write stress loop are green on both 11.6.1 and 11.6.2 (the race did not reproduce locally at this volume; no regressions from the bump).

11.6.2 backports the ViewModelInstance read/write lock from 11.7.0
(without the 11.7.x Vulkan default flip). In 11.6.1, state-machine
advance holds the file lock but ViewModelInstance property access takes
no lock, so a property write or instance teardown on another thread can
race the advance path's DataBindContainer::updateDataBinds and crash.
@mfazekas
mfazekas force-pushed the fix/android-rive-11.6.2 branch from a88afa2 to 89378b3 Compare July 6, 2026 05:12
@mfazekas
mfazekas requested a review from HayesGordon July 6, 2026 06:28
@mfazekas
mfazekas enabled auto-merge (squash) July 6, 2026 11:44
@mfazekas
mfazekas merged commit ae66b24 into main Jul 6, 2026
9 checks passed
@mfazekas
mfazekas deleted the fix/android-rive-11.6.2 branch July 6, 2026 11:48
mfazekas pushed a commit that referenced this pull request Jul 6, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.4.14](v0.4.13...v0.4.14)
(2026-07-06)


### Bug Fixes

* **android:** bump rive-android to 11.6.2
([#317](#317))
([ae66b24](ae66b24))
* **android:** don't re-acquire a disposed Rive file on view re-attach
([#319](#319))
([4259723](4259723))
* **hooks:** no-op stale property setter calls after dispose
([#316](#316))
([dbb4dd7](dbb4dd7))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
mfazekas added a commit that referenced this pull request Jul 7, 2026
Merges `main` up to the 0.4.14 release into the iOS experimental branch.
No conflicts.

Notable changes pulled in:
1. fix(android): don't re-acquire a disposed Rive file on view re-attach
(#319)
2. fix(hooks): no-op stale property setter calls after dispose (#316)
3. fix(android): bump rive-android to 11.6.2 (#317) — resolves to 11.6.2
here (up from 11.6.1)

On the #319 native fix: this branch has the legacy/new Android backend
split, so git's rename detection applied the fix to the
`android/src/legacy` variant of `RiveReactNativeView.kt` — which is
correct, since the crash is a property of upstream `RiveAnimationView`'s
cached `rendererAttributes.resource`. The `android/src/new` backend is a
separate `TextureView`/`CommandQueue` implementation with no such code
path, so the same tweak neither applies nor is needed there. A re-attach
lifecycle bug in the new backend, if any, would be a separate fix.

---------

Co-authored-by: Rive Engineering <60802183+rive-engineering@users.noreply.github.com>
mfazekas added a commit that referenced this pull request Jul 14, 2026
Bumps the pinned native runtimes to the latest releases: rive-android
11.6.2 → 11.7.1 and rive-ios 6.20.4 → 6.21.0.

Notable changes on Android: 11.7.0 enables the Vulkan renderer by
default (#317 had intentionally stayed on the 11.6.2 backport to defer
this) and includes the full ViewModelInstance read/write lock. 11.7.1
adds serialized touch-triggered advances and mipmap generation fixes.

Notable changes on iOS: 6.21.0 adds VoiceOver semantics support,
artboard volume control, and defaults `RiveUIView.isOpaque` to false so
transparent backgrounds render correctly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants