github Xian55/HermesProxy v4.5.0-feature-wotlk-classic-or-later-e9c94b3
Pre-release: feature/wotlk-classic-or-later @ e9c94b3 — Replace the exact 3.4.3 build checks with IsWotLKClassicOrLater

latest releases: v4.5.58, v4.5.0-feature-cata-442-csv-00dd465, v4.5.57...
pre-release3 hours ago

Branch: feature/wotlk-classic-or-later
Commit: e9c94b3f347021276186994051384bd84bcf2a94


Replace the exact 3.4.3 build checks with IsWotLKClassicOrLater

The 3.4.3 port compared ModernVersion.Build == ClientVersionBuild.V3_4_3_54261
(or !=) at 216 sites. An exact check sends any build the code has not seen
down the else path, which for Cataclysm Classic 4.4.2 is the 1.14/2.5
behaviour, while its client is built on the 3.4.3 one.

  • VersionChecker.IsWotLKClassicOrLater(build) is true for a Classic-line
    client from 3.4.3 on; ModernVersion.IsWotLKClassicOrLater holds it for
    the running client. All 216 sites ask it instead. For every build
    supported before 4.4.2 it gives the answer the exact check did
    (ClientBranchTests), so no supported build changes path.
  • ModernMovementLayouts.For keeps an exact list on purpose: 3.4.4 adds a
    movement header bit, so a range would misalign it. 4.4.2 joins 3.4.3
    there; its client reads the movement block exactly as 3.4.3 does.
  • docs/opcode-coverage.md section 5 lists the 216 sites per file: the
    places to check against the 4.4.2 client before it is supported. The
    exact-equality list (section 4) used to be that work list and is now
    empty, so without it the sites would have dropped out of sight.

Played 3.4.3 against AzerothCore playerbots: in world, the Stormwind
guard's bank and auction house POIs decode as before, same warnings and
the same /quit as the previous run.

Refs #202

Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com

Don't miss a new HermesProxy release

NewReleases is sending notifications on new releases.