Skip to content

Commit ffda731

Browse files
committed
Add release 1.6.0
1 parent ecc49b9 commit ffda731

File tree

3 files changed

+54
-3
lines changed

3 files changed

+54
-3
lines changed

NEWS.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,54 @@
1+
Release 1.6.0: 7th December 2023
2+
--------------------------------
3+
4+
This release is primarily bug fixes, mostly spotted through improved fuzz
5+
testing.
6+
7+
One big change however is the SIMD rANS codecs are now performant on Intel
8+
CPUs with the DownFall mitigation microcode applied.
9+
10+
11+
Changes
12+
13+
- Replaced the rANS codec SIMD gathers with simulated gathers via scalar
14+
memory fetches. This helps AMD Zen4, but importantly it also fixes a
15+
disastrous performance regression caused by Intel's DownFall microcode fix.
16+
17+
There is an impact on pre-DownFall speeds, but we should focus on patched
18+
CPUs as a priority.
19+
20+
- A small speed up to the rans_F_to_s3 function used by order-0 rans decode.
21+
22+
- Small speed up to SIMD rans32x16 order-1 encoder by reducing cache misses.
23+
Also sped up the rans4x8 order-1 encoder, particularly on AMD Zen4.
24+
25+
- Now supports building with "zig cc"
26+
(Issue #109, reported by David Jackson)
27+
28+
29+
Bug fixes
30+
31+
- Improve robustness of name tokeniser when given non 7-bit ASCII and on
32+
machines where "char" defaults to unsigned.
33+
(Issue #105, reported by Shubham Chandak)
34+
35+
- Also fixed a 1 byte buffer read-overrun in name tokeniser.
36+
37+
- Fix name tokeniser encoder failure with some duplicated streams.
38+
39+
- Fixed rans_set_cpu to work multiple times, as well as reinstating the
40+
ability to change decode and encode side independently (accidentally lost in
41+
commit 958032c). No effect on usage, but it improves the test coverage.
42+
43+
- Added a round-trip fuzz tester to test the ability to encode. The old fuzz
44+
testing was decode streams only.
45+
46+
- Fixed bounds checking in rans_uncompress_O0_32x16_avx2, fixing buffer read
47+
overruns.
48+
49+
- Removed undefined behaviour in transpose_and_copy(), fixing zig cc builds.
50+
51+
152
Release 1.5.2: 6th October 2023
253
-------------------------------
354

configure.ac

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
dnl Process this file with autoconf to produce a configure script.
2-
AC_INIT(htscodecs, 1.5.2)
2+
AC_INIT(htscodecs, 1.6.0)
33

44
# Some functions benefit from -O3 optimisation, so if the user didn't
55
# explicitly set any compiler flags, we'll plump for O3.
@@ -61,7 +61,7 @@ AM_EXTRA_RECURSIVE_TARGETS([fuzz])
6161
# libhtscodecs.so.1.1.0
6262

6363
VERS_CURRENT=3
64-
VERS_REVISION=4
64+
VERS_REVISION=5
6565
VERS_AGE=1
6666
AC_SUBST(VERS_CURRENT)
6767
AC_SUBST(VERS_REVISION)

htscodecs/htscodecs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
* Note currently this needs manually editing as it isn't automatically
4444
* updated by autoconf.
4545
*/
46-
#define HTSCODECS_VERSION 100502
46+
#define HTSCODECS_VERSION 100600
4747

4848
/*
4949
* A const string form of the HTSCODECS_VERSION define.

0 commit comments

Comments
 (0)