Releases: nibin-org/iconcodegen
Releases · nibin-org/iconcodegen
Release list
v2.0.1
v2.0.0
Added
- Package Rename:
icon-vistahas been officially renamed toiconcodegenfor better discoverability. This is the first release under the new npm namespace.
v1.2.1
Added
- CI Status: Added GitHub Actions CI badge to the README.
- Security: Added origin verification middleware to prevent CSRF on write endpoints (
/api/downloadand/api/generate-snippet).
Changed
- API Errors: Standardized API error responses to return proper JSON objects (
{"error": "..."}) and appropriate HTTP status codes (400, 404, 500) across all endpoints.
Fixed
- Security: Fixed a security vulnerability by binding the local Express server explicitly to
127.0.0.1instead of all network interfaces (0.0.0.0). - Error Handling: Fixed missing
icon_idvalidation in the/api/svgendpoint, preventing bare string 500 errors.
v1.2.0
Added
- SVGR AST Parsing: Completely rewrote the React component generator to use
@svgr/coreinstead of fragile regex string manipulation, guaranteeing 100% syntactically correct JSX AST generation. - CLI Arguments: Added
--headlessmode for CI/CD usage and--port <port>(or-p) for custom port binding to avoid collisions. - Preference Persistence: UI selections for Language (TS/JS) and Export Style (Arrow/Function) are now automatically persisted across sessions using
localStorage.
Changed
- Frontend Architecture: Refactored the monolithic 2,300-line
index.htmlfile by extracting logic intoapp.jsand styles intostyles.cssfor dramatically improved maintainability.
v1.1.5
feat: release 1.1.5 with rewritten readme, updated video, and NPM com…
v1.1.4
feat: release 1.1.4 with marketing demo and docs integration
v1.1.3
Added
- Unit Testing Suite: Implemented a comprehensive Vitest testing suite covering the React component generator to ensure strictly typed, 100% valid React output.
- Automated CI/CD Tests: The GitHub Actions release pipeline now strictly enforces
npm testbefore any tag or npm publish occurs. - Website Link: Added a direct link to the full documentation website in the
README.md.
Fixed
- Regex Edge Case: Fixed a critical generator bug where
widthandheightattributes were being globally stripped from all inner SVG tags (e.g.<rect width="24">), which was distorting certain icons. The generator now strictly targets only the outer<svg>wrapper.
v1.1.2 — Infinite Scroll, Sidebar Filters & UI Overhaul
Added
- Infinite Scrolling: IntersectionObserver-based lazy loading replaces the static 100-icon limit. Backend API now supports
start/limitpagination. - Sidebar Filtering Engine: Dynamic sidebar fetches packs and styles from
/api/filterson load. - Premium Skeleton Loaders: Shimmering skeletons for both grid and sidebar, hardcoded into initial DOM to prevent layout shifts.
- Retina-Ready Favicon: Standalone
favicon.svgwith matching violet-to-cyan gradient.
Changed
- UI Architecture: Search bar is now centered in the header — native app-like layout.
- Typography: Migrated to Outfit Google Font with
fonts-loadedpattern to eliminate FOIT. - Layout Shift Fixes: Global custom scrollbar,
scrollRestoration = manual, instant top-scroll on filter changes.
v1.1.0 — Color Picker & UX Polish
Added
- Modern Color Picker: Integrated the Pickr library for a smoother, cross-browser consistent color selection experience.
- Recent Colors: Saves and displays the 5 most recently used colors, persisted via localStorage.
- Hex Input Enhancements: Auto-formats and expands 3-digit hex codes (e.g.
#abc→#aabbcc).
Changed
- Inherit Mode: Replaced the previous
currentColorbutton with a new Inherit switch. - Startup Behavior: App now loads a random icon theme on init instead of a static search.
- Dynamic Swatches: Refactored swatches to dynamically render recent colors alongside presets.
- Slider UI: Improved size slider with dynamic fill tracking.
v1.0.1 — Bug Fixes
Fixed
- Fixed a strict TypeScript compilation error (
TS17001) where generated SVG components rendered duplicatecolorattributes. - Resolved a critical JavaScript DOM selector exception (
Cannot set properties of null) preventing the customization modal from opening. - Corrected the
package.jsonexecutable path to preventbinresolution issues on Windows.