commit - 73778ad38992db73749030e65790cfd17bad48b1
commit + 3cbe1fee9d9f3da9806e0a93a30b6dbed7b68db2
blob - d15966c0ee6714903b85a113c2324435fb01d135
blob + e92296b8b0ee763b9df758d49ecd703ca198e565
--- CHANGELOG.md
+++ CHANGELOG.md
# Changelog
+## [3.3.0] - 2026-08-09
+
+[compare](https://git.sr.ht/~mtmn/corpus/log/v3.2.0..v3.3.0)
+
+### Bug Fixes
+
+- Add api docs, reformat and update .tidyrc ([`bfaf5c8`](https://git.sr.ht/~mtmn/corpus/commit/bfaf5c8ea21f19c303e9fb6101d9e75079d5be23))
+- Rewrite elm2nix cache dir ([`73778ad`](https://git.sr.ht/~mtmn/corpus/commit/73778ad38992db73749030e65790cfd17bad48b1))
+
+### Features
+
+- Add timeouts and metadata improvements ([`a160446`](https://git.sr.ht/~mtmn/corpus/commit/a160446c6caa0bf12a69c4f70ee3e0f6e140f45c))
+
+### Housekeeping
+
+- Update elm to 0.19.2, bump deps ([`577c9ee`](https://git.sr.ht/~mtmn/corpus/commit/577c9eec7965171905c73384070f08d10f3fcc7a))
+
## [3.2.0] - 2026-08-08
[compare](https://git.sr.ht/~mtmn/corpus/log/v3.1.1..v3.2.0)
- Add scrobbles count in stats ([`df106a5`](https://git.sr.ht/~mtmn/corpus/commit/df106a5888e1d45cf0206200ede3e2fc79b51579))
+### Housekeeping
+
+- Release v3.2.0 ([`38217ef`](https://git.sr.ht/~mtmn/corpus/commit/38217ef3c221c9f7763be487075f91ec7d3755f0))
+
## [3.1.1] - 2026-08-02
[compare](https://git.sr.ht/~mtmn/corpus/log/v3.1.0..v3.1.1)
blob - f82e0c0c8ac221875ecec22b576701454e1304ab
blob + 0430ecfca74826e2c228d86d6c86332b81b3bd79
--- package.json
+++ package.json
{
- "name": "corpus",
- "version": "3.2.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": "purs-tidy check src/**/*.purs test/**/*.purs && spago test",
- "tidy": "purs-tidy format-in-place src/**/*.purs test/**/*.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.1106.0",
- "@aws-sdk/s3-request-presigner": "^3.1106.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.3.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": "purs-tidy check src/**/*.purs test/**/*.purs && spago test",
+ "tidy": "purs-tidy format-in-place src/**/*.purs test/**/*.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.1106.0",
+ "@aws-sdk/s3-request-presigner": "^3.1106.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"
+ }
}