• v0.4.1 7f8d2351ce

    v0.4.1
    All checks were successful
    Publish / tag (push) Successful in 6s
    Publish / detect-release (push) Successful in 1m8s
    Publish / publish-containers (push) Successful in 2m4s
    Publish / promote-release (push) Successful in 1s
    Stable

    Gravity Bot released this 2026-02-28 14:32:23 +00:00 | 0 commits to main since this release

    Bug Fixes

    • fix: guard cssContent getter against empty Unicode breaking Alpine.js — When data.Unicode was empty, the JS getter produced return '\'; which escaped the closing quote and created an unterminated string literal. This killed the entire Alpine component for all non-FontAwesome libraries (Remix, Lucide, Tabler, Boxicons, Iconoir, Bootstrap). Also fixes CSS content display for FA icons: uses double-backslash so JS displays literal \f015 instead of interpreting \f as form-feed.

    Tasks

    • OP#1855: Fix Alpine.js syntax error in icon detail modal for non-FA libraries
    • OP#1856: Investigate icon rendering failures for some Remix Icons (resolved by OP#1855)

    Install

    docker pull git.bros.ninja/mike/fontshelf:0.4.1
    
    Downloads
  • v0.4.0 da907173d8

    v0.4.0
    All checks were successful
    Publish / detect-release (push) Successful in 6s
    Publish / tag (push) Successful in 6s
    Publish / publish-containers (push) Successful in 1m58s
    Publish / promote-release (push) Successful in 3s
    Stable

    Gravity Bot released this 2026-02-19 19:47:56 +00:00 | 3 commits to main since this release

    What's Changed

    Multi-Library Support

    • Processor-based architecture for importing 7 icon libraries (Font Awesome, Bootstrap Icons, Remix Icon, Tabler, Boxicons, Lucide, Iconoir) from npm or zip uploads
    • Auto-detection registry identifies library type from package contents
    • Catalog quick-add UI for one-click library installation
    • Library toggle/delete management in admin panel

    Font-Only Rendering

    • Removed SVG sprite and ligature render modes — font-based rendering only
    • Simplified icon grid and detail modal components
    • Cleaner, more reliable CSS class-based icon rendering

    New Demo Page

    • /demo/cards page with 6 card layout concepts for the icon browse grid

    Database

    • Migration 002: adds render_mode, svg_viewbox, npm_package columns to font_libraries; adds class_template column to library_styles

    Install

    docker pull git.bros.ninja/mike/fontshelf:v0.4.0
    
    Downloads
  • v0.3.1 d17794f477

    v0.3.1
    All checks were successful
    Publish / detect-release (push) Successful in 9s
    Publish / tag (push) Successful in 5s
    Publish / publish-containers (push) Successful in 2m9s
    Publish / promote-release (push) Successful in 1s
    Stable

    Gravity Bot released this 2026-02-17 17:04:56 +00:00 | 6 commits to main since this release

    What's Changed

    Bug Fixes

    • OP#893: Fix publish.yml build-image job to use DinD service pattern — the docker/login-action, docker/setup-buildx-action, and docker/build-push-action GitHub Actions expected Docker CLI in the runner PATH, but Forgejo act_runner doesn't provide it. Replaced with DinD service pattern (docker:dind + apk add docker-cli docker-cli-buildx).

    CI Improvements

    • detect-release job now uses node:18-alpine container with git installed
    • build-image renamed to publish-containers with Docker-in-Docker service
    • promote-release now depends on successful container publish

    Install

    docker pull git.bros.ninja/mike/fontshelf:v0.3.1
    

    Full Changelog

    https://git.bros.ninja/mike/fontshelf/compare/v0.3.0...v0.3.1

    Downloads
  • v0.3.0 f5aa93ca32

    v0.3.0
    Some checks failed
    Publish / detect-release (push) Successful in 16s
    Publish / tag (push) Successful in 4s
    Publish / promote-release (push) Successful in 3s
    Publish / build-image (push) Failing after 1m20s
    Stable

    Gravity Bot released this 2026-02-17 16:21:47 +00:00 | 9 commits to main since this release

    What's Changed

    Icon Search and Browse UI (Epic #848)

    • OP#878: Icon search query and handler — dynamic SQL search with library/style filters
    • OP#879: Search bar component — Alpine.js debounced input with style filter pills
    • OP#880: Icon grid component — responsive CSS grid with icon cards and HTMX modal triggers
    • OP#881: Library switcher — dropdown to switch between enabled font libraries
    • OP#882: Browse page integration — composed browse page with all components wired together
    • OP#883: Unit tests for browse components (9 tests)

    Icon Detail Modal (Epic #849)

    • OP#884: Icon detail endpoint — handler returning icon metadata with all available styles
    • OP#885: Icon detail modal component — Alpine.js modal with style switcher and copy-to-clipboard
    • OP#886: Unit tests for detail modal (4 tests)

    Install

    docker pull git.bros.ninja/mike/fontshelf:0.3.0
    

    Full Changelog

    https://git.bros.ninja/mike/fontshelf/compare/v0.2.0...v0.3.0

    Downloads
  • v0.2.0 a40f77b4fe

    v0.2.0
    Some checks failed
    Publish / detect-release (push) Successful in 4s
    Publish / build-image (push) Failing after 8s
    CI / build (push) Successful in 1m6s
    Publish / tag (push) Successful in 4s
    Publish / promote-release (push) Failing after 0s
    Stable

    Gravity Bot released this 2026-02-17 15:04:05 +00:00 | 19 commits to main since this release

    What's Changed

    Admin Library Upload & Processing (OP#846)

    • OP#860: Wired admin route group with RequireAuth + RequireAdmin middleware
    • OP#861: Admin libraries list page with DB query, table, and empty state
    • OP#862: Library zip upload endpoint with extraction, slug generation, CSS detection
    • OP#863: FA metadata processor — parses icons.json, batch inserts icons and styles
    • OP#864: Library enable/disable toggle and delete endpoints with HTMX
    • OP#865: Unit tests for slug generation, zip extraction, zip slip, middleware auth

    Dynamic Font Library CSS Loading (OP#847)

    • OP#866: Inject enabled library CSS URLs into page render context
    • OP#867: Verified end-to-end CSS/webfont path resolution, fixed CSS detection ordering
    • OP#868: Unit tests for dynamic library CSS injection in base template

    CI/CD

    • Replaced setup-go with direct Go tarball install (build time 9min → 1min)
    • Added multi-stage publish workflow (detect → tag → build image → promote release)
    • Added VERSION file for release detection

    Docker

    docker pull git.bros.ninja/mike/fontshelf:v0.2.0
    
    Downloads