docs: track @since maintenance in the release process

Note in the Version + SONAME review step that the same exported-symbol,
enum, and macro diff must also drive the Doxygen @since tags in
include/jwt.h, so any API new at a release is annotated with the version
that introduced it. Calls out the asymmetry: new enum values and
#cmakedefine macros are not linker symbols (no SONAME-triple change) but
still need @since.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Ben Collins <bcollins@libjwt.io>
diff --git a/CLAUDE.md b/CLAUDE.md
index fa63bd5..c6632c0 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -41,6 +41,16 @@
    - Any symbol removed or changed -> `current++, revision=0, age=0` (SONAME-major
      break). SONAME major = `current - age`, and has stayed `14` across all of 3.x.
 
+   The **same** symbol/enum/macro diff also drives the Doxygen `@since` tags in
+   `include/jwt.h` — maintain them in this same review (the baseline
+   `@since 3.0.0`..`3.5.0` pass was PR #305). Anything new at the release — a
+   function, typedef/enum/struct, enum value, documented macro, or
+   `*_freep`/`*_auto_t` helper — must carry `@since X.Y.Z` for the version being
+   released. Note the asymmetry with the triple: new enum values and `#cmakedefine`
+   macros are **not** linker symbols (so they don't move `current`/`age`) but they
+   **still** need `@since` — e.g. v3.5.0's `JWT_ALG_ML_DSA_*` / `JWK_KEY_TYPE_AKP`
+   are `@since 3.5.0` despite the revision-only bump.
+
 2. **Branch + commit** — `release-X.Y.Z` off master; edit **only**
    `LibJWTVersions.cmake` (plus any now-stale doc note, as v3.4.0 dropped the "v3
    overhaul" warning). `git commit -s` titled `Release vX.Y.Z` with a body documenting