NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #2756 most downloaded on pub.dev
The official Spine Flutter Runtime to load, display and interact with Spine animations.
Last release 3 months ago
09 Jul 2026
Release timing varies
gaps range from 8 days to 7 months
Nearly every release is documented
notes for 50 of 54 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
54 releases · first in 2022
One column per quarter.
[flutter] Release spine-flutter 4.3.6
[flutter] Release spine-flutter 4.3.6
[flutter] Update example lockfiles for 4.3.5
[flutter] Update example lockfiles for 4.3.5
Fixed automated release publishing so native source files are included in the pub.dev package.
Added GitHub Actions release automation for spine-flutter.
Updated bundled spine-c/spine-cpp sources and WebAssembly assets for the 4.3 release.
Added fromMemory methods to AtlasFlutter, SkeletonDataFlutter, SkeletonDrawableFlutter, and SpineWidget for loading Spine data from custom sources (me
fromMemory methods to AtlasFlutter, SkeletonDataFlutter, SkeletonDrawableFlutter, and SpineWidget for loading Spine data from custom sources (memory, encrypted storage, databases, custom caching, etc.)load_from_memory.dart demonstrating how to load all assets into memory and use the fromMemory APIAdded Slider and SliderData classes for slider constraints
Additions
Slider and SliderData classes for slider constraintsSliderTimeline and SliderMixTimeline for animating slidersBoneLocal, BonePose, and related classesPose, Posed, and PosedActive base classes for unified pose managementBreaking changes
lib/generated/ providing complete API coverage of all Spine runtime types.apply() methods now take an additional appliedPose parameterThe examples and documentation have been updated to demonstrate the minimal changes needed to migrate from 4.2 to 4.3.
Before (4.2):
controller.skeleton.setScaleX(0.5);
controller.skeleton.setScaleY(0.5);
controller.skeleton.findSlot("gun")?.setColor(Color(1, 0, 0, 1));
After (4.3):
controller.skeleton.scaleX = 0.5;
controller.skeleton.scaleY = 0.5;
controller.skeleton.findSlot("gun")?.pose.color.set(1, 0, 0, 1);
Before (4.2):
controller.animationState.getData().setDefaultMix(0.2);
controller.animationState.setAnimationByName(0, "portal", true);
controller.animationState.addAnimationByName(0, "run", true, 0);
After (4.3):
controller.animationState.data.defaultMix = 0.2;
controller.animationState.setAnimation(0, "portal", true);
controller.animationState.addAnimation(0, "run", true, 0);
Before (4.2):
print("Event: ${event?.getData().getName()}");
print("Int value: ${event?.getIntValue()}");
print("Animation: ${entry?.getAnimation().getName()}");
After (4.3):
print("Event: ${event?.data.name}");
print("Int value: ${event?.intValue}");
print("Animation: ${entry?.animation.name}");
Before (4.2):
final bone = controller.skeleton.findBone("crosshair")!;
final parent = bone.getParent()!;
final position = parent.worldToLocal(worldPosition.dx, worldPosition.dy);
bone.setX(position.x);
bone.setY(position.y);
After (4.3):
final bone = controller.skeleton.findBone("crosshair")!;
final parent = bone.parent;
if (parent != null) {
final position = parent.appliedPose.worldToLocal(worldPosition.dx, worldPosition.dy);
bone.appliedPose.x = position.x;
bone.appliedPose.y = position.y;
}
Support for 16KB page alignement on Android. You must specify the NDK version in the build.gradle file of your app's Android project. See https://gith
Port of commit f1e0f0f: Fixed animation not being mixed out in some cases.
Merge fixes in spine-cpp(-lite)
Fix spine-flutter spec checksum in Podfile.lock, keeping version control cleaner. See https://github.com/EsotericSoftware/spine-runtimes/pull/2609
Podfile.lock, keeping version control cleaner. See https://github.com/EsotericSoftware/spine-runtimes/pull/2609Fix bug in IKConstraint leading to NaNs.
Switch to spine-cpp SkeletonRenderer
Fix issue in pubspec.yaml related to C++ include paths.
Fix incompatibility with Gradle 8.x. See https://github.com/EsotericSoftware/spine-runtimes/issues/2553
Fixes clipping in case of colinear clipping edges.
Skeleton.getBounds() takes clipping into consideration.
Skeleton.getBounds() takes clipping into consideration.- Switch to spine-cpp-lite
Support static linking of native library, see https://github.com/EsotericSoftware/spine-runtimes/issues/2438
- Physics support
Fix multiply blend mode, see https://esotericsoftware.com/forum/d/25369-spine-flutter-slot%E6%B7%B7%E5%90%88%E6%A8%A1%E5%BC%8F%E5%90%8Ealpha%E4%B8%A2%
FilterQuality for texture atlas pages is now set to medium. It is configurable via Atlas.filterQuality. See https://github.com/EsotericSoftware/spine-
Atlas.filterQuality. See https://github.com/EsotericSoftware/spine-runtimes/issues/2362Fixed clipping bug, see https://github.com/EsotericSoftware/spine-runtimes/issues/2431
Fixes #2412, single bone, translation only IK constraints did not take skeleton scale into account.
Fixes compilation errors due to API change in Flutter 3.16.0, see this issue. Note: Depending on this version requires your project to depend on Flutt
Fix allocation patter for temporary structs on Windows, which resulted in a hard crash without a stack trace on the native side.
Fixed bug in path handling on Windows.
Updated http dependency to 1.1.0
- Merge changes from 4.1.4.
- Fixes for Impeller.
Merge changes from 4.1.1 and 4.1.2.
Update README.md with setup and development instructions.
Update README.md to point to Junji's Dart-only Spine runtime.
- Fix atlas parsing.
Change reversed positional argument order in SpineWidget constructors.
SpineWidget constructors.Change package name from esotericsoftware_spine_flutter to spine_flutter.
esotericsoftware_spine_flutter to spine_flutter.Temporary "fix" for https://github.com/EsotericSoftware/spine-runtimes/issues/2479. It appears the canvaskit backend of Flutter has a bug. We currentl
FilterQuality anymore. The Flutter rendering backend is supposed to pick a good one depending the platform. Users can still set FilterQuality globally via Atlas.filterQuality as before.Fix multiply blend mode, see https://esotericsoftware.com/forum/d/25369-spine-flutter-slot%E6%B7%B7%E5%90%88%E6%A8%A1%E5%BC%8F%E5%90%8Ealpha%E4%B8%A2%
FilterQuality for texture atlas pages is now set to medium. It is configurable via Atlas.filterQuality. See https://github.com/EsotericSoftware/spine-
Atlas.filterQuality. See https://github.com/EsotericSoftware/spine-runtimes/issues/2362Fixed clipping bug, see https://github.com/EsotericSoftware/spine-runtimes/issues/2431
- Update WASM binaries
\*Fixes #2412, single bone, translation only IK constraints did not take skeleton scale into account.
*Fixes #2412, single bone, translation only IK constraints did not take skeleton scale into account.
Fixes compilation errors due to API change in Flutter 3.16.0, see this issue. Note: Depending on this version requires your project to depend on Flutt
Fix allocation patter for temporary structs on Windows, which resulted in a hard crash without a stack trace on the native side.
Fixed bug in path handling on Windows.
Updated http dependency to 1.1.0
- Fixes for WASM/web builds.
- Fixes for Impeller.
API documentation and minor cosmetics.
Backport to 4.1 spine-runtimes branch.
SkeletonDrawable will be retained if the asset file names and type provided to the SpineWidget constructor has not changed.Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →