diff --git a/package-lock.json b/package-lock.json index 4b9bf70..431709d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "skate-spots", - "version": "1.7.53", + "version": "1.7.54", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "skate-spots", - "version": "1.7.53", + "version": "1.7.54", "license": "AGPL-3.0-only", "dependencies": { "@bitcoinerlab/secp256k1": "^1.2.0", diff --git a/package.json b/package.json index 4f96ef8..d9b747f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "skate-spots", "private": true, - "version": "1.7.53", + "version": "1.7.54", "license": "AGPL-3.0-only", "type": "module", "homepage": "https://skate-spots.org", diff --git a/release-notes.txt b/release-notes.txt index 483668a..710f5c2 100644 --- a/release-notes.txt +++ b/release-notes.txt @@ -1,3 +1,20 @@ +🖼️ Image uploads are now bounded by npub, not just IP +- Blossom uploads are image-only: JPEG, PNG, WebP, AVIF, HEIC or GIF, max 10 MB. + No video uploads were added. +- A signed quota proxy now verifies the BUD-11 upload token, then enforces: + • 50 images / 250 MB per npub per day + • 3× that budget for the two relay admins + • a generous 100 images / 500 MB per IP per hour backstop + • a 20 GB relay-wide media budget with health alerts +- Uploads go through our own Blossom only. Public mirrors remain read-side + fallbacks for existing images, but can no longer silently bypass the quota. +- Clear size/type/daily-limit errors replace raw Blossom responses. +- Newlay’s own per-object cap is now 10 MB as a second line of defence. + +The private read-only admin dashboard is next; this release is the quota layer. + +--- + 🛰️ Cordn / Staircase reliability pass - Raised the embedded coordinator’s request budget (120/min → 300/min, burst 30 → 120) and concurrency (32 → 64) after finding 3,767 rate-limit