Skip to content

6.27.0

Latest

Choose a tag to compare

@github-actions github-actions released this 15 Sep 09:09
· 37 commits to main since this release

This release reduces the Rive framework’s size across all supported Apple platforms. Runtime binaries are 24–26% smaller, and a signed, device-thinned minimal iOS app measured 20% smaller to download and 25% smaller installed.

Added

Core runtime

  • Added Unicode-aware line breaking, improving wrapping for CJK text, punctuation, and Unicode spaces. Overflowing words no longer split glyph clusters, keeping combining characters together.
  • Added runtime support for image paints and bitmap caching of nested artboards. Bitmap caches are refreshed when content, size, or viewed scale changes. Authoring controls remain gated in the editor.

Scripting

  • Added audio playback and node hierarchy APIs for AssemblyScript, including playback scheduling, pause/resume, seeking, volume control, and access to node parents and children.
  • Added runtime support for Luau-scripted transitions between nested artboards, with data-bound selection and script-controlled compositing. Authoring controls remain gated in the editor; the WASM backend currently switches children without a scripted transition.

Renderer

  • Added support for clipping against stroked paths.

Fixed

Apple runtime

  • Fixed an iOS crash during Metal drawable disposal by retiring queued drawable references on the main queue.

Core runtime

  • Fixed fitFontSize text reserving layout space at its original font size instead of its fitted size. Existing files retain their previous behavior through compatibility settings.
  • Fixed releasing a list-item view model listener accidentally unregistering its parent listener, stopping parent subscriptions and leaving a stale child registration.
  • Fixed failed view model property reads emitting invalid value callbacks alongside errors. Missing properties and type mismatches now report only the error.
  • Fixed malformed rigging data causing crashes when a tendon references a non-bone or a skinned vertex has no weight. Invalid tendon references now fail artboard loading; weightless vertices retain their bind position.

Scripting

  • Fixed undersized uniform buffers reaching GPU drawing without validation. Bind-group creation now reports the binding and required buffer size, including when commands are recorded for deferred rendering.
  • Fixed AssemblyScript GPU factory failures returning invalid handles instead of reporting the underlying error.

Changed

Apple runtime

  • Reduced framework size across all supported Apple platforms by hiding internal C++ and vendored-library symbols, allowing the linker to remove unused code. Runtime binaries are 24.23–25.94% smaller, and compressed frameworks excluding dSYMs are 16.44–17.62% smaller.
  • On iOS ARM64, the runtime binary decreased from 6.18 to 4.60 MiB, and the compressed framework decreased from 2.69 to 2.23 MiB.
  • A signed, device-thinned minimal iOS app measured 20.19% smaller to download (2.36 → 1.88 MiB) and 24.99% smaller installed (6.35 → 4.76 MiB).

Core runtime

  • Improved file loading and artboard instancing performance by removing repeated vector copying and shifting during dependency sorting.
  • Keyboard listeners now consume matching key events after running their actions, stopping propagation to ancestor focus nodes. Other listeners on the same element still receive the event.

Commits

See the full commit history between 6.26.0 and 6.27.0.

  • fix(apple): reduce package size and hide internal framework symbols 6d73ff8
  • feat(wasm): audio and node data APIs for AssemblyScript bad3770
  • fix(runtime): prevent crashes from malformed rigging data c45ab0a
  • fix(ios): retire drawable references on the main queue f0373b5
  • fix(command-queue): preserve parent listeners when releasing list children 7502ef3
  • feat(runtime): let keyboard listeners consume handled keys e479fd6
  • perf(runtime): reduce dependency-sorting overhead 2fd3483
  • feat(text): Unicode line breaking e908067
  • fix(command-queue): suppress value callbacks for failed property reads 71d1593
  • feat(renderer): add clipping against stroked paths 464a50c
  • feat(runtime): cache nested artboards as bitmaps 4f342b0
  • feat(runtime): image paints and scripted transitions 4e649fb
  • fix(text): measure fitted text at its fitted size 9dc08d6
  • fix(ore): reject uniform buffers shorter than the shader block 0d702d8