The repo was internally inconsistent: the LICENSE file is GPL v3 but every
src/ header carried the LGPL v3 notice and the README said "LGPL v3 or
later". LGPL was also the wrong fit — this is an injected mod plus a
bundled addon, not a library other code links against, so LGPL's linking
exception buys nothing.
It's also required: src/voicechat/Tts.cpp is ported from awesome_wotlk's
VoiceChat.cpp, which is GPL v3, and a derivative of GPL code cannot be
relicensed under more permissive terms. Dependencies stay compatible —
MinHook (BSD-2) and the nampower-mirrored packet shapes (BSD) are
GPL-compatible, and SAPI is covered by the system-library exception.
Swept "GNU Lesser General Public License" -> "GNU General Public License"
across all 257 src/ headers and changed the README license line to match
the GPL v3 LICENSE file. Comment-only; no build impact.
CompressString/DecompressString take a CompressionMethod enum
(Deflate / Zlib / Gzip). The streaming zlib API (deflateInit2_,
inflateInit2_) handles all three formats via windowBits — the
one-shot compress2/uncompress only do Zlib. Decode auto-detects
Zlib vs Gzip when no method is passed.
EncodeBase64/DecodeBase64 take a Base64Variant (Standard / UrlSafe).
Standard pads with '='; UrlSafe omits padding per RFC 4648 §5.
Decode is strict when a variant is named, lenient (both alphabets,
optional padding) when omitted.
Enum.CompressionMethod and Enum.Base64Variant exposed as globals.