diff --git a/dat/fu.md b/dat/fu.md
index 7f0c987..72512fe 100644
--- a/dat/fu.md
+++ b/dat/fu.md
@@ -16,7 +16,7 @@ successor of [TUWF](/tuwf).
[brotli](https://brotli.org/), whichever is available.
- Includes a process supervisor with file change detection and zero-downtime
reloads.
-- Includes a [concise yet powerful schema-based input validation
+- Includes a concise yet powerful [schema-based input validation
module](/fu/man/validate).
- Includes a small but high-performance JSON encoder and decoder.
- Includes high-performance [HTML and XML generation
@@ -34,8 +34,8 @@ successor of [TUWF](/tuwf).
- Requires a C compiler and Perl development environment to build & install.
- Will not work on Windows. Is that even a downside?
- Does not work on 32-bit systems.
-- Doesn't have a fancy marketing page
-- Introductory documentation is lacking
+- Doesn't have a fancy marketing page.
+- Introductory documentation is lacking.
- "Suffers" from a healthy dose of [NIH](https://en.wikipedia.org/wiki/Not_invented_here).
Check the [description](/fu/man#description) in the documentation for more
@@ -44,7 +44,7 @@ information and details.
## Download
Latest version
-: 0.4 (2025-03-19 - [FU-0.4.tar.gz](/download/FU-0.4.tar.gz) \-
+: 0.5 (2025-04-24 - [FU-0.5.tar.gz](/download/FU-0.5.tar.gz) \-
[CPAN mirror](https://metacpan.org/release/FU))
Development version
diff --git a/dat/index.md b/dat/index.md
index a38a0b6..d63d011 100644
--- a/dat/index.md
+++ b/dat/index.md
@@ -10,6 +10,10 @@ crap I've written over the years. :)
## Announcements
+`2025-04-24` - FU 0.5 released
+: Whole bunch of fixes, slowly progressing towards making FU ready for
+ production use. [Homepage](/fu) - [Changelog](/fu/changes).
+
`2025-03-05` - ncdu 1.22 & 2.8 released
: These add support for ignoring errors in the config file and now list all
supported options in `--help`. 1.22 backports `--graph-style` and 2.8 now
diff --git a/pub/download/FU-0.5.tar.gz.asc b/pub/download/FU-0.5.tar.gz.asc
new file mode 100644
index 0000000..41d5ffc
--- /dev/null
+++ b/pub/download/FU-0.5.tar.gz.asc
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEdEYNMrgIEOupr6LpYjlMaYwnOfoFAmgKLOQACgkQYjlMaYwn
+OfpMJBAA5AjrIbG0zOXNhxfficTFDSNK3GAnh28w+7QJ7n+CFzdGLQkcrmS7vzkJ
+N2KZBM6n7BK2Q94v/ZcKJxWIZLey2LUYC9e8QOk20rvzlTWvPqdhBywwsB7e7nNW
+KsmJrs5bxRmlOOOb4nPu6BGhS5giRV4yuxfRNg6pU4xG91rP3x1sa5QCWLKBypfL
+GI0PAVqxOKwIkQaxJIfVIRF73wrlk4LbLdLtNcuxM7C5YrgMbfxJFDfrsRN+LKKX
+bLI6c6UgBdV4aCF1DQAw8iOmp6zLZQS01iEZw0aMp6o0K8qaKUI03GeOO/seFvOn
+pgCGJdiggzmy/R5mfafaIZyOCA1zjk2Up3Ul4ggQPcz2zAbLLkqZGYsltJ6drR2A
+G5ZBDetERfiNt2nQO6aWcZ7t/C6hC+l3M+bkDOjvGHB1BTxqhhyte/0XY5chVlNo
+GE3zfxvFTB0xvnReFtACDshlJ2JkQUmMZsMbP/GtEdvP7t6u1TE40zCrkwCo7pcz
+Xiuz+hzHlwyJIHGfm3b0HL5Tii37tC7lEu/yMfdGWYxvunAEIT+3kdy2+bynBvBA
+nDGQg+dtvRHuF55Xim1zvy8OCKrN4unMUU3VaW2ukuYXv/FCXEw6JYHdFAkvOkvm
+zghMBl4r5ZS4cVoFWB0fPR7hgixIDhuG+PNCR2nN+L9FzDcgTyE=
+=Ql5h
+-----END PGP SIGNATURE-----
diff --git a/pub/download/FU-0.5.tar.gz.md5 b/pub/download/FU-0.5.tar.gz.md5
new file mode 100644
index 0000000..87ddaaa
--- /dev/null
+++ b/pub/download/FU-0.5.tar.gz.md5
@@ -0,0 +1 @@
+1ec515b2a248a4ef948539471f63facb FU-0.5.tar.gz
diff --git a/pub/download/FU-0.5.tar.gz.sha1 b/pub/download/FU-0.5.tar.gz.sha1
new file mode 100644
index 0000000..c80835d
--- /dev/null
+++ b/pub/download/FU-0.5.tar.gz.sha1
@@ -0,0 +1 @@
+2300eee7f7ebce4525b273066c8be2a83f78328b FU-0.5.tar.gz
diff --git a/pub/download/FU-0.5.tar.gz.sha256 b/pub/download/FU-0.5.tar.gz.sha256
new file mode 100644
index 0000000..462fc28
--- /dev/null
+++ b/pub/download/FU-0.5.tar.gz.sha256
@@ -0,0 +1 @@
+9f6dbee128f66bd52444f755e4496b6e3bc463aaa7d0b45ff673914bd692e3a0 FU-0.5.tar.gz
diff --git a/pub/style.css b/pub/style.css
index ab78597..aa3e583 100644
--- a/pub/style.css
+++ b/pub/style.css
@@ -1,5 +1,6 @@
-* { margin: 0; padding: 0; box-sizing: border-box; font: 13px 'Georgia', 'Verdana',serif; color: #222; line-height: 1.5em }
-header li a, h1, h2, h3, h4, h5 { font-family: sans-serif }
+* { margin: 0; padding: 0; box-sizing: border-box; font: inherit; color: #222; line-height: 1.5em }
+body { font: 13px sans-serif }
+header li a, h1, h2, h3, h4, h5, header * { font-family: serif }
html, body { background: #ccc; text-align: center; height: 100%; }
#body { text-align: left; width: 802px; margin: 0 auto; background: #fff; border-left: 1px solid #aaa; border-right: 1px solid #aaa; min-height: 100%; display: flex; flex-flow: row wrap; align-items: flex-start }
@@ -31,7 +32,7 @@ header p b { display: block; margin-top: 10px; margin-bottom: 2px }
small { font-size: 9px; }
@media (min-width: 1200px) {
- * { font-size: 16px }
+ body { font-size: 15px }
#body { width: 1000px }
main { padding-right: 40px }
}
@@ -46,7 +47,7 @@ small { font-size: 9px; }
}
b, strong { font-weight: bold }
-em, i, i a, em a, span.pa { font-style: italic; font-size: inherit }
+em, i, i a, em a, span.pa { font-style: italic }
sup { font-size: 80%; font-weight: bold }
a.footnoteRef { text-decoration: none }
@@ -55,11 +56,10 @@ main h1 { font-size: 150%; color: #000; margin: 2em 0 .3em 0; text-decoration: n
main h2 { font-size: 125%; color: #000; margin: 1em 0 .3em 0; text-decoration: none }
main h3 { font-size: 120%; color: #000; margin: 1em 0 .3em 0; text-decoration: none }
main code { font-family: monospace }
-main code.Nm, main code.Fl { font-family: inherit; font-weight: bold }
+main code.Nm, main code.Fl { font-weight: bold }
main var { text-decoration: underline; white-space: nowrap }
main pre { font-family: monospace; font-size: 80%; margin: 0 0 10px 18px; display: block; padding: 0 0 0 15px; border-left: 1px dotted #999; overflow-x: auto }
main blockquote { font-size: 80%; margin: 0 0 10px 5px; display: block; padding: 0 0 0 10px; border-left: 1px dotted #999 }
-main pre * { font-size: inherit; font-family: inherit }
main p, main figure, main ul, main ol, main dl, main pre, main figure, main table, main form, main div.line-block { margin-bottom: 0.7em; margin-left: 1em }
main ul ul { margin-bottom: 0.5em }
main ul, main ol { margin-left: 2.5em }
@@ -80,7 +80,6 @@ main .Nm + .synopt { margin-left: 5px }
main section.footnotes hr { display: none }
main section.footnotes { margin: 40px 10px 10px 10px }
main section.footnotes p, main section.footnotes code { font-size: 80% }
-main section.footnotes em, main section.footnotes a { font-size: inherit }
main img.right { float: right; margin: 0 0 5px 10px }
main .sig { vertical-align: super }
@@ -93,7 +92,6 @@ main .sig, main .sig a { font-size: 9px; color: #333; text-decoration: none }
.page-dl table { margin: 0; border-collapse: collapse; }
.page-dl td { font-family: monospace; font-size: 80%; padding: 0 5px; }
.page-dl td:first-child { font-weight: bold }
-.page-dl td a { font: inherit; line-height: inherit }
.page-dl dt a:target { font-weight: bold }
.page-dl dt a[href^="#"] { display: none; text-decoration: none; font-size: 80%; }
.page-dl dt:hover a[href^="#"] { display: inline }
diff --git a/template.html b/template.html
index 0bea683..7f9763a 100644
--- a/template.html
+++ b/template.html
@@ -37,7 +37,7 @@