Skip to content

Releases: rive-app/rive-android

11.6.2

19 Jun 00:40

Choose a tag to compare

  • fix: Backport legacy VMI read/write lock d9a8030
  • feat: Backport maintenance patch release flow 88373a0
  • fix: Backport changelog version environment 9eb753b

11.7.0

15 Jun 19:06

Choose a tag to compare

  • feat(Android): Vulkan (#12653) 528ab110eb 37c0c09
  • fix(Android): VMI read/write lock (#12811) 9f34ff6291 7cc8317
  • feat(Android/Cmdq): Advance after pointer down and up (#12786) ba9b94960c e167018
  • feat(Android): Allow bindable artboard clearing with null (#12752) e171a0fd3f 63e24c5
  • gl: route feathers to atlas on Mali-G52 to avoid PLS corruption (#12753) f60e429709 a3b9277
  • Add gpu compressed decoders (#12237) 195d4fcb25 4da3150
  • fix(Android): Unblock Android release flow (#12868) 77c82242bb dea5f4f
  • feat(command-queue): add file asset listing via FileListener (#12662) 4a612198f1 1242226
  • fix(runtime): invalidate all scripted VM property caches on instance swap (#12863) ca0054c077 3bbc564
  • fix: Snap enabled scrolling not respecting last item padding (#12856) f11274b5d9 4f0b1a9
  • chore(editor): Generate Windows pdbs for symbolication (#12720) 2fce4282b6 bd3babe
  • fix(renderer/d3d11): guard MicroProfile GPU init against multi-context re-entry (#12766) 13fba5c3d5 1c52f25
  • chore: Stateful Component handling of source artboard databinds (#12776) e9483b78c4 95cf327
  • fix(build): locate Visual Studio via vswhere as a fallback (#12840) c5d462f9d9 6e58351
  • C++ Runtime Readme revamp (#12537) c8bb275d99 52faff2
  • Nnnnn export bindable object with different (#12779) a680ab80e5 a568354
  • Add Factory::ore() and drop the redundant ore context cache in ScriptingContext (#12769) 76eeeed5d9 b303552
  • feat(js): poll Rive focus state to conditionally drive focus back to the canvas from elsewhere in the DOM (#12713) 6169c50d9f d7aabe2
  • fix(runtime): assign view model instances to the right view models (#12756) 018a0724d9 cc6984a
  • Bezier render prototype (#12727) 4b2501f748 b0ac863
  • ore: gate float render targets and baseVertex on backend features (#12712) 10e90773d5 8bb1bbe
  • Deferred GPUCanvas reports speculative format (#12701) 557c18ea05 a562e3c
  • feat(editor): Expose ScrollConstraint velocity and scrollActive computed properties (#12671) d797171a0b afed00d
  • feature(scripting): serialize implemented methods (#12670) 8957983a44 6afa5d6
  • Nnnnn gamepad input support (#12646) 867dce9f73 4e19952

11.6.1

27 May 16:30

Choose a tag to compare

  • fix(Android): Move command queue teardown to a thread (#12536) 6a45587c42 454eda4
  • feat(android): add setViewModelInstance to ViewModelInstance (#12464) 0341fb374c 728946b
  • Support ktx2 (#12385) f454e3170e b031c24
  • feature(scripting): LuauDirectFieldGet for hot userdata reads (#12650) fe77b2ec3d d1ae70a
  • fix(runtime): fix data bind container re-entries (#12649) 0649b58ff5 790b23d
  • ci: move linux + windows rive_native builds to self-hosted; fetch prebuilt premake on windows (#12640) 1548d0bb39 0b90e51
  • remove lua_gc and set File reference as raw pointer (#12590) 1ff3ef872f 33c5190
  • fix(luau): GC crash in markroot from FFlag flip after lua_newstate (#12638) 6f4bc8aa47 d3c8ba8
  • chore: bump vendored luau fork to rive_0_36 (#12632) dc34cab787 71e09bb
  • GPUCanvas: deferred construction, beginRenderPass with view sugar, generator gets Context (#12634) 69767598c6 0e25cce
  • chore: Add "resize" Image fit type to differentiate from "fill" (#12627) 91c4dd9b77 c0cdd8f
  • fix(unity): add missing neon palette png symbols to fix iOS crash (#12620) 463745fd0b 75259fd
  • chore(focus): expose focus polling API (#12617) fdb0536723 958592d
  • refactor(ore): convert ore classes to be virtual with per backend implementations (#12599) e5c20369ec f24e1dd
  • fix: Scroll to hidden layouts using scrollIndex (#12598) 679b808585 8613971
  • fix: PropertyRecorder UB calling &front() on empty buffers (#12607) 623d5fe7a3 c705350
  • feat(wgpu): Use wgsl (finally) in the WebGPU backend (#12541) d779307982 f865413
  • fix(runtime): Incorrect modulo in scroll using snap and carousel (#12586) 308565c15e d58706c
  • fix(tests): Update gms & goldens to support 16K page sizes (#12584) 4440cf2dec 2b97ff5
  • feat: add user-driven focus management support for js/wasm. plumb through focus manager methods to SMI (#12522) ea3739b107 6b8bbd4
  • fix(apple): retain and clear artboard/image property values in ViewModelInstance (#12561) d938779f2b c20c238
  • refactor(gpu): move beginRenderPass from GPUCanvas to Context (#12579) 1cac286905 0804011
  • fix: drop 32-bit integer vector VertexFormats (#12570) 2e4ed32ffa 260517d
  • fix: pass file to data bind clone (#12569) 717b403dd9 8ced36d
  • fix(editor): Stateful component fixes (#12563) 26b149f92c 110573e
  • fix(runtime): pass pointerId to drag events (#12559) 43b857965b 0fe6e81
  • fix: Make ViewModelInstanceTrigger keyable for Stateful Components (#12556) c2f1000a63 5b65f9b
  • Fix render_canvas_prepass_multi GL flip pivot (#12488) db997822be b729ecd
  • chore(runtime): resolve build error after merge conflicts (#12545) 320eff3f97 73cf728
  • feat(scripting_workspace): HLSLStructLayout v2 with per-resource stageMask (#12544) a9d6eff838 2581c13
  • chore(rive_native): build microprofiler behind a flag (#12514) 44ba1a605e 5a3e9a7
  • fix: memory pressure during dart allocations from luau trampoline cal… (#12540) 2dab5352d7 f594434
  • fix(scripting_workspace): HLSL export cleanup (#12512) 60b685278c 0a7ebce
  • chore: Guard from calling markNeedsUpdate in update (#12525) fab85a4fd5 84b81dd
  • fix(editor): reset scripted objects initialization when data context is cleared (#12523) 9faec1e36e cc6a0c0
  • validate inputs for logging (#12521) 8e58f305c1 1ce8f3b
  • fix(android): address github issue template bug on duplicate ids (#12517) cdb5071597 fc284ec
  • Update profiler to fix build (#12515) 687a80a7a8 1ced3db
  • Nnnnn scripted interpolators (#12505) 44b83c5345 3401be7
  • chore(editor): Move stateful toggle to NestedArtboard (#12490) 9f0dc79e3f 8fa57db
  • refactor(runtime): added overload for decoding shader (#12492) f1c2f2c776 2a4caf2
  • chore: drop multi-shader machinery, drop legacy ScriptAsset-RSTB fallback (#12485) f74ec7dfd5 5c70df8
  • chore(shaders): call draw canvases from the draw command and gate met… (#12489) afccc14a00 a82129c

11.6.0

09 May 00:41

Choose a tag to compare

Fixes

This release includes three fixes:

  • Render target creation was at risk of producing an ANR during periods of high contention on the worker. This was resolved by making creation asynchronous and lazy at the time of first use.
  • (Legacy) If data binding values were updated during a frame advance, there was a chance of corrupting the buffer of data bind updates. This was resolved through locking the buffer.
  • (Legacy) If a Rive file had no data binding available but the user requested autoBind, the runtime would throw an error. This has been downgraded to logging an error.

  • fix(Android): Render Target ANR (#12470) fc77e0e0ef d8a3982
  • fix(Android): Legacy: Update databinds under lock (#12480) e1151b7f96 c372a04
  • fix(Android): Legacy: Log error instead of throwing when auto-bind fails (#12481) d596bba7a7 424170c
  • added internal asset loader so you can bypass cmdq (#12487) a53f08a914 de1a00f
  • chore: delay running data binds until necessary (#12469) ee223deb96 f40a473
  • Move from .rtex to .ktx2 (#12369) db268e8c81 842fd0d
  • Fix/render bc7 images (#12344) 3b74a52148 a8e7057
  • fix(browserstack): Fix the browserstack run for vk gms (#12473) b70b191146 de09be3
  • fix(glmsaa): Fix MSAA artifacts with dstBlend barriers and no KHR (#12413) 82af6951bf 4485dd5
  • chore: drop D3D11/D3D12 pre-compiled DXBC ingestion path (#12475) 1de58d297c 964fbcb
  • feature: track ShaderAsset assetId on ShaderModule (TRACK_RIVE_SHADER_ID) (#12474) d2e31a1f65 6bccaf7
  • chore(runtime): improve initialization performance of clipping shapes… (#12472) 666dc5691e ecee87a
  • fix(tests): gate render_canvas GMs behind with_rive_canvas (#12441) 1aab0beb60 c750894
  • fix: Absolute layout fill behavior (#12471) 6cce514679 3d5aea7
  • fix(runtime): Fix top level artboard hug behavior (#12462) 0e91142f40 9b28b2b
  • fixes(editor and runtime): follow path and editor reload (#12461) ed48c0a53d 760c6a5
  • fix(tests): make Rand produce identical sequences across platforms (#12432) 9a8f7e7a19 9744b71

11.5.0

06 May 21:23

Choose a tag to compare

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...
Read more

11.4.1

17 Apr 19:07

Choose a tag to compare

Fixes

This release includes 3 important fixes for the Android runtime:

  1. Properly handle the loss of OpenGL context, restoring it after loss with automatic recovery.
  2. Fixed a race condition during tear down if the surface was simultaneously being resized.
  3. Fixed a linking error on older ARMv7 devices that did not support thread local storage (TLS) relocations
    • Manifested as java.lang.UnsatisfiedLinkError: dlopen failed: unknown reloc type 17.
    • Introduced by libsodium used for cryptographic random number generation (RNG) for scripting.
    • Solved by forcing emulated TLS at build time.

  • fix(Android): Context and surface loss fixes (flush crash) (#11726) d9776b5c2e 7350069
  • fix(Android): Race condition between resize and renderer deletion (#11831) 086750cc4a c1317cb
  • fix(Android): Fix linking issues on ARMv7 devices due to TLS relocations (#12175) a921b11eb8 4b3c801
  • chore(runtime): Remove tess renderer (#12207) 862f1ff44c ef4a55c
  • feature(scripting): add support for remove and removeAt (#12201) 0015c1d29e bfb459a
  • fix(editor): track orphan ScriptedProperty on ScriptingContext (WITH_… (#12195) 0475399dc5 bfdee65
  • fix(webgl): Update to latest PLS api (#12192) c8d7c868ca bf210eb
  • fix: include BlobAsset in File::read() asset import switches (#12191) a8142e0e4f d43efe4
  • fix: create new render path if a path is used multiple times in the s… (#12182) 85a72f0ffd 905a915
  • fix(wgpu): honor offscreen render target in testing_window_wgpu (#12174) f129648151 7a23d19
  • Handle linebreaks in single/multiline TextInput (#12154) dab97cd7b1 f70c981
  • Feat: Rive Renderer in Recorder (#12113) 7adf1e50c8 f258936
  • fix(editor): Fix Viewmodel duplicate naming & databind preview toggle stuck after undo (#12132) 223c4c3721 a7dfd12
  • fix(runtime): advance view models from bindable artboards (#12135) f1f9769606 9c7ec5f
  • fix: look for view model properties by name and type (#12133) 51992ddcda 5adc873

11.4.0

10 Apr 22:39

Choose a tag to compare

  • feature: add support for component based conditions (#12059) 5483819400 5e5ac49
  • fix(Vulkan): Fix saturation blend mode on some devices (#12111) b6b80d795a 9e84a3d
  • feat: Single/multiline support in TextInput and improved scrolling (#12127) 74f49dd1be d161a9e
  • Get the downstream rive-runtime Linux tests passing (#12121) 1902f9ddf3 aaa9dd7
  • chore(testing_window): Default shader compilation mode changes (#12119) 49e0b94a5f 487a8a6
  • refactor(tests): Refactored deploy_tests to use the same file instead of one per console (#12116) 478898e6b4 fc889d0
  • chore(unit_tests): Get inline shaders compiling in MSVC (#12100) d3d433b8b3 443c9a9
  • fix: add bash-native VS dev environment setup for Windows (#12094) d302b78b45 f8ca9e9
  • fix(editor): Store ScriptedContext on ScriptedObject for disposal (#12070) cb54233310 50f5d2e
  • fix(runtime): when an interpolation duration is set to zero, reset th… (#12086) 3afc336770 304dfc0
  • New runtime. (#11913) 183591cd06 470f9ad
  • fix: add support for data bound inputs in data converters (#12068) cdc30c9e74 ce3b27c
  • fix path effect advance (#12069) ef617a8d97 339682f

11.3.2

07 Apr 16:35

Choose a tag to compare

  • chore: Use structured Github Issue forms across runtimes (#11828) 50b70f682a b4aba05
  • chore: Bump core runtime to C++17 (#11946) 235eba5b6b b28267e
  • fix(android): keep RenderTarget alive for deferred draw callbacks (#11967) 7307f298ff 55bfabb
  • fix: remove Skia renderer from WASM builds and fix coop_cpp zlib dependency (#12073) ffd76947e8 8061f9f
  • feat: Image Fit & Alignment when parented by Layout (#12057) ca2ce7d096 41d8b1d
  • chore(runtime): Enum bitset refactor and new enum util functions (#12038) 19c486654a 45440f8
  • chore(glsl): Rename PLS_ATOMIC to PLS_UAV (#12056) 2390433e6b 0b5f26c
  • chore(runtime): Remove duplicate degreesFromRadians function (#12054) 44a307ef2e 0f2c511
  • fix(runtime): memory leak with listeners on scripted view model prope… (#12047) 3201f83d97 2323304
  • chore: add duration to audio API (#12040) a3c233b32a e30e8a6
  • feat(vulkan): Add ability to pre-build draw pipelines (#11945) 15be2c7178 bec6e0a
  • Bind stateful component VM instances with provided instances (#11999) 46c241d197 af1490b
  • feature: provide text and keyboard inputs to drawable scripts (#12002) b76bd385af 6f4cac6
  • test(gl): Reset atlas type back to r16f after changing it for testing (#12000) a5ba42dab9 3ee01f0
  • Stateful component fixes (#11982) a10b1aecc6 fafee33
  • Nnnnn state machine key input listeners part 4 (#11979) cf9c8526a5 0d6de60
  • fix(renderer) gamma correction fix (#11949) 5513f3f042 6cbdc3b
  • feat: expose view model name from view model instance as a property on viewmodel_runtime_instance (#11944) 85c89c739c 0394e2d
  • fix(editor/runtime): Honor path effect shape for inner vector feathering (#11971) 263c8a422d 6f4f199
  • Disable broken tests for now. (#11959) 31ff9f971a 9467087
  • Nnnnn state machine key input listeners part 3 (#11952) a77fcaadfe dfb7f7b
  • fix(runtime): Databind State machine transition duration (#11947) 98ac9c07a3 2a69004
  • fix(runtime): Add nullptr check for ConditionComparison during transition (#11955) fc1c3488ec 8b918ec
  • fix build: looks like a rivestd got left behind by a merge (#11953) 5069323843 5072d62
  • fix(unity): add symbol renames to prevent HarfBuzz collisions with Unity (#11951) c17d930238 e9daa5e
  • Nnnnn state machine key input listeners part 2 (#11936) 8a82cf2e25 edf6531

11.3.1

23 Mar 21:17

Choose a tag to compare

  • fix(runtime): store relinked view model instance on nested artboard (#11931) 76c7232fa1 4fc2199
  • feature: add support for sending keyboard inputs to focused elements (#11924) 19486d13d0 6ee8e8d
  • Add support for setting ViewModel value using Listeners and comparing ViewModels in Transition Conditions (#11917) 46a089fc12 fa2c0db
  • chore: skip focus nodes that are collapsed or fully transparent (#11916) 57139fa664 2114458

11.3.0

20 Mar 17:48

Choose a tag to compare

  • feat(Android): Do not draw when surface is lost (#11870) d117065966 c0ef434
  • Nnnnn library export fixes (#11884) 68176685ac 302b604
  • feat(vkcwa): Implement advanced blend (#11858) 37c39e85d4 343b243
  • Bind ViewModelInstanceList with Stateful Components (#11878) e4abf64f44 01d560a
  • fix: correct emoji image buffer size and dual-presentation fallback (#11876) 7640c5a47a ab1b727
  • feature: add support for removing all elements from a view model list (#11872) 354acb8533 363ed3b
  • feature: add support for multiple inputs on listeners (#11862) 501b7f488c 721e883
  • feature: emojis! (#11857) 89305a5fed 7f29656
  • fix(runtime): Don't early out when processing KeyedObjects with missing objects (#11856) 3eb4211852 0b3c55b
  • Component Input/Output Properties (#11854) 3034940065 b57099f
  • fix(apple): support language hints, create font from tables (#11807) 30fcb84a44 2e7f2dc
  • feat(renderer): Enable reordering on clockwise mode (#11843) b5b724b93a 9949a96
  • Stateful Component Properties (#11800) b09cb6b29e 6882784
  • feature: add support for replacing view model property values (#11826) c8242bfa23 29bab0e
  • chore: bump to luau 0.711 (#11837) e74f1cb12e 0a4d8e2
  • feature: RenderCanvas, a GPU texture usable as both render target and render image (#11836) 2b8d8a0b03 7698dbd
  • Focus nodes (#11814) 017a4f41e3 1fe50e5
  • fix(gl): Enable linear filtering on the atlas texture (#11818) 3312a8f159 f9f0948
  • fix: restore indexing order of view model symbols (#11817) f7c0374b8f 507b9fb
  • Simplify Renderer Sort Key Generation (#11782) dd441653df 523448a