diff --git a/.gitignore b/.gitignore
index d33e74a..b95af43 100644
--- a/.gitignore
+++ b/.gitignore
@@ -69,6 +69,8 @@ dat/ncdu/man/2_2.md
dat/ncdu/man/2_2.pod
dat/ncdu/man/2_3.md
dat/ncdu/man/2_3.pod
+dat/ncdu/man/2_4.md
+dat/ncdu/man/2_4.pod
dat/nginx-confgen/changes.log
dat/nginx-confgen/changes.md
dat/nginx-confgen/man.md
@@ -178,6 +180,7 @@ pub/ncdu/man/2_0.html
pub/ncdu/man/2_1.html
pub/ncdu/man/2_2.html
pub/ncdu/man/2_3.html
+pub/ncdu/man/2_4.html
pub/ncdu/scr.html
pub/nginx-confgen.html
pub/nginx-confgen/changes.html
diff --git a/Makefile b/Makefile
index 7be2feb..8283044 100644
--- a/Makefile
+++ b/Makefile
@@ -52,7 +52,8 @@ PAGES=\
"ncdu/changes.log https://g.blicky.net/ncdu.git/plain/ChangeLog?h=master Ncdu 1.x Release History"\
"ncdu/changes2.log https://g.blicky.net/ncdu.git/plain/ChangeLog?h=zig Ncdu 2.x Release History"\
"ncdu/jsonfmt.md"\
- "ncdu/man.mdoc https://g.blicky.net/ncdu.git/plain/ncdu.1?h=v2.4 Ncdu 2.4 Manual"\
+ "ncdu/man.mdoc https://g.blicky.net/ncdu.git/plain/ncdu.1?h=v2.5 Ncdu 2.5 Manual"\
+ "ncdu/man/2_4.pod https://g.blicky.net/ncdu.git/plain/ncdu.pod?h=v2.4 Ncdu 2.4 Manual"\
"ncdu/man/2_3.pod https://g.blicky.net/ncdu.git/plain/ncdu.pod?h=v2.3 Ncdu 2.3 Manual"\
"ncdu/man/2_2.pod https://g.blicky.net/ncdu.git/plain/ncdu.pod?h=v2.2 Ncdu 2.2 Manual"\
"ncdu/man/2_1.pod https://g.blicky.net/ncdu.git/plain/ncdu.pod?h=v2.1 Ncdu 2.1 Manual"\
diff --git a/dat/index.md b/dat/index.md
index 8bc9864..f1b4210 100644
--- a/dat/index.md
+++ b/dat/index.md
@@ -10,6 +10,10 @@ crap I've written over the years. :)
## Announcements
+`2024-07-24` - 2.5 released
+: Adds support for parallel scanning, improves import/export performance and
+ fixes a number of bugs. [Ncdu homepage](/ncdu) - [Changelog](/ncdu/changes).
+
`2024-07-18` - ncdc 1.24.1 released
: Just fixes a build error. [Homepage](/ncdc) - [Changelog](/ncdc/changes).
diff --git a/dat/ncdu.md b/dat/ncdu.md
index 08c7b14..9ecd669 100644
--- a/dat/ncdu.md
+++ b/dat/ncdu.md
@@ -6,18 +6,29 @@ available, but it is a useful tool even on regular desktop systems. Ncdu aims
to be fast, simple and easy to use, and should be able to run in any minimal
POSIX-like environment with ncurses installed.
+**NEWS FLASH!** Ncdu 2.5 adds support for parallel scanning, but it's not
+(yet?) enabled by default. To give it a try, run with `-t8` to scan with 8
+threads. If you're running an unusual setup, such as networked storage, odd
+filesystems, complex RAID configurations, etc, I'd love to hear about the
+performance impact of this new feature. Feedback is welcome on the [issue
+tracker](https://code.blicky.net/yorhel/ncdu/issues) or through mail @
+[projects@yorhel.nl](mailto:projects@yorhel.nl).
+
+If you want to run benchmarks, `-0 --quit-after-scan` can be useful to disable
+the browser interface, or run with `-0o/dev/null` to benchmark JSON export.
+
## Download
Static binaries
: Convenient static binaries for Linux. Download, extract and run; no
compilation or installation necessary:
- [x86](/download/ncdu-2.4-linux-x86.tar.gz) -
- [x86_64](/download/ncdu-2.4-linux-x86_64.tar.gz) -
- [ARM](/download/ncdu-2.4-linux-arm.tar.gz) -
- [AArch64](/download/ncdu-2.4-linux-aarch64.tar.gz).
+ [x86](/download/ncdu-2.5-linux-x86.tar.gz) -
+ [x86_64](/download/ncdu-2.5-linux-x86_64.tar.gz) -
+ [ARM](/download/ncdu-2.5-linux-arm.tar.gz) -
+ [AArch64](/download/ncdu-2.5-linux-aarch64.tar.gz).
Zig version (stable)
-: 2.4 (2024-04-21 - [ncdu-2.4.tar.gz](/download/ncdu-2.4.tar.gz) - [changes](/ncdu/changes2))
+: 2.5 (2024-07-24 - [ncdu-2.5.tar.gz](/download/ncdu-2.5.tar.gz) - [changes](/ncdu/changes2))
Requires Zig 0.12 or 0.13.
diff --git a/dat/ncdu/jsonfmt.md b/dat/ncdu/jsonfmt.md
index 280ea9c..8c5c20d 100644
--- a/dat/ncdu/jsonfmt.md
+++ b/dat/ncdu/jsonfmt.md
@@ -124,8 +124,11 @@ excluded
`"pattern"`
: If the path matched an exclude pattern.
- `"otherfs"`
- : If the item is on a different device/filesystem.
+ `"otherfs"` or `"othfs"`
+ : If the item is on a different device/filesystem. Every version of ncdu
+ versions recognizes `"otherfs"` when importing, but versions 1.20 or
+ 2.4 and earlier wrote `"othfs"` when exporting. Later versions
+ recognize both strings and output `"otherfs"`.
`"kernfs"`
: If the item has been excluded with `--exclude-kernfs` (since ncdu 1.15).
diff --git a/mkchangelog.pl b/mkchangelog.pl
index 5e9fe3f..53906c6 100755
--- a/mkchangelog.pl
+++ b/mkchangelog.pl
@@ -17,7 +17,7 @@ for (split /\n\n/, join '', grep !/^#/, <>) {
for (split /\r?\n\s+-\s+/) {
s/([*_\\])/\\$1/g;
- s/--/\\--/g;
+ s/--/\\--/g if !/`/;
print " - $_\n" if $_;
}
}
diff --git a/pub/download/ncdu-2.5-linux-aarch64.tar.gz.asc b/pub/download/ncdu-2.5-linux-aarch64.tar.gz.asc
new file mode 100644
index 0000000..bd7c015
--- /dev/null
+++ b/pub/download/ncdu-2.5-linux-aarch64.tar.gz.asc
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEdEYNMrgIEOupr6LpYjlMaYwnOfoFAmag70EACgkQYjlMaYwn
+OfosSxAA82Og6BKCXEdIgzB19MuLGsR6WZPPU4Iefb/OMexvlZ1JgJdEShIHMqzr
+Sv8V6yE5h9NXJLVeUFHizDf9pQipm4TVSgbYAqUQJmveJlNMYsOr2hBHxGc3oSag
+bL47EcWZIflvDoO+r5rKQNw6iY/T8eUOUeLFlCw4ZemWduf9kBoOI33lF5MmalKn
+NYNbLn8WT2K9caDWggONC8GE4tV7NQ3qg0aGWOxGFeZgOnzpg80PW52X5wGODg94
+iZG7VkeNKBYXtK8ULjpdublWpBT+xtQNyfQt3bDo9i+kyyyV7P8PSFU8TwPdc62W
+3TsM2hATGFvqbZ4XaDpQqSnnoHKBHRnkF3ZIPR4W16SFx5B/Cf+SftGVFAiGsqST
+gMt97/IuT5Pc6JNa5FTdS5BSspL+h+AW6HtU8raOIW4Yh2cl9wAZU9+dpGlB0ERR
+MaklM0/z78/obVXjbEjyPQV/6jtrnSwNn1v51KS/XZTY+/gVHsU+9p6W6DrB+uHo
+PLdEzU6hNF3Dk6Zlhtgc7KUID6TDrD0HMZVgNt1s0dSpG4/CpBUzBHe2ku/9lFqc
+E0DOWGyTuE9qH0xqqAgO2X2YG4BzCler2ecB+/lV4ADcjKX6yvykhrwZ7KzzFaAT
+TYR5Be7j04ql7+8bfnBW8NRy6AH63UwEUmc0MyfA3nsUThQkRR0=
+=Q+YH
+-----END PGP SIGNATURE-----
diff --git a/pub/download/ncdu-2.5-linux-aarch64.tar.gz.md5 b/pub/download/ncdu-2.5-linux-aarch64.tar.gz.md5
new file mode 100644
index 0000000..468f5c6
--- /dev/null
+++ b/pub/download/ncdu-2.5-linux-aarch64.tar.gz.md5
@@ -0,0 +1 @@
+3f6eca6104067f34421300ef85880dee ncdu-2.5-linux-aarch64.tar.gz
diff --git a/pub/download/ncdu-2.5-linux-aarch64.tar.gz.sha1 b/pub/download/ncdu-2.5-linux-aarch64.tar.gz.sha1
new file mode 100644
index 0000000..0d415da
--- /dev/null
+++ b/pub/download/ncdu-2.5-linux-aarch64.tar.gz.sha1
@@ -0,0 +1 @@
+c806b90b833e2acbac04cdad8efa7413af900fab ncdu-2.5-linux-aarch64.tar.gz
diff --git a/pub/download/ncdu-2.5-linux-aarch64.tar.gz.sha256 b/pub/download/ncdu-2.5-linux-aarch64.tar.gz.sha256
new file mode 100644
index 0000000..72fac7a
--- /dev/null
+++ b/pub/download/ncdu-2.5-linux-aarch64.tar.gz.sha256
@@ -0,0 +1 @@
+f8bc22e91ae557e61d93038bc5fcbcfd17f28e5ecf7532fd311378e6db8068dc ncdu-2.5-linux-aarch64.tar.gz
diff --git a/pub/download/ncdu-2.5-linux-arm.tar.gz.asc b/pub/download/ncdu-2.5-linux-arm.tar.gz.asc
new file mode 100644
index 0000000..214013f
--- /dev/null
+++ b/pub/download/ncdu-2.5-linux-arm.tar.gz.asc
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEdEYNMrgIEOupr6LpYjlMaYwnOfoFAmag70EACgkQYjlMaYwn
+OfqBDhAA0SrqRPrdSTDPZIXm4+3LdGsBjLmt/JK4ufiZy9FLYtmnv3HRkMO2vI1t
+pDJS7FGoCdmdBS5gPlqX0dQHbuggt2yjWPzRNizS2998TiCcZ73o5yCVPIMxDtO2
+wnGgNf3mPenTGsqs0rS7/cwCv/C1/cUGtLp0oIOWwRWR3Omifu69JknLxA3osNu7
+xrjhZyhi9vhI2clFt/ghSmJ70N4CnBWVwOyvPRjfdBXOKYp1wFqjmiyj6haa8Sy8
+lPFqOlCnW2i8eVAxxkeYnCV+WZDrV9VUUOFPHhDdLQ8zhedW9DbVwoyXrXRyMZYv
+ybkJgCj7RDPshesX1bcFKjWN7u8QQhBuqlDoQBwhxPVku9WIL9bd6QKSiNPiSWWW
+k8tUgry+3DgnkBlj4/M8kX8njzpb6TOhsg29qHKYmOZuK+K4PE4KoKnC5obxq+Zg
+nfLvOyqTsEqT0mzzmdsp6mKsjGzKyz4TBHXhEL38UDQs/zLCbcXobEtntT+ds1Py
+Rt9kr9VJJgSj8Lxjz+EfW8enIVriiEEbcraRGh5Sk5l3HW0m0RrfEVSJ7n0qQinU
+lUMVNZOpx0IAn9QiweaYpUFkyS+4l4T0qc23Iomb/UJ15UZ9/grD40CAwk4kfxay
+OdoScdPNRcefxiqX/4kZyXUqSlWxv/rHwh0v+GPTa4nZlN22cJ8=
+=bVRt
+-----END PGP SIGNATURE-----
diff --git a/pub/download/ncdu-2.5-linux-arm.tar.gz.md5 b/pub/download/ncdu-2.5-linux-arm.tar.gz.md5
new file mode 100644
index 0000000..584e34f
--- /dev/null
+++ b/pub/download/ncdu-2.5-linux-arm.tar.gz.md5
@@ -0,0 +1 @@
+3c25e6b11bea479851fac56a9ea7161d ncdu-2.5-linux-arm.tar.gz
diff --git a/pub/download/ncdu-2.5-linux-arm.tar.gz.sha1 b/pub/download/ncdu-2.5-linux-arm.tar.gz.sha1
new file mode 100644
index 0000000..db0d4ee
--- /dev/null
+++ b/pub/download/ncdu-2.5-linux-arm.tar.gz.sha1
@@ -0,0 +1 @@
+c817ec70e30292e696d2421e68dce712503c8f9a ncdu-2.5-linux-arm.tar.gz
diff --git a/pub/download/ncdu-2.5-linux-arm.tar.gz.sha256 b/pub/download/ncdu-2.5-linux-arm.tar.gz.sha256
new file mode 100644
index 0000000..c551ecc
--- /dev/null
+++ b/pub/download/ncdu-2.5-linux-arm.tar.gz.sha256
@@ -0,0 +1 @@
+bcae9c382bfee516ad00d2a7a8e5512d3e8c7a9059951dfaaf5be0c58819f8f6 ncdu-2.5-linux-arm.tar.gz
diff --git a/pub/download/ncdu-2.5-linux-x86.tar.gz.asc b/pub/download/ncdu-2.5-linux-x86.tar.gz.asc
new file mode 100644
index 0000000..9dd4a75
--- /dev/null
+++ b/pub/download/ncdu-2.5-linux-x86.tar.gz.asc
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEdEYNMrgIEOupr6LpYjlMaYwnOfoFAmag70EACgkQYjlMaYwn
+Ofq7vRAA62yRmfXHfhm+nRLA/DRoHK8NbVwQ73ElA4HwK+l4wF+b/jZvgWYM1xED
+DU5G6kO5u1kNbC/Ma091E52GbyhrYSftB5Zj78bR5PeTe1WF8ldRyPx04GC5z/Fw
+ByJA7+r0E57A2y6D3OVSc48hJitVsiaP0KoKuloU9ALoTrreXytbfAP3G/0ntuK0
+C9oPTvcMeR75B8Hkc7vh28CFde8yQaSX6BanJhMhmz1iwDBD+PelxFxFUkvO+rAm
+rL6wHR1sFtTlje7sGGsG5xhYVOjGp0oySgbiMoB7URjzRpAOJEdidW8nHJM8Oqe/
+u3y+kXCzEKA4XtVl+3dwkB2BHWwbjUEJAeW6Z11t9adtUr48FyP7g6BIqaQTpnZL
+4ku3PD9J/GUVPm5saQ79FiaewUErrZ3BBB+/YqpR5Ba+wDXX09n6K6PF/QMwxxJ4
+FPQEIBIrKD6j7vTSMdzsDmMo+Gvu+hEYEybTV6ig39xKqWpuTQE9imdzO7du0JAS
+/0o3VxVuPwRC42U9hFshJCjSJk4sxZZ42CxRst/7efx0TANZIk5SYTE0z/SvJfjr
+vSGdh6gcReK4nAx4C1EPXmE0eq5XE7EHPpnTNQRsX6ICRxIsUhknQlUKTCpY7IQk
+Ko+VpPIh0qyE1BKJyedrDQhhq3LghSeYrFBSmGYoW56MYvWwVsc=
+=QGRs
+-----END PGP SIGNATURE-----
diff --git a/pub/download/ncdu-2.5-linux-x86.tar.gz.md5 b/pub/download/ncdu-2.5-linux-x86.tar.gz.md5
new file mode 100644
index 0000000..4d20232
--- /dev/null
+++ b/pub/download/ncdu-2.5-linux-x86.tar.gz.md5
@@ -0,0 +1 @@
+38f212e445de3b4bf66ec10e9304fcd3 ncdu-2.5-linux-x86.tar.gz
diff --git a/pub/download/ncdu-2.5-linux-x86.tar.gz.sha1 b/pub/download/ncdu-2.5-linux-x86.tar.gz.sha1
new file mode 100644
index 0000000..a82d199
--- /dev/null
+++ b/pub/download/ncdu-2.5-linux-x86.tar.gz.sha1
@@ -0,0 +1 @@
+52fd2390b26938da836264f064a542c62f190ef8 ncdu-2.5-linux-x86.tar.gz
diff --git a/pub/download/ncdu-2.5-linux-x86.tar.gz.sha256 b/pub/download/ncdu-2.5-linux-x86.tar.gz.sha256
new file mode 100644
index 0000000..f94cab6
--- /dev/null
+++ b/pub/download/ncdu-2.5-linux-x86.tar.gz.sha256
@@ -0,0 +1 @@
+73709921e982ccc3d841bbcf4b1ef665fdac035905d04e71458d7686fcc487a2 ncdu-2.5-linux-x86.tar.gz
diff --git a/pub/download/ncdu-2.5-linux-x86_64.tar.gz.asc b/pub/download/ncdu-2.5-linux-x86_64.tar.gz.asc
new file mode 100644
index 0000000..4886110
--- /dev/null
+++ b/pub/download/ncdu-2.5-linux-x86_64.tar.gz.asc
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEdEYNMrgIEOupr6LpYjlMaYwnOfoFAmag70EACgkQYjlMaYwn
+OfolWg/+KmDQcuQNnQPVE9OTQmK/qhT6YDVAAkmAf1oqv6crApXCZGsY3fbq53U2
+5lCV+pzB5rkwVyhUAW/FeSyaHyak9Ldce+n4vfiiEXBymHm0w5DE4743w8QKTT77
+0loRahQH6Pho6xOOFUqv8AEcrlXF0hlH6WGJknewJQblWel5q4zVSl9T7tlN9UeH
++d5kBRY4wlXHl9f9xPPuCeuqVHoOYFJUj/AJFb3kWtRRMxvyfhBMJWDT27BZ7BFq
+oj/hvud2WVl+fGsnlwRUxWqZim4/VbTLSZxssr+8PZp4RFSAf7SlNWMCDKdG2FnZ
+E6CXNdNLIDgVrzMkWH2omU5tl15mFscVRFblX8nJh8opSyPFm37TXoGYzL2Nf54Z
+8RDP/abCfVsk08eoxMapKbndq9CrzKiNHixvibS88DRLWntHv5YtnqROvsT0+90O
+NC7M/CKSnW3B1gfCNdlYi258Z+dJKxgFCXeGOeLykNcT8pl1s/+cm19YS0BQmfui
+5hZFsY86on957l1iCVQfdWQrXN9meotdJqB2NBIGrRf/CJDWVW4RK7XIfVCDxZla
+IOtOKLX9Ye0SKfE0POz1elhHDB/+d5C5ChekPVL96HoOKTF5wnjBT5AHaJtgIXRi
+dLrqV23DPdOvKuW9kIC08HFxhlh3xNGm4d2f1yg7TDBUuvS2xUA=
+=V9T9
+-----END PGP SIGNATURE-----
diff --git a/pub/download/ncdu-2.5-linux-x86_64.tar.gz.md5 b/pub/download/ncdu-2.5-linux-x86_64.tar.gz.md5
new file mode 100644
index 0000000..3014315
--- /dev/null
+++ b/pub/download/ncdu-2.5-linux-x86_64.tar.gz.md5
@@ -0,0 +1 @@
+72a72e2fc4ee2b01c19443fc70829557 ncdu-2.5-linux-x86_64.tar.gz
diff --git a/pub/download/ncdu-2.5-linux-x86_64.tar.gz.sha1 b/pub/download/ncdu-2.5-linux-x86_64.tar.gz.sha1
new file mode 100644
index 0000000..a95a816
--- /dev/null
+++ b/pub/download/ncdu-2.5-linux-x86_64.tar.gz.sha1
@@ -0,0 +1 @@
+6070aafbcc2c975ba80b1b82c44edbcab68174a9 ncdu-2.5-linux-x86_64.tar.gz
diff --git a/pub/download/ncdu-2.5-linux-x86_64.tar.gz.sha256 b/pub/download/ncdu-2.5-linux-x86_64.tar.gz.sha256
new file mode 100644
index 0000000..f0fa08a
--- /dev/null
+++ b/pub/download/ncdu-2.5-linux-x86_64.tar.gz.sha256
@@ -0,0 +1 @@
+8dc33f5e9c0e22a25af361173f841c7ee2d7c75601064e979a87fef82338b277 ncdu-2.5-linux-x86_64.tar.gz
diff --git a/pub/download/ncdu-2.5.tar.gz.asc b/pub/download/ncdu-2.5.tar.gz.asc
new file mode 100644
index 0000000..158912a
--- /dev/null
+++ b/pub/download/ncdu-2.5.tar.gz.asc
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIyBAABCgAdFiEEdEYNMrgIEOupr6LpYjlMaYwnOfoFAmag70EACgkQYjlMaYwn
+OfpCQg/4r23dsmovR/5zlTQ7Iykxi0LfUhkqvfEQIPak9zzqscNf8eloukOhsBBQ
+2rUOtMy47jYB5dORkwxGa1dwugPo0TtwZkH4uSK56aegBXm00/qFjupgJdp4puLA
+dPdayopVMYBVD9h+p0yDjrJ0Knpao51llJ8e6fnaHc2YPPwUOhfoEMr95YqTaqGx
+GdoGtNqtJvVVThWzmwtmaA5dDNiwi0rTXyBGzoi8GDWL9xbSBE2v2oXdDN/kSjRT
+NrIhJBhqO992rD5gM33ToCjvj+gkM3WlnsFxbgMfWaIn8s5JUU/g2LYI9ld3SoR2
+5El4JgP27BPRA0NVQOc9OHSUbRE5TgSW/IGassLXSjE9xzntGNhOSisFwrrGedbT
+RfU8k74xwJ2pTAPm7UrgqkKaIK0a2830+gr1sU/6rX77BxwibuTpl3Z7MpS9oZGK
+l9uFOotKUiarzc+HK6oEdIRFY/tSU6b/W80UtFta3s9/e28HMLnfqyLBY6++AX19
+gozgdbB+kYKxDBkmavnYmWprlKGdFyLtBcegPEdAMl4L4mUod9tkMMbDHmQ02dRu
+TafQhAjKTNM/EkEA8WSG9k70bKwbzYdb9xjvAMz8CKcmcJYLyXxIpQ6NXou3iS+S
+4jn+BJsnSJyD0Ilwexn3/jqbaeQGM8tjPi8W+zI3CBn0WmqTlg==
+=0JGI
+-----END PGP SIGNATURE-----
diff --git a/pub/download/ncdu-2.5.tar.gz.md5 b/pub/download/ncdu-2.5.tar.gz.md5
new file mode 100644
index 0000000..e21f8ec
--- /dev/null
+++ b/pub/download/ncdu-2.5.tar.gz.md5
@@ -0,0 +1 @@
+d4d38171ffcb380a16246617ce27eb75 ncdu-2.5.tar.gz
diff --git a/pub/download/ncdu-2.5.tar.gz.sha1 b/pub/download/ncdu-2.5.tar.gz.sha1
new file mode 100644
index 0000000..83460f5
--- /dev/null
+++ b/pub/download/ncdu-2.5.tar.gz.sha1
@@ -0,0 +1 @@
+88692369d24adb099952fab441af16086526d0f5 ncdu-2.5.tar.gz
diff --git a/pub/download/ncdu-2.5.tar.gz.sha256 b/pub/download/ncdu-2.5.tar.gz.sha256
new file mode 100644
index 0000000..a05b5f0
--- /dev/null
+++ b/pub/download/ncdu-2.5.tar.gz.sha256
@@ -0,0 +1 @@
+7f49de25024abab1af1ff22b3b8542c0d158e018fe0e96074fd94b0e1e6d31a5 ncdu-2.5.tar.gz