Commit Diff


commit - 0dc501bbaf7f4e7f9eb79a3960e120417a3a41bd
commit + 2c3db42a0ce9dd86b70286ddf644e0c5efbc2190
blob - 0e7dbb923ef4e17909bf578655bb98772fece714
blob + f516559c4a5b2d46a3f1154a97c6405216299020
--- CHANGELOG.md
+++ CHANGELOG.md
@@ -1,5 +1,20 @@
 # Changelog
 
+## [3.1.1] - 2026-08-02
+
+[compare](https://git.sr.ht/~mtmn/corpus/log/v3.1.0..v3.1.1)
+
+### Bug Fixes
+
+- Update arch diagram, deps and format ([`63ef4f6`](https://git.sr.ht/~mtmn/corpus/commit/63ef4f6f40c424687fa97f144c97d2f16cb88177))
+- Harden user lifecycle, remove dead S3 tests ([`7893c97`](https://git.sr.ht/~mtmn/corpus/commit/7893c97ef1f7ca031f7d0a23f7cddeaec3f23452))
+- Center page navigation, flake hashes ([`2fd6d79`](https://git.sr.ht/~mtmn/corpus/commit/2fd6d79901f66fd87e01490969f057e8ab56c7c8))
+
+### Housekeeping
+
+- Update spago deps ([`95b4202`](https://git.sr.ht/~mtmn/corpus/commit/95b4202f3aa9884483f4ec27297ff38b583103f5))
+- Install git-cliff in devshell ([`0dc501b`](https://git.sr.ht/~mtmn/corpus/commit/0dc501bbaf7f4e7f9eb79a3960e120417a3a41bd))
+
 ## [3.1.0] - 2026-08-02
 
 [compare](https://git.sr.ht/~mtmn/corpus/log/v3.0.0..v3.1.0)
@@ -8,6 +23,10 @@
 
 - Redo ui and add background ([`20f66d3`](https://git.sr.ht/~mtmn/corpus/commit/20f66d3e663eca1889354da880458264430f4296))
 
+### Housekeeping
+
+- Release v3.1.0 ([`9f9520a`](https://git.sr.ht/~mtmn/corpus/commit/9f9520a342c61bdd9e1a1c83f2450df405a0c5dc))
+
 ## [3.0.0] - 2026-07-14
 
 [compare](https://git.sr.ht/~mtmn/corpus/log/v2.23.1..v3.0.0)
blob - 35c7ed96ba1b802f5f33d8556a38708d92c0479a
blob + 6ca3688595bab0dd6418f5e1ff0e338e6ce15594
--- package.json
+++ package.json
@@ -1,34 +1,34 @@
 {
-	"name": "corpus",
-	"version": "3.1.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 --external:nodemailer && 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 --external:nodemailer && 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.1",
-		"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.34"
-	},
-	"dependencies": {
-		"@aws-sdk/client-s3": "^3.1101.0",
-		"@aws-sdk/s3-request-presigner": "^3.1101.0",
-		"@duckdb/node-api": "1.5.4-r.1",
-		"dotenv": "^17.4.2",
-		"nodemailer": "^6.10.1",
-		"prom-client": "^15.1.3",
-		"purescript": "^0.15.16",
-		"sharp": "^0.35.3",
-		"uuid": "^14.0.1"
-	}
+  "name": "corpus",
+  "version": "3.1.1",
+  "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 --external:nodemailer && 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 --external:nodemailer && 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.1",
+    "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.34"
+  },
+  "dependencies": {
+    "@aws-sdk/client-s3": "^3.1101.0",
+    "@aws-sdk/s3-request-presigner": "^3.1101.0",
+    "@duckdb/node-api": "1.5.4-r.1",
+    "dotenv": "^17.4.2",
+    "nodemailer": "^6.10.1",
+    "prom-client": "^15.1.3",
+    "purescript": "^0.15.16",
+    "sharp": "^0.35.3",
+    "uuid": "^14.0.1"
+  }
 }