membphis opened a new pull request, #13362:
URL: https://github.com/apache/apisix/pull/13362

   ### Description
   
   Follow-up to #13360 (typos / heading levels — merged) and tracked in #13359 
(full audit). This PR applies the remaining audit findings to every v3.x 
release section in `CHANGELOG.md`:
   
   - Backfill the four patch sections (3.2.2 / 3.4.1 / 3.8.1 / 3.9.1) that 
exist on `release/3.x` branches but were never cherry-picked back to master.
   - Replace the 3.2.1 placeholder paragraph with the 5–6 real bugfixes from 
`release/3.2`.
   - Expand "implementation-side" wording to "user-side" for entries whose 
impact users can't read off the current text (OpenTelemetry span name, 
hmac-auth field rename, ssl_trusted_certificate default, lua-resty-session 4.x 
default, strict schema scope, etc.).
   - Move mis-classified breaking changes from Bugfixes → Change and add 
`:warning:`.
   - Add user-visible PRs that were previously omitted (10 in 3.13.0, ~17 in 
3.2.0, etc.).
   - Deduplicate entries listed in two subsections of the same release (3.12.0, 
3.10.0).
   - Add `### Security` subsections to patch sections carrying jwt-auth bypass 
#9837 / forward-auth POST header leak #11184.
   
   Diff: **+240 / −77** (net +163), all in `CHANGELOG.md`. No code changes.
   
   ### Highlights by impact
   
   | Severity | Item |
   |---|---|
   | :warning::warning: | 3.15.0 #12862 — `lua-resty-session` 4.1.5 default = 
AES-256-GCM. Session cookies issued by ≤3.14.x will no longer decode after 
upgrade; all OIDC users will be forced to re-authenticate. |
   | :warning::warning: | Patch backfills 3.2.2 / 3.4.1 / 3.8.1 / 3.9.1 (incl. 
jwt-auth auth bypass #9837 and forward-auth POST header leak #11184 under `### 
Security`) — these never reached master CHANGELOG users on the 3.x line. |
   | :warning: | 3.14.0 #12551 X-Forwarded-* trusted-source change moved 
Bugfixes → Change with upgrade hint for `trusted_addresses`. |
   | :warning: | 3.12.0 #11993 ssl_trusted_certificate default = `system` — 
outbound TLS calls (OIDC, loggers) may newly fail handshake; wording expanded. |
   | :warning: | 3.11.0 #11601 credential resource silently dropped auth check 
+ injects 3 upstream headers — promoted to Change with `:warning:`. |
   | :warning: | 3.11.0 #11581 hmac-auth field rename (`access_key`→`key_id`), 
header consolidation, 4 fields removed — full breaking-change description 
added. |
   | :warning: | 3.10.0 #11343 / #11312 `config-default.yaml` removed + lyaml 
stricter — promoted to `:warning:`. |
   | :warning: | 3.7.0 #10393 OTel span name `{method} {route}` — tracing 
dashboards relying on URI-style names break. |
   | :warning: | 3.6.0 #10233 strict schema — listed every affected resource 
(route / service / upstream / consumer / ssl / plugin_config / global_rule / 
stream_route / proto). |
   
   ### Verification
   
   ```text
   $ git diff --stat CHANGELOG.md
    CHANGELOG.md | 316 +++++++++++++++++++++++++++++++++++++++++---------
    1 file changed, 239 insertions(+), 77 deletions(-)
   
   $ grep -cE "^- " CHANGELOG.md  # bullet count
   1293   (was 1186; +107 new user-facing entries)
   
   $ grep -nE "^## " CHANGELOG.md | head -25  # all 21 v3.x headers present, in 
order
   24:## Table of Contents
   91:## 3.16.0
   143:## 3.15.0
   206:## 3.14.1
   221:## 3.14.0
   323:## 3.13.0
   414:## 3.12.0
   488:## 3.11.0
   519:## 3.10.0
   576:## 3.9.1    <- backfilled
   582:## 3.9.0
   641:## 3.8.1    <- backfilled
   647:## 3.8.0
   694:## 3.7.0
   736:## 3.6.0
   770:## 3.5.0
   825:## 3.4.1    <- backfilled
   833:## 3.4.0
   870:## 3.3.0
   912:## 3.2.2    <- backfilled
   946:## 3.2.1    <- placeholder replaced
   961:## 3.2.0
   1024:## 3.1.0
   1080:## 3.0.0
   ```
   
   All PR numbers added by this change were resolved against the live API to 
confirm they're real PRs (not issue numbers or typos).
   
   ### Deliberately out of scope
   
   - The two "uncertain" items the audit flagged for release-manager decision 
(3.15.0 #12948 kubernetes-discovery local-type; 3.16.0 #13030 limit-count panic 
path) — left for follow-up after maintainer discussion.
   - 3.2.2 backports overlap with 3.3.0 entries (because the same fixes shipped 
to both lines). I kept the duplicates so users tracking the 3.2.x line see what 
shipped in 3.2.2 — happy to remove if reviewers prefer a single canonical 
listing.
   
   ### Process improvements (separate effort)
   
   The audit also recommends 6 release-process gates (rockspec diff gate, 
patch-CHANGELOG cherry-pick rule, breaking-change schema scan, PR-number 
cross-check, markdown lint, `### Security` convention) to keep this pattern 
from recurring. Those will land separately in `.github/workflows/`.
   
   Refs #13359.
   
   ### Checklist
   
   - [x] I have explained the need for this PR and the problem it solves
   - [x] I have explained the changes or the new features added to this PR
   - [ ] I have added tests corresponding to the changes introduced in this PR 
(N/A — CHANGELOG-only)
   - [ ] I have added proper labels to this PR
   - [x] I have installed and executed `pre-commit` (no code changes; markdown 
only)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to