Skip to content

Commit d8ca374

Browse files
committed
Release 1.18
2 parents 6143086 + 2425ce9 commit d8ca374

File tree

120 files changed

+9279
-1597
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

120 files changed

+9279
-1597
lines changed

.cirrus.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ libdeflate_template: &LIBDEFLATE
1515
pushd "$HOME"
1616
git clone --depth 1 https://github.com/ebiggers/libdeflate.git
1717
pushd libdeflate
18-
cmake -B build -DLIBDEFLATE_BUILD_SHARED_LIB=OFF -DLIBDEFLATE_BUILD_GZIP=OFF -DCMAKE_C_FLAGS='-g -O3 -fPIC'
18+
cmake -B build -DLIBDEFLATE_BUILD_SHARED_LIB=OFF -DLIBDEFLATE_BUILD_GZIP=OFF -DCMAKE_C_FLAGS="-g -O3 -fPIC $LIBDEFLATE_CFLAGS"
1919
cmake --build build --verbose
2020
popd
2121
popd
@@ -186,6 +186,9 @@ macosx_task:
186186

187187
environment:
188188
CC: clang
189+
CFLAGS: "-Wall -arch arm64 -arch x86_64"
190+
LDFLAGS: "-arch arm64 -arch x86_64"
191+
LIBDEFLATE_CFLAGS: "-arch arm64 -arch x86_64"
189192
LC_ALL: C
190193
CIRRUS_CLONE_DEPTH: 1
191194

INSTALL

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,9 @@ various features and specify further optional external requirements:
129129
any enabled pluggable facilities (such as libcurl file access) are built
130130
directly within HTSlib.
131131

