Skip to content

Update vgo to v4.1.0#108

Merged
renovate[bot] merged 1 commit into
masterfrom
renovate/vgo
Jul 13, 2026
Merged

Update vgo to v4.1.0#108
renovate[bot] merged 1 commit into
masterfrom
renovate/vgo

Conversation

@renovate

@renovate renovate Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
com.jzbrooks:vgo-core 4.0.04.1.0 age confidence
com.jzbrooks:vgo 4.0.04.1.0 age confidence

Release Notes

jzbrooks/vgo (com.jzbrooks:vgo-core)

v4.1.0

Added
  • --print-ir[=MODE] to dump vgo intermediate representation. MODE is auto by default, which honors NO_COLOR
    CLICOLOR_FORCE, and TERM environment variables while also only using ANSI color escape sequences if the output
    is a terminal.
  • Gradients are supported for SVG (reading and writing)
    • Reading converts <linearGradient> and <radialGradient> definitions referenced via fill/stroke url(#id) when they are exactly representable:
      • gradientUnits="userSpaceOnUse" coordinates
      • gradientUnits="objectBoundingBox" coordinates (including percentages), resolved against the referencing element's bounding box
      • gradientTransform baked into gradient coordinates when the transformed gradient still renders identically (rotation, uniform scale, translation, and axis-aligned gradients under non-uniform scale — the common Illustrator/Figma export forms)
      • href/xlink:href templates (e.g. stops inherited from another gradient)
      • spreadMethod, percentage stop offsets, and stop styling via attributes or style (stop-color, stop-opacity)
    • Unsupported cases (e.g. skew gradientTransform, focal points, unresolvable references) are passed through to the output verbatim instead of being converted
    • Writing emits gradient brushes as <defs> definitions referenced with url(#id), enabling vector drawable → SVG conversion of gradient drawables. Sweep gradients cannot be represented in SVG and fail conversion with a clear error
  • ImageVector reading no longer requires one particular builder shape. The ImageVector.Builder(...) call is discovered anywhere in the file, so previously unparseable forms now work:
    • .apply { path(...) { ... } } blocks (Valkyrie-style output) and run scope functions, in addition to fluent .path {}.group {} chains
    • by lazy { ... } delegates, plain val x = ... initializers (no getter or explicit type required), functions returning ImageVector, and local builder variables (val builder = ...; builder.path { ... }; builder.build())
    • Kotlin 2.4 explicit backing fields (val x: ImageVector with field = ImageVector.Builder(...)...build())
    • directly imported Builder(...) calls and fully qualified ImageVector references
  • ImageVector reading resolves arguments by parameter name, so positional, named, and mixed argument styles are supported for Builder(...), path(...), group(...), path commands, and PathNode constructors
  • ImageVector reading parses previously ignored path styling arguments: name, pathFillType, strokeLineCap, strokeLineJoin, and strokeLineMiter
  • ImageVector reading understands Color companion constants (e.g. Color.Black) and more dimension forms (24f.dp, Dp(24f))
Changed
  • MergePaths will merge opaque stroke, no fill paths regardless of overlap.
  • Shape elements carry their paints in new Shape.fillBrush and Shape.strokeBrush properties, which can represent gradients
  • BakeTransformations no longer bakes a group transform when a child path's paint would be invalidated by it (a gradient that cannot be exactly transformed, or an unconverted url(#id) paint reference); the transform is retained on the group instead
Deprecated
  • Shape.fill and Shape.stroke: their Color type cannot represent gradient paints, so they hold placeholder colors (black fill, transparent stroke) when the shape is painted with a gradient. Read fillBrush/strokeBrush instead — they are the source of truth for shape paints
Fixed
  • BakeTransformations transformed path geometry without transforming gradient paint coordinates, warping gradient-painted paths inside transformed groups (affected vector drawables)
  • Hex color literals in ImageVector sources (e.g. Color(0xFFFFC107)) failed to parse and silently fell back to black
  • ImageVector paths without an explicit pathFillType were read with an even-odd fill rule; Compose's default is non-zero

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot enabled auto-merge (squash) July 13, 2026 19:39
@renovate renovate Bot merged commit 2a83e91 into master Jul 13, 2026
6 checks passed
@renovate renovate Bot deleted the renovate/vgo branch July 13, 2026 19:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants