Skip to content

Nova version 1.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 07 Oct 23:49

Release candidate for v1.1.0, built from main @
4b1f007.

Nova 1.1.0

Nova and Nova.IO ship together; both are 1.1.0.

Breaking

  • Nova targets netstandard2.0 instead of .NET Framework 4.8. One build now serves .NET Framework 4.8 and .NET 8+ consumers.
  • The named-pipe wire format changed: Spectrum serialization now includes ScanDescription. Upgrade both ends of a pipe together; 1.1.0 cannot talk to 1.0.0.18.
  • FramentationType and PrecursorIon.FramentationMethod are renamed FragmentationType and FragmentationMethod.
  • Files that cannot be opened or indexed throw SpectrumFileOpenException instead of returning a reader that yields empty spectra. Affects SpectrumFileReaderFactory.GetReader, and FileReader.ReadSpectrum / ReadSpectrumEx / ReadChromatogram when given a new file name.
  • ThermoRawReader is internal, like the other format readers. Obtain readers through FileReader or SpectrumFileReaderFactory.GetReader.
  • ISpectrumFileReader gained ChromatCount, surfaced by FileReader. Breaking only for external implementers of the interface.
  • MzMLWriter.Write returns void. It only ever returned true; failures throw.

New

  • MGF reading. It was previously a stub that returned empty spectra. A CHARGE= line listing several states yields one precursor per state.
  • mzML and mzXML files larger than 2 GiB read correctly; byte offsets are 64-bit. Earlier versions silently returned zero peaks for every scan in such files.
  • IChromatogram and IChromatDataPoint are public.
  • MzMLWriter.Write takes optional validateSchema and schemaPath. Validation is off by default and no longer uses a hardcoded path.
  • XML documentation ships in both packages, so IntelliSense shows the API comments.

Fixed

  • PipeIO.Read handles partial stream reads; larger messages could be truncated.
  • Deserialize appended precursors to those already on the spectrum instead of replacing them.
  • PrecursorIon's copy constructor and Clear skipped CollisionEnergy, FragmentationMethod, and IsolationSpecificity.
  • The mzML and mzXML readers shared one PrecursorIon object across every precursor and spectrum read; each spectrum now owns its own.
  • Switching files with FileReader leaked a handle to the previous mzML or mzXML file, leaving it locked.
  • MzMLReader set Analyzer to "OTMS" instead of "ITMS" for ion-trap filters.
  • FileReader.OpenSpectrumFile returned true on a failed open, and FileReader.Format stayed Unknown.

Dependencies

  • ThermoFisher.CommonCore.* pinned to 8.0.37. The matching packages are included in the release bundle.

New Contributors

Full Changelog: v1.0.0.18...v1.1.0