-
v0.6.18 Stable
released this
2026-07-15 12:47:38 +00:00 | 43 commits to main since this releaseFixed
ForgejoWebhook.Deleteno longer leaks the remote hook (which carries a delivery secret) when
the status id was never persisted — it recovers the id viaListRepoHooksmatch-by-URL, mirroring
the other ID-keyed Delete handlers, tolerating 404 on both the list (parent repo gone) and the delete.ForgejoUseradmin-grant failure is no longer swallowed on the create path — a failed
AdminEditUsernow yields Degraded+requeue instead of a prematureReadyreporting an account that
was created but is not an admin (matching the exists-path).ForgejoOAuthAppself-heals a lost one-time client secret. The client secret is returned only by
create, so a swallowed secret-write (app recorded, output Secret never written) left the CRReady
with no usable secret and no recovery. Converge now regenerates viaUpdateOauth2when the output
Secret is absent/empty.ForgejoOAuthApp.spec.nameis now immutable (self == oldSelf). The reconciler adopts the app by
name, so an in-place rename orphaned the original app and leaked its still-valid client secret.ForgejoTokenre-mints on aspec.scopeschange. The active token kept its create-time scopes
forever (a tightened scope set left an over-privileged token live, reportedReady). Steady-state now
comparesspec.scopesagainst a newstatus.appliedScopesrecorded at mint — a spec-vs-applied
compare, deliberately not against Forgejo's normalized scope form, so it can't thrash-loop.ForgejoOrganizationvisibility drift is now repaired — editingspec.visibilityafter create
applies. The edit sends the full desired org state, because gitea'sEditOrgOptiontext fields are
value-typed and the server replaces them — so a single-field edit no longer silently wipes the
org'sFullName/Description/Website/Location(this also fixes the same latent clobber that
already existed on the text-field edit path).
Included changes (v0.6.17 -> v0.6.18)
0f205f8076e8fix(forgejo): r5 leak/swallow/immutability/drift cluster (6 fixes)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads