Releases: samtools/htsjdk
3.0.2
What's Changed
- Minor improvements to AbstractLocusIterator by @lbergelson in #1624
- Remove deprecation from Allele.acceptableAlleleBases by @lbergelson in #1625
Full Changelog: 3.0.1...3.0.2
3.0.1
Fix for a long standing vulnerability around temporary directory creation which could expose data to malicious users with access to a shared system. See for more information #1617
Compatibility note:
The previous implementation of IOUtil.createTempDir()
could accept a prefix with a complete file path:
IOUtil.createTempDir("path/to/my/tempdir/prefix", "")
. The new implementation will now throw in that case. You can use Files.createTemporaryDirectory(path, prefix)
for those use cases instead.
4a4024a Fix temporary directory hijacking or temporary directory information disclosure (#1621)
9fd0ecf Disable codecov until we can fix the uploader (#1622)
347c0ac Fix EdgeReadIterator (#1616)
d15a5ba Added ULTIMA and ELEMENT as valid value for RG-PL according to SAM spec. (#1619)
3.0.0
Htsjdk 3.0.0: Revenge of the Simple Allele
This is the first htsjdk with a major version increase in a long time. We bumped it to indicate there are some breaking changes that will potentially require downstream code changes. Notably, Allele
became an interface instead of a concrete class. SimpleAllele
may be used as a replacement if you have classes which previously subclassed allele.
New Plugin Infrastructure:
6a60de7 Move API marker annotations into new annotation package. (#1558)
7ac95d5 Plugin framework and interfaces for versioned file format codecs (#1525)
d40fe54 Beta implementation of Bundles. (#1546)
CRAM
489c419 Support CRAM reference regions. (#1605)
22aec67 Fix decoding of CRAM Scores read feature during normalization. (#1592)
6507249 Make the CRAM MD5 failure message more user friendly. (#1607)
b5af659 Fix restoration of read base feature code. #1379 (#1590)
e63c34a Ignore TC, TN on CRAM read (#1578)
BAM/SAM
1449dec Support loading of CSI from URLs/streams. #1507 (#1595)
a38c78d Add an option to SAMFileWriter to disable checking of ordering of rec… (#1599)
51aa6ed Validate that SAM header tag keys are exactly 2 characters long (#1561)
fbd9e96 Deprecate OTHER as a PL value (#1552)
d5f7e10 Adding PL Tag 'DNBSEQ' as the Platform/Technology for BGI/MGI (#1547)
Misc Improvements
f461401 Silence AsciiLineReader warning when creating a FASTA sequence index (#1559)
8f82871 Update explain samflags script to python3 (#1585)
4ba4c06 Update to new version of the snappy library which will work with M1 macs (#1580)
e927064 add predicate to GFF3Codec to give a chance to filter out some unused attributes (#1575)
c647764 Some long reads tests using PacBio data. (#1564)
57c3f03 remove hardcoded .idx (#1568)
a94a325 Add file extension to missing index error message #1512 (#1567)
74b827b Improve error message in IntervalTree (#1545)
7719274 Htsget POST request support (#1529)
VCF:
aac46ee Added GVCF mode for VariantContext type determination (#1544)
d72d73b Add context to exception when the vcf file is invalid #1565 (#1566)
8466c82 Respect genotype filtering when calculating AC/AN/AF (#1554)
User API:
a4f1f04 Allow fluent chaining setters for SAMSequenceRecord (#1563)
08628f5 Rename ByteArrayAlelle to SimpleAllele and make it public (#1576)
0044297 Convert Allele to an Interface(#1454)
Infrastructure:
70e4259 Remove unnecessary println in test (#1602)
c0b61a2 Upgrade to samtools 1.14. (#1583)
b2b31ab Adding Github actions as an alternative to travis. (#1572)
8e8ae5c Validating the codecov script when downloading. (#1549)
2.24.1
Bug Fix Release
Htsjdk 2.24.0 introduced a bug which caused Junit to be considered a dependency of htsjdk. This is wrong and could cause issues with downstream projects. This fixes the dependency issue (#1542) and includes several other unrelated bug fixes.
We recommend skipping 2.24.0 and upgrading directly to this version.
9bad6fe Exclude unintentional transitive junit dependency (#1542)
39b18c7 Add QuietTestWrapper to suppress excessive test output that exceeds CI server log output threshold. (#1541)
12fa23d Fix IOPath::hasExtension NPE when a URI has no hierarchical part. (#1540)
34881ae Invaliding out of date SAMRecord.mAlignmentBlocks cache (#1538)
2.24.0
This release includes some useful new features and bug fixes:
New Feature: read from Htsget
We now support reading from Htsget servers
d4464dd Support very large sequence dictionaries/headers (#1501)
bcc4777 Fix CRAMFileReader stream management (#1533)
0b59514 Add HtsPath copy constructor and tests. (#1534)
87b245c Minor optimization and fix to BlockCompressedOutputStream (#1527)
ff607d3 New AsyncWriterPool to provide multi-threaded async writing with n threads for m writers.
4097f60 Fix error message typo in CRAMLazyReferenceSource (#1532)
2e3da45 Gff3Writer provide a hook for providing a custom way to escape strings (#1528)
cc399e5 Improve CRAM BAI creation error message. (#1530)
79b3b95 adding a SamRecordFilter that inverts another filter(#1519)
f80cf0a Check base qualities before accumulating inserted bases in SamLocusIterator (#1520)
a728b34 Fix race condition in SamRecordDuplicateComparator (#1517)
b014603 Adding Locales to String.format calls (#1514)
e610af8 No longer require external call to initializeAnyploidPLIndexToAlleleIndices
(#1500)
2c99686 Fixing htsget-server docker pull (#1513)
0b57cef Updating .gitignore (#1509)
5240c40 Add support for SQ-AN in SAMSequenceDictionary #956 (#1474)
cd01700 -Make get/set attributes methods take a SAMTag input (#1472)
8a1341d Change try-finally to try-with-resources in MetricsFile.write (#1505)
f15bc9d Rename HtsjdkPath to HtsPath. (#1504)
e803eea Add HtsgetBAMFileReader (#1494)
c2aebfc BasicFastqWriter: no longer flushing on every write (#1497)
9fa41dd Fix genotype validation error message (#1499)
deebcc7 IOPath interface and HtsjdkPath implementation (#1496)
657b0a6 extend set of valid FASTA format file extensions (#1495)
870c2a2 only set wrapper version when htsjdk is root project (#1492)
7f26df5 Remove inaccurate downstream status badges (#1491)
2.23.0
This is a small release with bug fixes and improvements to Gff3 support.
New Feature Gff3Writer:
Added support for writing Gff3 files usingGff3Writer
. (#1486)
In addition there were some additional improvements to the Gff3 code. (#1480) These necessitated breaking changes to the existing APIs for Gff3 files. Since this support is very new we decided it was better to break compatibility now rather than try to maintain suboptimal design decisions going forward.
Complete Change List:
99548ce Add Gff3 Writer (#1486)
a98d3a7 Handle spaces in input strings in Tabix and SeekableStreamFactory. (#1487)
78941e4 Fixed a bug in the locus accumulator where the accumulator didn't add… (#1489)
1da947b add additional platforms (#1427)
a5620f2 Improvements and additions to Gff3 (#1480)
b4e4be0 Improve error message in AbstractRecordAndOffset (#1484)
htsjdk 2.22.0
The CRAM is finally sane release.
This release overhauls the CRAM code dramatically. This is a culmination of a long period of refactoring and improvement.
CRAM should now be considered a first class citizen of htsjdk. The implementation is now saner, safer, faster, and more complete.
We recommend users give it a try and let us know if they encounter any new problems.
Partial list of CRAM issues fixed: #1422 #1394 #1379 #1367 #1343 #1307 #1301 #1187 #1183 #1088
Compatibility
MANY classes in the package htsjdk.samtools.cram
have breaking changes when compared to 2.21.3. Anyone who is working directly with those classes will need to do substantial work to update. We believe that very few downstream users will be effected (or surprised) by this though since we declared those packages to be volatile a fairly long time ago and we haven't had any feedback. We think the number of clients of those classes is 0.
There are several small breaking changes outside of that package, but these should be low impact for most users.
Complete Change List:
709c9f8 SamLocusAndReferenceIterator fails with leading indels at the start of the reference (#1481)
bd1b739 new interface VCFReader (#1473)
4ea6fa3 Add VCFHeader.getSampleNamesInOrder javadoc (#1469)
43374aa Add another improvement to tribble error code (#1467)
1fd5062 Reduce array copying when writing vcf (#1464)
75716e0 fix a test in VCFFileReaderTest.java (#1468)
9a70c29 better tribble error message when parsing
b24c952 Fix CRAM (#1440)
htsjdk 2.21.3
This is a special small release with a single change to provide some methods to hardclip reads. It is compatible with 2.21.3.
Note that this release does not include the cram rewrite that has been merged into master. That will be released as part of a larger 2.22.0 release.
Just this change:
2bff52e Add option to hard clip read in CigarUtils (replacement for #1453) (#1461)
2.21.2
This is a small release with several new features and bug fixes.
This release is compatible with 2.21.1
New features:
-
New codec for reading GFF3 files (#1439). Htsjdk can now read General Feature Format files and produce
Gff3Features
. The GFF allows encoding complex Genomic annotations and features, like transcripts annotations, gene sets, exonic regions, etc. This is a fairly complex file type, so please let us know if you encounter any issues, or if you are interested in reading files with directives that are not yet supported in htsjdk. This code is subject to change over the next few releases if we encounter significant issues. -
The codec for interval list files now recognizes compressed .interval_list.gz files (#1458)
Complete Change List:
5445b90 SamSequenceRecord implements Locatable (#1459)
4e1363f support interval_list with gz compression (#1458)
051db91 TabixReader implements Autoclose (#1457)
bfb584e Modified numLikelihoods calculation for performance (#1447)
acf2d51 new Gff3 Tribble Codec (#1439)
75086d1 Made toIntervalList an iterator as well ... (#1455)
5a9a1ed fix resource leak in VCFFileReader.getSequenceDictionary(#1451)
5b47e37 Fix IndexFactory on non-default file system. (#1449)
3df5a35 Cleanup temp files after encountering an exception in SAMFileWriter(#1444)
a240a11 Upgrade to samtools 1.10. (#1443)
2.21.1
A small release with a bug fix to SortingCollection
and updates to the libraries we rely on for compression.
This release is compatible with 2.21.0.
Complete change list:
33988ba Improve calculation of available memory when sizing buffers in SortingCollection. (#1437)
a5335ef Install samtools and add SamtoolsUtils class. (#1434)
f3d09c8 Update snappy version to 1.1.7.3 (#1435)
3203877 Updating versions of commons-compress and xz library (#1436)
cd573e8 Update GenomicIndexUtil and TextualBAMIndexWriter for improved index debugging. (#1432)