Changelog
v1.1.0
New Features
- Grouping repositories by gitweb-compatible category (opt-in, see the added
ui.category.*options). For how to set a category for a repository, wefer to gitweb's document. - Added "Preferences" dialog to let users (visitors) allow customize theme color and file list appearance.
- Tooltip on commit / author datetime now has relative time. E.g., 1 year ago
- When
$DIR_DIR/descriptionfile is absent, legit now readsgitweb.descriptiongit config and use it as a description text, for gitweb compatibility. - Added
staticDirRevisionconfig / build flag for browser-cache busting.
Bug Fixes
- Fixed
git cloneandgit fetchare unavailable on OCI image. - Fixed ignored repository reveal using URL-encoded slash character, such as
.%2Fprivate_repo. - Fixed
descriptionfile in a checked out worktree being treated as a description file. - Fixed broken layout of 404/500 pages.
Security
- Switched to more robust repository directory path check for more secure filesystem access outside OpenBSD and Linux.
Other Changes
- Tab width selector has been moved to the new "Preferences" dialog.
- Made the repository list page (
/) cache-friendly by outputting timestamp rather than relative time. If user enabled JS in a browser, this change is effectively no-op. - Added
-compileTemplatesOnRequest,-dirs.staticand-dirs.templatesCLI flags. - Fixed links that always 307 redirects due to lack of trailing slash.
v1.0.0
This entry states changes from the original legit.
New Features
- Completely new default CSS / HTML for better screen real estate utilization.
- Customizable page footer.
- Tab-width selector (requires JavaScript.)
- Pagination for commits (log) page.
- HTML preview for Markdown files on blob page.
- Image display support for Markdown files, both on blob page and summary page.
- New CLI flags:
-server.host,-server.port,-repo.scanPath.
Removed Features
- go-import support: Go cannot handle
.gitextension and legit has no option to trim the extension. - Syntax highlight theming: HTML no longer contains hardcoded colors, so edit CSS for theme customization.
Bug Fixes
- Ignored repositories are no longer clonable / fetchable. (icyphox/legit#56, pocka.jp/legit#2)
git fetcherrors when Git client compress request with Gzip. (icyphox/legit#58)- Fix Nix derivation no declaring
gitdependency. - Paths inside config file are now resolved from the config file, rather than working directory.
Performance
- Stop generating HTML sanitizers policy object on each request, slightly improved Markdown and README rendering. (pocka.jp/legit#4)
- Improved the summary page's response time, especially for repositories with many commits, by fixing the code loads an entire commit history for "Recent commits".
Security
- Use Landlock LSM for filesystem access restriction, similar to unveil(2) on OpenBSD. (pocka.jp/legit#13)
Other Changes
- Data type of template variables (data passed Go template) are defined in
routes/data.go. - You can start legit without
-configoption, as long as you provide-repo.scanPathCLI flag. - Easy to use
Dockerfile(only web interface.git cloneandgit fetchis not available for now.) - Added NixOS module and Home Manager module to Nix Flake file.
- Default templates and static files are embedded in the binary. You can omit
dirs.templatesanddirs.staticoptions. (icyphox/legit#10) - Upgraded chroma package from v2.14 to v2.27. Blob page highlights more languages.
- Upgraded go-git package from v5.6 to v5.13.