diff --git a/NEWS.md b/NEWS.md
index c3849e2..7ed0739 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,11 +1,11 @@
Release 2.29-r1283 (18 April 2025)
----------------------------------
-Notable changes:
+Notable changes to minimap2:
* New feature: added the `splice:sr` preset for short RNA-seq read alignment.
Users may use `-j` to specify known gene annotation to improve spliced
- alignment close to the ends of reads. Also added `--write-junc` and
+ alignment close to the ends of short reads. Also added `--write-junc` and
`--pass1` for 2-pass short-read RNA-seq alignment.
* Experimental feature: read splice scores from a file specified by `--spsc`
@@ -14,10 +14,24 @@ Notable changes:
* Change: adjusted the mapping quality calculation for spliced alignment.
-This release produces identical genomic long-read alignment to v2.27. Short
-genomic read alignment and the mapping quality of long RNA-seq read alignment
-may slightly differ in very rare cases. Minimap2 now supports short/long
-genomic/RNA-seq read alignment.
+ * Bugfixes: a) missing overlap alignment when base alignment is requested
+ (#969); b) incorrect summary information for long genomes (#1192); c)
+ missing parameter check for `--score-N` (#1226).
+
+ * Improvement: a) warn about absent junction files (#1229); b) report an error
+ if a wrong preset prefixed with "splice" is specified (#589).
+
+Notable changes to mappy:
+
+ * Improvement: allow passing read name (#1260)
+
+ * Improvement: exposed score for ambiguous bases (#1240)
+
+Minimap2 now supports short/long genomic/RNA-seq read alignment along with
+contig alignment and all-vs-all read overlapping. It produces identical genomic
+long-read or contig alignment to v2.27. Short genomic read alignment and the
+mapping quality of long RNA-seq read alignment may slightly differ in very rare
+cases.
(2.29: 18 April 2025, r1283)
diff --git a/README.md b/README.md
index 2017b07..e970efb 100644
--- a/README.md
+++ b/README.md
@@ -21,7 +21,7 @@ cd minimap2 && make
./minimap2 -ax splice -uf -k14 ref.fa reads.fa > aln.sam # noisy Nanopore direct RNA-seq
./minimap2 -ax splice:hq -uf ref.fa query.fa > aln.sam # PacBio Kinnex/Iso-seq (RNA-seq)
./minimap2 -ax splice --junc-bed=anno.bed12 ref.fa query.fa > aln.sam # use annotated junctions
-./minimap2 -ax splice:sr ref.fa r1.fq r2.fq > aln.sam # short-read RNA-seq (r1236+; experimental)
+./minimap2 -ax splice:sr ref.fa r1.fq r2.fq > aln.sam # short-read RNA-seq (v2.29+)
./minimap2 -ax splice:sr -j anno.bed12 ref.fa r1.fq r2.fq > aln.sam
./minimap2 -cx asm5 asm1.fa asm2.fa > aln.paf # intra-species asm-to-asm alignment
./minimap2 -x ava-pb reads.fa reads.fa > overlaps.paf # PacBio read overlap
@@ -41,7 +41,7 @@ man ./minimap2.1
- [Map long mRNA/cDNA reads](#map-long-splice)
- [Find overlaps between long reads](#long-overlap)
- [Map short genomic reads](#short-genomic)
- - [Map short RNA-seq reads (experimental & evolving)](#short-rna-seq)
+ - [Map short RNA-seq reads](#short-rna-seq)
- [Full genome/assembly alignment](#full-genome)
- [Advanced features](#advanced)
- [Working with >65535 CIGAR operations](#long-cigar)
@@ -77,8 +77,8 @@ Detailed evaluations are available from the [minimap2 paper][doi] or the
Minimap2 is optimized for x86-64 CPUs. You can acquire precompiled binaries from
the [release page][release] with:
```sh
-curl -L https://github.com/lh3/minimap2/releases/download/v2.28/minimap2-2.28_x64-linux.tar.bz2 | tar -jxvf -
-./minimap2-2.28_x64-linux/minimap2
+curl -L https://github.com/lh3/minimap2/releases/download/v2.29/minimap2-2.29_x64-linux.tar.bz2 | tar -jxvf -
+./minimap2-2.29_x64-linux/minimap2
```
If you want to compile from the source, you need to have a C compiler, GNU make
and zlib development files installed. Then type `make` in the source code
@@ -235,7 +235,7 @@ be paired if they are adjacent in the input stream and have the same name (with
the `/[0-9]` suffix trimmed if present). Single- and paired-end reads can be
mixed.
-#### Map short RNA-seq reads (experimental & evolving)
+#### Map short RNA-seq reads
```sh
minimap2 -ax splice:sr ref.fa reads-se.fq.gz > aln.sam # single-end
@@ -245,10 +245,8 @@ minimap2 -ax splice:sr -j anno.bed ref.fa r1.fq r2.fq > aln.sam # use annotatio
minimap2 -x splice:sr -j anno.bed --write-junc ref.fa r1.fq r2.fq > junc.bed
minimap2 -ax splice:sr -j anno.bed --pass1=junc.bed ref.fa r1.fq r2.fq > aln.sam
```
-The new preset `splice:sr` was added between v2.28 and v2.29. It functions
-similarly to `sr` except that it performs spliced alignment. Note that this
-functionality is ***experiemental*** and evolving. It is better not to use it
-for production.
+The new preset `splice:sr` was added in v2.29. It functions similarly to `sr`
+except that it performs spliced alignment.
#### Full genome/assembly alignment
diff --git a/cookbook.md b/cookbook.md
index 945d923..5ae6bdc 100644
--- a/cookbook.md
+++ b/cookbook.md
@@ -31,8 +31,8 @@ To acquire the data used in this cookbook and to install minimap2 and paftools,
please follow the command lines below:
```sh
# install minimap2 executables
-curl -L https://github.com/lh3/minimap2/releases/download/v2.28/minimap2-2.28_x64-linux.tar.bz2 | tar jxf -
-cp minimap2-2.28_x64-linux/{minimap2,k8,paftools.js} . # copy executables
+curl -L https://github.com/lh3/minimap2/releases/download/v2.29/minimap2-2.29_x64-linux.tar.bz2 | tar jxf -
+cp minimap2-2.29_x64-linux/{minimap2,k8,paftools.js} . # copy executables
export PATH="$PATH:"`pwd` # put the current directory on PATH
# download example datasets
curl -L https://github.com/lh3/minimap2/releases/download/v2.10/cookbook-data.tgz | tar zxf -
diff --git a/minimap.h b/minimap.h
index 24ed903..449827b 100644
--- a/minimap.h
+++ b/minimap.h
@@ -5,7 +5,7 @@
#include
#include
-#define MM_VERSION "2.28-r1281-dirty"
+#define MM_VERSION "2.29-r1283"
#define MM_F_NO_DIAG (0x001LL) // no exact diagonal hit
#define MM_F_NO_DUAL (0x002LL) // skip pairs where query name is lexicographically larger than target name
diff --git a/misc/paftools.js b/misc/paftools.js
index 79b3682..32f7212 100755
--- a/misc/paftools.js
+++ b/misc/paftools.js
@@ -1,6 +1,6 @@
#!/usr/bin/env k8
-var paftools_version = '2.28-r1230-dirty';
+var paftools_version = '2.29-r1283';
/*****************************
***** Library functions *****
diff --git a/python/mappy.pyx b/python/mappy.pyx
index 41e30d2..8efd870 100644
--- a/python/mappy.pyx
+++ b/python/mappy.pyx
@@ -3,7 +3,7 @@ from libc.stdlib cimport free
cimport cmappy
import sys
-__version__ = '2.28'
+__version__ = '2.29'
cmappy.mm_reset_timer()
diff --git a/setup.py b/setup.py
index f20deda..1cf978e 100644
--- a/setup.py
+++ b/setup.py
@@ -23,7 +23,7 @@ def readme():
setup(
name = 'mappy',
- version = '2.28',
+ version = '2.29',
url = 'https://github.com/lh3/minimap2',
description = 'Minimap2 python binding',
long_description = readme(),