Compress used to hand its work to the bundled
BytePress package, which is now removed. The serializer and the entropy coder
are Twill modules, Compress.Serializer and Compress.Lzw.
Encode, Decode and the byte format are unchanged, so a value already stored
in a DataStore reads back the same:
A saved payload can arrive truncated, altered in place, or shaped by someone who
means the server harm. Every read now checks the bytes it is about to take before
taking them.
A stream that is too short, nested too deep, or tagged with something unknown
returns nil instead of reading past its end.
A payload crafted to drive the reader into unbounded recursion is refused at a
fixed depth instead of exhausting the stack.