AgeCommit message (Collapse)AuthorLines
Release v2.8.0v2.8.0Bryce Kwon-3/+57
Align with spaces instead of tabsBryce Kwon-58/+62
Unify the docs, samples and extensionsBryce Kwon-472/+468
Test the hardening passBryce Kwon-30/+501
Harden the page renderersBryce Kwon-350/+658
Harden the request path, scan and error recoveryBryce Kwon-223/+564
Answer 404 for a repository whose path is missingBryce Kwon-8/+29
Link builds reproduciblyBryce Kwon-0/+4
Read the encoding header without its newlineBryce Kwon-1/+1
The newline made the charset name unknown to the converter, so a message in another charset was left unconverted.
Read every query parameterBryce Kwon-1/+3
A parameter without a value swallowed the parameter after it.
Log a cache slot that cannot be publishedBryce Kwon-2/+14
Fail cleanly when a filter cannot runBryce Kwon-5/+20
A filter program that could not be run answered with two responses, and a filter that exited without reading its input ended cgit with the page half written.
Name the tagged object under its full idBryce Kwon-47/+55
Keep the hash rows out of the column widthsBryce Kwon-8/+20
Gate scanned filters with `trust-scan-filters`Bryce Kwon-81/+99
Map trailer idents and print bare lines as writtenBryce Kwon-22/+57
Apply the mailmap at HEAD to every identBryce Kwon-8/+153
Add the link-trailers extensionBryce Kwon-0/+245
Split trailers out of the commit messageBryce Kwon-7/+315
Lay the tag table out like the commit tableBryce Kwon-32/+93
Release v2.7.1v2.7.1Bryce Kwon-1/+15
Settle the snapshot v-prefix from the tag listBryce Kwon-8/+69
`compose_snapshot_prefix` dropped the leading v of a tag only when just one of the names 1.2, v1.2 and V1.2 resolved as a tag, so that the shorter snapshot name could always be traced back to one tag. Those probes went through ref lookups, and on a case-insensitive filesystem a lookup for V1.2 finds the loose file of v1.2, so every freshly made tag counted as ambiguous and kept its v. Once git packed the refs the lookups became exact and the same tag quietly changed its snapshot names. The claimants on a stripped name are now counted over the tag list itself with exact string comparison, so the answer no longer depends on how a ref is stored or on the filesystem underneath. Two tags that really differ only by the letter's case still both keep it.
Release v2.7.0v2.7.0Bryce Kwon-11/+58
Clean up the whole treeBryce Kwon-1317/+762
Harden the lua filter failure pathsBryce Kwon-5/+31
Give the login inputs explicit field typesBryce Kwon-3/+4
Refresh the server configs and drop `unsafe-inline`Bryce Kwon-96/+87
The inline handlers and the auto-submitting selects are gone, so `script-src` no longer needs it, and t0004 now checks that the three configs pin the same policy.
Trim the comments and dead code across the treeBryce Kwon-942/+652
Remove the auto-submitting selectsBryce Kwon-37/+16
Remove the theme toggleBryce Kwon-163/+13
Extend the html validity checksBryce Kwon-1/+26
Add a consistency test for the config documentsBryce Kwon-0/+54
Trim the readme and fold in the author creditsBryce Kwon-143/+52
Document the line anchors in the readmeBryce Kwon-0/+5
Convert the manual page to plain `MANUAL.txt`Bryce Kwon-472/+398
Beyond the format change, the documented defaults and inheritance notes now match what the code does.
Report ignored config keys on stderrBryce Kwon-4/+65
Rename the inconsistent config keysBryce Kwon-159/+170
noplainemail enable-plain-email noheader enable-header cache-root-ttl cache-index-ttl cache-repo-ttl cache-summary-ttl cache-scanrc-ttl cache-scan-ttl agefile age-file renamelimit rename-limit extra-head-content head-content
Fold `enable-stats` back into `max-stats`Bryce Kwon-23/+12
A `max-stats` period enables the page again, as it did before v2.2.0, so one key does both jobs.
Document the environment macro expansion readsBryce Kwon-2/+14
Tabulate the query parameters in the readmeBryce Kwon-23/+23
Fold the test readme and ignore rules into the rootBryce Kwon-140/+68
Collect test scratch output under trash and resultsBryce Kwon-15/+33
Add a test suite for the shipped extensionsBryce Kwon-0/+1582
Release v2.6.1v2.6.1Bryce Kwon-7/+27
Size the diffstat bars with colspan, not styleBryce Kwon-12/+15
Point clone rows at a url a browser can followBryce Kwon-14/+93
Release v2.6.0v2.6.0Bryce Kwon-1/+461
Document how cgit urls are builtBryce Kwon-0/+65
Remove the language breakdown from the stats pageBryce Kwon-197/+21
Keep a detached head in the branch switcherBryce Kwon-0/+61