OpenSparrow v3.4 is a design-focused release that replaces the bundled icon set with Material Symbols Outlined and adds a searchable icon picker to the admin panel. This update modernizes the visual language across the whole application, gives admins a fast way to find the right icon, and cleans up a handful of smaller UI details. Below is a breakdown of what changed and why it matters.
Material Symbols Outlined
The bundled icon set has been replaced with Google's Material Symbols Outlined. The new set lives in public/assets/icons/material/ and carries the full collection — 3,899 SVG files at optical size 24, normalized to 48×48 so they match the intrinsic size of the PNG icons they sit next to.
- 84 files removed from
public/assets/icons/(83 PNG pluschevron-down-white.svg) - The dropdown arrow on
<select>elements is now an inline data URI instyles.css - Eight PNG icons the system still references by name (
book_3s,delete,folder_zip,grid_on,notifications,picture_as_pdf,search,settings) stay where they are - Generated manifests (
index.json,tags.json,README.txt) ship alongside the SVGs
Searchable icon picker
The icon field in the admin now gets a proper picker instead of a bare text input:
- Matches icon names and the full Google tag list
- Understands common Polish words (e.g. "ciężarówka" → local shipping)
- Category chips for quick filtering
- Remembers recently picked icons in the browser
Upgrade note: icon paths live in the database
This is the one thing to know before upgrading. Icon paths are stored in the database, not in code — the menu_icon keys of the dashboard, calendar, files, board, views and workflows config, the per-table icon in the schema config, and the printout icons.
A stored path naming one of the removed files stays valid as far as validation is concerned and renders as a broken image — nothing rewrites those values automatically. Repoint them in the admin with the Browse picker. 79 of the 84 removed names have an identically named .svg under assets/icons/material/, so assets/icons/NAME.png usually becomes assets/icons/material/NAME.svg. The exceptions are calendar.png (use calendar_month.svg) and folder_zip_blue.png, grid_on_blue.png, picture_as_pdf_blue.png, which have no direct counterpart.
No database migration and no configuration keys are removed by this release.
Also in this release
- Removed the GitHub link from the login page
- Fixed demo image seeding; long lines wrapped; Files menu icon unified
- Updated grid action icon names in the admin docs
- Refreshed module demo video links and images in the README
Following this series?
OpenSparrow v3.3 — Click Statistics, Production Readiness Checks, and Deployment Hardening

Top comments (0)