PackageTrack
Sign in Get early access

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.

1.7.0 deminearchiver/dart-flutter-packages

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 2026
2026
Release Pre-release

Releases

latest 13
  1. 1.7.0 13 Aug 2026
    Release notes
    • Introduced a new main library androidx_graphics_shapes.

      • The shapes library is now deprecated in favor of androidx_graphics_shapes.
      • Added data-driven fixes for automatic migration from package:androidx_graphics_shapes/shapes.dart to package:androidx_graphics_shapes/androidx_graphics_shapes.dart.
    • Deprecated the material_shapes library in favor of package:material_3p/material_shapes.dart.

      • Added data-driven fixes for automatic migration from package:androidx_graphics_shapes/material_shapes.dart to package:material_3p/material_shapes.dart.
    • Bumped minimum SDK versions to Dart 3.13 and Flutter 3.47.

    • Made Feature a sealed class.

      • This restricts subclass hierarchy solely to Edge and Corner, which are already final classes.
    • Upgraded dependencies to latest pinned SDK constraints.

      • meta to ^1.19.0.
      • vector_math to ^2.4.2.
    • Updated example to use the material_3p package.

    • Minor internal changes.

    Open source →
  2. 1.6.1 20 Jul 2026
    Release notes
    • Applied minor optimizations to Cubic.split() (cartesian optimization) and Cubic.pointOnCurve().

    • Fixed changelog formatting.

    Open source →
  3. 1.6.0 05 Jul 2026
    Release notes
    • Introduced a new abstract DynamicPathBorder class, which allows implementing bounds-dependent path borders while handling the painting logic automatically.

      • This change adds proper BorderSide support to both RoundedPolygonBorder and MorphBorder, including proper stroke alignment.
      • New strokeCap, strokeJoin and strokeMiterLimit properties allow customizing how the shape's outline will be painted. This change was propagated down to StaticPathBorder, RoundedPolygonBorder and MorphBorder as well.
      • The DynamicPathBorder.paintPathStroke() static method provides painting logic to help paint path strokes on a Canvas, e.g. in CustomPainter.paint(), RenderObject.paint(), etc.
    • Renamed PathBorder to StaticPathBorder and changed its superclass to DynamicPathBorder.

    • Added Object.toString() overrides for all custom borders: DynamicPathBorder, StaticPathBorder, RoundedPolygonBorder and MorphBorder.

    • Added documentation clarifying the normalized path requirements to StaticPathBorder.path.

    • Removed deprecated internal extensions: RoundedPolygonInternalExtension and MorphInternalExtension.

      • Code that previously relied on these extension must switch to the public extensions: RoundedPolygonExtension and MorphExtension respectively.
    • 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.

    Open source →
  4. 1.5.0 21 Apr 2026
    Release notes
    • Changed RoundedPolygonExtension.transformedWithMatrix4() to always perform perspective transform. Removed the usePerspectiveTransform parameter.

    • Fixed RoundedPolygon.hashCode returning different hash codes for equal objects. The features list is now being properly hashed by values.

    • Replaced usages of listEquals() and Object.hashAll() with ListEquality().equals() and ListEquality().hash().

    • Minor optimizations, as well as internal and code style changes.

    Open source →
  5. 1.4.0 12 Apr 2026
    Release notes
    • Bumped minimum Dart SDK to 3.11 and Flutter to 3.41.

    • Marked internal extension methods on RoundedPolygon and Morph as deprecated.

    • Fixed RoundedPolygonBorder.copyWith() skipping side and squash properties.

    • Exposed PathBorder for public use.

    • Added transformedWithMatrix2(), transformedWithMatrix3() and transformedWithMatrix4() methods to RoundedPolygonExtension.

    • Added more arguments to RoundedPolygonExtension.toPath() and MorphExtension.toPath() methods.

    • Optimized internal calculations and algorithms in the material_shapes library only.

    Open source →
  6. 1.4.0+1 12 Apr 2026
    Release notes
    • Added missing 1.4.0 changelog entries.
    Open source →
  7. 1.3.2 02 Feb 2026
    Release notes
    • Downgraded the dependency constraint of meta to ^1.17.0 to match the version pinned by the stable SDK.
    Open source →
  8. 1.3.1 31 Jan 2026
    Release notes
    • Removed usages of the @immutable annotation.

    • Internal changes.

    • Addressed linter feedback.

    • Upgraded dependencies.

    Open source →
  9. 1.3.0 09 Jan 2026
    Release notes
    • Added path caching to RoundedPolygonBorder and MorphBorder so they are no longer const-constructable.

    • Implemented morphing between RoundedPolygonBorder shapes and between MorphBorder shapes (with the same morph values).

    • Exposed start and end properties of Morph as internal members.

    • Internal updates to MaterialShapes.

    • Added inline pragmas to internal utils.

    Open source →
  10. 1.2.0 13 Dec 2025
    Release notes
    • CornerRounding() now uses positional parameters. For named parameters, CornerRounding.from() can be used.

    • Internal code style changes.

    Open source →
  11. 1.1.1 12 Dec 2025
    Release notes
    • Updated README.md with expanded information.

    • Added an empty example/main.dart for future implementation.

    • Added documentation comments for more items.

    Open source →
  12. 1.1.0 12 Dec 2025
    Release notes
    • Optimized Point internal 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 startAngle type from int to double in various APIs.

    • Previously mutable static members of MaterialShapes (i.e. MaterialShapes.circle, MaterialShapes.square etc.) are now final.

    • Applied dot shorthands across the library.

    • Improve overall code style and clarity.

    Open source →
  13. 1.0.0 11 Dec 2025
    Release notes
    • Initial version.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive