From e0d76c1ded8dc709b43a3df8155814a909117f85 Mon Sep 17 00:00:00 2001 From: Kellen Murphy Date: Tue, 30 Jun 2026 18:18:51 -0400 Subject: [PATCH 1/8] chore(deps): bump pako from 2.2.0 to 3.0.0 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index e30de62..7c488c4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "name": "samlguy", "version": "1.5.2", "dependencies": { - "pako": "^2.2.0" + "pako": "^3.0.0" }, "devDependencies": { "@eslint/js": "^10.0.1", @@ -4565,9 +4565,9 @@ } }, "node_modules/pako": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.2.0.tgz", - "integrity": "sha512-zJq6RP/5q+TO2OpFV3FHzlPnFjmkb7Nc99a5SNjJE+uu/PkpChs+NIZSSzbBoD+6kjiISXjfYdwj1ZRQ81dz/w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-3.0.0.tgz", + "integrity": "sha512-TGPtlCI1pSUSbkOIxOUUHNrBa0muz4mAp32cYUF3RoSa5c73jiQTKOKo22gaa4DxLggQrda/DAdax5QkcHPvYA==", "funding": [ { "type": "github", diff --git a/package.json b/package.json index 4008472..edb196b 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "wrangler": "^4.105.0" }, "dependencies": { - "pako": "^2.2.0" + "pako": "^3.0.0" }, "overrides": { "cookie": "^0.7.0", From 5207c40aa4d44faef86339b9ca5e642739257cdf Mon Sep 17 00:00:00 2001 From: Kellen Murphy Date: Tue, 30 Jun 2026 18:19:10 -0400 Subject: [PATCH 2/8] chore(deps-dev): bump @tailwindcss/vite from 4.3.1 to 4.3.2 --- package-lock.json | 136 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 69 insertions(+), 69 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7c488c4..b2ea614 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@sveltejs/adapter-cloudflare": "^7.2.9", "@sveltejs/kit": "^2.68.0", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tailwindcss/vite": "^4.3.1", + "@tailwindcss/vite": "^4.3.2", "@types/node": "^26.0.1", "@types/pako": "^2.0.4", "@vitest/coverage-v8": "^4.1.9", @@ -2204,9 +2204,9 @@ } }, "node_modules/@tailwindcss/node": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.1.tgz", - "integrity": "sha512-6NDaqRoAMSXD1mr/RXu0HBvNE9a2n5tHPsxu9XHLws8o4Twes5rBM2205SUUiJ9goAtadrN6xTGX0UDEwp/N4A==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.2.tgz", + "integrity": "sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==", "dev": true, "license": "MIT", "dependencies": { @@ -2216,37 +2216,37 @@ "lightningcss": "1.32.0", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", - "tailwindcss": "4.3.1" + "tailwindcss": "4.3.2" } }, "node_modules/@tailwindcss/oxide": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.1.tgz", - "integrity": "sha512-yVPyo8RNkabVr3O2EhHEE0Rewu7YKzc1DhIqfL46LKveFrmu9XbDazNOJY7/GRuvw1h6u3utWnR29H/p5JPlgA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.2.tgz", + "integrity": "sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag==", "dev": true, "license": "MIT", "engines": { "node": ">= 20" }, "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.3.1", - "@tailwindcss/oxide-darwin-arm64": "4.3.1", - "@tailwindcss/oxide-darwin-x64": "4.3.1", - "@tailwindcss/oxide-freebsd-x64": "4.3.1", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.1", - "@tailwindcss/oxide-linux-arm64-gnu": "4.3.1", - "@tailwindcss/oxide-linux-arm64-musl": "4.3.1", - "@tailwindcss/oxide-linux-x64-gnu": "4.3.1", - "@tailwindcss/oxide-linux-x64-musl": "4.3.1", - "@tailwindcss/oxide-wasm32-wasi": "4.3.1", - "@tailwindcss/oxide-win32-arm64-msvc": "4.3.1", - "@tailwindcss/oxide-win32-x64-msvc": "4.3.1" + "@tailwindcss/oxide-android-arm64": "4.3.2", + "@tailwindcss/oxide-darwin-arm64": "4.3.2", + "@tailwindcss/oxide-darwin-x64": "4.3.2", + "@tailwindcss/oxide-freebsd-x64": "4.3.2", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.2", + "@tailwindcss/oxide-linux-arm64-gnu": "4.3.2", + "@tailwindcss/oxide-linux-arm64-musl": "4.3.2", + "@tailwindcss/oxide-linux-x64-gnu": "4.3.2", + "@tailwindcss/oxide-linux-x64-musl": "4.3.2", + "@tailwindcss/oxide-wasm32-wasi": "4.3.2", + "@tailwindcss/oxide-win32-arm64-msvc": "4.3.2", + "@tailwindcss/oxide-win32-x64-msvc": "4.3.2" } }, "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.1.tgz", - "integrity": "sha512-SVlyf61g374l5cHyg8x9kf5xmLcOaxvOTsbsqDnSsDJaKOEFZ7GCvi84VAVGpxojYOs1+3K6M0UjXfqPU8vmOQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.2.tgz", + "integrity": "sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA==", "cpu": [ "arm64" ], @@ -2261,9 +2261,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.1.tgz", - "integrity": "sha512-hVnWLwv+e/l7c4WKyVtHVrIPvYdqWHjRB3MDIqARynzFtnQg85kmQEFCbV9Ja0VVx4xXTIiDWY60Y7iz/iNoDA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.2.tgz", + "integrity": "sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w==", "cpu": [ "arm64" ], @@ -2278,9 +2278,9 @@ } }, "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.1.tgz", - "integrity": "sha512-Cf7abu0WVgbhU7ANgPUnSAvm7nCvMweusHb8FnaHlLfv/Caq4GYaEZg7ZImzzmjx4lIAfuS8q+eLIS7A7IzxIg==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.2.tgz", + "integrity": "sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ==", "cpu": [ "x64" ], @@ -2295,9 +2295,9 @@ } }, "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.1.tgz", - "integrity": "sha512-ZZqzX2Y+GXtXXfqSfpJhDm60OoZfvLHLCgm+J7NVqgHHJjG/m9ugZI77RwTsVd4fnBJuCFP6Ae6kTJb71UdS8g==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.2.tgz", + "integrity": "sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA==", "cpu": [ "x64" ], @@ -2312,9 +2312,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.1.tgz", - "integrity": "sha512-/Ah/xik0LaMYfv9DZ0S/t4pBlBNYOcqtRwusjgovHkvT8ixueWCLyJjsaF5kQIckjb4IT8Q6K6p/iPmZMixYgg==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.2.tgz", + "integrity": "sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w==", "cpu": [ "arm" ], @@ -2329,9 +2329,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.1.tgz", - "integrity": "sha512-gqdFoVJlw444GvpnheZLHmvTzSxI/cOUUh2KSNejQjTcYkW062SVD+En0rUgD+QV91bz1XGIGtt1HJd48xUGbQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.2.tgz", + "integrity": "sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw==", "cpu": [ "arm64" ], @@ -2349,9 +2349,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.1.tgz", - "integrity": "sha512-Bwv9KwOvE0VKa86xPFif9b9c3Y1NxOV1P0gLti/IYaWEsQYZXDlxfGEtA8mdDZ7SG3wyNXAWYT5SIn3giL57oA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.2.tgz", + "integrity": "sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA==", "cpu": [ "arm64" ], @@ -2369,9 +2369,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.1.tgz", - "integrity": "sha512-Ymi8O8T15HYQdOUWUtTI6ldN0neHP85FC+Qz32xTcZ7iJXtem/x8ITev0o1e9e5rkqj4lONZfTRLvkmin1+tKg==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.2.tgz", + "integrity": "sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w==", "cpu": [ "x64" ], @@ -2389,9 +2389,9 @@ } }, "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.1.tgz", - "integrity": "sha512-M+P/91qJ6uILLw4k2G93GMDRAXj61SMvFQYt39AqvUqYgExXpLL5aepfns7sj4HiAQeolirQF9E0lzRvdf4zPQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.2.tgz", + "integrity": "sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw==", "cpu": [ "x64" ], @@ -2409,9 +2409,9 @@ } }, "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.1.tgz", - "integrity": "sha512-zsM8uOeqvVGHsAXsJxsT28ttosFahLJKCLOTUBqRAtKnVgGSRitds9T432QiT8b77Yga7JIBkulIRRlJPtYhRA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.2.tgz", + "integrity": "sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw==", "bundleDependencies": [ "@napi-rs/wasm-runtime", "@emnapi/core", @@ -2427,9 +2427,9 @@ "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.10.0", - "@emnapi/runtime": "^1.10.0", - "@emnapi/wasi-threads": "^1.2.1", + "@emnapi/core": "^1.11.1", + "@emnapi/runtime": "^1.11.1", + "@emnapi/wasi-threads": "^1.2.2", "@napi-rs/wasm-runtime": "^1.1.4", "@tybys/wasm-util": "^0.10.2", "tslib": "^2.8.1" @@ -2439,9 +2439,9 @@ } }, "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.1.tgz", - "integrity": "sha512-aiNvSq9BsVk8V513lDKlrCFAgf8qBMPZTpgEhInL+NwQqs97mYmupVMrPrgBBSL8Pv/0zXu9MrMF9rMun1ZeNg==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.2.tgz", + "integrity": "sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ==", "cpu": [ "arm64" ], @@ -2456,9 +2456,9 @@ } }, "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.1.tgz", - "integrity": "sha512-xDEyu1rg290472FEGaKHnzyDyh5QH+AlWvsU5hMoMtPpzmKlRI0jaYKCgSHDYtaQWZOYbMaduSyCwFwY4n1HmA==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.2.tgz", + "integrity": "sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ==", "cpu": [ "x64" ], @@ -2473,15 +2473,15 @@ } }, "node_modules/@tailwindcss/vite": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.3.1.tgz", - "integrity": "sha512-hItDHuIIlEV61R+faXu66s1K36aTurO/Qw0e45Vskz57gXl9pWOT6eg3zmcEui6CZXddbN7zd41bwmvag4JGwQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.3.2.tgz", + "integrity": "sha512-eHpMeX4JXfVNJDEcsouTeCBubJBTcTLigeaw/NTUW6PB5ATKKXdyonnXgTBX2VuRbjz1hjfz6C5XAhr52ImQXA==", "dev": true, "license": "MIT", "dependencies": { - "@tailwindcss/node": "4.3.1", - "@tailwindcss/oxide": "4.3.1", - "tailwindcss": "4.3.1" + "@tailwindcss/node": "4.3.2", + "@tailwindcss/oxide": "4.3.2", + "tailwindcss": "4.3.2" }, "peerDependencies": { "vite": "^5.2.0 || ^6 || ^7 || ^8" @@ -5245,9 +5245,9 @@ "license": "MIT" }, "node_modules/tailwindcss": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.1.tgz", - "integrity": "sha512-hk+TB1m+K8CYNrP6rjQaq/Y+4Zylwpa87mLYBKCunwnnQ9p+fHb7kmSfGqyEJoxF/O6CDyABWVFEafNSYKll+Q==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.2.tgz", + "integrity": "sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA==", "dev": true, "license": "MIT" }, diff --git a/package.json b/package.json index edb196b..b3629b8 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "@sveltejs/adapter-cloudflare": "^7.2.9", "@sveltejs/kit": "^2.68.0", "@sveltejs/vite-plugin-svelte": "^7.1.2", - "@tailwindcss/vite": "^4.3.1", + "@tailwindcss/vite": "^4.3.2", "@types/node": "^26.0.1", "@types/pako": "^2.0.4", "@vitest/coverage-v8": "^4.1.9", From 4b431b8a15a62a9fd67ec8c380119dba87c4cfd1 Mon Sep 17 00:00:00 2001 From: Kellen Murphy Date: Tue, 30 Jun 2026 18:19:21 -0400 Subject: [PATCH 3/8] chore(deps-dev): bump tailwindcss from 4.3.1 to 4.3.2 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index b2ea614..f44ae63 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,7 @@ "prettier-plugin-svelte": "^4.1.1", "svelte": "^5.56.4", "svelte-check": "^4.7.1", - "tailwindcss": "^4.3.1", + "tailwindcss": "^4.3.2", "typescript": "^6.0.3", "typescript-eslint": "^8.62.0", "vite": "^8.1.0", diff --git a/package.json b/package.json index b3629b8..df099d6 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "prettier-plugin-svelte": "^4.1.1", "svelte": "^5.56.4", "svelte-check": "^4.7.1", - "tailwindcss": "^4.3.1", + "tailwindcss": "^4.3.2", "typescript": "^6.0.3", "typescript-eslint": "^8.62.0", "vite": "^8.1.0", From d4b0bdd1b8210d27cf3a6bad52641f94c53ce4d7 Mon Sep 17 00:00:00 2001 From: Kellen Murphy Date: Tue, 30 Jun 2026 18:19:40 -0400 Subject: [PATCH 4/8] chore(deps-dev): bump typescript-eslint from 8.62.0 to 8.62.1 --- package-lock.json | 124 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 63 insertions(+), 63 deletions(-) diff --git a/package-lock.json b/package-lock.json index f44ae63..3f22337 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "svelte-check": "^4.7.1", "tailwindcss": "^4.3.2", "typescript": "^6.0.3", - "typescript-eslint": "^8.62.0", + "typescript-eslint": "^8.62.1", "vite": "^8.1.0", "vitest": "^4.1.9", "wrangler": "^4.105.0" @@ -2586,17 +2586,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.62.0.tgz", - "integrity": "sha512-o+mpz7EYiMzXoySXiKmzlabIvTVqUuK5yLrAedRPRDA0IpPFMUV1IXt6OqljIxX/kumN6EjUYp41Hqelh6p/Dw==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.62.1.tgz", + "integrity": "sha512-4EQM77WgVNxj7OkL/5b/D/xZsw00G577+UriYTC7JF5opcF3T2AuoeY7ueLaZgSVjSgCS6yOAJB5bRGLPSJUzA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.62.0", - "@typescript-eslint/type-utils": "8.62.0", - "@typescript-eslint/utils": "8.62.0", - "@typescript-eslint/visitor-keys": "8.62.0", + "@typescript-eslint/scope-manager": "8.62.1", + "@typescript-eslint/type-utils": "8.62.1", + "@typescript-eslint/utils": "8.62.1", + "@typescript-eslint/visitor-keys": "8.62.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" @@ -2609,7 +2609,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.62.0", + "@typescript-eslint/parser": "^8.62.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } @@ -2625,16 +2625,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.62.0.tgz", - "integrity": "sha512-dzHeT2gySzZtLDsuqxU9AkYgIsQoHAHtRBpOqM+Ofzx1Bwrd2RcCjQJ+6iQbsHOIR6NS33bF2W1k3blN1zLDrA==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.62.1.tgz", + "integrity": "sha512-sPhE4iHuJDSvoAiec+Ro8JyXw8f0ql13HFR82P99nCm9GwTEKG0KYLvDe6REk8BCXuit6vJAv/Yxg5ABaNS2rA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.62.0", - "@typescript-eslint/types": "8.62.0", - "@typescript-eslint/typescript-estree": "8.62.0", - "@typescript-eslint/visitor-keys": "8.62.0", + "@typescript-eslint/scope-manager": "8.62.1", + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/typescript-estree": "8.62.1", + "@typescript-eslint/visitor-keys": "8.62.1", "debug": "^4.4.3" }, "engines": { @@ -2650,14 +2650,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.62.0.tgz", - "integrity": "sha512-wexnCqiTg7BOGtbLDftYpRWlmLq4xfoMd7BKFR6Y75sZS3QmRKLdN3yWLhmIYgqMmP/OXWpj3H8odkb5nGURCQ==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.62.1.tgz", + "integrity": "sha512-yQ3RgY5RkSBpsNS1Bx/JQEcA24FOSdfGktoyprAr5u18390UQdtVcfnEv4nIrIshNnavlVyZBKxQwT1fIAE6cg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.62.0", - "@typescript-eslint/types": "^8.62.0", + "@typescript-eslint/tsconfig-utils": "^8.62.1", + "@typescript-eslint/types": "^8.62.1", "debug": "^4.4.3" }, "engines": { @@ -2672,14 +2672,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.62.0.tgz", - "integrity": "sha512-1lX38kNxXIRb8mEc3lbq5mdHq1Pf2+U0nFU65KfT18mtPxxl0fvjuEE92mHuXPuCtElJhOrddOpyMlM3Z0umEA==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.62.1.tgz", + "integrity": "sha512-r4d249KbQ1SFdpeStvob8Ih6aPPIzfqllPVOtvhve6ZcpuVcYo5/7zUWckKpHE7StASX4kTKZTLf0WQm/wPkcg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.62.0", - "@typescript-eslint/visitor-keys": "8.62.0" + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/visitor-keys": "8.62.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2690,9 +2690,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.62.0.tgz", - "integrity": "sha512-y2GAdB6ykaXUvuspbYnizQc4oDDz0Tz/Yc7iWrXf9mx8vm/L/0vLHCe0tS2boG96Zy+DivnVDQ9ZUEWoHqqx1g==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.62.1.tgz", + "integrity": "sha512-xadytJqX9vJVQ2fdQjkcIVigwaOJNWkpjdLt6cEQ+xPnrI1fkp+/jZE/I97k9KUjqtpd25i0HeyZf3T6dutv2g==", "dev": true, "license": "MIT", "engines": { @@ -2707,15 +2707,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.62.0.tgz", - "integrity": "sha512-+g5O3j0w2ldzC86Pv6fvbO/xhAonbJFIdf/MKQ1d30gndlsVzUOE83ldfSE15Qrl9fhFjK6AovHs5Wpp6vx86w==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.62.1.tgz", + "integrity": "sha512-aXM5xlqXiTxPibXB93cLAURfT3rlizf7uMXISCXy66Isr/9hISJx3yDsKl0L7lKa51b8JpFuNKby0/O0pEm9jg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.62.0", - "@typescript-eslint/typescript-estree": "8.62.0", - "@typescript-eslint/utils": "8.62.0", + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/typescript-estree": "8.62.1", + "@typescript-eslint/utils": "8.62.1", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, @@ -2732,9 +2732,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.62.0.tgz", - "integrity": "sha512-KvAclkktORPvM54TgLgA4z9HIV1M8zOgw9ZVNXl9f/8dLYfXYX1wkMXP7qmabpijQRV5bHJLOmoyGQbLMaUYeg==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.62.1.tgz", + "integrity": "sha512-ooCzJFaf+Hg+uG6fA3NRFGuFjlfNlDhBthbv4ZPU/0elCAFUfnyXUvf/WOpHz/jYwSmvU2GkR2LtyUfy1AxZ1Q==", "dev": true, "license": "MIT", "engines": { @@ -2746,16 +2746,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.62.0.tgz", - "integrity": "sha512-+hVbNxtW64pIcZWDPGbyaKF7vp2IBTVY5ma1blwwksrjdsbdqqEKvJWMGbBofei4F6Dovx1M0RJgoFeNu2279A==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.62.1.tgz", + "integrity": "sha512-xMcW9oP9u7fAMXYs9A65CVmtLQe2r//oXINHfi8HV+oiqhih17sbLdhXr4540YWlgpDKQdY854OL5ZrdCiQsAA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.62.0", - "@typescript-eslint/tsconfig-utils": "8.62.0", - "@typescript-eslint/types": "8.62.0", - "@typescript-eslint/visitor-keys": "8.62.0", + "@typescript-eslint/project-service": "8.62.1", + "@typescript-eslint/tsconfig-utils": "8.62.1", + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/visitor-keys": "8.62.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", @@ -2774,16 +2774,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.62.0.tgz", - "integrity": "sha512-82r66fi9zYwZ+mTq3vKgwjbZ1PVk/DJzrXFLpG6RnBbdvH8TEGVHIs9H4d2drhkOzf0syZuD/OZvvlu6GDbP4g==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.62.1.tgz", + "integrity": "sha512-sHtbPfuKNZCG+ih8SyjjucqRntSVmp8XgL5u6o9mAhiSn8ds5o/M/XdM0abweme2Tln3szOstOrZ9OXitvPh0g==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.62.0", - "@typescript-eslint/types": "8.62.0", - "@typescript-eslint/typescript-estree": "8.62.0" + "@typescript-eslint/scope-manager": "8.62.1", + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/typescript-estree": "8.62.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2798,13 +2798,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.62.0.tgz", - "integrity": "sha512-CY3uyFSRbcQv3nnSv8S0+lDftMVz6P963PoRlxrV7ew/Md564g9ut60PYzdLM5qW4jFn93GBF+Soi90ISAN+GQ==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.62.1.tgz", + "integrity": "sha512-4g3BLxfdTMy8iZG0MaBkadnlRrCJ74cQiFbyEVMrkwIoqdyaXXQM22cotDvrl4x28wgIZ9rEJRoM+mmhSJpJ1g==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.62.0", + "@typescript-eslint/types": "8.62.1", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -5414,16 +5414,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.62.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.62.0.tgz", - "integrity": "sha512-8QxXi+ZACKX0kaqO4gY8kn0RSD9gFfaHDWwjqtEN48aWCBkX4MJaufWN+c3BzlrXLOxfywDL8CaoqUwcRq4j4Q==", + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.62.1.tgz", + "integrity": "sha512-vymnnM5g0AKQDSAyfP12nMIBvgwgA42syg74kkuZ4x1VuTzwQKwc5h9rGxeShCjny5o+zWAb6OEoz7XLgrIkIw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.62.0", - "@typescript-eslint/parser": "8.62.0", - "@typescript-eslint/typescript-estree": "8.62.0", - "@typescript-eslint/utils": "8.62.0" + "@typescript-eslint/eslint-plugin": "8.62.1", + "@typescript-eslint/parser": "8.62.1", + "@typescript-eslint/typescript-estree": "8.62.1", + "@typescript-eslint/utils": "8.62.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" diff --git a/package.json b/package.json index df099d6..e6c6d25 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "svelte-check": "^4.7.1", "tailwindcss": "^4.3.2", "typescript": "^6.0.3", - "typescript-eslint": "^8.62.0", + "typescript-eslint": "^8.62.1", "vite": "^8.1.0", "vitest": "^4.1.9", "wrangler": "^4.105.0" From 57bdb731df3a6577c46296bc130424cbaf6c31a5 Mon Sep 17 00:00:00 2001 From: Kellen Murphy Date: Tue, 30 Jun 2026 18:19:49 -0400 Subject: [PATCH 5/8] chore(deps-dev): bump eslint from 10.5.0 to 10.6.0 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3f22337..91fcce9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "@types/node": "^26.0.1", "@types/pako": "^2.0.4", "@vitest/coverage-v8": "^4.1.9", - "eslint": "^10.5.0", + "eslint": "^10.6.0", "eslint-plugin-svelte": "^3.19.0", "fast-check": "^4.8.0", "globals": "^17.7.0", @@ -3372,9 +3372,9 @@ } }, "node_modules/eslint": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.5.0.tgz", - "integrity": "sha512-1y+7C+vi12bUK1IpZeaV3gsH9fHLBmPvYmPx42pvT/E9yG0IC8g3PUZZgp0+JLJl7ZDK0flc2gc+Aw9dpCvIsQ==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.6.0.tgz", + "integrity": "sha512-6lVbcqSodALYo+4ELD0heG6lFiFxnLMuLkiMi2qV8LMp54N8tE8FT1GMH+ev4Ti00nFjNze2+Su6DsV5OQW3Dg==", "dev": true, "license": "MIT", "workspaces": [ diff --git a/package.json b/package.json index e6c6d25..f9e8850 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "@types/node": "^26.0.1", "@types/pako": "^2.0.4", "@vitest/coverage-v8": "^4.1.9", - "eslint": "^10.5.0", + "eslint": "^10.6.0", "eslint-plugin-svelte": "^3.19.0", "fast-check": "^4.8.0", "globals": "^17.7.0", From 11ff75ba4402a56da1c692a603b32d0a4df1e4c8 Mon Sep 17 00:00:00 2001 From: Kellen Murphy Date: Tue, 30 Jun 2026 18:19:59 -0400 Subject: [PATCH 6/8] chore(deps-dev): bump eslint-plugin-svelte from 3.19.0 to 3.20.0 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 91fcce9..d27d143 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,7 @@ "@types/pako": "^2.0.4", "@vitest/coverage-v8": "^4.1.9", "eslint": "^10.6.0", - "eslint-plugin-svelte": "^3.19.0", + "eslint-plugin-svelte": "^3.20.0", "fast-check": "^4.8.0", "globals": "^17.7.0", "happy-dom": "^20.10.6", @@ -3431,9 +3431,9 @@ } }, "node_modules/eslint-plugin-svelte": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.19.0.tgz", - "integrity": "sha512-t3rNaZeXz4d2gG4uJyMEYfJCFKf22+SWbSizIIXIWKu4wM+XPLiMWuSSr/C5821JmFeN9ogK+eExbG+z+twyxw==", + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.20.0.tgz", + "integrity": "sha512-AElKLVt7Hjy4d7ljwhrhw9hux60DCxCNkmK8cY/aAXvjs8tpR7PvU4DlyI/SA1PaJww1gh0wPGo2pbyURuEwxQ==", "dev": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index f9e8850..bb6fe32 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "@types/pako": "^2.0.4", "@vitest/coverage-v8": "^4.1.9", "eslint": "^10.6.0", - "eslint-plugin-svelte": "^3.19.0", + "eslint-plugin-svelte": "^3.20.0", "fast-check": "^4.8.0", "globals": "^17.7.0", "happy-dom": "^20.10.6", From 822a1757d4a35de3446bb411cf7422504ddb98c9 Mon Sep 17 00:00:00 2001 From: Kellen Murphy Date: Tue, 30 Jun 2026 18:20:08 -0400 Subject: [PATCH 7/8] chore(deps-dev): bump prettier from 3.8.4 to 3.9.3 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index d27d143..ea59f5f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,7 +25,7 @@ "globals": "^17.7.0", "happy-dom": "^20.10.6", "jsdom": "^29.1.1", - "prettier": "^3.8.4", + "prettier": "^3.9.3", "prettier-plugin-svelte": "^4.1.1", "svelte": "^5.56.4", "svelte-check": "^4.7.1", @@ -4808,9 +4808,9 @@ } }, "node_modules/prettier": { - "version": "3.8.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.4.tgz", - "integrity": "sha512-N2MylSdi48+5N/6S5j+maeHbUSIzzZ5uOcX5Hm4QpV8Dkb1HFjfAKTKX6yNPJQD9AhcT3ifHNB66tWTTJDi11Q==", + "version": "3.9.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.4.tgz", + "integrity": "sha512-yWG/o/4oJfo036EKAfK6ACAoDOfHeRHx4tuxkfBZiauURiaSmYwlpOr5LQqKtIkRD2z1PLteme2WoxEnj4tHTg==", "dev": true, "license": "MIT", "bin": { diff --git a/package.json b/package.json index bb6fe32..a5cdb51 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "globals": "^17.7.0", "happy-dom": "^20.10.6", "jsdom": "^29.1.1", - "prettier": "^3.8.4", + "prettier": "^3.9.3", "prettier-plugin-svelte": "^4.1.1", "svelte": "^5.56.4", "svelte-check": "^4.7.1", From 5985d2c8a39fafbcabd2499cdf4329350277b9eb Mon Sep 17 00:00:00 2001 From: Kellen Murphy Date: Tue, 30 Jun 2026 18:35:32 -0400 Subject: [PATCH 8/8] style: apply prettier 3.9.3 formatting prettier 3.9.3 changed two formatting behaviors (long string property values no longer wrap to their own line; some double-quoted strings normalize to single quotes). Reapplied across the tree so committed code stays in sync with the formatter. Cosmetic only, no logic changes. --- .github/ISSUE_TEMPLATE/bug_report.md | 3 + CHANGELOG.md | 174 +++--- CLAUDE.md | 23 +- README.md | 15 +- SECURITY.md | 24 +- src/lib/InfoTip.svelte | 4 +- src/lib/attributes.test.ts | 7 +- src/lib/attributes.ts | 87 +-- src/lib/cert.test.ts | 13 +- src/lib/cert.ts | 20 +- src/lib/examples.test.ts | 8 +- src/lib/examples.ts | 36 +- src/lib/explanations.test.ts | 7 +- src/lib/explanations.ts | 22 +- src/lib/fuzz.test.ts | 4 +- src/lib/generic.test.ts | 7 +- src/lib/generic.ts | 6 +- src/lib/hash.test.ts | 4 +- src/lib/jwt.test.ts | 28 +- src/lib/jwt.ts | 24 +- src/lib/metadata-checks.test.ts | 4 +- src/lib/metadata.test.ts | 49 +- src/lib/metadata.ts | 30 +- src/lib/saml.test.ts | 81 ++- src/lib/saml.ts | 41 +- src/lib/xml-highlight.test.ts | 35 +- src/lib/xml-highlight.ts | 73 ++- src/routes/+layout.svelte | 18 +- src/routes/+page.svelte | 810 +++++++++++++++++++------ src/routes/api/discover/server.test.ts | 80 +-- src/routes/privacy/+page.svelte | 17 +- 31 files changed, 1174 insertions(+), 580 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index de5e751..cb8a645 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -8,12 +8,14 @@ labels: bug A clear description of the bug. **Input type** + - [ ] SAMLRequest - [ ] SAMLResponse - [ ] JWT - [ ] Other **Steps to reproduce** + 1. Paste ... 2. See ... @@ -24,6 +26,7 @@ What did you expect to see? What did you see instead? **Environment** + - Browser: - OS: diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e365a3..efa9055 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,254 +2,224 @@ ## [1.5.2](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.5.1...samlguy-v1.5.2) (2026-06-16) - ### Security -* **deps:** override ws to ^8.21.0 ([cc50d63](https://github.com/kellenmurphy/samlguy/commit/cc50d63c2b6bdb20097f7c07e2db8f6eedb1eac8)) +- **deps:** override ws to ^8.21.0 ([cc50d63](https://github.com/kellenmurphy/samlguy/commit/cc50d63c2b6bdb20097f7c07e2db8f6eedb1eac8)) ## [1.5.1](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.5.0...samlguy-v1.5.1) (2026-06-13) - ### Security -* **deps:** override esbuild to ^0.28.1 ([5dbc4ae](https://github.com/kellenmurphy/samlguy/commit/5dbc4aef3c355a7fbbf19066248df3e21ea0c019)) +- **deps:** override esbuild to ^0.28.1 ([5dbc4ae](https://github.com/kellenmurphy/samlguy/commit/5dbc4aef3c355a7fbbf19066248df3e21ea0c019)) ## [1.5.0](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.4.1...samlguy-v1.5.0) (2026-06-07) - ### Features -* link the footer to the current release version ([13f23b9](https://github.com/kellenmurphy/samlguy/commit/13f23b96673d9a660771416657dbe2eefb9452b6)) -* **metadata:** decode SAML metadata with health checks ([c26b772](https://github.com/kellenmurphy/samlguy/commit/c26b772f7b940ab9f57e5ddcfbf5f758637ef97a)) -* **metadata:** SAML metadata decoder with health checks ([74566bd](https://github.com/kellenmurphy/samlguy/commit/74566bd5bf98857965289d3e090a426f17ac166c)) - +- link the footer to the current release version ([13f23b9](https://github.com/kellenmurphy/samlguy/commit/13f23b96673d9a660771416657dbe2eefb9452b6)) +- **metadata:** decode SAML metadata with health checks ([c26b772](https://github.com/kellenmurphy/samlguy/commit/c26b772f7b940ab9f57e5ddcfbf5f758637ef97a)) +- **metadata:** SAML metadata decoder with health checks ([74566bd](https://github.com/kellenmurphy/samlguy/commit/74566bd5bf98857965289d3e090a426f17ac166c)) ### Bug Fixes & Dependencies -* **metadata:** avoid ReDoS in isMetadata detection ([d0abd2e](https://github.com/kellenmurphy/samlguy/commit/d0abd2eee3dbcc86a69c00cfb26b0a0d278739fa)) +- **metadata:** avoid ReDoS in isMetadata detection ([d0abd2e](https://github.com/kellenmurphy/samlguy/commit/d0abd2eee3dbcc86a69c00cfb26b0a0d278739fa)) ## [1.4.1](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.4.0...samlguy-v1.4.1) (2026-06-03) - ### Bug Fixes & Dependencies -* **ci:** drop unused deployments:write permission from deploy job ([#99](https://github.com/kellenmurphy/samlguy/issues/99)) ([20a61df](https://github.com/kellenmurphy/samlguy/commit/20a61df76fad8f4ba1cfba67b5ac1a0e05ca3270)) +- **ci:** drop unused deployments:write permission from deploy job ([#99](https://github.com/kellenmurphy/samlguy/issues/99)) ([20a61df](https://github.com/kellenmurphy/samlguy/commit/20a61df76fad8f4ba1cfba67b5ac1a0e05ca3270)) ## [1.4.0](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.3.7...samlguy-v1.4.0) (2026-05-28) - ### Features -* **security:** implement Content Security Policy ([#82](https://github.com/kellenmurphy/samlguy/issues/82)) ([ed26434](https://github.com/kellenmurphy/samlguy/commit/ed2643412d85686938fa3f8e98dea566db38e8e3)) +- **security:** implement Content Security Policy ([#82](https://github.com/kellenmurphy/samlguy/issues/82)) ([ed26434](https://github.com/kellenmurphy/samlguy/commit/ed2643412d85686938fa3f8e98dea566db38e8e3)) ## [1.3.7](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.3.6...samlguy-v1.3.7) (2026-05-28) - ### Bug Fixes & Dependencies -* **discover:** reject IP-literal issuers; fix CORS and logging docs ([#79](https://github.com/kellenmurphy/samlguy/issues/79)) ([67ac50e](https://github.com/kellenmurphy/samlguy/commit/67ac50e76218bf6bf0536d1dcf3154ff6c115b94)) +- **discover:** reject IP-literal issuers; fix CORS and logging docs ([#79](https://github.com/kellenmurphy/samlguy/issues/79)) ([67ac50e](https://github.com/kellenmurphy/samlguy/commit/67ac50e76218bf6bf0536d1dcf3154ff6c115b94)) ## [1.3.6](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.3.5...samlguy-v1.3.6) (2026-05-28) - ### Documentation -* **security:** correct token permissions and branch protection descriptions ([#77](https://github.com/kellenmurphy/samlguy/issues/77)) ([0fd12e1](https://github.com/kellenmurphy/samlguy/commit/0fd12e1c1247797c35ab0ad19ebb02ff4ac5fb01)) +- **security:** correct token permissions and branch protection descriptions ([#77](https://github.com/kellenmurphy/samlguy/issues/77)) ([0fd12e1](https://github.com/kellenmurphy/samlguy/commit/0fd12e1c1247797c35ab0ad19ebb02ff4ac5fb01)) ## [1.3.5](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.3.4...samlguy-v1.3.5) (2026-05-28) - ### Bug Fixes & Dependencies -* **deps-dev:** bump eslint-plugin-svelte from 3.17.1 to 3.18.0 ([#72](https://github.com/kellenmurphy/samlguy/issues/72)) ([21811a8](https://github.com/kellenmurphy/samlguy/commit/21811a84f2cc306486b3cb2b9f50613a3244d6c8)) +- **deps-dev:** bump eslint-plugin-svelte from 3.17.1 to 3.18.0 ([#72](https://github.com/kellenmurphy/samlguy/issues/72)) ([21811a8](https://github.com/kellenmurphy/samlguy/commit/21811a84f2cc306486b3cb2b9f50613a3244d6c8)) ## [1.3.4](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.3.3...samlguy-v1.3.4) (2026-05-28) - ### Bug Fixes & Dependencies -* **deps-dev:** bump svelte from 5.55.9 to 5.55.10 in the svelte group ([#71](https://github.com/kellenmurphy/samlguy/issues/71)) ([a9972cb](https://github.com/kellenmurphy/samlguy/commit/a9972cb1f5649c5dd10ae68ce27d96ad0b61441a)) +- **deps-dev:** bump svelte from 5.55.9 to 5.55.10 in the svelte group ([#71](https://github.com/kellenmurphy/samlguy/issues/71)) ([a9972cb](https://github.com/kellenmurphy/samlguy/commit/a9972cb1f5649c5dd10ae68ce27d96ad0b61441a)) ## [1.3.3](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.3.2...samlguy-v1.3.3) (2026-05-27) - ### Bug Fixes & Dependencies -* **deps-dev:** bump wrangler in the cloudflare group ([#69](https://github.com/kellenmurphy/samlguy/issues/69)) ([d65dcec](https://github.com/kellenmurphy/samlguy/commit/d65dcec70c1b9710c253407def342a1a15ae39ba)) +- **deps-dev:** bump wrangler in the cloudflare group ([#69](https://github.com/kellenmurphy/samlguy/issues/69)) ([d65dcec](https://github.com/kellenmurphy/samlguy/commit/d65dcec70c1b9710c253407def342a1a15ae39ba)) ## [1.3.2](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.3.1...samlguy-v1.3.2) (2026-05-26) - ### Bug Fixes & Dependencies -* **deps-dev:** bump typescript-eslint from 8.59.4 to 8.60.0 ([#67](https://github.com/kellenmurphy/samlguy/issues/67)) ([a15291a](https://github.com/kellenmurphy/samlguy/commit/a15291af5fbef30933bf3ed8e46d5d2e65e2ebf6)) +- **deps-dev:** bump typescript-eslint from 8.59.4 to 8.60.0 ([#67](https://github.com/kellenmurphy/samlguy/issues/67)) ([a15291a](https://github.com/kellenmurphy/samlguy/commit/a15291af5fbef30933bf3ed8e46d5d2e65e2ebf6)) ## [1.3.1](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.3.0...samlguy-v1.3.1) (2026-05-25) - ### Bug Fixes & Dependencies -* **examples:** remove incorrect POST binding query string example ([984cc30](https://github.com/kellenmurphy/samlguy/commit/984cc30a536cadfe18d84a72113f29ece2c085c9)) -* **examples:** remove incorrect POST binding query string example ([264e1ca](https://github.com/kellenmurphy/samlguy/commit/264e1ca30d3c133550064111d7230a6beec16338)) +- **examples:** remove incorrect POST binding query string example ([984cc30](https://github.com/kellenmurphy/samlguy/commit/984cc30a536cadfe18d84a72113f29ece2c085c9)) +- **examples:** remove incorrect POST binding query string example ([264e1ca](https://github.com/kellenmurphy/samlguy/commit/264e1ca30d3c133550064111d7230a6beec16338)) ## [1.3.0](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.2.7...samlguy-v1.3.0) (2026-05-25) - ### Features -* InCommon attribute annotations, Examples button, and Authorization header fix ([7b85bd5](https://github.com/kellenmurphy/samlguy/commit/7b85bd5271c323d98f26ce7879a62dd691a7e793)) -* **saml:** add InCommon R&S and eppn-scoped badge annotations to the attribute table ([13f4ae6](https://github.com/kellenmurphy/samlguy/commit/13f4ae685399e114d93977c9827bb2f13a3603e3)) -* **ui:** add attribute badge UI and Examples button with 10 dynamic payloads ([c0b1677](https://github.com/kellenmurphy/samlguy/commit/c0b1677eaf0907430e8781b98f9b9ce88b6a4b33)) - +- InCommon attribute annotations, Examples button, and Authorization header fix ([7b85bd5](https://github.com/kellenmurphy/samlguy/commit/7b85bd5271c323d98f26ce7879a62dd691a7e793)) +- **saml:** add InCommon R&S and eppn-scoped badge annotations to the attribute table ([13f4ae6](https://github.com/kellenmurphy/samlguy/commit/13f4ae685399e114d93977c9827bb2f13a3603e3)) +- **ui:** add attribute badge UI and Examples button with 10 dynamic payloads ([c0b1677](https://github.com/kellenmurphy/samlguy/commit/c0b1677eaf0907430e8781b98f9b9ce88b6a4b33)) ### Bug Fixes & Dependencies -* **jwt:** handle full Authorization: Bearer header line in decodeJwt ([a73e733](https://github.com/kellenmurphy/samlguy/commit/a73e7339687205465c6b8a03752b2beb30003d05)) - +- **jwt:** handle full Authorization: Bearer header line in decodeJwt ([a73e733](https://github.com/kellenmurphy/samlguy/commit/a73e7339687205465c6b8a03752b2beb30003d05)) ### Documentation -* update README for attribute annotations and Examples button ([c0ff7a5](https://github.com/kellenmurphy/samlguy/commit/c0ff7a54670dd35ea06310eb923e635145efa377)) +- update README for attribute annotations and Examples button ([c0ff7a5](https://github.com/kellenmurphy/samlguy/commit/c0ff7a54670dd35ea06310eb923e635145efa377)) ## [1.2.7](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.2.6...samlguy-v1.2.7) (2026-05-25) - ### Bug Fixes & Dependencies -* **deps-dev:** bump wrangler from 4.92.0 to 4.94.0 in the cloudflare group across 1 directory ([33eaa94](https://github.com/kellenmurphy/samlguy/commit/33eaa9451e5b13fc1848786bf69ed1cba6ea0fc0)) -* **deps-dev:** bump wrangler in the cloudflare group across 1 directory ([519a8f2](https://github.com/kellenmurphy/samlguy/commit/519a8f2ab8fa581427699996132ebcd50ee23d88)) +- **deps-dev:** bump wrangler from 4.92.0 to 4.94.0 in the cloudflare group across 1 directory ([33eaa94](https://github.com/kellenmurphy/samlguy/commit/33eaa9451e5b13fc1848786bf69ed1cba6ea0fc0)) +- **deps-dev:** bump wrangler in the cloudflare group across 1 directory ([519a8f2](https://github.com/kellenmurphy/samlguy/commit/519a8f2ab8fa581427699996132ebcd50ee23d88)) ## [1.2.6](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.2.5...samlguy-v1.2.6) (2026-05-25) - ### Bug Fixes & Dependencies -* **deps-dev:** bump prettier-plugin-svelte from 3.5.2 to 4.0.1 ([76302e2](https://github.com/kellenmurphy/samlguy/commit/76302e2d3ed11553c3cb09a8f3d554583a71c737)) -* **deps-dev:** bump prettier-plugin-svelte from 3.5.2 to 4.0.1 ([647c018](https://github.com/kellenmurphy/samlguy/commit/647c018f3329c65a269980330d684889b684101c)) +- **deps-dev:** bump prettier-plugin-svelte from 3.5.2 to 4.0.1 ([76302e2](https://github.com/kellenmurphy/samlguy/commit/76302e2d3ed11553c3cb09a8f3d554583a71c737)) +- **deps-dev:** bump prettier-plugin-svelte from 3.5.2 to 4.0.1 ([647c018](https://github.com/kellenmurphy/samlguy/commit/647c018f3329c65a269980330d684889b684101c)) ## [1.2.5](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.2.4...samlguy-v1.2.5) (2026-05-25) - ### Bug Fixes & Dependencies -* **deps-dev:** bump vite from 8.0.13 to 8.0.14 ([e8f3498](https://github.com/kellenmurphy/samlguy/commit/e8f349864d87b2d08da5a3e3b0d14ed47912e913)) -* **deps-dev:** bump vite from 8.0.13 to 8.0.14 ([c4f8719](https://github.com/kellenmurphy/samlguy/commit/c4f8719503494727c6196e94667cd376e842252b)) +- **deps-dev:** bump vite from 8.0.13 to 8.0.14 ([e8f3498](https://github.com/kellenmurphy/samlguy/commit/e8f349864d87b2d08da5a3e3b0d14ed47912e913)) +- **deps-dev:** bump vite from 8.0.13 to 8.0.14 ([c4f8719](https://github.com/kellenmurphy/samlguy/commit/c4f8719503494727c6196e94667cd376e842252b)) ## [1.2.4](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.2.3...samlguy-v1.2.4) (2026-05-25) - ### Bug Fixes & Dependencies -* **deps-dev:** bump typescript-eslint from 8.59.3 to 8.59.4 ([71d9d99](https://github.com/kellenmurphy/samlguy/commit/71d9d9975f68ed2fcfa1836f72f27244488f725f)) -* **deps-dev:** bump typescript-eslint from 8.59.3 to 8.59.4 ([81e6fee](https://github.com/kellenmurphy/samlguy/commit/81e6fee44eb56c1d65a2ebb03d250a0a9bebca02)) +- **deps-dev:** bump typescript-eslint from 8.59.3 to 8.59.4 ([71d9d99](https://github.com/kellenmurphy/samlguy/commit/71d9d9975f68ed2fcfa1836f72f27244488f725f)) +- **deps-dev:** bump typescript-eslint from 8.59.3 to 8.59.4 ([81e6fee](https://github.com/kellenmurphy/samlguy/commit/81e6fee44eb56c1d65a2ebb03d250a0a9bebca02)) ## [1.2.3](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.2.2...samlguy-v1.2.3) (2026-05-25) - ### Bug Fixes & Dependencies -* **deps-dev:** bump the svelte group across 1 directory with 2 updates ([ab6991f](https://github.com/kellenmurphy/samlguy/commit/ab6991f5a51b13836e621c6cb41bef7b113595db)) -* **deps-dev:** bump the svelte group across 1 directory with 2 updates ([ac95bd4](https://github.com/kellenmurphy/samlguy/commit/ac95bd43bff0ee72696a05c081fd365881faa1ed)) +- **deps-dev:** bump the svelte group across 1 directory with 2 updates ([ab6991f](https://github.com/kellenmurphy/samlguy/commit/ab6991f5a51b13836e621c6cb41bef7b113595db)) +- **deps-dev:** bump the svelte group across 1 directory with 2 updates ([ac95bd4](https://github.com/kellenmurphy/samlguy/commit/ac95bd43bff0ee72696a05c081fd365881faa1ed)) ## [1.2.2](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.2.1...samlguy-v1.2.2) (2026-05-25) - ### Bug Fixes & Dependencies -* **deps-dev:** bump vitest from 4.1.6 to 4.1.7 ([1e92ecf](https://github.com/kellenmurphy/samlguy/commit/1e92ecf83b27602c5d5b3dc04cf0cf5c139fb0e7)) -* **deps-dev:** bump vitest from 4.1.6 to 4.1.7 ([69d5ee7](https://github.com/kellenmurphy/samlguy/commit/69d5ee7f6a0269bbf06a3a390ac596b6c396bd89)) +- **deps-dev:** bump vitest from 4.1.6 to 4.1.7 ([1e92ecf](https://github.com/kellenmurphy/samlguy/commit/1e92ecf83b27602c5d5b3dc04cf0cf5c139fb0e7)) +- **deps-dev:** bump vitest from 4.1.6 to 4.1.7 ([69d5ee7](https://github.com/kellenmurphy/samlguy/commit/69d5ee7f6a0269bbf06a3a390ac596b6c396bd89)) ## [1.2.1](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.2.0...samlguy-v1.2.1) (2026-05-25) - ### Bug Fixes & Dependencies -* **deps-dev:** bump @types/node from 25.8.0 to 25.9.1 ([0b663b6](https://github.com/kellenmurphy/samlguy/commit/0b663b689d8da83664b46e5bb4a6fbce9c844546)) -* **deps-dev:** bump @types/node from 25.8.0 to 25.9.1 ([d93898f](https://github.com/kellenmurphy/samlguy/commit/d93898fdcc5c5e910151668d41ac7bbd5d626704)) +- **deps-dev:** bump @types/node from 25.8.0 to 25.9.1 ([0b663b6](https://github.com/kellenmurphy/samlguy/commit/0b663b689d8da83664b46e5bb4a6fbce9c844546)) +- **deps-dev:** bump @types/node from 25.8.0 to 25.9.1 ([d93898f](https://github.com/kellenmurphy/samlguy/commit/d93898fdcc5c5e910151668d41ac7bbd5d626704)) ## [1.2.0](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.1.2...samlguy-v1.2.0) (2026-05-16) - ### Features -* AuthnContext labels, status descriptions, XML highlighting, and shareable links ([944a870](https://github.com/kellenmurphy/samlguy/commit/944a87088f9c58bce592c1813c0adea13a9ae672)) -* **saml:** add AuthnContext labels, status descriptions, spec links, and XML line wrapping ([5551b29](https://github.com/kellenmurphy/samlguy/commit/5551b291d4dc73e46e8db825415a54570e9701f6)) -* **ui:** add XML syntax highlighting with hoverable element tooltips ([424f8a5](https://github.com/kellenmurphy/samlguy/commit/424f8a5a369e9bdaab295e0d67ef31b2762a08ec)) - +- AuthnContext labels, status descriptions, XML highlighting, and shareable links ([944a870](https://github.com/kellenmurphy/samlguy/commit/944a87088f9c58bce592c1813c0adea13a9ae672)) +- **saml:** add AuthnContext labels, status descriptions, spec links, and XML line wrapping ([5551b29](https://github.com/kellenmurphy/samlguy/commit/5551b291d4dc73e46e8db825415a54570e9701f6)) +- **ui:** add XML syntax highlighting with hoverable element tooltips ([424f8a5](https://github.com/kellenmurphy/samlguy/commit/424f8a5a369e9bdaab295e0d67ef31b2762a08ec)) ### Bug Fixes & Dependencies -* **ui:** update logo to <saml:Guy/> with white brackets ([28ec246](https://github.com/kellenmurphy/samlguy/commit/28ec246d6986448669b964f00c27cf5815e51abb)) - +- **ui:** update logo to <saml:Guy/> with white brackets ([28ec246](https://github.com/kellenmurphy/samlguy/commit/28ec246d6986448669b964f00c27cf5815e51abb)) ### Documentation -* update CLAUDE.md and README for shipped features ([f46a343](https://github.com/kellenmurphy/samlguy/commit/f46a34361863b26ca0236047854a7ac44961ad2c)) +- update CLAUDE.md and README for shipped features ([f46a343](https://github.com/kellenmurphy/samlguy/commit/f46a34361863b26ca0236047854a7ac44961ad2c)) ## [1.1.2](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.1.1...samlguy-v1.1.2) (2026-05-16) - ### Bug Fixes & Dependencies -* footer layout and CI token permissions ([07ef730](https://github.com/kellenmurphy/samlguy/commit/07ef7307cfe15984798587c4ec2ddfff73552633)) -* **ui:** stack footer attribution above links ([440b5a1](https://github.com/kellenmurphy/samlguy/commit/440b5a16d68289df926f365dbaae91d91357bcae)) +- footer layout and CI token permissions ([07ef730](https://github.com/kellenmurphy/samlguy/commit/07ef7307cfe15984798587c4ec2ddfff73552633)) +- **ui:** stack footer attribution above links ([440b5a1](https://github.com/kellenmurphy/samlguy/commit/440b5a16d68289df926f365dbaae91d91357bcae)) ## [1.1.1](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.1.0...samlguy-v1.1.1) (2026-05-16) - ### Bug Fixes & Dependencies -* **ci:** trigger CI via label instead of workflow dispatch ([347af49](https://github.com/kellenmurphy/samlguy/commit/347af49faceba4257637f24055b49aa26d875c2a)) -* **ci:** trigger CI via label; bump dev deps ([9ec17d9](https://github.com/kellenmurphy/samlguy/commit/9ec17d9bd43f5486df1df9b73efa763a20bdf368)) -* **deps:** bump dev dependencies to latest ([7fc3a22](https://github.com/kellenmurphy/samlguy/commit/7fc3a22cf3d9c9f81bb964b093eaf11925ca0a69)) +- **ci:** trigger CI via label instead of workflow dispatch ([347af49](https://github.com/kellenmurphy/samlguy/commit/347af49faceba4257637f24055b49aa26d875c2a)) +- **ci:** trigger CI via label; bump dev deps ([9ec17d9](https://github.com/kellenmurphy/samlguy/commit/9ec17d9bd43f5486df1df9b73efa763a20bdf368)) +- **deps:** bump dev dependencies to latest ([7fc3a22](https://github.com/kellenmurphy/samlguy/commit/7fc3a22cf3d9c9f81bb964b093eaf11925ca0a69)) ## [1.1.0](https://github.com/kellenmurphy/samlguy/compare/samlguy-v1.0.0...samlguy-v1.1.0) (2026-05-16) - ### Features -* add release-please for automated changelog and GitHub releases ([74ff54f](https://github.com/kellenmurphy/samlguy/commit/74ff54f10c1328b81630a285dada4b0767a14555)) - +- add release-please for automated changelog and GitHub releases ([74ff54f](https://github.com/kellenmurphy/samlguy/commit/74ff54f10c1328b81630a285dada4b0767a14555)) ### Bug Fixes & Dependencies -* automate release PR approval, merge, and CI trigger ([8dd5876](https://github.com/kellenmurphy/samlguy/commit/8dd5876cb77590857b8d2d8bb7a6f442a0e633ff)) -* automate release PR approval, merge, and CI trigger ([9e7f2f3](https://github.com/kellenmurphy/samlguy/commit/9e7f2f3ff30e45a9781d26630ca2eac61ec8d6aa)) -* **ci:** add --repo flag to gh commands in release-please workflow ([e464d81](https://github.com/kellenmurphy/samlguy/commit/e464d81027a025b419d039a6de602c75d4f5aaf3)) -* **ci:** add --repo flag to gh commands in release-please workflow ([5a4131d](https://github.com/kellenmurphy/samlguy/commit/5a4131d4dd096daab615e9dd4c489deb2c42b4f8)) -* release automation, security headers, and doc updates ([3d2c15e](https://github.com/kellenmurphy/samlguy/commit/3d2c15ed31f149c83d34a91de63f539af27adad1)) -* release automation, security headers, and doc updates ([d390500](https://github.com/kellenmurphy/samlguy/commit/d3905008857a066dcdb90aa723bf31562f220bc9)) +- automate release PR approval, merge, and CI trigger ([8dd5876](https://github.com/kellenmurphy/samlguy/commit/8dd5876cb77590857b8d2d8bb7a6f442a0e633ff)) +- automate release PR approval, merge, and CI trigger ([9e7f2f3](https://github.com/kellenmurphy/samlguy/commit/9e7f2f3ff30e45a9781d26630ca2eac61ec8d6aa)) +- **ci:** add --repo flag to gh commands in release-please workflow ([e464d81](https://github.com/kellenmurphy/samlguy/commit/e464d81027a025b419d039a6de602c75d4f5aaf3)) +- **ci:** add --repo flag to gh commands in release-please workflow ([5a4131d](https://github.com/kellenmurphy/samlguy/commit/5a4131d4dd096daab615e9dd4c489deb2c42b4f8)) +- release automation, security headers, and doc updates ([3d2c15e](https://github.com/kellenmurphy/samlguy/commit/3d2c15ed31f149c83d34a91de63f539af27adad1)) +- release automation, security headers, and doc updates ([d390500](https://github.com/kellenmurphy/samlguy/commit/d3905008857a066dcdb90aa723bf31562f220bc9)) ## [1.0.0](https://github.com/kellenmurphy/samlguy/releases/tag/v1.0.0) (2026-05-16) ### Features -* Smart input detection — paste raw base64+DEFLATE (HTTP-Redirect), raw base64 (HTTP-POST), query strings, full URLs, HTTP log lines, or `Authorization: Bearer` headers; the tool figures out what it is -* SAML decoder with summary panel (binding, message type, status, issuer, destination, ACS URL, NameID, InResponseTo, RelayState, encryption flags), timestamp math, signing certificate details (subject, issuer, key algorithm, validity), attribute statement table, and pretty-printed XML -* JWT / OIDC decoder with algorithm warnings (`alg: none` danger, HMAC weak badge), timestamp analysis, scope display, and raw header/payload JSON -* X.509 certificate parser — pure DER/ASN.1 implementation, no external library; handles RSA, EC, UTCTime, GeneralizedTime, and unknown OIDs -* OIDC Discovery — Discover button on the `iss` field fetches `.well-known/openid-configuration` server-side via Cloudflare Worker; surfaces issuer match, supported algorithms, JWKS URI, and endpoint URLs -* Shareable links — Copy link button encodes the current input into the URL fragment (`#`); the fragment never reaches the server -* InfoTip contextual help tooltips on every summary field, covering SAML spec, JWT/OIDC standards, OAuth 2.0 scopes, and common federation conventions -* Light / dark mode toggle with `localStorage` persistence -* Privacy policy page +- Smart input detection — paste raw base64+DEFLATE (HTTP-Redirect), raw base64 (HTTP-POST), query strings, full URLs, HTTP log lines, or `Authorization: Bearer` headers; the tool figures out what it is +- SAML decoder with summary panel (binding, message type, status, issuer, destination, ACS URL, NameID, InResponseTo, RelayState, encryption flags), timestamp math, signing certificate details (subject, issuer, key algorithm, validity), attribute statement table, and pretty-printed XML +- JWT / OIDC decoder with algorithm warnings (`alg: none` danger, HMAC weak badge), timestamp analysis, scope display, and raw header/payload JSON +- X.509 certificate parser — pure DER/ASN.1 implementation, no external library; handles RSA, EC, UTCTime, GeneralizedTime, and unknown OIDs +- OIDC Discovery — Discover button on the `iss` field fetches `.well-known/openid-configuration` server-side via Cloudflare Worker; surfaces issuer match, supported algorithms, JWKS URI, and endpoint URLs +- Shareable links — Copy link button encodes the current input into the URL fragment (`#`); the fragment never reaches the server +- InfoTip contextual help tooltips on every summary field, covering SAML spec, JWT/OIDC standards, OAuth 2.0 scopes, and common federation conventions +- Light / dark mode toggle with `localStorage` persistence +- Privacy policy page ### Bug Fixes & Dependencies -* Fix overscroll background flash on mobile -* Fix coverage reporters: configure lcov output in vitest config rather than CLI flag -* Fix devalue and svelte audit vulnerabilities -* Bump all dependencies to latest +- Fix overscroll background flash on mobile +- Fix coverage reporters: configure lcov output in vitest config rather than CLI flag +- Fix devalue and svelte audit vulnerabilities +- Bump all dependencies to latest ### Security -* OSSF Scorecard workflow — weekly evaluation of supply-chain security practices, results published to GitHub code scanning dashboard -* CodeQL advanced setup — `security-extended` query suite on every push and PR to `main` -* SHA-pinned GitHub Actions across all workflows -* Commit signing via SSH key (1Password agent); all commits to `main` carry verified signatures -* Property-based fuzz tests (fast-check) covering all parsers: SAML decoder, JWT decoder, X.509 DER/ASN.1 parser, generic fallback decoder -* SECURITY.md: vulnerability reporting via GitHub private advisory; full disclosure of data flow, supply chain controls, branch protection, and fuzzing approach +- OSSF Scorecard workflow — weekly evaluation of supply-chain security practices, results published to GitHub code scanning dashboard +- CodeQL advanced setup — `security-extended` query suite on every push and PR to `main` +- SHA-pinned GitHub Actions across all workflows +- Commit signing via SSH key (1Password agent); all commits to `main` carry verified signatures +- Property-based fuzz tests (fast-check) covering all parsers: SAML decoder, JWT decoder, X.509 DER/ASN.1 parser, generic fallback decoder +- SECURITY.md: vulnerability reporting via GitHub private advisory; full disclosure of data flow, supply chain controls, branch protection, and fuzzing approach ### Documentation -* MIT license +- MIT license diff --git a/CLAUDE.md b/CLAUDE.md index 6a8680b..72738c7 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -28,6 +28,7 @@ The core UX premise: paste whatever messy thing you grabbed from a log file, a n A single `