Skip to content

6.29.0

Latest

Choose a tag to compare

@github-actions github-actions released this 30 Oct 12:36
· 76 commits to main since this release

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 @MainActor still require main-actor access.

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(...) and AudioSource.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, and newCGContext.
    • Renderer selection has no effect; contexts use the Rive renderer. Use newRiveContext when explicitly creating a context.

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