v2.3.0: 217 new brand icons + auto-triage for icon requests
217 new brand icons land in this release across three onboarding rounds, plus a new auto-triage workflow that gives icon-request submitters instant feedback. Six community icon issues that had been sitting in the queue since April are closed.
If you're on thesvg 2.1.6 or earlier, run pnpm update thesvg to pick up the new icons.
Added
32 flat-color brand icons (PR #134)
Aeromexico, Aldi Sud, Bakalari, B&R Automation, C++ Builder, CachyOS, Cinny, DiceBear, Dungeons & Dragons, Eclipse Vert.x, Faker, Fluxer, Google Display & Video 360, Helium Browser, Hilton Hotels & Resorts, Île-de-France Mobilités, L'Équipe, LangChain Corporate, Metro de la Ciudad de México, Métro de Paris, Müller, ÖBB, Picard Surgeles, RTÉ, São Paulo Metro, Softcatala, Tele-Quebec, Telefonica, TRMNL, ty, Zabka.
56 brands with light/dark variants (PR #136)
Most of the Adobe product family arrived in one go: Acrobat Reader, Acrobat Scan, Adobe Aero, Adobe Sign, Adobe Stock, Audition, Bridge, Captivate, Captivate Prime, Capture, Character Animator, ColdFusion, ColdFusion Builder, Connect, Digital Editions, Experience Platform, Fill and Sign, Fontfolio, FrameMaker, FrameMaker Server, Fresco, HTTP Dynamic Streaming, Illustrator (grayscale), InCopy, InDesign Server, JRun, Lightroom Classic, Marketo Engage, MediaServer, Mixamo, PageMaker, PhoneGap, Photoshop Express, Premiere Rush, Presenter, Producer, RoboHelp, Scout, Substance Painter, Substance Sampler. Plus Codex, Dracula, Granola, Interfere, vlt, xata, zaia-endless. Five entries ship with themed light and dark variants alongside the default.
130 developer-tool, language, framework, library, OS, database, and infrastructure icons (PR #137)
AdonisJS, Akka, APL, Apex, AWK, Carbon, CodePen, Codex, DataSpell, DenoJS, Devicon, Godot, HAProxy, Hugo, Jaeger Tracing, Jenkins, Julia, K3s, Knative, Knex, Liquibase, Meilisearch, Mongoose, RSpec, Selenium, SketchUp, TensorFlow, Travis, Unity, Unreal Engine, Vagrant, VSCode, WebStorm, Yarn, Zig, and 95 others. Many ship with default, mono, line, and wordmark variants where the upstream catalog provided them.
Auto-triage for icon-request issues (PR #132)
Open an icon request and a workflow now parses the form fields, validates the SVG (50KB cap, viewBox required, no scripts, no inline event handlers, no rasters, no third-party attribution watermarks), checks slug duplicates against the catalog, and applies labels: icons, icon-request | icon-update, category:<slug>, duplicate, and the triage:* family for ready, needs-svg, needs-license, svg-oversize, and invalid-svg.
It also posts a structured comment with the parsed fields and a maintainer checklist. On edits the comment updates in place rather than duplicating, and stale labels get removed when they no longer apply. Contributors now get feedback on a submission within seconds instead of waiting for a maintainer to take a look.
Per-icon Open Graph cards (PR #121)
Every icon detail page now generates a unique social card at /icon/{slug}/opengraph-image with the brand color, hex, and the actual icon embedded. Sharing a brand page on Twitter, Slack, or Discord renders the brand mark instead of a generic theSVG card.
README Extensions section (PR #131)
The README lists the published extensions (VS Code, Raycast, MCP server, CLI, jsDelivr CDN) alongside the help-wanted slots (Figma, JetBrains, Neovim, Alfred, Sketch, Blender, Webflow, Notion).
Changed
- B&R Automation slug renamed to
bandr-automationto match the existing1and1andatandtampersand convention. - C++ Builder slug renamed to
cplusplus-builderso it does not collide with the existingcplusplusentry. - Card actions are now keyboard-reachable, copy and download actions announce to screen readers, and motion respects
prefers-reduced-motion(PR #122). - Icon grid lazy-loads the manifest with
content-visibility: auto; double-render on theme toggle is fixed (PR #120).
Fixed
- GitHub icon's default variant had
fill="#ffff"(4-character hex parsed as opaque white), which made it invisible on light pages when imported through the React package. Now#181717. - eshop-os shine gradient was using
gradientUnits="userSpaceOnUse"withy2=1, mapping the gradient vector to one user-space unit out of 512, so the shine was completely transparent. Switched toobjectBoundingBox. - Pocket wordmark clip-path id was the generic
clip0(default Figma export name), which collides with other inlined SVGs on the same page. Scoped topocket-wordmark-clip. moonshot-aiwas folded into the existingmoonshotentry as an alias rather than shipping as a duplicate.- Three SVGs that exceeded the 50KB cap were pruned:
zustandandohmyzshentirely, plus the line variant ofdjangorest.
Closes
#124 Tecno, #125 eshopOS, #126 Alem TV, #127 Gozle, #128 Amul Info, #129 Pocket.
npm versions
thesvg, @thesvg/icons, @thesvg/react, @thesvg/vue, @thesvg/svelte are all at 2.1.7. @thesvg/cli (0.5.2) and @thesvg/mcp-server (0.5.2) were not part of this release.