This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/struts-site.git
The following commit(s) were added to refs/heads/asf-site by this push:
new e9aa914f8 Automatic Site Publish by Buildbot
e9aa914f8 is described below
commit e9aa914f8cddc501c6eac378643c49134d1edd29
Author: buildbot <[email protected]>
AuthorDate: Thu Sep 17 06:53:57 2026 +0000
Automatic Site Publish by Buildbot
---
output/core-developers/wildcard-mappings.html | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/output/core-developers/wildcard-mappings.html
b/output/core-developers/wildcard-mappings.html
index 7f48b9caa..8caf6db74 100644
--- a/output/core-developers/wildcard-mappings.html
+++ b/output/core-developers/wildcard-mappings.html
@@ -262,12 +262,16 @@ narrower one it also matches could therefore shadow it,
non-deterministically
<p>Annotated wildcard action names are now sorted most-specific-first before
registration, using these keys in order:</p>
<ol>
+ <li>fewer path-spanning <code class="language-plaintext
highlighter-rouge">**</code> tokens first — <code class="language-plaintext
highlighter-rouge">**</code> crosses <code class="language-plaintext
highlighter-rouge">/</code> while <code class="language-plaintext
highlighter-rouge">*</code> and <code class="language-plaintext
highlighter-rouge">{var}</code> never do, so a pattern that
+relies on it is broader than one that does not (<code
class="language-plaintext highlighter-rouge">a/*/*</code> therefore ranks ahead
of <code class="language-plaintext highlighter-rouge">a/**</code>);</li>
<li>fewer wildcard tokens first (a <code class="language-plaintext
highlighter-rouge">*</code> / <code class="language-plaintext
highlighter-rouge">**</code> run, or a <code class="language-plaintext
highlighter-rouge">{var}</code> group);</li>
<li>more literal characters first;</li>
- <li>fewer path-spanning <code class="language-plaintext
highlighter-rouge">**</code> tokens first;</li>
<li>alphabetical order of the pattern, as a deterministic tie-breaker.</li>
</ol>
+<p>Struts 7.3.0 applied the <code class="language-plaintext
highlighter-rouge">**</code> key third, after the wildcard-token and literal
counts, so <code class="language-plaintext highlighter-rouge">a/**</code> could
shadow
+<code class="language-plaintext highlighter-rouge">a/*/*</code>; 7.4.0 lifts
it to the first key (<a
href="https://issues.apache.org/jira/browse/WW-5743">WW-5743</a>).</p>
+
<p>The comparison recognises both <code class="language-plaintext
highlighter-rouge">*</code> / <code class="language-plaintext
highlighter-rouge">**</code> (the default <code class="language-plaintext
highlighter-rouge">WildcardHelper</code> matcher) and <code
class="language-plaintext highlighter-rouge">{var}</code>
(<code class="language-plaintext
highlighter-rouge">NamedVariablePatternMatcher</code>). XML mappings are
unaffected — they keep their declared order.</p>