132+
Programs that are statically linked to a libhts.a with plugins enabled
133+
need to be linked using -rdynamic or a similar linker option.
134+
132135
The <https://github.com/samtools/htslib-plugins> repository contains
133136
several additional plugins, including the iRODS (<http://irods.org/>)
134137
file access plugin previously distributed with HTSlib.
@@ -266,7 +269,9 @@ Alpine Linux
266269
------------
267270

268271
doas apk update # Ensure the package list is up to date
269-
doas apk add autoconf automake make gcc musl-dev perl bash zlib-dev bzip2-dev xz-dev curl-dev libressl-dev
272+
doas apk add autoconf automake make gcc musl-dev perl bash zlib-dev bzip2-dev xz-dev curl-dev openssl-dev
273+
274+
Note: some older Alpine versions use libressl-dev rather than openssl-dev.
270275

271276
OpenSUSE
272277
--------

Makefile

Lines changed: 32 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,18 @@ srcdir = .
126126
srcprefix =
127127
HTSPREFIX =
128128

129+
# Flags for SIMD code
129130
HTS_CFLAGS_AVX2 =
130131
HTS_CFLAGS_AVX512 =
131132
HTS_CFLAGS_SSE4 =
132133

134+
# Control building of SIMD code. Not used if configure has been run.
135+
HTS_BUILD_AVX2 =
136+
HTS_BUILD_AVX512 =
137+
HTS_BUILD_SSSE3 =
138+
HTS_BUILD_POPCNT =
139+
HTS_BUILD_SSE4_1 =
140+
133141
include htslib_vars.mk
134142
include htscodecs.mk
135143

@@ -143,8 +151,8 @@ LIBHTS_SOVERSION = 3
143151
# is not strictly necessary and should be removed the next time
144152
# LIBHTS_SOVERSION is bumped (see #1144 and
145153
# https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/DynamicLibraries/100-Articles/DynamicLibraryDesignGuidelines.html#//apple_ref/doc/uid/TP40002013-SW23)
146-
MACH_O_COMPATIBILITY_VERSION = 3.1.17
147-
MACH_O_CURRENT_VERSION = 3.1.17
154+
MACH_O_COMPATIBILITY_VERSION = 3.1.18
155+
MACH_O_CURRENT_VERSION = 3.1.18
148156

149157
# $(NUMERIC_VERSION) is for items that must have a numeric X.Y.Z string
150158
# even if this is a dirty or untagged Git working tree.
@@ -206,6 +214,7 @@ LIBHTS_OBJS = \
206214
regidx.o \
207215
region.o \
208216
sam.o \
217+
sam_mods.o \
209218
synced_bcf_reader.o \
210219
vcf_sweep.o \
211220
tbx.o \
@@ -274,18 +283,20 @@ config.h:
274283
echo '#endif' >> $@
275284
echo '#define HAVE_DRAND48 1' >> $@
276285
echo '#define HAVE_LIBCURL 1' >> $@
277-
if [ "x$(HTS_CFLAGS_SSE4)" != "x" ] ; then \
286+
if [ "x$(HTS_BUILD_POPCNT)" != "x" ] && \
287+
[ "x$(HTS_BUILD_SSE4_1)" != "x" ] && \
288+
[ "x$(HTS_BUILD_SSSE3)" != "x" ]; then \
278289
echo '#define HAVE_POPCNT 1' >> $@ ; \
279290
echo '#define HAVE_SSE4_1 1' >> $@ ; \
280291
echo '#define HAVE_SSSE3 1' >> $@ ; \
281292
echo '#if defined(HTS_ALLOW_UNALIGNED) && HTS_ALLOW_UNALIGNED == 0' >> $@ ; \
282293
echo '#define UBSAN 1' >> $@ ; \
283294
echo '#endif' >> $@ ; \
284295
fi
285-
if [ "x$(HTS_CFLAGS_AVX2)" != "x" ] ; then \
296+
if [ "x$(HTS_BUILD_AVX2)" != "x" ] ; then \
286297
echo '#define HAVE_AVX2 1' >> $@ ; \
287298
fi
288-
if [ "x$(HTS_CFLAGS_AVX512)" != "x" ] ; then \
299+
if [ "x$(HTS_BUILD_AVX512)" != "x" ] ; then \
289300
echo '#define HAVE_AVX512 1' >> $@ ; \
290301
fi
291302

@@ -447,6 +458,7 @@ hts_expr.o hts_expr.pico: hts_expr.c config.h $(htslib_hts_expr_h) $(htslib_hts_
447458
hts_os.o hts_os.pico: hts_os.c config.h $(htslib_hts_defs_h) os/rand.c
448459
vcf.o vcf.pico: vcf.c config.h $(htslib_vcf_h) $(htslib_bgzf_h) $(htslib_tbx_h) $(htslib_hfile_h) $(hts_internal_h) $(htslib_khash_str2int_h) $(htslib_kstring_h) $(htslib_sam_h) $(htslib_khash_h) $(htslib_kseq_h) $(htslib_hts_endian_h)
449460
sam.o sam.pico: sam.c config.h $(htslib_hts_defs_h) $(htslib_sam_h) $(htslib_bgzf_h) $(cram_h) $(hts_internal_h) $(sam_internal_h) $(htslib_hfile_h) $(htslib_hts_endian_h) $(htslib_hts_expr_h) $(header_h) $(htslib_khash_h) $(htslib_kseq_h) $(htslib_kstring_h)
461+
sam_mods.o sam_mods.pico: sam_mods.c config.h $(htslib_sam_h) $(textutils_internal_h)
450462
tbx.o tbx.pico: tbx.c config.h $(htslib_tbx_h) $(htslib_bgzf_h) $(htslib_hts_endian_h) $(hts_internal_h) $(htslib_khash_h)
451463
faidx.o faidx.pico: faidx.c config.h $(htslib_bgzf_h) $(htslib_faidx_h) $(htslib_hfile_h) $(htslib_khash_h) $(htslib_kstring_h) $(hts_internal_h)
452464
bcf_sr_sort.o bcf_sr_sort.pico: bcf_sr_sort.c config.h $(bcf_sr_sort_h) $(htslib_khash_str2int_h) $(htslib_kbitset_h)
@@ -466,7 +478,7 @@ textutils.o textutils.pico: textutils.c config.h $(htslib_hfile_h) $(htslib_kstr
466478
cram/cram_codecs.o cram/cram_codecs.pico: cram/cram_codecs.c config.h $(htslib_hts_endian_h) $(htscodecs_varint_h) $(htscodecs_pack_h) $(htscodecs_rle_h) $(cram_h)
467479
cram/cram_decode.o cram/cram_decode.pico: cram/cram_decode.c config.h $(cram_h) $(cram_os_h) $(htslib_hts_h)
468480
cram/cram_encode.o cram/cram_encode.pico: cram/cram_encode.c config.h $(cram_h) $(cram_os_h) $(sam_internal_h) $(htslib_hts_h) $(htslib_hts_endian_h) $(textutils_internal_h)
469-
cram/cram_external.o cram/cram_external.pico: cram/cram_external.c config.h $(htslib_hfile_h) $(cram_h)
481+
cram/cram_external.o cram/cram_external.pico: cram/cram_external.c config.h $(htscodecs_rANS_static4x16_h) $(htslib_hfile_h) $(cram_h)
470482
cram/cram_index.o cram/cram_index.pico: cram/cram_index.c config.h $(htslib_bgzf_h) $(htslib_hfile_h) $(hts_internal_h) $(cram_h) $(cram_os_h)
471483
cram/cram_io.o cram/cram_io.pico: cram/cram_io.c config.h os/lzma_stub.h $(cram_h) $(cram_os_h) $(htslib_hts_h) $(cram_open_trace_file_h) $(htscodecs_rANS_static_h) $(htscodecs_rANS_static4x16_h) $(htscodecs_arith_dynamic_h) $(htscodecs_tokenise_name3_h) $(htscodecs_fqzcomp_qual_h) $(htscodecs_varint_h) $(htslib_hfile_h) $(htslib_bgzf_h) $(htslib_faidx_h) $(hts_internal_h)
472484
cram/cram_stats.o cram/cram_stats.pico: cram/cram_stats.c config.h $(cram_h) $(cram_os_h)
@@ -722,18 +734,18 @@ htscodecs/tests/tokenise_name3: htscodecs/tests/tokenise_name3_test.o $(HTSCODEC
722734
htscodecs/tests/varint: htscodecs/tests/varint_test.o $(HTSCODECS_OBJS)
723735
$(CC) $(LDFLAGS) -o $@ $^ $(LIBS) -lm -lpthread
724736

725-
htscodecs/tests/arith_dynamic_test.o: CPPFLAGS += -Ihtscodecs -D_POSIX_C_SOURCE=200112L
726-
htscodecs/tests/arith_dynamic_test.o: htscodecs/tests/arith_dynamic_test.c $(htscodecs_arith_dynamic_h)
727-
htscodecs/tests/fqzcomp_qual_test.o: CPPFLAGS += -Ihtscodecs -D_POSIX_C_SOURCE=200112L
728-
htscodecs/tests/fqzcomp_qual_test.o: htscodecs/tests/fqzcomp_qual_test.c $(htscodecs_fqzcomp_qual_h) $(htscodecs_varint_h)
729-
htscodecs/tests/rANS_static4x16pr_test.o: CPPFLAGS += -Ihtscodecs -D_POSIX_C_SOURCE=200112L
730-
htscodecs/tests/rANS_static4x16pr_test.o: htscodecs/tests/rANS_static4x16pr_test.c $(htscodecs_rANS_static4x16_h)
731-
htscodecs/tests/rANS_static_test.o: CPPFLAGS += -Ihtscodecs -D_POSIX_C_SOURCE=200112L
732-
htscodecs/tests/rANS_static_test.o: htscodecs/tests/rANS_static_test.c $(htscodecs_rANS_static_h)
733-
htscodecs/tests/tokenise_name3_test.o: CPPFLAGS += -Ihtscodecs -D_POSIX_C_SOURCE=200112L
734-
htscodecs/tests/tokenise_name3_test.o: htscodecs/tests/tokenise_name3_test.c $(htscodecs_tokenise_name3_h)
735-
htscodecs/tests/varint_test.o: CPPFLAGS += -Ihtscodecs -D_POSIX_C_SOURCE=200112L
736-
htscodecs/tests/varint_test.o: htscodecs/tests/varint_test.c $(htscodecs_varint_h)
737+
htscodecs/tests/arith_dynamic_test.o: CPPFLAGS += -Ihtscodecs
738+
htscodecs/tests/arith_dynamic_test.o: htscodecs/tests/arith_dynamic_test.c config.h $(htscodecs_arith_dynamic_h)
739+
htscodecs/tests/fqzcomp_qual_test.o: CPPFLAGS += -Ihtscodecs
740+
htscodecs/tests/fqzcomp_qual_test.o: htscodecs/tests/fqzcomp_qual_test.c config.h $(htscodecs_fqzcomp_qual_h) $(htscodecs_varint_h)
741+
htscodecs/tests/rANS_static4x16pr_test.o: CPPFLAGS += -Ihtscodecs
742+
htscodecs/tests/rANS_static4x16pr_test.o: htscodecs/tests/rANS_static4x16pr_test.c config.h $(htscodecs_rANS_static4x16_h)
743+
htscodecs/tests/rANS_static_test.o: CPPFLAGS += -Ihtscodecs
744+
htscodecs/tests/rANS_static_test.o: htscodecs/tests/rANS_static_test.c config.h $(htscodecs_rANS_static_h)
745+
htscodecs/tests/tokenise_name3_test.o: CPPFLAGS += -Ihtscodecs
746+
htscodecs/tests/tokenise_name3_test.o: htscodecs/tests/tokenise_name3_test.c config.h $(htscodecs_tokenise_name3_h)
747+
htscodecs/tests/varint_test.o: CPPFLAGS += -Ihtscodecs
748+
htscodecs/tests/varint_test.o: htscodecs/tests/varint_test.c config.h $(htscodecs_varint_h)
737749

738750
test/hts_endian.o: test/hts_endian.c config.h $(htslib_hts_endian_h)
739751
test/fuzz/hts_open_fuzzer.o: test/fuzz/hts_open_fuzzer.c config.h $(htslib_hfile_h) $(htslib_hts_h) $(htslib_sam_h) $(htslib_vcf_h)
@@ -743,7 +755,7 @@ test/pileup.o: test/pileup.c config.h $(htslib_sam_h) $(htslib_kstring_h)
743755
test/pileup_mod.o: test/pileup_mod.c config.h $(htslib_sam_h)
744756
test/plugins-dlhts.o: test/plugins-dlhts.c config.h
745757
test/sam.o: test/sam.c config.h $(htslib_hts_defs_h) $(htslib_sam_h) $(htslib_faidx_h) $(htslib_khash_h) $(htslib_hts_log_h)
746-
test/test_bgzf.o: test/test_bgzf.c config.h $(htslib_bgzf_h) $(htslib_hfile_h) $(hfile_internal_h)
758+
test/test_bgzf.o: test/test_bgzf.c config.h $(htslib_bgzf_h) $(htslib_hfile_h) $(htslib_hts_log_h) $(hfile_internal_h)
747759
test/test_expr.o: test/test_expr.c config.h $(htslib_hts_expr_h)
748760
test/test_kfunc.o: test/test_kfunc.c config.h $(htslib_kfunc_h)
749761
test/test_kstring.o: test/test_kstring.c config.h $(htslib_kstring_h)
@@ -758,7 +770,7 @@ test/test_faidx.o: test/test_faidx.c config.h $(htslib_faidx_h)
758770
test/test_index.o: test/test_index.c config.h $(htslib_sam_h) $(htslib_vcf_h)
759771
test/test-vcf-api.o: test/test-vcf-api.c config.h $(htslib_hts_h) $(htslib_vcf_h) $(htslib_kstring_h) $(htslib_kseq_h)
760772
test/test-vcf-sweep.o: test/test-vcf-sweep.c config.h $(htslib_vcf_sweep_h)
761-
test/test-bcf-sr.o: test/test-bcf-sr.c config.h $(htslib_synced_bcf_reader_h)
773+
test/test-bcf-sr.o: test/test-bcf-sr.c config.h $(htslib_synced_bcf_reader_h) $(htslib_hts_h) $(htslib_vcf_h)
762774
test/test-bcf-translate.o: test/test-bcf-translate.c config.h $(htslib_vcf_h)
763775
test/test_introspection.o: test/test_introspection.c config.h $(htslib_hts_h) $(htslib_hfile_h)
764776
test/test-bcf_set_variant_type.o: test/test-bcf_set_variant_type.c config.h $(htslib_hts_h) vcf.c

NEWS

Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,170 @@
1+
Noteworthy changes in release 1.18 (25th July 2023)
2+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3+
4+
Updates
5+
-------
6+
7+
* Using CRAM 3.1 no longer gives a warning about the specification
8+
being draft. Note CRAM 3.0 is still the default output format.
9+
(PR#1583)
10+
11+
* Replaced use of sprintf with snprintf, to silence potential warnings
12+
from Apple's compilers and those who implement similar checks.
13+
(PR#1594, fixes #1586. Reported by Oleksii Nikolaienko)
14+
15+
* Fastq output will now generate empty records for reads with no
16+
sequence data (i.e. sequence is "*" in SAM format). (PR#1576,
17+
fixes samtools/samtools#1576. Reported by Nils Homer)
18+
19+
* CRAM decoding speed-ups. (PR#1580)
20+
21+
* A new MN aux tag can now be used to verify that MM/ML base modification
22+
data has not been broken by hard clipping. (PR#1590, PR#1612. See also
23+
PR samtools/hts-specs#714 and issue samtools/hts-specs#646.
24+
Reported by Jared Simpson)
25+
26+
* The base modification API has been improved to make it easier for callers
27+
to tell unchecked bases from unmodified ones. (PR#1636, fixes #1550.
28+
Requested by Chris Wright)
29+
30+
* A new bam_mods_queryi() API has been added to return additional
31+
data about the i-th base modification returned by bam_mods_recorded().
32+
(PR#1636, fixes #1550 and #1635. Requested by Jared Simpson)
33+
34+
* Speed up index look-ups for whole-chromosome queries. (PR#1596)
35+
36+
* Mpileup now merges adjacent (mis)match CIGAR operations, so CIGARs
37+
using the X/= operators give the same results as if the M operator
38+
was used. (PR#1607, fixes #1597. Reported by Marcel Martin)
39+
40+
* It's now possible to call bcf_sr_set_regions() after adding readers
41+
using bcf_sr_add_reader() (previously this returned an error). Doing so
42+
will discard any unread data, and reset the readers so they iterate over
43+
the new regions. (PR#1624, fixes samtools/bcftools#1918. Reported by
44+
Gregg Thomas)
45+
46+
* The synced BCF reader can now accept regions with reference names including
47+
colons and hyphens, by enclosing them in curly braces. For example,
48+
{chr_part:1-1001}:10-20 will return bases 10 to 20 from reference
49+
"chr_part:1-1001". (PR#1630, fixes #1620. Reported by Bren)
50+
51+
* Add a "samples" directory with code demonstrating usage of HTSlib plus
52+
a tutorial document. (PR#1589)
53+
54+
Build changes
55+
-------------
56+
57+
* Htscodecs has been updated to 1.5.1 (PR#1654)
58+
59+
* Htscodecs SIMD code now works with Apple multiarch binaries.
60+
(PR#1587, HTSlib fix for samtools/htscodecs#76. Reported by John Marshall)
61+
62+
* Improve portability of "expr" usage in version.sh.
63+
(PR#1593, fixes #1592. Reported by John Marshall)
64+
65+
* Improve portability to *BSD targets by ensuring _XOPEN_SOURCE is defined
66+
correctly and that source files properly include "config.h". Perl
67+
scripts also now all use #!/usr/bin/env instead of assuming that
68+
it's in /usr/bin/perl. (PR#1628, fixes #1606.
69+
Reported by Robert Clausecker)
70+
71+
* Fixed NAME entry in htslib-s3-plugin man page so the whatis and apropos
72+
commands find it. (PR#1634, thanks to Étienne Mollier)
73+
74+
* Assorted dependency tracking fixes. (PR#1653, thanks to John Marshall)
75+
76+
Documentation updates
77+
---------------------
78+
79+
* Changed Alpine build instructions as they've switched back to using openssl.
80+
(PR#1609)
81+
82+
* Recommend using -rdynamic when statically linking a libhts.a with
83+
plugins enabled. (PR#1611, thanks to John Marshall. Fixes #1600,
84+
reported by Jack Wimberley)
85+
86+
* Fixed example in docs for sam_hdr_add_line(). (PR#1618, thanks to kojix2)
87+
88+
* Improved test harness for base modifications API. (PR#1648)
89+
90+
Bug fixes
91+
---------
92+
93+
* Fix a major bug when searching against a CRAM index where one container
94+
has start and end coordinates entirely contained within the previous
95+
container. This would occasionally miss data, and sometimes return much
96+
more than required. The bug affected versions 1.11 to 1.17, although the
97+
change in 1.11 was bug-fixing multi-threaded index queries. This bug did
98+
not affect index building. There is no need to reindex your CRAM files.
99+
(PR#1574, PR#1640. Fixes #1569, #1639, samtools/samtools#1808,
100+
samtools/samtools#1819. Reported by xuxif, Jens Reeder and Jared Simpson)
101+
102+
* Prevent CRAM blocks from becoming too big in files with short
103+
sequences but very long aux tags. (PR #1613)
104+
105+
* Fix bug where the CRAM decoder for CONST_INT and CONST_BYTE
106+
codecs may incorrectly look for extra data in the CORE block.
107+
Note that this bug only affected the experimental CRAM v4.0 decoder.
108+
(PR#1614)
109+
110+
* Fix crypt4gh redirection so it works in conjunction with non-file
111+
IO, such as using htsget. (PR#1577)
112+
113+
* Improve error checking for the VCF POS column, when facing invalid
114+
data. (PR#1575, replaces #1570 originally reported and fixed
115+
by Colin Nolan.)
116+
117+
* Improved error checking on VCF indexing to validate the data is BGZF
118+
compressed. (PR#1581)
119+
120+
* Fix bug where bin number calculation could overflow when making iterators
121+
over regions that go to the end of a chromosome. (PR#1595)
122+
123+
* Backport attractivechaos/klib#78 (by Pall Melsted) to HTSlib.
124+
Prevents infinite loops in kseq_read() when reading broken gzip files.
125+
(PR#1582, fixes #1579. Reported by Goran Vinterhalter)
126+
127+
* Backport attractivechaos/klib@384277a (by innoink) to HTSlib.
128+
Fixes the kh_int_hash_func2() macro definition.
129+
(PR#1599, fixes #1598. Reported by fanxinping)
130+
131+
* Remove a compilation warning on systems with newer libcurl releases.
132+
(PR#1572)
133+
134+
* Windows: Fixed BGZF EOF check for recent MinGW releases. (PR#1601,
135+
fixes samtools/bcftools#1901)
136+
137+
* Fixed bug where tabix would not return the correct regions for files
138+
where the column ordering is end, ..., begin instead of begin, ..., end.
139+
(PR#1626, fixes #1622. Reported by Hiruna Samarakoon)
140+
141+
* sam_format_aux1() now always NUL-terminates Z/H tags. (PR#1631)
142+
143+
* Ensure base modification iterator is reset when no MM tag is present.
144+
(PR#1631, PR#1647)
145+
146+
* Fix segfault when attempting to write an uncompressed BAM file opened using
147+
hts_open(name, "wbu"). This was attempting to write BAM data without
148+
wrapping it in BGZF blocks, which is invalid according to the BAM
149+
specification. "wbu" is now internally converted to "wb0" to output
150+
uncompressed data wrapped in BGZF blocks. (PR#1632, fixes #1617.
151+
Reported by Joyjit Daw)
152+
153+
* Fixed over-strict bounds check in probaln_glocal() which caused it to make
154+
sub-optimal alignments when the requested band width was greater than the
155+
query length. (PR#1616, fixes #1605. Reported by Jared Simpson)
156+
157+
* Fixed possible double frees when handling errors in bcf_hdr_add_hrec(),
158+
if particular memory allocations fail. (PR#1637)
159+
160+
* Ensure that bcf_hdr_remove() clears up all pointers to the items removed
161+
from dictionaries. Failing to do this could have resulted in a call
162+
requesting a deleted item via bcf_hdr_get_hrec() returning a stale pointer.
163+
(PR#1637)
164+
165+
* Stop the gzip decompresser from finishing prematurely when an empty
166+
gzip block is followed by more data. (PR#1643, PR#1646)
167+
1168
Noteworthy changes in release 1.17 (21st February 2023)
2169
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3170

bgzf.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
Copyright (c) 2008 Broad Institute / Massachusetts Institute of Technology
44
2011, 2012 Attractive Chaos <[email protected]>
5-
Copyright (C) 2009, 2013-2021 Genome Research Ltd
5+
Copyright (C) 2009, 2013-2022 Genome Research Ltd
66
77
Permission is hereby granted, free of charge, to any person obtaining a copy
88
of this software and associated documentation files (the "Software"), to deal

bgzip.1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.TH bgzip 1 "21 February 2023" "htslib-1.17" "Bioinformatics tools"
1+
.TH bgzip 1 "25 July 2023" "htslib-1.18" "Bioinformatics tools"
22
.SH NAME
33
.PP
44
bgzip \- Block compression/decompression utility

0 commit comments

Comments
 (0)