<h2>Version 2.3.4.1 - February 03, 2018</h2>
<ul>
    <li>Fixed an issue with <tt><a href="manual.shtml#bowtie2-options-reorder">--reorder</a></tt> that caused bowtie2 to crash while reordering SAM output</li>
</ul>

<h2>Version 2.3.4 - December 29, 2017</h2>
<ul>
    <li>Fixed major issue causing corrupt SAM output when using many threads (<tt><a href="manual.shtml#bowtie2-options-p">-p/--threads</a></tt>) on certain systems.</li>
    <li>Fixed an issue whereby bowtie2 processes could overwrite each others' named pipes on HPC systems.</li>
    <li>Fixed an issue causing <tt>bowtie2-build</tt> and <tt>bowtie2-inspect</tt> to return prematurely on Windows.</li>
    <li>Fixed issues raised by compiler "sanitizers" that could potentially have caused memory corruption or undefined behavior.</li>
    <li>Added the "continuous FASTA" input format (<tt><a href="manual.shtml#bowtie2-options-F">-F</a></tt>) for aligning all the k-mers in the sequences of a FASTA file.  Useful for determining mapability of regions of the genome, and similar tasks.</li>
</ul>

<h2>Version 2.3.3.1 - October 05, 2017</h2>
<ul>
    <li>Fixed an issue causing input files to be skipped when running multi-threaded alignment</li>
    <li>Fixed an issue causing the first character of a read name to be dropped while parsing reads split across multiple input files</li>
</ul>

<h2>Version 2.3.3 - September 06, 2017</h2>
<p>From this release forward prepackaged bowtie2 binaries are now statically linked to the zlib compression library and, the recommended threading library, TBB. Users who rely on prepackaged builds are no longer required to have these packages pre-installed. As a result of the aforementioned changes legacy packages have been discontinued.</p>
<ul>
    <li><tt>bowtie2-build</tt> now supports gzip-compressed FASTA inputs</li>
    <li>New <tt><a href="manual.shtml#bowtie2-options-xeq">--xeq</a></tt> parameter for <tt>bowtie2</tt> disambiguates the 'M' CIGAR flag. When specified, matches are indicated with the <tt>=</tt> operation and mismatches with <tt>X</tt></li>
    <li>Fixed a possible infinite loop during parallel index building due to the compiler optimizing away a loop condition</li>
    <li>Added <tt><a href="manual.shtml#bowtie2-options-soft-clipped-unmapped-tlen">--soft-clipped-unmapped-tlen</a></tt> parameter for <tt>bowtie2</tt> that ignores soft-clipped bases when calculating template length (TLEN)</li>
    <li>Added support for multi-line sequences in FASTA read inputs</li>
    <li>Expanded explanation of <tt><a href="manual.shtml#bowtie2-build-opt-fields-md">MD:Z</a></tt> field in manual</li>
    <li>Fixed a crashing bug when output is redirected to a pipe</li>
    <li>Fixed ambiguity in the <tt>SEED</tt> alignment policy that sometimes caused <tt><a href="manual.shtml#bowtie2-options-N">-N</a></tt> parameter to be ignored</li>
</ul>

<h2>Version 2.3.2 - May 05, 2017</h2>
<ul>
    <li>Now reports MREVERSE SAM flag for unaligned end when only one end of a pair aligns</li>
    <li>Fixed issue where first character of some read names was omitted from SAM output when using tabbed input formats</li>
    <li>Added <tt><a href="manual.shtml#bowtie2-options-sam-no-qname-trunc">--sam-no-qname-trunc</a></tt> option, which causes entire read name, including spaces, to be written to SAM output.  This violates SAM specification, but can be useful in applications that immediately postprocess the SAM.</li>
    <li>Fixed compilation error caused by pointer comparison issue in aligner_result.cpp</li>
    <li>Removed termcap and readline dependencies introduced in v2.3.1</li>
    <li>Fixed compilation issues caused by gzbuffer function when compiling with zlib v1.2.3.5 and earlier. Users compiling against these libraries will use the zlib default buffer size of 8Kb when decompressing read files.</li>
    <li>Fixed issue that would cause Bowtie 2 hang when aligning FASTA inputs with more than one thread</li>
