Skip to content

Htscodecs 1.4.0

Compare
Choose a tag to compare
@jkbonfield jkbonfield released this 15 Feb 15:23
· 66 commits to master since this release

Release 1.4.0: 15th Februrary 2023

This is almost entirely minor bug fixing with a few small updates.

Changes

  • Optimise compression / speed of the name tokeniser.

    • In arithmetic coding mode, it can now utilise bzip2 at higher levels.
    • For both rans / arith entropy encoders, the choice of method / order
      is now optimised per token type, giving faster compression.
    • Culled a pointless zlib check in the configure script.
    • Made lack of bzip2 a hard failure in configure, unless an explicit
      --disable-bz2 option is given.
      (#72, #73)
  • Switch CI to use ARM for MacOS builds
    (#69, thanks to Rob Davies)

Bug fixes

  • Remove some newer compiler warnings (#61)

  • Improvements for Intel -m32 builds, including better AVX2 validation
    (m32 misses _mm256_extract_epi64) and improved data alignment.
    (#62. See also samtools/htslib#1500)

  • Detect Neon capability at runtime via operating system APIs.
    (#63, thanks to John Marshall)

  • Improve FreeBSD diagnostics when neglecting to use -lpthread / -lthr.
    Plus additional extra error checking too.
    (#68, #64, thanks to John Marshall)

  • Update hts_pack to operate in line with CRAMcodecs spec, where the
    number of symbols > 16.
    (#65/#66, reported by Michael Macias)

  • Fixed too-stringent buffer overflow checking in O1 rans decoder.
    (#71, reported by Divon Lan)