Added
Apple runtime
- Added support for decoding
UIFontandNSFontinstances through the concurrencyWorkerAPI, allowing platform-native fonts to be registered as global assets.
Fixed
Core runtime
- Fixed data-bound keyframe values being ignored by joystick-driven, nested, and standalone animations.
- Fixed grid row, column, and span data bindings not updating layout correctly.
- Fixed
fitFontSizescaling font size without also scaling line height, letter spacing, and paragraph spacing. - Fixed feather effects not rendering on text style backgrounds. Inner feather effects could also corrupt rendering for the remainder of the frame.
- Fixed a potential use-after-free when swapping a data-bound nested artboard while semantics were enabled.
- Fixed nested artboard layouts rendering incorrectly inside transformed parent layouts.
- Fixed overlapping layouts and shapes handling pointer input in the wrong visual order.
- Fixed complex path triangulation cases that could cause crashes or undefined rendering.
Scripting
- Fixed scripted GPU canvases allocating their backing textures during recording instead of on the replay device.
- Fixed the scripting VM resolving its rendering device from the command server rather than the file import factory.
Changed
Apple runtime
CommandQueueProtocolconformers must now implement the platform-native font decoding method forUIFontorNSFont.
Core runtime
- Reduced per-instance
LayoutComponentmemory usage by approximately 23%. - Improved layout update performance by writing styles directly to the underlying Yoga node.
Renderer
- Improved MSAA rendering performance for large paths by triangulating their interiors.
Scripting
- Updated the embedded Luau runtime to
rive_0_734.
Commits
See the full commit history between 6.23.1 and 6.24.0.
- feat(apple): decode native fonts with concurrency worker
#13629 - fix(runtime): rehome semantics when a data-bound nested artboard swaps
#13633 - chore(runtime): shrink LayoutComponent per-instance memory
#13565 - chore(editor): enable layout transforms
#13632 - feat(deferred): allocate canvas backings at replay, not at record
#13604 - fix(scripting): route the device from the import factory
#13605 - fix(text): make feather work on text style backgrounds
#13611 - fix: grid and core integer type fixes
#13580 - fix(runtime): resolve data-bound keyframe values on all playback paths
#13579 - chore(text): scale font attributes with fitFontSize
#13572 - chore(renderer): update GrTriangulator with upstream stability fixes
#13570 - feat(renderer): implement interior triangulation for MSAA
#13535
- feat(apple): decode native fonts with concurrency worker (#13629) 180450eace
1b2185f - Updating version files
634dc9d - chore(runtime): shrink LayoutComponent per-instance memory (#13565) e776cb3cc5
905e894 - feat(editor): clipboard copy/cut/paste in Rive-based artboard header (#13641) a8f3a6828c
fb6cf80 - fix(gms): build the canvas dag gms without scripting (#13643) c3bd820e64
499601e - fix(runtime): rehome semantics when a data-bound nested artboard swaps (#13633) 16f53812e8
5c4e8f5 - chore(editor): Enable layout transforms (#13632) 6369d54dc7
0ae3713 - feat(deferred): allocate canvas backings at replay, not at record (#13604) 610f9a3366
ee59a6e - fix(scripting): route the device off the import factory, not the command server's (#13605) 7e613062a0
0114f99 - fix(text): make feather work on text style backgrounds (#13611) 54fe0949ab
e16f101 - feat(unreal): initial deferred renderer support (#13602) e7b57f6bad
5a6a95b - refactor(unreal) msaa mode for android with engine patches for performance (#13527) 3026fa99a0
3c5cd5b - fix(renderer): fail Vulkan init gracefully instead of aborting (#13546) edc6b5c78c
a02594c - fix(unreal): Unreal random fixes (#13593) 54b48a70ae
f16bce7 - fix: Grid, core int type fixes (#13580) 584f66bc95
2214e29 - fix(runtime): resolve data-bound keyframe values on all playback paths (#13579) f997139aa3
06da2ad - chore(text): scale font attributes with fitFontSize (#13572) 77e027c061
ac6eefd - feat(ore): bake bind group layout identity into the shader sidecar (#13577) 4d73f37a3d
2542396 - refactor(ore): derive bind group layouts from shaders at the ore layer (#13566) d93e7c98b2
85d0941 - chore: rev luau to rive_0_734 (#13561) ba609f1a74
cc5af4c - perf(runtime): write layout styles into the yoga node directly (#13438) 976a024a33
8c82175 - fix(web): build every heap view from wasmMemory (#13574) 0490b73a17
5fff6aa - chore(renderer): Update GrTriangulator to skia:fee7272f5b (#13570) 16992a5769
3d20df2 - feat(renderer): Implement interior triangulation for MSAA (#13535) 4e97bffbd8
4d0098f