</ul>

<h2>Version 2.3.1 - Mar 03, 2017</h2>
<p>Please note that as of this release Bowtie 2 now has dependencies on zlib and readline libraries. Make sure that all dependencies are met before attempting to build from source.</p>
<ul>
    <li>Added native support for gzipped read files. The wrapper script is no longer responsible for decompression.  This simplifies the wrapper and improves speed and thread scalability for gzipped inputs.</li>
    <li>Fixed a bug that caused <tt>bowtie2-build</tt> to crash when the first FASTA sequence contains all Ns.</li>
    <li>Add support for interleaved FASTQ format <tt><a href="manual.shtml#bowtie2-options-interleaved">-—interleaved</a></tt>.</li>
    <li>Empty FASTQ inputs would yield an error in Bowtie 2 2.3.0, whereas previous versions would simply align 0 reads and report the SAM header as usual. This version returns to the pre-2.3.0 behavior, resolving a compatibility issue between TopHat2 and Bowtie 2 2.3.0.</li>
    <li>Fixed a bug whereby combining <tt><a href="manual.shtml#bowtie2-options-un-conc">-—un-conc</a></tt> with <tt><a href="manual.shtml#bowtie2-options-k">-k</a></tt> or <tt><a href="manual.shtml#bowtie2-build-options-a">-a</a></tt> would cause <tt>bowtie2</tt> to print duplicate reads in one or both of the <tt><a href="manual.shtml#bowtie2-options-un-conc">--un-conc*</a></tt> output files, causing the ends to be misaligned.</li>
    <li>The default <tt><a href="manual.shtml#bowtie2-options-score-min">--score-min</a></tt> for <tt><a href="manual.shtml#bowtie2-options-local">--local</a></tt> mode is now <tt>'G,20,8'</tt>. That was the stated default in the documentation for a while, but the actual default was <tt>'G,0,10'</tt> for many versions. Now the default matches the documentation and, we find, yields more accurate alignments than <tt>'G,0,10'</tt></li>
</ul>

<h2>Version 2.3.0 - Dec 13, 2016</h2>
<p>This is a major release with some larger and many smaller changes. These notes emphasize the large changes. See commit history for details.</p>
<ul>
    <li>Code related to read parsing was completely rewritten to improve scalability to many threads. In short, the critical section is simpler and parses input reads in batches rather than one at a time. The improvement applies to all read formats.</li>
    <li>TBB is now the default threading library. We consistently found TBB to give superior thread scaling. It is widely available and widely installed. That said, we are also preserving a "legacy" version of Bowtie that, like previous releases, does not use TBB.  To compile Bowtie source in legacy mode use <tt>NO_TBB=1</tt>.  To  use legacy binaries, download the appropriate binary archive with "legacy" in the name.</li>
    <li>Bowtie now uses a queue-based lock rather than a spin or heavyweight lock. We find this gives superior thread scaling; we saw an order-of-magnitude throughput improvements at 120 threads in one experiment, for example.</li>
    <li>Unnecessary thread synchronization removed</li>
    <li>Fixed issue with parsing FASTA records with greater-than symbol in the name</li>
    <li>Now detects and reports inconsistencies between <tt><a href="manual.shtml#bowtie2-options-score-min">--score-min</a></tt> and <tt><a href="manual.shtml#bowtie2-options-ma">--ma</a></tt></li>
    <li>Changed default for <tt><a href="manual.shtml#bowtie2-build-options-bmaxdivn">--bmaxdivn</a></tt> to yield better memory footprint and running time when building an index with many threads</li>
</ul>
