Skip to content

Releases: AlexAllocated/libchev

libchev 1.2.3

Choose a tag to compare

@AlexAllocated AlexAllocated released this 29 Sep 05:36

Add optional consumer-provided translations for shared debug, report, and welcome controls. Preserve canonical commands, categories, diagnostics, and copied content, with guarded English fallback for unavailable or invalid translations.

Validation: 107 library tests pass in both orders on Lua 5.1 and 5.2; all 24 vendor tests pass. Live client rendering remains separate validation.

QuestTogether 5.14.0 vendors this exact revision privately. Other consumers are unchanged.

libchev 1.2.2

Choose a tag to compare

@AlexAllocated AlexAllocated released this 29 Sep 02:40

Fix debug-console drag and resize cancellation when restrictions begin before release. Pending cancellation retries through an independently owned wake frame, including after the console is hidden, without bypassing consumer mutation policy.

Also includes the deferred-work correction prepared in 1.2.1: early flushes preserve scheduled deadlines; due blocked work resumes safely when restrictions lift.

Validation: 102 library checks pass in normal and reverse order on Lua 5.1/5.2; 24 Python vendor tests and Lua syntax checks pass. Persistent attempted-access counters reject unsafe cancellation mutations. These are offline checks; live client rendering and taint behavior require separate validation.

Consumers must vendor this exact immutable revision through scripts/vendor.py. QuestTogether 5.13.1 embeds this release privately; other addons are unchanged.

libchev 1.2.0

Choose a tag to compare

@AlexAllocated AlexAllocated released this 25 Sep 05:35
bd83b65

Shared private startup announcements and feedback links for embedded addons.

  • Print the installed version, supported clients, settings command and fixed feedback destinations once per session.
  • Open a compact native-style copy window for CurseForge or GitHub, with plain-URL fallback when registration or UI is unavailable.
  • Keep link registration, startup timing and restriction policy in the owning addon. Accept only exact fixed link payloads.

Validation: 95 tests pass in both orders on Lua 5.1 and 5.2, plus 24 Python vendor checks and all Lua parsing. Live rendering remains separate.

Immutable source: bd83b65fcbd21d108d8f6c02677acddb30541c6a. Consumers must vendor this exact revision.

libchev 1.1.3

Choose a tag to compare

@AlexAllocated AlexAllocated released this 25 Sep 01:27
445c0cf

Keep each debug console and its child controls in one native stacking group, so overlapping addon windows do not interleave their contents. Category menus stay inside the owning console instead of using a global tooltip layer. All changes apply only to addon-owned frames.

Validation: 89 library checks pass in both orders under Lua 5.1/5.2; 24 Python vendor checks pass; parsing, formatting, whitespace, and GitHub PR checks pass. Live multi-window interaction remains a separate client check.

libchev 1.1.2

Choose a tag to compare

@AlexAllocated AlexAllocated released this 25 Sep 00:04
484a7f5

Fix native debug frame artwork stretching across the panel by clearing inherited texture anchors and explicitly sizing native corners, border strips and the title background.

The user confirmed the corrected appearance in-game. The shared controller and addon-owned restriction guards are unchanged.

Validation: 88 Lua checks pass in both orders on Lua 5.1/5.2; 24 vendor checks pass; parsing, formatting and whitespace checks pass. All GitHub PR checks passed. Runtime bytes are identical to the visually confirmed candidate.

libchev 1.1.1

Choose a tag to compare

@AlexAllocated AlexAllocated released this 24 Sep 23:53
2feea04

Restore the shared debug console’s native WoW appearance with textured marble/rock panels, native borders, gold button labels, close button and scrollbar artwork. Every control remains privately owned and guarded.

Presented tests now show one final summary, including bounded-history and chat-fallback cases. Consumers can upgrade exact-revision embeds from 1.1.0 using scripts/vendor.py.

Validation: 87 Lua tests pass in normal/reverse order on Lua 5.1.5 and 5.2.4; all 24 vendor tests pass. GitHub CI is green. Texture templates were verified against installed Retail and Forever FrameXML; the visual change still needs an in-game check.

libchev 1.1.0 — shared debug console

Choose a tag to compare

@AlexAllocated AlexAllocated released this 24 Sep 22:50

All three Together addons now use one debug controller and console implementation, rather than sharing only lower-level helpers.

  • Shared log storage/formatting adapters, category selection, fuzzy and quoted search, batching, clear/copy controls, scrolling and follow-latest behavior.
  • One unnamed, addon-owned, guarded and resizable console with Run Tests, Reload UI, Diagnostics, and Log controls.
  • Shared debug command dispatch and test-result presentation: test commands open current results, replace prior TEST history, clear stale searches, and preserve an already-visible ALL view.
  • Headless programmatic tests remain isolated; consumer-specific fixtures, lifecycle hooks, diagnostic fields and restriction/privacy policies are injected adapters.
  • Shared bounded diagnostic exports retain the newest events, and unavailable UI falls back to chat.
  • 13 pure in-game library self-checks; offline engine mocks remain excluded from TOCs.

Validation: 86 library tests pass in both orders under Lua 5.1.5 and 5.2.4; 24 Python vendor tests pass; Lua parsing, formatting, whitespace, and GitHub CI pass. Consumer checks passed in both orders: QuestTogether 324, PvPTogether 141, NoPoizen 123. Live-client rendering and taint validation remain separate.

Vendor exact revision 1f2cd0eaabb692fd0befd51dbdadeb7e07beb3c6 or immutable tag v1.1.0. Vendoring verifies and safely upgrades the previous four-file 1.0.0 embed to the complete six-file 1.1.0 embed. Load Debug.lua and DebugWindow.lua after libchev.lua and before consumer code. See shared controller contract.

Published consumers, each with a verified installable ZIP embedding this exact revision:

libchev 1.0.0

Choose a tag to compare

@AlexAllocated AlexAllocated released this 24 Sep 22:29

Initial public release of libchev, privately embedded into each addon's loader namespace as namespace.LibChev.

Includes bounded structured logs and counters, common diagnostic headers and a guarded copy window, generation fences, injected-policy deferred work, callback error containment, a fixture-based test runner, and 10 detached pure in-game self-checks. There is no global library registry or runtime replacement of another addon's implementation.

Consumer-owned restriction policies and domain logic remain outside the library. Engine mocks remain offline. pcall is error containment, not a taint barrier.

Validation:

  • 52 library tests pass normally and reversed on Lua 5.1.5 and 5.2.4.
  • 19 Python vendoring tests pass, including edit refusal, strict manifests, symlinks, and verified legacy migration.
  • GitHub CI passes for Lua 5.1 and 5.2.
  • All six load orders of the actual QuestTogether, PvPTogether, and NoPoizen embeds preserve independent private copies and pass shared self-checks.
  • Lua parsing, formatting, and whitespace checks pass.

This is offline validation. Live Retail/Forever integration testing remains pending. This library release does not publish addon releases.

Vendor exact revision 09ac76eb6fe8e9589b809188652950c3cd9e444c or immutable tag v1.0.0 using scripts/vendor.py. See the README and API contracts for loading, ownership, supported work keys, and policy requirements.

The coordinated consumer rollout is published:

Each consumer prerelease includes an installable ZIP embedding this exact library revision. Live-client behavior and external addon distribution processing remain separate verification steps.