NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #153 most downloaded on pub.dev
An SVG rendering and widget library for Flutter, which allows painting and displaying Scalable Vector Graphics 1.1 files.
Last release 4 months ago
08 May 2026
Release timing varies
gaps range from 2 weeks to 8 months
Nearly every release is documented
notes for 59 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
8 years old
124 releases · first in 2018
Bumped minimum Flutter version to 1.6.7 to pick up DiagnosticableMixin.
Fix for issue with use elements refering to groups or other use elements not correctly applying styles.
use elements refering to groups or other use elements
not correctly applying styles.One column per quarter.
Make ColorFiltering apply to whole layer instead of per paint operation.
colorFilter parameter from VectorDrawable.draw.Make DrawableRasterImage implement DrawableStyleable.
image tags in defs.DrawableRasterImage implement DrawableStyleable.Move transform out of DrawableStyle and onto DrawableStyleable. Shapes already worked this way, and the transform logic was handled in a confusingly d
transform out of DrawableStyle and onto DrawableStyleable. Shapes
already worked this way, and the transform logic was handled in a confusingly
different way than all the other style attributes.<use/> elements having ids.Respect transformations on tags.
<image/> tags.Update example project to Android X.
Support for the mix-blend-mode attribute.
mix-blend-mode attribute.Format, open up obtainKey for testing.
Support for HSL colors (thanks to @christianalfoni)
Added support for masks (thanks to @krispypen)
Fix case where color filters were incorrectly getting created.
Updated SDK constraint to support new error message formats
Bump path_drawing dependency, which includes bug fixes in parsing.
Same fix for group opacity/saveLayer as in 0.12.4+2
Fixed opacity handling, particularly for groups. Previously, opacities were averaged together, which resulted in incorrect compositing (particularly i
opacity handling, particularly for groups. Previously, opacities were
averaged together, which resulted in incorrect compositing (particularly if
overlapping shapes were drawn within a group). Now, a new layer is created
with the opacity applied to the whole. This may cause some performance
degredation, but is more correct.px (with an explicit postfix).excludeFromSemantics property for purely decorative SVGs. The default
value is false.Bump dep on path_drawing which contains bugfixes for parsing.
Changed version constraint to prevent pulling down from wrong flutter version.
Fixed bug with stream completer unregistration.
Fixed bug with AVD parsing from strings.
Support for display="none" and visibility="hidden".
display="none" and visibility="hidden".BREAKING Avoid scaling based on devicePixelRatio. This turned out to be a mistake, and caused rendering inconsistencies across devices. It was particu
precachePicture method to allow for pre-caching of SVG assets. Similar
in functionality to precacheImage in the Flutter framework. Also added
improvements to error handling in the various related routines.Unhandled elements that have children will now be completely ignored. This is technically a breaking change, as previously a child of an unsupported e…
Remove unintentionally committed pubspec.lock
Fix bug in transform logic #122
Pin dart-xml to 3.2.5, as 3.3.0 is a breaking change (next release will address this).
px postfixes on many double literals.Added a semanticsLabel property to SvgPicture.
semanticsLabel property to SvgPicture.Picture.toImage method.
Rather than splitting the breaking parts out in to v0.11.0 so soon after the release of v0.10.0, I'm including some more breaking changes here. This w…
This is technically a breaking release, but it also includes important fixes for v0.10.0. Rather than splitting the breaking parts out in to v0.11.0 so soon after the release of v0.10.0, I'm including some more breaking changes here. This will not normally be done.
<stop> elements that weren't self-closing to parse
improperly.xlink:hrefDrawableDefinitionServer to
support gradients better.PaintServer typedef, since this was only serving
gradients and we need to have more control there for xlink:href support.Rewrite parsing to be more space efficient.
Fix bug that caused an empty element prevent rendering.
<defs/> element prevent rendering.Nothing published for this version
BREAKING Improvements to text positioning. Thanks to @krispypen!
Fix inheritance issues with text-anchor.
text-anchor.Implement support for clipPath outside of defs eleemnts.
clipPath outside of defs eleemnts.use in a clipPath.usvg rather than svgcleaner per author's recommendation.Make DrawableNoop implement DrawableStyleable to avoid crashing with certain unhandled elements.
DrawableNoop implement DrawableStyleable to avoid crashing with
certain unhandled elements.<style> element scenarios.Revert changes made on 0.7.0 to attempt to utilize width and height. These changes did not quite fix what they were intended to fix and caused problem
width and height. These
changes did not quite fix what they were intended to fix and caused problems
they weren't intended to case.BREAKING Correct erroneous width and height processing on the root element.
width and height processing on the root
element.
width and height were treated as synonyms for the width and
height of the viewBox. This is not correct, and resulted in meaningful
rendering errors in some scenarios compared to Chrome. Fixing this makes the
parser more conformant to the spec, but may make your SVGs look
significantly different if they specify width or height. If you want the
old behavior, you'll have to update your SVGs to not specify width and
height (only specify viewBox).MediaQuery.of(context).devicePixelRatio if available before defaulting
to window.devicePixelRatio in places that need awareness of
devicePixelRatios.<use>, <symbol>, and shape/group elements in <defs>. There
are some limitations to this currently,By default, SvgPicture.asset will now cache the asset. We already cached the final picture, but the caching included any color filtering provided on t
SvgPicture.asset will now cache the asset. We already cached the
final picture, but the caching included any color filtering provided on the
image. This is problematic if the color is animated. See
dnfield/flutter_svg#33Consume updated version of path_drawing.
Consume updated version of path_drawing, which fixes dnfield/flutter_svg#73
Fixed an issue with stroke and fill inheritance (and added test)
Nothing published for this version
BREAKING Update Flutter version dependencies/package dependencies
BoxFit and Alignment for SvgPictures (Thanks
@sroddy!).userSpaceOnUse gradientUnits (@sroddy)Create a new class to encapsulate Paint and assist with inheriting all painting properties.
Paint and assist with inheriting all
painting properties.Nothing published for this version
Consume latest path_drawing (and path_parsing) packages to fix issue(s) with smooth curve handling.
Revert HttpStatus.OK change - not ready yet for Flutter beta channel
HttpStatus.OK change - not ready yet for Flutter beta channelFix bug(s) in processing stroke and fill opacity when stroke/fill are inherited.
Consume latest change from path_drawing (fixes exponent validation)
Minimum Flutter version is now 0.5.1 (latest beta as of release)
<tspan> stylestext-anchor attribute<ellipse> parsing bug (ellipses were drawn at half the expected size)<polyline> parsing bug (polylines were incorrectly forced to be closed)Fix bug where widget caused exception in a FittedBox
FittedBoxRemove deprecated code related to SvgImage
width and height properties to SvgPictureSvgImagematchesTextDirectiontext-anchorFix centering/scaling of canvas when viewBox is not square
Bug fix around caching for tinting/coloring (color was not being properly included in cache keys)
Support for tinting/coloring the output
BREAKING CHANGE: SvgImage, AvdImage, and VectorDrawableImage have been deprecated. They relied on methods that are less efficient than those now surfa…
SvgImage, AvdImage, and VectorDrawableImage have been
deprecated. They relied on methods that are less efficient than those now
surfaced in SvgPicture.SvgPicture - its size is
determined by parent size.clipToViewBox is now called allowDrawingOutsideViewBox.
It defaults to false. It should not ordinarily be set to true, as it can allow
unexpected memory usage if your vector graphic tries to draw far outside of
the viewBox bounds.SvgPicture does not support custom ErrorWidgetBuilders at
this point in time. However, errors will be properly logged to the console.
This is a result of improvements in the loading/caching of drawings.Fix bug(s) in inheritance (better rendering of Ghostscript_Tiger.svg)
<clipPath>sFix bugs in percentage handling.
<radialGradient> percentage handling.Add more unit tests and rendering tests (!).
Bump to path_drawing 0.2.3 (fix arc defect).
Your coding agent can read these notes before it upgrades. Set up the MCP server →