Releases: TytaniumDev/Wheelson
Releases · TytaniumDev/Wheelson
Release list
v2026.3.31.3
Wheelson
v2026.3.31.3 (2026-03-31)
Full Changelog Previous Releases
- fix: resolve slow UI updates for non-host players (#121) (#125)
Three fixes for non-host responsiveness:- LeaveSession now calls UpdateUI() after clearing state, so the
leaver's UI immediately reflects the exit instead of showing stale
lobby data. - HandleSessionUpdate re-applies local spec overrides after rebuilding
the player list from host data. This prevents in-flight SESSION_UPDATE
messages from reverting spec changes the non-host just made. Also
clears joinPending when the local player appears in the host's player
list (implicit ACK), avoiding false "may not have been received"
warnings. - JOIN_ACK timeout increased from 5s to 10s to accommodate
ChatThrottleLib delays in larger lobbies.
Co-authored-by: Claude Opus 4.6 (1M context) noreply@anthropic.com
- LeaveSession now calls UpdateUI() after clearing state, so the
v2026.3.31.2
Wheelson
v2026.3.31.2 (2026-03-31)
Full Changelog Previous Releases
- fix: compact group broadcast to prevent dropped messages (#122) (#124)
- fix: use compact group serialization to prevent dropped messages for large groups (#122)
AceComm splits messages into 255-byte chunks for GUILD channel, and
with 10+ players the full GROUP serialization creates 2-4KB+ messages
where chunk loss silently prevents delivery. Non-hosts never receive
the SPINNING/COMPLETED state transition and stay stuck in the lobby.
Three complementary changes:
- Send only player names in group data (compactGroups), reconstructing
full Player objects on the receiver from the already-transmitted
player list. ~80% reduction in group payload size. - Re-send SPINNING broadcast after 2s delay when multiple groups exist,
providing redundancy against initial message loss. - Guard CompleteSession() broadcast behind IsHost() check so non-hosts
don't waste bandwidth broadcasting state they didn't originate.
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
- fix: omit redundant player data from SPINNING/COMPLETED broadcasts
SESSION_UPDATE messages for SPINNING/COMPLETED now only include the
status delta (compact groups), omitting the player list, community map,
and removedPlayers that the receiver already has from the LOBBY phase.
This reduces the critical state-transition message from ~1.5KB to ~200
bytes (a single AceComm chunk), virtually eliminating dropped messages.
Also removes the unusedplayerCountfield from all SESSION_UPDATE
messages, and ensures SESSION_QUERY responses and /reload restores
always send the full state via the newfullSyncparameter.
Closes #122
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
Co-authored-by: Claude Opus 4.6 (1M context) noreply@anthropic.com - fix: use compact group serialization to prevent dropped messages for large groups (#122)
v2026.3.31.1
Wheelson
v2026.3.31.1 (2026-03-31)
Full Changelog Previous Releases
- test: comprehensive coverage for accented character names (#123)
- test: comprehensive coverage for accented WoW character names
Add tests for umlauts, acute/grave accents, circumflex, cedilla, tilde,
ring, and ligatures — both bare names and realm-qualified. Also add
end-to-end AddCommunityPlayer tests with accented names.
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com - test: add roster size assertion for accented name with realm
Addresses PR review comment — verify roster count after adding
an accented name with an explicit realm.
Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com
Co-authored-by: Claude Opus 4.6 (1M context) noreply@anthropic.com - test: comprehensive coverage for accented WoW character names
v2026.3.31.0
Wheelson
v2026.3.31.0 (2026-03-31)
Full Changelog Previous Releases
- fix: accept accented characters in community roster name validation (#120)
The ValidateCommunityName pattern used %a which only matches ASCII
letters, rejecting valid WoW names with accented characters (e.g.
Müzaka). Extend the character class with \128-\255 to match non-ASCII
UTF-8 bytes.
Closes #119
Co-authored-by: Claude Opus 4.6 (1M context) noreply@anthropic.com
v2026.3.25.8
Wheelson
v2026.3.25.8 (2026-03-25)
Full Changelog Previous Releases
- ci: auto-update automerge PR branches when main changes (#118)
When a PR merges to main, this workflow updates all open PRs labeled
'automerge' so they stay current with main. Combined with strict
status checks, this creates an automated sequential merge chain
without needing GitHub's merge queue feature.
Co-authored-by: Claude Opus 4.6 (1M context) noreply@anthropic.com
v2026.3.25.7
Wheelson
v2026.3.25.7 (2026-03-25)
Full Changelog Previous Releases
- 🧹 Refactor host-side message handlers for better maintainability (#110)
- 🧹 Refactor HandleJoinRequest and related host handlers for better maintainability
Extracted common validation logic into WHLSN:IsHost and WHLSN:ValidateSender
to reduce complexity and improve readability in host-side message handlers.
Modified HandleJoinRequest, HandleSpecUpdate, HandleLeaveRequest, and
HandleSessionQuery to use these new helpers. - 🧹 Refactor host-side message handlers and fix lint warning
- Extracted common validation logic into WHLSN:IsHost and WHLSN:ValidateSender.
- Reduced complexity in HandleJoinRequest, HandleSpecUpdate, HandleLeaveRequest, and HandleSessionQuery.
- Fixed 'unused argument' lint warning for 'data' in ValidateSender.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Tyler Holland tytaniumdev@gmail.com - 🧹 Refactor HandleJoinRequest and related host handlers for better maintainability
v2026.3.25.6
Wheelson
v2026.3.25.6 (2026-03-25)
Full Changelog Previous Releases
- fix: use correct bot login suffixes in automerge-label workflow (#116)
GitHub API returns bot accounts asclaude[bot]and
google-labs-jules[bot], notclaude/app/google-labs-jules.
Theifcondition was never matching because of the wrong logins.
Co-authored-by: Claude Opus 4.6 (1M context) noreply@anthropic.com
v2026.3.25.5
Wheelson
v2026.3.25.5 (2026-03-25)
Full Changelog Previous Releases
- ci: auto-merge Jules PRs when approved by Claude (#108)
Allow PRs authored by Jules (app/google-labs-jules) to receive the
automerge label when Claude approves them, removing the need for
manual approval on every Jules PR.
Co-authored-by: Claude Opus 4.6 (1M context) noreply@anthropic.com
v2026.3.25.4
Wheelson
v2026.3.25.4 (2026-03-25)
Full Changelog Previous Releases
- feat(ui): add tooltips to disabled lobby buttons for better UX (#107)
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
v2026.3.25.3
Wheelson
v2026.3.25.3 (2026-03-25)
Full Changelog Previous Releases
- ⚡ Bolt: Optimize NamesMatch and string.find (#106)
Added an early exit exact match fast-path to NamesMatch.
Replaced:find("-")regex matching with:find("-", 1, true)plain string matching in multiple string normalizations for player names and cross realm comparisons.
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>