1.1.0 — resync catalog with upstream Solar (1,231 → 1,247 icons) - #4
Merged
Conversation
Solar renamed, redrew, and added icons upstream since 1.0.3. This resyncs
the bundled catalog without dropping anything a previous release shipped.
Added:
- 11 brand-new icons: cart-4, document-2, forward-right, list-vertical,
logout, logout-2, mirror-2, notebook-2, record-audio-circle, star-2,
vanity.
- SolarIcons.legacyAliases — 56-entry retired-name -> current-name map.
- SolarIcon.resolveName, applied by assetPath, so raw strings such as
SolarIcon('magnifer') keep resolving after the rename.
Changed:
- 11 icons now render a different drawing under the same name because
Solar redrew them. Six had their original drawing moved to a new name
(home -> house, reorder -> reorder-2, stars -> stars-2, cup -> mug,
bill -> bill-2, scale -> scaling); five were redrawn with no
replacement (phone, smartphone-2, volume-knob, keyboard,
cloud-snowfall-minimalistic). The other 1,236 are visually unchanged,
verified by rendering every icon at both versions and diffing pixels.
- 56 misspelled names corrected upstream (magnifer -> magnifier,
spedometer-* -> speedometer-*, condicioner -> conditioner, and so on).
Each old name survives as a @deprecated constant valued at its
replacement, so existing code compiles and renders identically.
- Asset bundle 6.1 MB -> 5.7 MB despite 16 more icons, via SVGO 4.
Sampled pre/post raster check: max 2.2% diff, all anti-aliasing.
- Regenerated the home-2-broken golden (23px of 480,000, max channel
delta 5/255) after the SVGO pass.
tool/fetch_icons.py no longer builds the catalog from Iconify's browsable
listing alone. That listing omits renamed and hidden entries, so a naive
refresh would have silently deleted 56 shipped constants. It now diffs
against the committed catalog, resolves each retired name to its
replacement, and aborts rather than dropping any shipped name.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The icon-browser link claimed "all 1,231 icons"; drop the count so it does not drift again (the web browser still needs its own resync). Bump the bug report version placeholder to 1.1.0. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Resyncs the bundled Solar catalog with upstream: 1,231 → 1,247 icons (7,482 SVG variants). Nothing a previous release shipped was dropped — all 56 renamed names survive as
@Deprecatedconstants — but 11 icons now render a different drawing under the same name because Solar redrew them upstream.Type of change
Not marked breaking: everything still compiles and no constant was removed. But see the visual-changes table below — the appearance change is real and is documented for consumers.
What changed
Added
cart-4,document-2,forward-right,list-vertical,logout,logout-2,mirror-2,notebook-2,record-audio-circle,star-2,vanity.SolarIcons.legacyAliases— 56-entry retired-name → current-name map.SolarIcon.resolveName, applied byassetPath, so raw strings likeSolarIcon('magnifer')keep resolving.Visual changes (11 icons) — six had their original drawing moved to a new name:
homehousereorderreorder2starsstars2cupmugbillbill2scalescalingFive more were redrawn with no replacement name:
phone,smartphone-2,volume-knob,keyboard,cloud-snowfall-minimalistic. The other 1,236 icons are visually unchanged — verified by rendering every icon at 1.0.3 and at HEAD and diffing the pixels.Renames — 56 upstream spelling fixes (
magnifer→magnifier,spedometer-*→speedometer-*,condicioner→conditioner,4k→four-k, …). Each old constant remains, marked@Deprecatedand valued at its replacement, so existing code compiles and renders identically while the analyzer points at the new name.Bundle — 6.1 MB → 5.7 MB despite 16 more icons, via an SVGO 4 pass. Sampled pre/post raster check: max 2.2 % diff, entirely anti-aliasing.
Why the generator changed
tool/fetch_icons.pypreviously built the catalog from Iconify's browsable listing alone. That listing omits renamed and hidden entries, so a naive refresh would have silently deleted 56 constants that 1.0.x consumers import. It now diffs against the committed catalog, resolves each retired name to its replacement, and aborts rather than dropping any shipped name.Checklist
flutter analyzereports zero errorsflutter testpasses locally (40 tests, 5 new covering legacy resolution)CHANGELOG.mdhas an entry describing the changedart format .was run on modified filesAdditional context
The
home-2-brokengolden was regenerated — it drifted 23 px out of 480,000 (max channel delta 5/255) after the SVGO pass. A new README section, "Upgrading from 1.0.x", carries the migration table for consumers.🤖 Generated with Claude Code