-
v3.5.1 - authorization the repo grants, not the user
StableSome checks failedtest / node-test (git, 22) (push) Successful in 32stest / node-test (git, 24) (push) Successful in 24stest / node-test (other, 22) (push) Failing after 20stest / node-test (other, 24) (push) Failing after 19stest / node-test (planning, 22) (push) Successful in 1m8stest / node-test (planning, 24) (push) Successful in 1m4stest / node-test (prose, 22) (push) Successful in 25stest / node-test (prose, 24) (push) Successful in 24stest / node-test (review, 22) (push) Successful in 15stest / node-test (review, 24) (push) Successful in 19stest / node-test (routing, 22) (push) Successful in 28stest / node-test (routing, 24) (push) Successful in 27stest / self-verify (push) Successful in 13stest / typecheck (push) Successful in 15sreleased this
2026-08-16 02:08:56 +00:00 | 690 commits to main since this releaseFixed
-
A
git.auto_closeset once in your global config authorized an unattended
merge in every repository you own. The key is documented repo-local, and the
close gate enforced it by reading the repository layer, but the GitLab arm of
/cad-landread the merged value instead. Set it globally and any repo with a
GitLab remote would open an MR and merge it with nothing asked. It now resolves
as two separate answers,autoCloseRequestedfrom the merged config and
autoCloseAuthorizedfrom the repository layer alone, and the new
git-publish.mjs authorizedsubcommand is what every host consults before it
touches a remote. Requesting it globally and never authorizing it here now
refuses in wording that says which of the two is missing.The GitLab consult also moved ahead of the reuse probe rather than sitting
beside the create.glab mr createpublishes the source branch itself, and the
reuse arm hands an already-open MR straight to the merge with no create at all,
so a check placed at the create left that path ungated. -
milestone-pruneread only the first physical line of a requirement
bullet, and both halves of the transform were wrong for it. A bullet that
wrapped lost its lead line and left every continuation behind as orphaned
prose, and the archived## Shippedrow got a parenthetical truncated at the
first newline. Three consecutive milestone closes were repaired by hand. It now
reads the whole span, takes both ends of## Activefrom the fence-aware
sectionSpanso a fenced example in a template is not mistaken for the
section, and escapes any|in the summary before it reaches the table cell,
so the row keeps its five columns. -
/cad-landnever once reported the tracker on the repository it was built
in. Host detection compared the origin URL's hostname against thetealogin
list, and a forge whose SSH endpoint is a different name from its web host
matched nothing, which is an ordinary deployment shape rather than a
misconfiguration. The seam now hands the binding toteaitself with
--remote origin, and guards the call rather than the pick: unless some login
NAMES the origin host through its name, API url orssh_host, it declines to
ask and prints theno-loginline it always printed.teadoes not refuse an
unmatched remote, it falls back to config order and answers exit 0, so an
unguarded call would report another server's issues as yours.If your forge has a split endpoint, put the SSH host in the login's
ssh_host
and the report will bind to it.
Changed
- The Forgejo tracker read asks for
--state openinstead of--state all. The
server clamps a page at 50 rows whatever--limitrequests, so on any real
tracker the read was honestly incomplete and the whole report degraded to a
skip line. What that costs is that a referenced number missing from the list is
closed or absent rather than absent, so each unanswered number gets one bounded
tea issues <index>resolve, capped at five per land. A number that neither
the list nor a resolve answered is reported asunresolved, never as closed
and never as not found:teaexits nonzero both for an absent issue and for a
failed read, and this seam discards child stderr, so naming it would be an
affirmative answer about input it could not read.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
-