Monday, November 9, 2026
HomeGolangGo-cabinet v0.3.0: LZX compression for Microsoft Cupboard information in pure Go -...

Go-cabinet v0.3.0: LZX compression for Microsoft Cupboard information in pure Go – Releases


Again in April I shared go-cabinet right here, a pure Go library for studying and writing Microsoft Cupboard (.cab) information. LZX was the large lacking piece on the time, and v0.3.0 provides it for each studying and writing, so go-cabinet now covers None, MSZIP and LZX out of the field.

if err := w.SetCompression(cupboard.LZX); err != nil {
    return err
}

The default is a 2 MiB window, and cupboard.LZXWindow(n) picks something from 2^15 to 2^21 bytes. LZX produces noticeably smaller cupboards than MSZIP however compresses extra slowly.

In case you’re upgrading from v0.2, there are just a few breaking adjustments:

  • Customized codecs now implement the Encoder and Decoder interfaces as a substitute of wrapping io.Author and io.Reader. mszip.NewWriter and mszip.NewReader are changed by mszip.NewEncoder and mszip.NewDecoder.
  • MSZip is now MSZIP.
  • SetCompression rejects an invalid or unregistered methodology instantly as a substitute of Shut failing later.

Full launch notes: Launch v0.3.0 · abemedia/go-cabinet · GitHub

As earlier than, I’d love to listen to from anybody utilizing it, and particularly about any cab information it might probably’t deal with.

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments