Compare commits
6
Commits
feat/design
...
v0.4.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
498a5c6226 | ||
|
|
78ae755761 | ||
|
|
62045468ce | ||
|
|
bac948fcb8 | ||
|
|
2d3ddc4dae | ||
|
|
f2304b28e5 |
+19
-1
@@ -7,7 +7,24 @@ die Versionierung [Semantic Versioning](https://semver.org/lang/de/).
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [0.4.0] - 2026-10-25
|
||||||
|
|
||||||
Ein neues Gesicht: Bricktrack sieht jetzt aus wie das, was es verwaltet.
|
Ein neues Gesicht: Bricktrack sieht jetzt aus wie das, was es verwaltet.
|
||||||
|
Dazu alle bekannten Sicherheitslücken in den Abhängigkeiten geschlossen.
|
||||||
|
|
||||||
|
### Sicherheit
|
||||||
|
|
||||||
|
- Next.js 15.5.28: schließt unter anderem eine Denial-of-Service-Lücke über
|
||||||
|
Server Actions und Cache-Poisoning bei selbst gehosteten Instanzen. Die
|
||||||
|
kritische Lücke in der Bildoptimierung war hier nicht ausnutzbar
|
||||||
|
(`images.unoptimized`), ist aber ebenfalls behoben.
|
||||||
|
- nodemailer 10.2: mehrere Fehler im Adressparser (Erinnerungs-Mails).
|
||||||
|
- better-auth 1.7.12, sharp 0.35.5 (librsvg), zod 4.6.7 (Speicherverbrauch
|
||||||
|
bei übergroßen Eingaben), drizzle-orm 0.45.4.
|
||||||
|
- Entwicklungswerkzeuge: vitest, vite, postcss, Playwright und die
|
||||||
|
shadcn-CLI aktualisiert, transitive Pakete per `pnpm.overrides` angehoben.
|
||||||
|
Übrig bleibt ein mittlerer Fund in einem alten esbuild, das drizzle-kit
|
||||||
|
intern mitbringt - nur beim Entwickeln, nicht im Image.
|
||||||
|
|
||||||
### Hinzugefügt
|
### Hinzugefügt
|
||||||
|
|
||||||
@@ -217,7 +234,8 @@ Erste lauffaehige Fassung: Phase 1 vollstaendig, im Docker-Stack verifiziert.
|
|||||||
- Unter Windows scheitert `pnpm build` an fehlenden Symlink-Rechten. Der
|
- Unter Windows scheitert `pnpm build` an fehlenden Symlink-Rechten. Der
|
||||||
Docker-Build unter Linux ist davon nicht betroffen.
|
Docker-Build unter Linux ist davon nicht betroffen.
|
||||||
|
|
||||||
[Unreleased]: https://git.wilde-server.de/florian.wilde/bricktrack/compare/v0.3.0...HEAD
|
[Unreleased]: https://git.wilde-server.de/florian.wilde/bricktrack/compare/v0.4.0...HEAD
|
||||||
|
[0.4.0]: https://git.wilde-server.de/florian.wilde/bricktrack/releases/tag/v0.4.0
|
||||||
[0.3.0]: https://git.wilde-server.de/florian.wilde/bricktrack/releases/tag/v0.3.0
|
[0.3.0]: https://git.wilde-server.de/florian.wilde/bricktrack/releases/tag/v0.3.0
|
||||||
[0.2.0]: https://git.wilde-server.de/florian.wilde/bricktrack/releases/tag/v0.2.0
|
[0.2.0]: https://git.wilde-server.de/florian.wilde/bricktrack/releases/tag/v0.2.0
|
||||||
[0.1.0]: https://git.wilde-server.de/florian.wilde/bricktrack/releases/tag/v0.1.0
|
[0.1.0]: https://git.wilde-server.de/florian.wilde/bricktrack/releases/tag/v0.1.0
|
||||||
|
|||||||
@@ -213,6 +213,8 @@ Session.
|
|||||||
Einladungen, Export/Import, PWA. *Fertig in 0.2.0.*
|
Einladungen, Export/Import, PWA. *Fertig in 0.2.0.*
|
||||||
- **Phase 3 (Nice to have)** - mehrere Sammler, Preisbeobachtung,
|
- **Phase 3 (Nice to have)** - mehrere Sammler, Preisbeobachtung,
|
||||||
E-Mail-Erinnerungen, Dublettenpruefung. *Fertig in 0.3.0.*
|
E-Mail-Erinnerungen, Dublettenpruefung. *Fertig in 0.3.0.*
|
||||||
|
- **Design und Sicherheit** - Designauswahl (Standard Klemmbaustein),
|
||||||
|
Abhaengigkeiten ohne bekannte Luecken. *Fertig in 0.4.0.*
|
||||||
|
|
||||||
Details und Stand: `docs/ROADMAP.md`. Zeitaufwaende: `docs/DEVLOG.md`.
|
Details und Stand: `docs/ROADMAP.md`. Zeitaufwaende: `docs/DEVLOG.md`.
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -59,7 +59,9 @@ Laeuft vollstaendig im Docker-Stack.
|
|||||||
rueckt und Eintraege unreserviert sind
|
rueckt und Eintraege unreserviert sind
|
||||||
- [x] Dublettenpruefung beim Anlegen von Sets
|
- [x] Dublettenpruefung beim Anlegen von Sets
|
||||||
|
|
||||||
## Design (unveröffentlicht)
|
## Design und Sicherheit (v0.4.0, abgeschlossen am 25.10.2026)
|
||||||
|
|
||||||
|
- [x] Abhängigkeiten mit bekannten Sicherheitslücken aktualisiert
|
||||||
|
|
||||||
- [x] Designauswahl pro Gerät, sechs Designs, Standard „Klemmbaustein"
|
- [x] Designauswahl pro Gerät, sechs Designs, Standard „Klemmbaustein"
|
||||||
- [x] Platzhalter für Sets ohne Bild, neues Logo, Schriften lokal
|
- [x] Platzhalter für Sets ohne Bild, neues Logo, Schriften lokal
|
||||||
|
|||||||
+30
-15
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "bricktrack",
|
"name": "bricktrack",
|
||||||
"version": "0.1.0",
|
"version": "0.4.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "Self-hosted Verwaltung fuer Spielzeug-Set-Sammlungen (Lego, Playmobil, Cobi, ...)",
|
"description": "Self-hosted Verwaltung fuer Spielzeug-Set-Sammlungen (Lego, Playmobil, Cobi, ...)",
|
||||||
"packageManager": "pnpm@10.34.5",
|
"packageManager": "pnpm@10.34.5",
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
"screenshots": "node scripts/screenshots-prepare.mjs && playwright test --config=playwright.screenshots.config.ts"
|
"screenshots": "node scripts/screenshots-prepare.mjs && playwright test --config=playwright.screenshots.config.ts"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@better-auth/passkey": "^1.7.3",
|
"@better-auth/passkey": "^1.7.12",
|
||||||
"@fontsource-variable/archivo": "^5.3.0",
|
"@fontsource-variable/archivo": "^5.3.0",
|
||||||
"@fontsource-variable/bricolage-grotesque": "^5.3.0",
|
"@fontsource-variable/bricolage-grotesque": "^5.3.0",
|
||||||
"@fontsource-variable/fredoka": "^5.3.0",
|
"@fontsource-variable/fredoka": "^5.3.0",
|
||||||
@@ -32,30 +32,30 @@
|
|||||||
"@fontsource-variable/outfit": "^5.3.0",
|
"@fontsource-variable/outfit": "^5.3.0",
|
||||||
"@zxing/browser": "^0.2.1",
|
"@zxing/browser": "^0.2.1",
|
||||||
"@zxing/library": "^0.23.0",
|
"@zxing/library": "^0.23.0",
|
||||||
"better-auth": "^1.7.3",
|
"better-auth": "^1.7.12",
|
||||||
"better-sqlite3": "^13.0.3",
|
"better-sqlite3": "^13.0.3",
|
||||||
"class-variance-authority": "^0.7.1",
|
"class-variance-authority": "^0.7.1",
|
||||||
"cn": "^0.2.6",
|
"cn": "^0.2.6",
|
||||||
"date-fns": "^4.4.0",
|
"date-fns": "^4.4.0",
|
||||||
"drizzle-orm": "^0.45.2",
|
"drizzle-orm": "^0.45.4",
|
||||||
"fflate": "^0.8.3",
|
"fflate": "^0.8.3",
|
||||||
"lucide-react": "^1.41.0",
|
"lucide-react": "^1.41.0",
|
||||||
"next": "15.5.25",
|
"next": "15.5.28",
|
||||||
"next-themes": "^0.4.6",
|
"next-themes": "^0.4.6",
|
||||||
"nodemailer": "^10.0.0",
|
"nodemailer": "^10.2.1",
|
||||||
"pdfjs-dist": "^6.3.289",
|
"pdfjs-dist": "^6.3.289",
|
||||||
"radix-ui": "^1.6.7",
|
"radix-ui": "^1.6.7",
|
||||||
"react": "19.1.0",
|
"react": "19.1.0",
|
||||||
"react-dom": "19.1.0",
|
"react-dom": "19.1.0",
|
||||||
"server-only": "^0.0.1",
|
"server-only": "^0.0.1",
|
||||||
"sharp": "^0.35.4",
|
"sharp": "^0.35.5",
|
||||||
"sonner": "^2.0.8",
|
"sonner": "^2.0.8",
|
||||||
"tw-animate-css": "^1.4.0",
|
"tw-animate-css": "^1.4.0",
|
||||||
"zod": "^4.5.4"
|
"zod": "^4.6.7"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/eslintrc": "^3",
|
"@eslint/eslintrc": "^3",
|
||||||
"@playwright/test": "^1.63.0",
|
"@playwright/test": "^1.64.1",
|
||||||
"@tailwindcss/postcss": "^4",
|
"@tailwindcss/postcss": "^4",
|
||||||
"@types/better-sqlite3": "^9.6.0",
|
"@types/better-sqlite3": "^9.6.0",
|
||||||
"@types/node": "^20",
|
"@types/node": "^20",
|
||||||
@@ -63,15 +63,16 @@
|
|||||||
"@types/react": "^19",
|
"@types/react": "^19",
|
||||||
"@types/react-dom": "^19",
|
"@types/react-dom": "^19",
|
||||||
"dotenv": "^17.4.2",
|
"dotenv": "^17.4.2",
|
||||||
"drizzle-kit": "^0.31.10",
|
"drizzle-kit": "^0.31.11",
|
||||||
"esbuild": "^0.25.12",
|
"esbuild": "^0.25.12",
|
||||||
"eslint": "^9",
|
"eslint": "^9",
|
||||||
"eslint-config-next": "15.5.25",
|
"eslint-config-next": "15.5.28",
|
||||||
"shadcn": "^4.21.0",
|
"shadcn": "^4.22.1",
|
||||||
"tailwindcss": "^4",
|
"tailwindcss": "^4",
|
||||||
"tsx": "^4.23.13",
|
"tsx": "^4.23.15",
|
||||||
"typescript": "^5",
|
"typescript": "^5",
|
||||||
"vitest": "^5.0.0"
|
"vite": "^8.3.5",
|
||||||
|
"vitest": "^5.0.5"
|
||||||
},
|
},
|
||||||
"pnpm": {
|
"pnpm": {
|
||||||
"onlyBuiltDependencies": [
|
"onlyBuiltDependencies": [
|
||||||
@@ -79,6 +80,20 @@
|
|||||||
"esbuild",
|
"esbuild",
|
||||||
"sharp",
|
"sharp",
|
||||||
"unrs-resolver"
|
"unrs-resolver"
|
||||||
]
|
],
|
||||||
|
"overrides": {
|
||||||
|
"postcss": "^8.5.31",
|
||||||
|
"vite": "^8.2.4",
|
||||||
|
"source-map-js": "^1.2.2",
|
||||||
|
"brace-expansion@<2": "^1.1.21",
|
||||||
|
"brace-expansion@>=4 <6": "^5.0.12",
|
||||||
|
"@modelcontextprotocol/sdk": "^1.32.2",
|
||||||
|
"undici@7": "^7.30.1",
|
||||||
|
"proxy-addr": "^2.0.8",
|
||||||
|
"body-parser@2": "^2.4.0",
|
||||||
|
"fast-uri@3": "^3.1.9",
|
||||||
|
"hono": "^4.13.11",
|
||||||
|
"ip-address": "^10.7.4"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
+607
-638
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user