• v0.4.0 766baab4fe

    v0.4.0: Phase 4 — Polish & Refinements
    All checks were successful
    CI / validate-release-pr (push) Has been skipped
    Publish / detect-release (push) Successful in 7s
    CI / validate-branch (push) Has been skipped
    Publish / promote-release (push) Successful in 1s
    CI / lint (push) Successful in 1m25s
    CI / security (push) Successful in 1m48s
    CI / build (push) Successful in 1m53s
    CI / test (push) Successful in 1m54s
    Publish / tag (push) Successful in 6s
    Stable

    Gravity Bot released this 2026-02-18 22:56:36 +00:00 | 177 commits to main since this release

    What's Changed

    Code Quality & Architecture

    • OP#182: Establish test infrastructure & patterns
    • OP#183: Tests — auth & session layer
    • OP#184: Tests — services layer (CRUD, diff, import)
    • OP#185: Tests — HTTP handlers
    • OP#186: Tests — status check service
    • OP#234: Tests — security hardening (CSRF, rate limiting, session secret)
    • OP#236: Tests — input validation helpers
    • OP#237: Tests — transaction boundaries (rollback on partial failure)
    • OP#238: Tests — error handling helpers and status code mapping
    • OP#241: Tests — page general settings (navbar and footer)
    • OP#187: Add transaction boundaries to complex operations
    • OP#188: Refactor oversized service & handler files
    • OP#189: Structured error handling & consistent HTTP responses
    • OP#190: Add structured logging (slog)
    • OP#191: Enforce session secret & security hardening
    • OP#192: Clean up dead code, placeholders & inconsistencies
    • OP#193: CI pipeline hardening
    • OP#194: Service layer interface extraction for testability
    • OP#195: Database query layer review & Querier interface
    • OP#197: Input validation layer

    Features & Enhancements

    • OP#147: Styled error pages (404, 403, 500, 401, 400)
    • OP#148: Toast notifications & confirmation modals
    • OP#150: Additional themes (Dracula, Nord, Gruvbox, Solarized, Tokyo Night, One Dark, Rosé Pine)
    • OP#168: Page general settings — configurable navbar & footer
    • OP#386: Ordering support in dashboard change detection
    • OP#387: Redesign dismissed_source_items from array column to join table

    Documentation

    • OP#146: Mobile responsiveness audit & standards
    • OP#196: Git branch hygiene & merge strategy
    • OP#198: Project standards wiki (testing, error handling, database, services, handlers, logging, security, git conventions)

    Upgrade Notes

    • Database migration: 4 new migrations (00014–00017). Run goose up or let the app auto-migrate on startup.
    • Breaking: footer_text column replaced by footer_config JSONB column. Existing footer text is automatically migrated.
    • 9 new builtin themes are seeded on startup via ON CONFLICT DO NOTHING.

    Install

    # Build from source
    go build -o bin/gashy ./cmd/gashy
    
    # Or pull the container image (after CI publishes)
    docker pull git.bros.ninja/mike/gashy:v0.4.0
    
    Downloads