Skip to content

v2.3.0: 217 new brand icons + auto-triage for icon requests

Choose a tag to compare

@thegdsks thegdsks released this 05 May 23:47
6f5b793

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-automation to match the existing 1and1 and atandt ampersand convention.
  • C++ Builder slug renamed to cplusplus-builder so it does not collide with the existing cplusplus entry.
  • 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" with y2=1, mapping the gradient vector to one user-space unit out of 512, so the shine was completely transparent. Switched to objectBoundingBox.
  • Pocket wordmark clip-path id was the generic clip0 (default Figma export name), which collides with other inlined SVGs on the same page. Scoped to pocket-wordmark-clip.
  • moonshot-ai was folded into the existing moonshot entry as an alias rather than shipping as a duplicate.
  • Three SVGs that exceeded the 50KB cap were pruned: zustand and ohmyzsh entirely, plus the line variant of djangorest.

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.