Repository navigation
Warning
The legacy Apple runtime API is now deprecated.
Existing APIs remain available, but will produce deprecation warnings. We recommend migrating to the Swift Concurrency API. See the migration guide for updated APIs and examples.
This release also improves Swift concurrency support and adds new text, layout, and data-binding capabilities.
Added
Apple runtime
- Concurrency API resources and supporting values now conform to
Sendable, resolving warnings under complete Swift concurrency checking.- This includes
Worker,File,Artboard,StateMachine,ViewModelInstance, and decoded assets. APIs marked@MainActorstill require main-actor access.
- This includes
Core runtime
- Added angular (sweep) gradients and animated font selection.
- Added maximum character and line limits for text inputs, and automatic blur when pressing outside the focused field.
- Added a String Template converter for combining bound strings and formatted numbers.
- Added capture-phase pointer and keyboard listeners, allowing a parent to handle input before a nested component.
- Added image pointer-listener targets and pointer mapping through meshed or N-sliced nested artboards.
- Added runtime support for global text styles, artboard paints, and width- or height-locked layout aspect ratios. Their authoring controls remain behind editor feature flags.
Scripting
- Added AnimaScript jobs, workers, shared memory, parallel calls, and real-time audio processors.
- Added audio sample decoding and streaming through
AudioSource.toBlob(...)andAudioSource.stream(...).
Fixed
Apple runtime
- Fixed main-thread stalls caused by acquiring Metal drawables while earlier frames were still pending.
- Fixed crashes when an asynchronous asset loader decoded an image, font, or audio asset after its file had been released.
- Fixed script audio being muted by the iOS silent switch when using the runtime’s own audio context.
Core runtime
- Fixed clearing a bound variable font leaving its cached variant visible.
- Fixed right-to-left ellipsis placement, alignment of truncated text, and ellipsis using the wrong font or size.
- Fixed newly added list rows not inheriting their parent’s right-to-left layout direction.
- Fixed nested artboards receiving host opacity changes one frame late.
- Fixed hangs and crashes involving path endpoints, long trim ranges, strokes without paint, and path effects awaiting a font.
- Fixed deleted state machines continuing to receive nested artboard events and converters leaving stale references to view model values.
- Fixed scripted drawables without pointer handlers blocking pointer input.
- Fixed scripted interpolators not initializing or binding their inputs correctly on layouts, transitions, and converters.
Renderer
- Fixed gaps between outer strokes and fills, and inner feather paths not rebuilding when their settings changed.
- Fixed GPU texture uploads on Intel Macs.
- Fixed deferred canvases being sampled before their backing texture was available.
Changed
Apple runtime
- Deprecated the legacy Swift and Objective-C APIs, including legacy views, playback, data binding, and asset loading.
- Existing APIs remain available with deprecation warnings and migration guidance.
- Use the Apple runtime migration guide to move to the concurrency API.
- Deprecated renderer-selection APIs, including
RendererType,RenderContextManager.defaultRenderer, andnewCGContext.- Renderer selection has no effect; contexts use the Rive renderer. Use
newRiveContextwhen explicitly creating a context.
- Renderer selection has no effect; contexts use the Rive renderer. Use
Core runtime
- Improved artboard instancing, text layout, data-converter updates, and adding or removing data-bound list rows.
- Reduced unnecessary animation, layout, and rendering work.
- Restored Korean word wrapping at spaces.
Scripting
- Script fetches now queue when concurrency limits are reached instead of being rejected.
- Improved script buffer cleanup, error recovery, and compiled-script performance.
Commits
See the full commit history between 6.28.1 and 6.29.0.
- feat(apple): deprecate legacy API
39bd77b - feat(apple): make concurrency API resources Sendable
c17087d - fix(apple): prevent drawable acquisition stalls
e119775 - fix(apple): prevent crashes during delayed asset decoding
9030bb2 - fix(apple): restore and deprecate renderer selection APIs
eba48ec - fix(scripting): play script audio through the iOS silent switch
6037dba - feat(runtime): global text style support
807d7f9 - feat(text input): maximum character and line limits
4b9fdb4 - feat(data-binding): string template converter
b5d89eb - feat(runtime): capture-phase keyboard and pointer listeners
69e5993 - feat(runtime): support images as pointer targets
00db220 - feat(scripting): jobs, workers, shared memory, and audio processors
a23e4b8 - feat(scripting): parallel calls over shared module memory
7c61255 - perf(runtime): improve addition and removal of list elements
b387343