Repository navigation
spectrl 2.0.0: spectrum-only format
spectrl 2.0.0 introduces the spectrl.v2 format for measured mass spectra and acquisition context. Molecular identifications and fragment assignments are outside the format.
Breaking changes
- Remove
interpfrom the Python and TypeScript spectrum models and encoding APIs. - Reserve header key 7 and reject every occurrence in v2, including null.
- Normal encoders, decoders, URL helpers, CLI commands, and the browser demo now use
spectrl.v2. - Remove the optional Python ProForma validation dependency.
All other header keys retain their meanings. Existing array codecs, units, acquisition metadata, quality reports, and size-budget helpers remain available.
Reading archived v1 tokens
Use spectrl.legacy.decode_v1_token in Python or decodeV1Token from @spectrl-ms/spectrl/legacy in TypeScript. These explicit compatibility decoders return the spectrum and its legacy interpretation separately.
Review or save the interpretation before re-encoding the spectrum as v2. Do not change a token prefix by hand. Published v1 releases and their token semantics remain unchanged.
Validation
The release passed 365 Python tests, 180 TypeScript tests, decoder mutation checks, clean wheel and npm package installations, and browser regression tests. The manuscript analysis additionally verified normalized lossless reconstruction across 3,549 spectra from five public files and complete bidirectional corpus interoperability on 41 structurally varied spectra in default and lossless modes.