# Changelog All notable changes to this project are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### Added - Viper config loading with environment variable overrides (`LEGIT_*` prefix) - Build-time version and date embedding via ldflags, shown in `--help` and `--version` - GoReleaser configuration for cross-platform builds ### Changed - Complete Swiss-style CSS redesign: crimson red accent, heavy typography, pill-style nav buttons, card-based sections with left red borders, full dark mode, responsive mobile layout - Project restructured to standard Go layout (`cmd/legit/`, `internal/`) - Module path migrated to `codeberg.org/maxwelljensen/legit` - Config library switched from `gopkg.in/yaml.v3` to viper - Flag parsing switched from stdlib `flag` to `go-arg` - Templates restructured: `repoheader` moved inside `` in all 6 templates, missing `` close tags added to nav elements ### Fixed - Log page: commit message column no longer squashed by `commit-info` (widened message column to 1.3fr, reduced padding, tightened commit-info line-height) - Index page: empty descriptions no longer break date alignment (` ` fallback, restructured grid with `.index-idle` class) - Tree page: mode column now handles long mode strings without wrapping (`minmax(10ch, auto)`) - Text overlapping with `commit-info` on long commit messages resolved - nav.html: stray `` tag after `` on refs link removed - Minor README formatting errors corrected ## [0.2.6] - 2026-05-12 ### Added - Reference links displayed in commit log page (#54) - Symlink resolution when scanning for git repositories (#59) ### Fixed - Malformed HTML in templates (#61) - Correct reader variable used in git operations (#58) ### Changed - Default scan path updated to `/var/git` (#60) - Dependency bumps: go-git v5.13.2, golang.org/x/crypto v0.31.0 - Path joining hardened with securejoin across all routes - Code quality: all golangci-lint issues resolved (errcheck, errorlint, gocritic, godoclint, perfsprint, staticcheck, unused, usestdlibvars) ## [0.2.5] - 2025-01-26 ### Changed - CSS: font stack updated to system fonts, custom font features removed - CSS: colours, dark mode refinements - Routes: README content sanitised for non-Markdown files (uses <pre>) ## [0.2.4] - 2024-10-06 ### Added - Syntax highlighting via chroma with configurable style (`meta.syntaxHighlight`) - Unlisted repositories (`repo.unlisted`) - Annotated lightweight tag support - Docker build and push workflow (ghcr.io) - Dockerfile and docker-compose.yml updates ### Changed - Dependencies bumped - README reworded with Docker image references ## [0.2.3] - 2024-07-13 ### Added - Archive download handler (tar.gz via `/{name}/archive/{file}`) - Dark theme CSS - Nix flake for reproducible builds and Docker image - Repository ignore support (`repo.ignore`) - `.git` extension stripped from display names ### Changed - Routing switched to Go 1.22+ `net/http` pattern-based router - Git HTTP smart protocol switched from go-git to system `git-upload-pack` - Template updated with archive download links ### Fixed - Raw file view accidentally removed code re-added - `getDisplayName` now works correctly for repos with `.git` suffix