github rive-app/rive-android 11.5.0

5 hours ago

Features

This release introduces hardware bitmap rendering as a method of rendering Rive content to an Android Canvas. Software bitmaps have been available since the release of the new API, but would be too slow for real time use due to the expense of copying between buffers. With hardware bitmaps, apps can achieve the same performance as Compose but instead rendering to a canvas. See the HardwareBitmapCanvasActivity sample for usage.

Software rendering has been moved to a new class, SoftwareRenderBuffer, and the old RenderBuffer class is marked deprecated. In the future, we may move to an asynchronous API.

This release also improves on tracing, adding more tracing to the Legacy API for easier comparisons, as well as the new canvas path.

Finally, this release refactors how surfaces work in the new API, making them closable from the main thread.

Fixes

This release includes a speculative fix for failures to link libandroid.so. See this commit for details. It may be that it surfaces a different, root issue, which may require an additional fix to resolve.


  • feat(Android): Hardware Bitmap Rendering (#12231) a22106e3db 0050823
  • Nnnnn focus management fixes (#12290) 12495d656d e873069
  • fix(Android): Non-recursive linking (#12293) 2ee033da32 da4428a
  • Runtime compressed texture support (#12026) 7009e7fdec a7bcf78
  • fix: null-terminate char-array shaders in MSVC mode (#12218) 6d3708536a fb16bd6
  • chore: add config yml files for issues so we disable the blank issue option and provide links to docs and community (#12235) f60572ccb0 bd7f0da
  • feat(scripting): Mat4 affine fast paths + reverse-Z perspective (#12454) 072832aecc 86bd024
  • feat(Command Queue): Add draw key cancellation (#12451) 7c539a46ff c4ddefb
  • track state machine state for profiler (#12434) 565f8ad739 58728ab
  • feat(scripting): first-class Mat4 type with SIMD multiply (#12445) a076a8abde 0a383c0
  • chore(recorder): enable scripted Canvas + Ore in the GPU recorder (#12430) 66b9d31e8f c86eb21
  • chore: Add more Stateful Component tests (#12438) 13be041786 28c21eb
  • Split Ore Context into per-backend subclasses (#12442) ee268b5467 5fd2231
  • refactor(unreal): main branch compatability (#12440) 66dbcd05f3 d594ffe
  • Add code for tier levels on profiler (#12411) 0a621bb320 7011190
  • fix(vulkan): Resolve driver crash on some mobile GPUs (#12403) 1deebb93aa 2fa1246
  • fix: make SimpleArray constructor overflow safe(r) (#12313) ea38312ee1 4c735da
  • Expose context:preferredCanvasFormat() to Dart-hosted scripts (#12419) 852622182f 9a34dbd
  • chore: Stateful component input/output display name (#12406) 1c0be407fa 5a9fa56
  • fix(ore): depth only pipeline (#12408) a2f90edf62 1c26944
  • feat(ore): 3D (#12319) 462e0574ec 7343fa3
  • fix(d3d12): sampler heap rotation must re-create immutable samplers & initialize unused SRV (#12399) 27bd52389b 489b8b4
  • feature(scripting): expose view model image properties (#12390) 48d4b69f15 8fa144e
  • Enumerate Compressed texture formats (#12358) 5e9fc9910b 30a4760
  • fix(d3d12): image samplers must use default-mode filter, not comparison (#12395) cdfb9acc06 33bc657
  • fix(cmdq) fix race condition (#12392) 3698608ea4 6645671
  • Nnnnn scripted properties lifecycle (#12375) 1df363d3b8 a4cc030
  • fix: Layout ScaleType keying with percent units bug (#12388) 1f4b65d3dd 025afd9
  • fix(d3d12): rebind invalidated root descriptor tables after sampler heap rotation (#12387) 9354e62e9a 353db3c
  • feat(ui update): data value toggle [flagged] (#12357) c8af6cfdcc 1063c73
  • chore: Rebaseline silvers (#12379) a3dd13b312 fcb46be
  • chore: validate size of lists before iterating (#12365) 1a5100efcf 1f15b29
  • fix(renderer): Only apply barriers on drawGoup boundaries (#12347) 31aa875e47 2a78c96
  • feat(cmdq): sync mouse events (#12322) d2cf8f885b a4fc6ae
  • Fix Runtime Compressed texture loading (#12338) 5e1daebe83 4a8c8fd
  • feature(scripting): expose access to list index property (#12286) 1b04939b52 efc5664
  • feature - RSTB edit-time generation (#12341) 25e5123be4 6a3ce27
  • feature(focus): add support for focus traversal actions (#12327) eb578eb9f6 75ad6e1
  • fix(scripting): clear scripted view model cache when instance changes (#12325) bc28f6b706 381a57e
  • chore(renderer): pre-Ore PLS misc fixes (#12324) 53d9569d3e 4fa863a
  • fix(d3d12): three spec-compliance fixes uncovered by stricter D3D12 validation (#12316) 68e0e5ef0d d9b41e5
  • feat(runtime): added clear list command (#12301) fe2c92535c 5c5fcba
  • chore: Add additional nullptr checks in ArtboardComponentList (#12292) 87fbb1cdff c98409f
  • refactor(semantic): simplify SemanticManager refresh() bounds and ordering (#12282) d5bd1a0bd8 1abbefb
  • feature: add support for data binding solos to enums (#12009) ab78bca1e5 dce3511
  • fix: do not default artboard value to 0 to avoid initializing to wron… (#12007) d722a63bb8 4c17cf8
  • feat: accessibility semantics (#11896) 30ace69c91 ac420b3
  • chore: ensure stateful components are bound (#12241) c352234f45 49dc081
  • Texture compression cli tool (#12115) 77f2cf82a4 2f0086f
  • fix: ListenerAction import and stateful ArtboardHost calls advanced() (#12238) 4ce0cedebd 7acb587
  • feature: add support for draw index on artboard component lists (#12234) d83826e10b 4b12bea
  • fix(unity): add missing libpng symbol renames for Unity 6.4+ WebGL builds (#12236) 4744c8972a 7e89880
  • fix(runtime): leak in ElasticScrollPhysics helpers (#12226) f6fa7f21cf 6c9eb2e
  • feat: TextInput Tool Improvements (#12221) 5bd28c734a bec52e5
  • feat(renderer): Implement clip for clockwiseAtomic (#12120) da326b3fca 806d908
  • feat(cq): add success callbacks for instantiations (#12213) e5ce0c3387 2a457da
  • feature: add support for triggering actions on state transitions and … (#12209) 235ca76b31 e3c3c81

Don't miss a new rive-android release

NewReleases is sending notifications on new releases.