-
v0.4.0: Phase 4 — Polish & Refinements
StableAll checks were successfulCI / validate-release-pr (push) Has been skippedPublish / detect-release (push) Successful in 7sCI / validate-branch (push) Has been skippedPublish / promote-release (push) Successful in 1sCI / lint (push) Successful in 1m25sCI / security (push) Successful in 1m48sCI / build (push) Successful in 1m53sCI / test (push) Successful in 1m54sPublish / tag (push) Successful in 6sreleased this
2026-02-18 22:56:36 +00:00 | 177 commits to main since this releaseWhat'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 upor let the app auto-migrate on startup. - Breaking:
footer_textcolumn replaced byfooter_configJSONB 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.0Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download