The GitHub Actions job "CodeQL" on grails-core.git/fix/namespace-aware-link-generation has succeeded. Run started by GitHub user jamesfredley (triggered by jamesfredley).
Head commit for run: ed99402b205f019b0145b26da20229575976c98c / James Fredley <[email protected]> Infer controller namespace for link generation when unambiguous Grails controllers can declare a namespace, but URL-generating tags and methods only applied the request namespace when a link targeted the current controller. Links to any other controller dropped the namespace unless it was passed explicitly, so the same controller/action attributes produced namespaced URLs in some places and non-namespaced URLs in others. Link generation now infers the namespace from the target controller so links work from controller and action alone: - a self-link uses the current request namespace - when exactly one controller has the name, that controller's namespace is used - when the same name is defined in multiple namespaces (a discouraged design), the non-namespaced controller is preferred, then the current namespace; any remaining ambiguity must be resolved with an explicit namespace The shared LinkGenerator.getDefaultNamespace resolver is applied consistently to g:link, g:createLink, createLink(), g:form, g:formActionSubmit, g:paginate, g:sortableColumn, g:include, redirect() and chain(), and is folded into the CachingLinkGenerator cache key (including nested url maps and resource links) so links generated from different request namespaces never collide. An explicit namespace always wins; use namespace="" in GSP markup or namespace: null in a method call to target a non-namespaced controller. Adds unit, taglib, controller and functional (Geb) tests covering every surface plus a custom application tag library, and documents the behaviour in grails-doc. Assisted-by: claude-code:claude-4.8-opus Report URL: https://github.com/apache/grails-core/actions/runs/28407120539 With regards, GitHub Actions via GitBox
