Commit Diff


commit - c3e357738ce258a36b6bd7f1990ebdadf32d56e8
commit + c4b7ce378af0cfffac7da1830a9a4f093e9e449c
blob - 9d9efbdf1e5166d945c4204918d26ed97b4fad3b
blob + 8106282b25e82ef9717007037a6a040720b55dfa
--- CHANGELOG.md
+++ CHANGELOG.md
@@ -1,5 +1,17 @@
 # Changelog
 
+## [2.20.0] - 2026-06-15
+
+[compare](https://git.sr.ht/~mtmn/corpus/log/v2.19.0..v2.20.0)
+
+### Documentation
+
+- Add build badge to readme ([`b270f65`](https://git.sr.ht/~mtmn/corpus/commit/b270f65a8e058513fa627632dbf19c10fbc18831))
+
+### Features
+
+- **nix:** Update to node26, cleanup flake.nix ([`c3e3577`](https://git.sr.ht/~mtmn/corpus/commit/c3e357738ce258a36b6bd7f1990ebdadf32d56e8))
+
 ## [2.19.0] - 2026-06-08
 
 [compare](https://git.sr.ht/~mtmn/corpus/log/v2.18.1..v2.19.0)
@@ -8,6 +20,10 @@
 
 - **cache:** Generate presigned URLs for covers ([`b7a2afe`](https://git.sr.ht/~mtmn/corpus/commit/b7a2afe9432db697e6ef4b7838e83490a335583e))
 
+### Housekeeping
+
+- Release v2.19.0 ([`bd34fb0`](https://git.sr.ht/~mtmn/corpus/commit/bd34fb0f2b3f4a38641d10832d87356025c4cb58))
+
 ## [2.18.1] - 2026-06-06
 
 [compare](https://git.sr.ht/~mtmn/corpus/log/v2.18.0..v2.18.1)
blob - 1ece51a85427e30d0452dac5cb1ae49cb6d7b653
blob + f1b58942d6486c55d7e43930166f12608063483d
--- package.json
+++ package.json
@@ -1,33 +1,33 @@
 {
-	"name": "corpus",
-	"version": "2.19.0",
-	"description": "ListenBrainz and Last.fm frontend",
-	"main": "index.js",
-	"type": "module",
-	"scripts": {
-		"build": "spago build && esbuild output/Main/index.js --bundle --platform=node --format=esm --footer:js='main();' --outfile=server.js --external:http --external:https --external:dotenv --external:url --external:@duckdb/node-api --external:@aws-sdk/client-s3 --external:@aws-sdk/s3-request-presigner --external:prom-client --external:sharp --external:uuid && elm make src/Client.elm --output=client.js",
-		"release": "spago build && purs-backend-es build && esbuild output-es/Main/index.js --bundle --platform=node --format=esm --footer:js='main();' --outfile=server.js --external:http --external:https --external:dotenv --external:url --external:@duckdb/node-api --external:@aws-sdk/client-s3 --external:@aws-sdk/s3-request-presigner --external:prom-client --external:sharp --external:uuid && elm make src/Client.elm --optimize --output=client.js && uglifyjs client.js --compress \"pure_funcs=[F2,F3,F4,F5,F6,F7,F8,F9,A2,A3,A4,A5,A6,A7,A8,A9],pure_getters,keep_fargs=false,unsafe_comps,unsafe\" | uglifyjs --mangle --output client.js",
-		"test": "spago test",
-		"tidy": "purs-tidy format-in-place src/**/*.purs"
-	},
-	"devDependencies": {
-		"esbuild": "^0.28.0",
-		"purescript-language-server": "^0.18.5",
-		"purescript-psa": "^0.9.0",
-		"purs-backend-es": "^1.4.3",
-		"purs-tidy": "^0.11.1",
-		"spago": "^1.0.4",
-		"uglify-js": "^3.19.3",
-		"whine": "^0.0.33"
-	},
-	"dependencies": {
-		"@aws-sdk/client-s3": "^3.1061.0",
-		"@aws-sdk/s3-request-presigner": "^3.1063.0",
-		"@duckdb/node-api": "1.5.2-r.2",
-		"dotenv": "^17.4.2",
-		"prom-client": "^15.1.3",
-		"purescript": "^0.15.16",
-		"sharp": "^0.34.5",
-		"uuid": "^14.0.0"
-	}
+  "name": "corpus",
+  "version": "2.20.0",
+  "description": "ListenBrainz and Last.fm frontend",
+  "main": "index.js",
+  "type": "module",
+  "scripts": {
+    "build": "spago build && esbuild output/Main/index.js --bundle --platform=node --format=esm --footer:js='main();' --outfile=server.js --external:http --external:https --external:dotenv --external:url --external:@duckdb/node-api --external:@aws-sdk/client-s3 --external:@aws-sdk/s3-request-presigner --external:prom-client --external:sharp --external:uuid && elm make src/Client.elm --output=client.js",
+    "release": "spago build && purs-backend-es build && esbuild output-es/Main/index.js --bundle --platform=node --format=esm --footer:js='main();' --outfile=server.js --external:http --external:https --external:dotenv --external:url --external:@duckdb/node-api --external:@aws-sdk/client-s3 --external:@aws-sdk/s3-request-presigner --external:prom-client --external:sharp --external:uuid && elm make src/Client.elm --optimize --output=client.js && uglifyjs client.js --compress \"pure_funcs=[F2,F3,F4,F5,F6,F7,F8,F9,A2,A3,A4,A5,A6,A7,A8,A9],pure_getters,keep_fargs=false,unsafe_comps,unsafe\" | uglifyjs --mangle --output client.js",
+    "test": "spago test",
+    "tidy": "purs-tidy format-in-place src/**/*.purs"
+  },
+  "devDependencies": {
+    "esbuild": "^0.28.0",
+    "purescript-language-server": "^0.18.5",
+    "purescript-psa": "^0.9.0",
+    "purs-backend-es": "^1.4.3",
+    "purs-tidy": "^0.11.1",
+    "spago": "^1.0.4",
+    "uglify-js": "^3.19.3",
+    "whine": "^0.0.33"
+  },
+  "dependencies": {
+    "@aws-sdk/client-s3": "^3.1061.0",
+    "@aws-sdk/s3-request-presigner": "^3.1063.0",
+    "@duckdb/node-api": "1.5.2-r.2",
+    "dotenv": "^17.4.2",
+    "prom-client": "^15.1.3",
+    "purescript": "^0.15.16",
+    "sharp": "^0.34.5",
+    "uuid": "^14.0.0"
+  }
 }