NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #680 most downloaded on pub.dev
Rive's native runtime and renderer for Flutter.
Last release 10 days ago
28 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 30 of 30 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
37 releases · first in 2024
One column per month.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Updates the Rive C++ runtime and renderer for the latest features, bug fixes, and performance improvements.
RenderResolution to control how a Factory.rive texture sizes its backing store: display() (default — layout × device pixel ratio × ancestor paint scale), layout({scale}) (layout × device pixel ratio, ignores ancestor transforms), and fixed(width, height) (explicit physical pixels). Available on RenderTexture.widget, RiveArtboardWidget, and RiveProceduralRenderingWidget.RenderResolution.display() now accounts for ancestor transforms on web, matching native — an upscaled widget renders sharp instead of stretched. Pass RenderResolution.layout() for the previous behavior.RiveNative.instance.releaseRenderResources() to release cached render resources (web: pooled textures and the probe context), recreated on demand. No-op on other platforms.RiveNative.debugRenderTextureLogging (web): logs render-texture create/reuse/release with live WebGL context counts.display and layout are capped at 4096 logical pixels per axis (aspect preserved), preventing runaway allocations under large ancestor scales.Updates the Rive C++ runtime and renderer for the latest features, bug fixes, and performance improvements.
Factory.rive) rendering issues on Linux with later versions of Flutter (3.38+, see Flutter issue 182998)Data global not being initialized, which left view model constructors such as Data.MyViewModel.new() unavailable to scriptsUpdates the Rive C++ runtime and renderer for the latest features, bug fixes, and performance improvements.
RiveNativeRenderBox.paint (Factory.rive) that could occur when painting during certain transitions. See https://github.com/rive-app/rive-flutter/issues/642.desktop_multi_window on Windows with MicroProfile GPU initDeprecated RenderTexture.onTextureChanged in favour of addTextureChangedListener / removeTextureChangedListener, which allow multiple painters to shar…
Factory.rive) during parent rotation/skew animations.RiveWidget (Factory.rive) flickering when resized. The render texture is reused and scaled during a resize, recreated at the new size on a throttle, and only swapped in once it has been drawn.RenderTexture.onTextureChanged in favour of addTextureChangedListener / removeTextureChangedListener, which allow multiple painters to share a single texture.RiveNativeRenderBox.textureResizeInterval to tune how often the texture is recreated while resizing.Updates the Rive C++ runtime and renderer for the latest features, bug fixes, and performance improvements.
Event is a sealed class and EventType gains an audio value, so exhaustive switch statements over either now require a new AudioRuntimeEvent / EventType.audio arm.AudioRuntimeEvents alongside GeneralEvent and OpenUrlEvent. Listeners that branch on event type with non-exhaustive if/is checks will see the new type pass through unhandled.removeTexture method channel handler when the texture id arrived as int32_t rather than int64_t. Most commonly seen when dragging the app window between displays with different DPI settings, or when rapidly creating/disposing render textures.Updates the Rive C++ runtime and renderer for the latest features, bug fixes, and performance improvements.
Updates the Rive C++ runtime and renderer for the latest features, bug fixes, and performance improvements.
Updates the Rive C++ runtime and renderer for the latest features, bug fixes, and performance improvements.
Add optional viewModelInstance parameter to File.artboardToBind, allowing a ViewModelInstance to be bound to a BindableArtboard. When provided, the view model instance is set on the artboard property in the core runtime.
Updates the Rive C++ runtime and renderer for the latest features, bug fixes, and performance improvements.
scripting folder, which is now required by other build files.dart run rive_native:setup concurrency issue rive-flutter#609. Downloads now use a unique temporary directory to support concurrent CLI runners.Updates the Rive C++ runtime and renderer for the latest features, bug fixes, and performance improvements.
Updates the Rive C++ runtime and renderer for the latest features, bug fixes, and performance improvements.
3.28.0. The Android platform code requires the new onSurfaceCleanup and onSurfaceAvailable methods, see SurfaceProducer.enumType string getter to ViewModelInstanceEnum which returns the name of the enum (not the property name).valueStream<T> to data binding properties that are observable (implementations of ViewModelInstanceObservableValue), which returns a Stream<T>. For example:ViewModelInstanceNumber? numberProperty = viewModelInstance!.number('age');
Stream<double> stream = numberProperty!.valueStream;
Adds runtime Rive Scripting support.
artboard DataType enum.Fixed Android build issues in certain environments. See issue 555. Build commands are now executed from Gradle instead of CMakeLists, and the setup pr
rive_native:setup if the required libraries are already downloaded.rive.native.skipSetup=true in your app's gradle.properties. When enabled, you must manually run dart run rive_native:setup --verbose --clean --platform android to download the required libraries.Marks methods to access text runs and state machine inputs as deprecated. While this functionality won't be removed in the near future, we encourage a…
Fit.layout by correcting the order of artboard resizing and advancing calls. Added a new RiveArtboardLayoutMixin that provides common layout options for painters, including fit mode, alignment, and scale factor controls.isTickerActive to RivePainter.FileAssets when the owning Rive File is destroyed.textureFrameAvailable on main (platform) thread (iOS and macOS). This likely resolves crashes observed during Flutter engine teardown when using Factory.rive.Updates the Rive C++ runtime and renderer for the latest features, bug fixes, and performance improvements.
3.27.0 and Dart to 3.6.0.Updates the Rive C++ runtime and renderer for the latest features, bug fixes, and performance improvements.
Updates the Rive C++ runtime and renderer for the latest features, bug fixes, and performance improvements.
Updates the Rive C++ runtime and renderer for the latest features, bug fixes, and performance improvements.
Factory.rive.front() on an empty vector.pdb symbol files for rive_native on Windows to assist in debugging native errors.Updates the Rive C++ runtime and renderer for the latest features, bug fixes, and performance improvements.
Factory.rive, improving memory efficiency and performance.Factory.rive, resulting in smoother widget resizing.Fit.scaleDown was not working correctly with Factory.rive.Factory.rive.Fit modes were used and the user switched to a different DPI screen.addAdvanceRequestListener to StateMachine and ViewModelInstance. This is used internally by the rive package to force advance on view model property change, and input changes.Updates the Rive C++ runtime and renderer for the latest features, bug fixes, and performance improvements.
preCommitCallback for iOS and macOS.Updates the Rive C++ runtime and renderer for the latest features, bug fixes, and performance improvements.
localBounds on Component.elapsedSeconds is zero.- Fixed hash verification
Updates the Rive C++ runtime and renderer for the latest features, bug fixes, and performance improvements.
pointerExit event logic.Expose width and height getters for ImageAsset. See issue 501. This is only exposed to support older workflows. We now recommend using Data Binding im
width and height getters for ImageAsset. See issue 501. This is only exposed to support older workflows. We now recommend using Data Binding images. You can also alternatively expose the width and height of the component through data binding and listen to changes.Updates the Rive C++ runtime and renderer for the latest bug fixes and performance improvements.
rive_native as a Pub package. rive_native now copies the native libraries to the local app build directory.Updates the Rive C++ runtime and renderer for the latest bug fixes and performance improvements.
Fixed a crash on iOS for the Flutter renderer on cleanup.
Updates the Rive C++ runtime and renderer for the latest bug fixes and performance improvements.
ViewModelInstanceArtboard by its path using artboard(String path) on a view model instance. To update, set the value by passing in a BindableArtboard. Create a BindableArtboard from a Rive file: riveFile.artboardToBind(String name) See the runtime docs for data binding artboards.Factory.rive.isSupported after RiveNative.init().Updates the Rive C++ runtime and renderer for the latest bug fixes and performance improvements.
ViewModelInstance by its path using list(String path). On this property you can perform common list operations, such as, add/remove/insert. See Editor and runtime docs for data binding lists.x86/x86_64 arch support.compileSdk from 34 to 35.Updates the Rive C++ runtime and renderer for the latest bug fixes and performance improvements.
ViewModelInstance by its path using image(String path), and set its value.
Factory.rive.decodeImage or Factory.flutter.decodeImage to create a RenderImage.value to null to clear the image and free up resources.name string getter on Artboard, Animation, and StateMachine.rive_native now accounts for the plugins_build_output directory when running the build scripts.rive_native libraries using dart run rive_native:setup --build.Updates the Rive C++ runtime and renderer for the latest bug fixes and performance improvements.
Data binding 🚀. See the data binding documentation and the updated example app for more info.
rive_native:setup, see issue 467. Thanks tpucci for the contribution.Initial support for text follow path (early access)
CMakeLists.txt. See issue 460, Dart does not allow executing pub commands from the pub cache directory.Android Support: Added support for Android (arm, arm64) with Rive Renderer and Flutter Renderer (Skia/Impeller).
path parameter in StateMachine.number, StateMachine.boolean, and StateMachine.trigger.path parameter in artboard.getText(textRunName, path: path).artboard.setText(textRunName, updatedValue, path: path).RiveProceduralRenderingWidget and ProceduralPainter.StateMachinePainter and RivePainter.stateMachine no longer require a stateMachineName parameter. It is now optional. If null, the default state machine will be used.RiveArtboardWidget and RiveFileWidget now require a RivePainter.- Initial prerelease 🎉
Your coding agent can read these notes before it upgrades. Set up the MCP server →