androidx_graphics_shapes
A library for easy creation, transformation, and morphing of rounded polygonal shapes. Contains predefined Material Design shapes that can be used at various components.
What this package is like to depend on
Last release 10 days ago
13 Aug 2026
Release timing varies
gaps range from 9 days to 2 months
Nearly every release is documented
notes for 13 of 13 stable releases
Nothing withdrawn
no release was ever pulled
8 months old
13 releases · first in 2025
13 releases in the last 12 months
see the full history below
Release timeline
13 releases · Dec 2025 to Aug 2026Releases
latest 13-
1.7.013 Aug 2026Release notes
Open source →-
Introduced a new main library
androidx_graphics_shapes.- The
shapeslibrary is now deprecated in favor ofandroidx_graphics_shapes. - Added data-driven fixes for automatic migration from
package:androidx_graphics_shapes/shapes.darttopackage:androidx_graphics_shapes/androidx_graphics_shapes.dart.
- The
-
Deprecated the
material_shapeslibrary in favor ofpackage:material_3p/material_shapes.dart.- Added data-driven fixes for automatic migration from
package:androidx_graphics_shapes/material_shapes.darttopackage:material_3p/material_shapes.dart.
- Added data-driven fixes for automatic migration from
-
Bumped minimum SDK versions to Dart 3.13 and Flutter 3.47.
- Refactored classes and extension types to use Dart 3.13 primary constructors and concise constructor syntax.
- Reformatted the library with Dart 3.13 formatter changes.
-
Made
Featureasealed class.- This restricts subclass hierarchy solely to
EdgeandCorner, which are alreadyfinalclasses.
- This restricts subclass hierarchy solely to
-
Upgraded dependencies to latest pinned SDK constraints.
metato^1.19.0.vector_mathto^2.4.2.
-
Updated example to use the
material_3ppackage. -
Minor internal changes.
-
-
1.6.120 Jul 2026Release notes
Open source →-
Applied minor optimizations to
Cubic.split()(cartesian optimization) andCubic.pointOnCurve(). -
Fixed changelog formatting.
-
-
1.6.005 Jul 2026Release notes
Open source →-
Introduced a new abstract
DynamicPathBorderclass, which allows implementing bounds-dependent path borders while handling the painting logic automatically.- This change adds proper
BorderSidesupport to bothRoundedPolygonBorderandMorphBorder, including proper stroke alignment. - New
strokeCap,strokeJoinandstrokeMiterLimitproperties allow customizing how the shape's outline will be painted. This change was propagated down toStaticPathBorder,RoundedPolygonBorderandMorphBorderas well. - The
DynamicPathBorder.paintPathStroke()static method provides painting logic to help paint path strokes on aCanvas, e.g. inCustomPainter.paint(),RenderObject.paint(), etc.
- This change adds proper
-
Renamed
PathBordertoStaticPathBorderand changed its superclass toDynamicPathBorder. -
Added
Object.toString()overrides for all custom borders:DynamicPathBorder,StaticPathBorder,RoundedPolygonBorderandMorphBorder. -
Added documentation clarifying the normalized path requirements to
StaticPathBorder.path. -
Removed deprecated internal extensions:
RoundedPolygonInternalExtensionandMorphInternalExtension.- Code that previously relied on these extension must switch to the public extensions:
RoundedPolygonExtensionandMorphExtensionrespectively.
- Code that previously relied on these extension must switch to the public extensions:
-
Bumped minimum SDK versions to Dart 3.12 and Flutter 3.44.
-
Cleaned up internal code.
-
Reformatted the library with Dart 3.12 formatter changes.
-
Reformatted the changelog.
-
-
1.5.021 Apr 2026Release notes
Open source →-
Changed
RoundedPolygonExtension.transformedWithMatrix4()to always perform perspective transform. Removed theusePerspectiveTransformparameter. -
Fixed
RoundedPolygon.hashCodereturning different hash codes for equal objects. Thefeatureslist is now being properly hashed by values. -
Replaced usages of
listEquals()andObject.hashAll()withListEquality().equals()andListEquality().hash(). -
Minor optimizations, as well as internal and code style changes.
-
-
1.4.012 Apr 2026Release notes
Open source →-
Bumped minimum Dart SDK to 3.11 and Flutter to 3.41.
-
Marked internal extension methods on
RoundedPolygonandMorphas deprecated. -
Fixed
RoundedPolygonBorder.copyWith()skippingsideandsquashproperties. -
Exposed
PathBorderfor public use. -
Added
transformedWithMatrix2(),transformedWithMatrix3()andtransformedWithMatrix4()methods toRoundedPolygonExtension. -
Added more arguments to
RoundedPolygonExtension.toPath()andMorphExtension.toPath()methods. -
Optimized internal calculations and algorithms in the
material_shapeslibrary only.
-
-
1.4.0+112 Apr 2026 -
1.3.202 Feb 2026Release notes
Open source →- Downgraded the dependency constraint of
metato^1.17.0to match the version pinned by the stable SDK.
- Downgraded the dependency constraint of
-
1.3.131 Jan 2026Release notes
Open source →-
Removed usages of the
@immutableannotation. -
Internal changes.
-
Addressed linter feedback.
-
Upgraded dependencies.
-
-
1.3.009 Jan 2026Release notes
Open source →-
Added path caching to
RoundedPolygonBorderandMorphBorderso they are no longer const-constructable. -
Implemented morphing between
RoundedPolygonBordershapes and betweenMorphBordershapes (with the samemorphvalues). -
Exposed
startandendproperties ofMorphas internal members. -
Internal updates to
MaterialShapes. -
Added inline pragmas to internal utils.
-
-
1.2.013 Dec 2025Release notes
Open source →-
CornerRounding()now uses positional parameters. For named parameters,CornerRounding.from()can be used. -
Internal code style changes.
-
-
1.1.112 Dec 2025Release notes
Open source →-
Updated
README.mdwith expanded information. -
Added an empty
example/main.dartfor future implementation. -
Added documentation comments for more items.
-
-
1.1.012 Dec 2025Release notes
Open source →-
Optimized
Pointinternal implementation for raw construction, making it an extension type. -
Optimized
Cubic.fromPoints()internal constructor implementation. -
Added identity equality checks for
MutableCubic, making every instance of the class only be equal to itself. -
Changed
startAngletype frominttodoublein various APIs. -
Previously mutable static members of
MaterialShapes(i.e.MaterialShapes.circle,MaterialShapes.squareetc.) are nowfinal. -
Applied dot shorthands across the library.
-
Improve overall code style and clarity.
-
-
1.0.011 Dec 2025