diff --git a/docs/releases.md b/docs/releases.md
index 79cef458..140cfa80 100644
--- a/docs/releases.md
+++ b/docs/releases.md
@@ -30,6 +30,26 @@
## Version 6
+### v6.4.1
+
+Released on Mar 28, 2025
+
+#### Fixes...
+
+`klo` refers to *Keep the Light On*. In other words, basic software updates.
+
+* `klo` #3058 : Refactoring & simplify by @ildyria.
+* `fixes` #3147 : Fix S3/symlink mitigation conflation by @RickyRomero.
+* `klo` #3145 : phpstan: level 2 by @ppshobi.
+* `klo` #3161 : Composer update by @ildyria.
+* `fixes` #3164 : Fix 500 error when downloading pictures by @ildyria.
+* `klo` #3140 : Dropping Legacy path for Photo create by @ildyria.
+ > We were already rolling with the PIPE version for a while as the value was defaulted to true:
+ > `'create-photo-via-pipes' => (bool) env('PHOTO_PIPES', true),`
+ > Nobody complained so far, so bye bye old path.
+* `fixes` #3152 : Pin tailwind 4.0.6, add cursor feedback on images & others by @ildyria.
+
+
### v6.4.0
Released on Mar 23, 2025
@@ -48,7 +68,6 @@ After further thoughts, we decided to go with snake_case. This is a bit more ver
#### Changes
-`klo` refers to *Keep the Light On*. In other words, basic software updates.
`SE` refers to functionalities that are aimed at the Supporter Edition.
* `new` #3100 : feat: custom variable casing rector rule to convert camelCase vars to snake_case by @ppshobi.
diff --git a/package-lock.json b/package-lock.json
index 076d6982..64cf4aa3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -245,9 +245,9 @@
}
},
"node_modules/@astrojs/mdx": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-4.2.1.tgz",
- "integrity": "sha512-huVIR6YNtdJ233swDwj4RWCjhpUtz8wTLybPPZi5tdBFxwahMRYcGtGVEHjyUE9z+Je2LUVgQTzrPgvJi53oOQ==",
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-4.2.2.tgz",
+ "integrity": "sha512-nWDvuCPenxoxbog3YK3yVWF3Jw7Lq1+ziWSAOc9fy6zAUbPDSr2bt3c6r6+oa1ll0miCQByj5UVts6eJvN/y+g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -317,9 +317,9 @@
}
},
"node_modules/@astrojs/tailwind": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/@astrojs/tailwind/-/tailwind-6.0.1.tgz",
- "integrity": "sha512-jYrqG6dXwRnS3xUcRIoeYGFB2L2SISuTNaqMMFp0otW55HQ4fhiz941VaE9EVbs49tF2+1aAZCT3xgt2l/j5tQ==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/@astrojs/tailwind/-/tailwind-6.0.2.tgz",
+ "integrity": "sha512-j3mhLNeugZq6A8dMNXVarUa8K6X9AW+QHU9u3lKNrPLMHhOQ0S7VeWhHwEeJFpEK1BTKEUY1U78VQv2gN6hNGg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -450,12 +450,12 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.26.10",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.10.tgz",
- "integrity": "sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==",
+ "version": "7.27.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz",
+ "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==",
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.26.10"
+ "@babel/types": "^7.27.0"
},
"bin": {
"parser": "bin/babel-parser.js"
@@ -465,9 +465,9 @@
}
},
"node_modules/@babel/types": {
- "version": "7.26.10",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz",
- "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==",
+ "version": "7.27.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz",
+ "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==",
"license": "MIT",
"dependencies": {
"@babel/helper-string-parser": "^7.25.9",
@@ -2322,16 +2322,6 @@
"node": ">=10.13.0"
}
},
- "node_modules/@types/acorn": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz",
- "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "*"
- }
- },
"node_modules/@types/css-tree": {
"version": "2.3.10",
"resolved": "https://registry.npmjs.org/@types/css-tree/-/css-tree-2.3.10.tgz",
@@ -2380,9 +2370,9 @@
}
},
"node_modules/@types/estree": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
- "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
+ "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==",
"license": "MIT"
},
"node_modules/@types/estree-jsx": {
@@ -2994,9 +2984,9 @@
}
},
"node_modules/astro": {
- "version": "5.5.4",
- "resolved": "https://registry.npmjs.org/astro/-/astro-5.5.4.tgz",
- "integrity": "sha512-rc9Mj6dIKM9ylTSQ0/S1l5f1iSDNs0PEjRMnvVpZ0W+wfBCu99JEuXy+fiWDNT6gf60bC4dKQehZxZGdSJB9kg==",
+ "version": "5.5.5",
+ "resolved": "https://registry.npmjs.org/astro/-/astro-5.5.5.tgz",
+ "integrity": "sha512-fdnnK5dhWNIQT/cXzvaGs9il4T5noi4jafobdntbuNOrRxI1JnOxDfrtBadUo6cknCRCFhYrXh4VndCqj1a4Sg==",
"license": "MIT",
"dependencies": {
"@astrojs/compiler": "^2.11.0",
@@ -3048,7 +3038,7 @@
"unist-util-visit": "^5.0.0",
"unstorage": "^1.15.0",
"vfile": "^6.0.3",
- "vite": "^6.2.1",
+ "vite": "^6.2.3",
"vitefu": "^1.0.6",
"xxhash-wasm": "^1.1.0",
"yargs-parser": "^21.1.1",
@@ -3090,9 +3080,9 @@
}
},
"node_modules/astro-auto-import/node_modules/@types/node": {
- "version": "18.19.81",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.81.tgz",
- "integrity": "sha512-7KO9oZ2//ivtSsryp0LQUqq79zyGXzwq1WqfywpC9ucjY7YyltMMmxWgtRFRKCxwa7VPxVBVy4kHf5UC1E8Lug==",
+ "version": "18.19.84",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.84.tgz",
+ "integrity": "sha512-ACYy2HGcZPHxEeWTqowTF7dhXN+JU1o7Gr4b41klnn6pj2LD6rsiGqSZojMdk1Jh2ys3m76ap+ae1vvE4+5+vg==",
"license": "MIT",
"dependencies": {
"undici-types": "~5.26.4"
@@ -4421,9 +4411,9 @@
"license": "MIT"
},
"node_modules/electron-to-chromium": {
- "version": "1.5.123",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.123.tgz",
- "integrity": "sha512-refir3NlutEZqlKaBLK0tzlVLe5P2wDKS7UQt/3SpibizgsRAPOsqQC3ffw1nlv3ze5gjRQZYHoPymgVZkplFA==",
+ "version": "1.5.128",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.128.tgz",
+ "integrity": "sha512-bo1A4HH/NS522Ws0QNFIzyPcyUUNV/yyy70Ho1xqfGYzPUme2F/xr4tlEOuM6/A538U1vDA7a4XfCd1CKRegKQ==",
"dev": true,
"license": "ISC"
},
@@ -8045,9 +8035,9 @@
}
},
"node_modules/micromark-extension-mdx-expression": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz",
- "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz",
+ "integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==",
"dev": true,
"funding": [
{
@@ -8072,13 +8062,12 @@
}
},
"node_modules/micromark-extension-mdx-jsx": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.1.tgz",
- "integrity": "sha512-vNuFb9czP8QCtAQcEJn0UJQJZA8Dk6DXKBqx+bg/w0WGuSxDxNr7hErW89tHUY31dUW4NqEOWwmEUNhjTFmHkg==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz",
+ "integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@types/acorn": "^4.0.0",
"@types/estree": "^1.0.0",
"devlop": "^1.0.0",
"estree-util-is-identifier-name": "^3.0.0",
@@ -8196,9 +8185,9 @@
}
},
"node_modules/micromark-factory-mdx-expression": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.2.tgz",
- "integrity": "sha512-5E5I2pFzJyg2CtemqAbcyCktpHXuJbABnsb32wX2U8IQKhhVFBqkcZR5LRm1WVoFqa4kTueZK4abep7wdo9nrw==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz",
+ "integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==",
"dev": true,
"funding": [
{
@@ -8425,9 +8414,9 @@
"license": "MIT"
},
"node_modules/micromark-util-events-to-acorn": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz",
- "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz",
+ "integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==",
"dev": true,
"funding": [
{
@@ -8441,7 +8430,6 @@
],
"license": "MIT",
"dependencies": {
- "@types/acorn": "^4.0.0",
"@types/estree": "^1.0.0",
"@types/unist": "^3.0.0",
"devlop": "^1.0.0",
@@ -9376,9 +9364,9 @@
"license": "MIT"
},
"node_modules/pirates": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz",
- "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==",
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz",
+ "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -10404,6 +10392,12 @@
"fsevents": "~2.3.2"
}
},
+ "node_modules/rollup/node_modules/@types/estree": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
+ "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
+ "license": "MIT"
+ },
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -11558,9 +11552,9 @@
}
},
"node_modules/type-fest": {
- "version": "4.37.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.37.0.tgz",
- "integrity": "sha512-S/5/0kFftkq27FPNye0XM1e2NsnoD/3FS+pBmbjmmtLT6I+i344KoOf7pvXreaFsDamWeaJX55nczA1m5PsBDg==",
+ "version": "4.38.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.38.0.tgz",
+ "integrity": "sha512-2dBz5D5ycHIoliLYLi0Q2V7KRaDlH0uWIvmk7TYlAg5slqwiPv1ezJdZm1QEM0xgk29oYWMCbIG7E6gHpvChlg==",
"license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=16"
@@ -12149,9 +12143,9 @@
}
},
"node_modules/vite": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.2.tgz",
- "integrity": "sha512-yW7PeMM+LkDzc7CgJuRLMW2Jz0FxMOsVJ8Lv3gpgW9WLcb9cTW+121UEr1hvmfR7w3SegR5ItvYyzVz1vxNJgQ==",
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.3.tgz",
+ "integrity": "sha512-IzwM54g4y9JA/xAeBPNaDXiBF8Jsgl3VBQ2YQ/wOY6fyW3xMdSoltIV3Bo59DErdqdE6RxUfv8W69DvUorE4Eg==",
"license": "MIT",
"dependencies": {
"esbuild": "^0.25.0",
diff --git a/src/components/widgets/Announcement.astro b/src/components/widgets/Announcement.astro
index 4ab836c8..3c937ddf 100644
--- a/src/components/widgets/Announcement.astro
+++ b/src/components/widgets/Announcement.astro
@@ -10,8 +10,8 @@
>NEW
Lychee 6.4.0 is now available! »Lychee 6.4.1 is now available! »