| Release Details | |
|---|---|
| Updated | May 19, 2026, 8:59 p.m. |
| Changelog | Added
Changed
Fixed
Removed
Refactored
Compliance
|
| Licenses | GNU Affero General Public License v3.0 or later |
| Certificate | -----BEGIN CERTIFICATE----- MIIDAzCCAesCAhNBMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB dXRob3JpdHkwHhcNMjYwNTEzMTQwODIwWhcNMzYwODE4MTQwODIwWjATMREwDwYD VQQDDAh2aW5hcml1bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMUy Uf45nxsw9A85lkErb0KHGlESd4xVFuXULhPxrfu0468oXo+FAFGR66OcZd7Dz0ju cwIrI2S+wwD5Un6NbK/AIw1SeUIZ2iOtpyPu1Rfefp3QDXrHWSVeirwBAynhR3Xu auyE/SVSX19cSU3cxomVZpI6/fD5A1rYsfV13jKfJSVqk8GgJpob28sAOJPGz5wf cTUILWh/fBJLWHE8PhowV2r2AnlQCeMScOgIZ5Okg3GX5P1VWMgohr8MafIAgeib hl9fiUrHdSb445ph/9SGuLwZ7achJN0Yk27+SjqpvDLDT965yqHMqe9hqZRwWqSY ErR46cHuDKqEUQHBtLcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAU6RQMAMbEMoj hwEQ34AYwy7sYrSOYYhRxy5HrZ8cZGHwDbNIRNhglMs1UDe+GqDFRhibNVA4Dmou pvVWqRTihM/hRs+dUKrqgQ3owf/3KbA9VSD5/nEE8MiehZVvMA0ecJ26JqTbrekF eAVFzcZul1wJkH0hO5wlM3h7RHNKUDViOi3hUsYiDJot4BWN3ndlTuAqgrsAonPm x28mIRLs8XPn023C9IY/D9VRnw/6Fc3aMyB/vkUe5FWwYAuoo9ntnkeA8v5AxLlH Os1dIxl+8sW8SJtfZ6BDqnnpK9/J11ZLvQFoWHVqK5Z/kN+ZLTaUtCVKCgC2LNB1 BoFrOxGkfQ== -----END CERTIFICATE----- |
| Signature | NPwU40rhD1C6vL+MBWzsgJo+OWOJFr8SEkaGQNebPMvf20saNa7rP5FxdfiQ/4DUKTRgJE+088PBLeSL2UdzYmTjzVFr0MLAvwvSNBB8qUsqQNOyXL/jazq3UIiTlo4AcqDcxUpgj70M9ZHZYuN99yBTWAsdjjd5rxlKU7qCxnRvMpso29L9/OhbgqwoaQjLwr5jPcYXbVF1umhCazOZDDfbZFLDZVp5beC8w2KgFo5DcV/+1y/rKjlibKqtvx9wIPTDqTU3DwwFc07QFCNI8xyxKm6995H48uP2E8zit4ovoLOqs6DpRJEw1BnH2J/oyz3S1wNm3dfIyIkeldyEzQ== |
| Signature digest | sha512 |
| Dependencies | |
|---|---|
| Required Nextcloud versions | >=32.0.0,<34.0.0 |
| Minimum Integer bits | 32 |
| PHP | >=8.2.0 |
| Release Details | |
|---|---|
| Updated | May 18, 2026, 5:42 p.m. |
| Changelog | Added
|
| Licenses | GNU Affero General Public License v3.0 or later |
| Certificate | -----BEGIN CERTIFICATE----- MIIDAzCCAesCAhNBMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB dXRob3JpdHkwHhcNMjYwNTEzMTQwODIwWhcNMzYwODE4MTQwODIwWjATMREwDwYD VQQDDAh2aW5hcml1bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMUy Uf45nxsw9A85lkErb0KHGlESd4xVFuXULhPxrfu0468oXo+FAFGR66OcZd7Dz0ju cwIrI2S+wwD5Un6NbK/AIw1SeUIZ2iOtpyPu1Rfefp3QDXrHWSVeirwBAynhR3Xu auyE/SVSX19cSU3cxomVZpI6/fD5A1rYsfV13jKfJSVqk8GgJpob28sAOJPGz5wf cTUILWh/fBJLWHE8PhowV2r2AnlQCeMScOgIZ5Okg3GX5P1VWMgohr8MafIAgeib hl9fiUrHdSb445ph/9SGuLwZ7achJN0Yk27+SjqpvDLDT965yqHMqe9hqZRwWqSY ErR46cHuDKqEUQHBtLcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAU6RQMAMbEMoj hwEQ34AYwy7sYrSOYYhRxy5HrZ8cZGHwDbNIRNhglMs1UDe+GqDFRhibNVA4Dmou pvVWqRTihM/hRs+dUKrqgQ3owf/3KbA9VSD5/nEE8MiehZVvMA0ecJ26JqTbrekF eAVFzcZul1wJkH0hO5wlM3h7RHNKUDViOi3hUsYiDJot4BWN3ndlTuAqgrsAonPm x28mIRLs8XPn023C9IY/D9VRnw/6Fc3aMyB/vkUe5FWwYAuoo9ntnkeA8v5AxLlH Os1dIxl+8sW8SJtfZ6BDqnnpK9/J11ZLvQFoWHVqK5Z/kN+ZLTaUtCVKCgC2LNB1 BoFrOxGkfQ== -----END CERTIFICATE----- |
| Signature | hkhxxeKp/qxcQIGp2bRTUjO1iwK8W7X7bShRF85w9Vb3xvkc6CxS/t0CCiFdSZHD6HRkqkVKAeb9wlJKaWhQt/SaFDBJOw6xK5eX1GDVGr9y+Yi3Rrz9whjgQxTKDlZdEzZyIOphTdM7BZwwzuKpm9Sixxej0Bts8gIiy2JMlDdPaYINJObPZ6GQ5CCPVx1gjlGZbqtE9RO9uVEHRxtsPTEXTiXXINC6R/IA4LotR02LUgNz/cv7O34aAc/LpGLtEP/Ft8eTIfI0NPZKfoskgvwpX9HXst6Fm/m+CiBZIdoOZ5kWWGQBlDjuxLbkl74BFGQ4Ymv1YB9PfHgpR4WaHQ== |
| Signature digest | sha512 |
| Dependencies | |
|---|---|
| Required Nextcloud versions | >=32.0.0,<34.0.0 |
| Minimum Integer bits | 32 |
| PHP | >=8.2.0 |
| Release Details | |
|---|---|
| Updated | May 18, 2026, 12:57 p.m. |
| Changelog | Fixed
|
| Licenses | GNU Affero General Public License v3.0 or later |
| Certificate | -----BEGIN CERTIFICATE----- MIIDAzCCAesCAhNBMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB dXRob3JpdHkwHhcNMjYwNTEzMTQwODIwWhcNMzYwODE4MTQwODIwWjATMREwDwYD VQQDDAh2aW5hcml1bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMUy Uf45nxsw9A85lkErb0KHGlESd4xVFuXULhPxrfu0468oXo+FAFGR66OcZd7Dz0ju cwIrI2S+wwD5Un6NbK/AIw1SeUIZ2iOtpyPu1Rfefp3QDXrHWSVeirwBAynhR3Xu auyE/SVSX19cSU3cxomVZpI6/fD5A1rYsfV13jKfJSVqk8GgJpob28sAOJPGz5wf cTUILWh/fBJLWHE8PhowV2r2AnlQCeMScOgIZ5Okg3GX5P1VWMgohr8MafIAgeib hl9fiUrHdSb445ph/9SGuLwZ7achJN0Yk27+SjqpvDLDT965yqHMqe9hqZRwWqSY ErR46cHuDKqEUQHBtLcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAU6RQMAMbEMoj hwEQ34AYwy7sYrSOYYhRxy5HrZ8cZGHwDbNIRNhglMs1UDe+GqDFRhibNVA4Dmou pvVWqRTihM/hRs+dUKrqgQ3owf/3KbA9VSD5/nEE8MiehZVvMA0ecJ26JqTbrekF eAVFzcZul1wJkH0hO5wlM3h7RHNKUDViOi3hUsYiDJot4BWN3ndlTuAqgrsAonPm x28mIRLs8XPn023C9IY/D9VRnw/6Fc3aMyB/vkUe5FWwYAuoo9ntnkeA8v5AxLlH Os1dIxl+8sW8SJtfZ6BDqnnpK9/J11ZLvQFoWHVqK5Z/kN+ZLTaUtCVKCgC2LNB1 BoFrOxGkfQ== -----END CERTIFICATE----- |
| Signature | jZ4bYSjrgI5OtRUgR5l1OswIygA23KIIh4dCJawWzAyoT+F+ebyMZA45lTfLqfhen8rDs+fSIyYSVsfRLqNdu5BOW8gECIzN14OzkgB80NALiv0Yi9J/69Es4DOskW09uOu85iDMOprOeXcxpRWmBikLbJSeAcfhvXR4tnF056MdcZyX9gVhtclwsYJByPfWZBCQUjXOXmoyuyfzh0iuIEF7tcHzK3EgICUGMznnQAdPQkvDHFfkhyekvr9Fzut5NNjrNtKI6iEGge79yYodoBoZYvXwG6nA3quIYHUfTvc7N5bUg/a++hcWqwpVYNQizRv7CqehzbVmaMXw4U0B+A== |
| Signature digest | sha512 |
| Dependencies | |
|---|---|
| Required Nextcloud versions | >=32.0.0,<34.0.0 |
| Minimum Integer bits | 32 |
| PHP | >=8.2.0 |
| Release Details | |
|---|---|
| Updated | May 18, 2026, 6:49 a.m. |
| Changelog | Erste offizielle Veröffentlichung — Weinverwaltung End-to-End. AddedDatenbank + Backend - 10 DB-Tabellen via Migration (Cellar, Shelf, Compartment, Slot, Producer, Wine, Vintage, Purchase, Bottle, Tasting) - 10 Entities + 10 QBMapper-Subklassen mit Owner-Queries - CellarService: Default-Regal (234 Slots), Reconfigure mit Parkzonen-Migration - ProducerService, WineService, VintageService: CRUD mit Ownership-Checks - PurchaseService: CRUD + Bottle-Size-Validation - BottleService: Bulk-Insert, Move (409 SlotOccupied), Swap, Consume, Restore, Filter (4-Table JOIN) - TastingService: Create, Update, ConsumeWithTasting, List (denormalisiert), Detail-View - DashboardService: Stats-Aggregation (Bestand, Farb-Verteilung, Bald-Trinken) - ExportService: CSV-Export (UTF-8 BOM, Semikolon, denormalisiert) - PhotoService: Foto-Upload in NC-Files (IRootFolder), Thumbnail via NC Preview API - Foto-Upload für Flaschen (1 Foto) und Verkostungen (mehrere Fotos) REST-API
- 40+ Endpoints unter Frontend
- Vue 3 + TypeScript + Vite + Pinia
- PurchaseWizardModal: 4-Step-Wizard (Weingut → Wein → Jahrgang → Kauf)
- Single-Action-Flow (Weiter = speichert + advanced)
- Form zeigt Daten bei Auswahl eines bestehenden Eintrags
- Deutsche Farblabels (Rot/Weiß/Rosé/Schaumwein/Dessertwein/Likörwein)
- WinesView: 4 Tabs (Weingüter/Weine/Jahrgänge/Käufe) mit Edit/Delete
- InventoryView: Flaschen-Tabelle mit Filter (Farbe/Status/Jahrgang), Foto-Upload, Flasche zurücksetzen
- SimpleShelfView: Regal-Ansicht mit HTML5 Drag & Drop + Bottle-Swap, Detail-Panel mit Split-View
- Slots mit 2-Zeilen-Weinname + Jahrgang
- Parkzone mit Wein-Labels
- Slot-Labels menschenlesbar (Fach/Ebene/Platz)
- Regal-Einstellungen: Ebenen/Spalten/Versatz konfigurieren
- TastingDialog: Bewertungs-Slider (0.5–10), Notizen, Anlass, Begleitung, Foto-Upload (mehrere)
- TastingsView: Chronologische Tabelle mit Foto-Badge, Entkorken direkt aus Liste
- TastingDetailModal: Detail-Ansicht mit Foto-Strip, Lightbox-Vollbild, verwandte Verkostungen
- DashboardView: 4 Stat-Widgets, Farb-Verteilung, Bald-Trinken, letzte Verkostungen, CSV-Export
- Entkorken-Funktion: Flasche öffnen + Verkostung in einem Schritt
- Weingut standalone erfassen (ohne Wizard)
- App-Icon: Weintraube (MDI Internationalisierung - Vollständige Zweisprachigkeit DE + EN Infrastruktur - Vue 3.5 + Composition API + TypeScript 5.7 + Vite 7.3 - @nextcloud/vue 9.6, @nextcloud/axios, @nextcloud/router - Pinia Stores mit Optimistic Updates + Rollback - 88 PHPUnit-Tests + 24 Vitest-Tests (112 gesamt) - Pre-Commit-Hook für OCP-only API-Enforcement |
| Licenses | GNU Affero General Public License v3.0 or later |
| Certificate | -----BEGIN CERTIFICATE----- MIIDAzCCAesCAhNBMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB dXRob3JpdHkwHhcNMjYwNTEzMTQwODIwWhcNMzYwODE4MTQwODIwWjATMREwDwYD VQQDDAh2aW5hcml1bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMUy Uf45nxsw9A85lkErb0KHGlESd4xVFuXULhPxrfu0468oXo+FAFGR66OcZd7Dz0ju cwIrI2S+wwD5Un6NbK/AIw1SeUIZ2iOtpyPu1Rfefp3QDXrHWSVeirwBAynhR3Xu auyE/SVSX19cSU3cxomVZpI6/fD5A1rYsfV13jKfJSVqk8GgJpob28sAOJPGz5wf cTUILWh/fBJLWHE8PhowV2r2AnlQCeMScOgIZ5Okg3GX5P1VWMgohr8MafIAgeib hl9fiUrHdSb445ph/9SGuLwZ7achJN0Yk27+SjqpvDLDT965yqHMqe9hqZRwWqSY ErR46cHuDKqEUQHBtLcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAU6RQMAMbEMoj hwEQ34AYwy7sYrSOYYhRxy5HrZ8cZGHwDbNIRNhglMs1UDe+GqDFRhibNVA4Dmou pvVWqRTihM/hRs+dUKrqgQ3owf/3KbA9VSD5/nEE8MiehZVvMA0ecJ26JqTbrekF eAVFzcZul1wJkH0hO5wlM3h7RHNKUDViOi3hUsYiDJot4BWN3ndlTuAqgrsAonPm x28mIRLs8XPn023C9IY/D9VRnw/6Fc3aMyB/vkUe5FWwYAuoo9ntnkeA8v5AxLlH Os1dIxl+8sW8SJtfZ6BDqnnpK9/J11ZLvQFoWHVqK5Z/kN+ZLTaUtCVKCgC2LNB1 BoFrOxGkfQ== -----END CERTIFICATE----- |
| Signature | kRhu1SmG7i9VmNtsp1dMId19I1oCjMwkQ5d0ZY8g3BCo/IlAg2hJvUmiFyYroa/NLtTkGm6o31SissX8NrfNZku2A6csuiTBBdnsy9lTWIYXPgxZaoA+Ne6zGYEna7QxVOb7+Zi1UceD3Jj6T97kBCBaA8NzZ/1WUkKi7nwwq202N4Nmk6cMsF6UAK7u+GLHa8SapoeGZF0QkZURxOTViJqp1RZGGtJbFGPiUxbdTZXZVIVBL3O2VPKugmw2AvH3npgqcIQeso62ONhpgQk/MBTCdLvR6Uyy55v/YRlGPwCZxwMRVnaxqool0PgbXq1BdWcNdhIA8Vq5ayNErYapzQ== |
| Signature digest | sha512 |
| Dependencies | |
|---|---|
| Required Nextcloud versions | >=32.0.0,<34.0.0 |
| Minimum Integer bits | 32 |
| PHP | >=8.2.0 |
| Release Details | |
|---|---|
| Updated | May 19, 2026, 8:59 p.m. |
| Changelog | Added
Changed
Fixed
Removed
Refactored
Compliance
|
| Licenses | GNU Affero General Public License v3.0 or later |
| Certificate | -----BEGIN CERTIFICATE----- MIIDAzCCAesCAhNBMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB dXRob3JpdHkwHhcNMjYwNTEzMTQwODIwWhcNMzYwODE4MTQwODIwWjATMREwDwYD VQQDDAh2aW5hcml1bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMUy Uf45nxsw9A85lkErb0KHGlESd4xVFuXULhPxrfu0468oXo+FAFGR66OcZd7Dz0ju cwIrI2S+wwD5Un6NbK/AIw1SeUIZ2iOtpyPu1Rfefp3QDXrHWSVeirwBAynhR3Xu auyE/SVSX19cSU3cxomVZpI6/fD5A1rYsfV13jKfJSVqk8GgJpob28sAOJPGz5wf cTUILWh/fBJLWHE8PhowV2r2AnlQCeMScOgIZ5Okg3GX5P1VWMgohr8MafIAgeib hl9fiUrHdSb445ph/9SGuLwZ7achJN0Yk27+SjqpvDLDT965yqHMqe9hqZRwWqSY ErR46cHuDKqEUQHBtLcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAU6RQMAMbEMoj hwEQ34AYwy7sYrSOYYhRxy5HrZ8cZGHwDbNIRNhglMs1UDe+GqDFRhibNVA4Dmou pvVWqRTihM/hRs+dUKrqgQ3owf/3KbA9VSD5/nEE8MiehZVvMA0ecJ26JqTbrekF eAVFzcZul1wJkH0hO5wlM3h7RHNKUDViOi3hUsYiDJot4BWN3ndlTuAqgrsAonPm x28mIRLs8XPn023C9IY/D9VRnw/6Fc3aMyB/vkUe5FWwYAuoo9ntnkeA8v5AxLlH Os1dIxl+8sW8SJtfZ6BDqnnpK9/J11ZLvQFoWHVqK5Z/kN+ZLTaUtCVKCgC2LNB1 BoFrOxGkfQ== -----END CERTIFICATE----- |
| Signature | NPwU40rhD1C6vL+MBWzsgJo+OWOJFr8SEkaGQNebPMvf20saNa7rP5FxdfiQ/4DUKTRgJE+088PBLeSL2UdzYmTjzVFr0MLAvwvSNBB8qUsqQNOyXL/jazq3UIiTlo4AcqDcxUpgj70M9ZHZYuN99yBTWAsdjjd5rxlKU7qCxnRvMpso29L9/OhbgqwoaQjLwr5jPcYXbVF1umhCazOZDDfbZFLDZVp5beC8w2KgFo5DcV/+1y/rKjlibKqtvx9wIPTDqTU3DwwFc07QFCNI8xyxKm6995H48uP2E8zit4ovoLOqs6DpRJEw1BnH2J/oyz3S1wNm3dfIyIkeldyEzQ== |
| Signature digest | sha512 |
| Dependencies | |
|---|---|
| Required Nextcloud versions | >=32.0.0,<34.0.0 |
| Minimum Integer bits | 32 |
| PHP | >=8.2.0 |
| Release Details | |
|---|---|
| Updated | May 18, 2026, 5:42 p.m. |
| Changelog | Added
|
| Licenses | GNU Affero General Public License v3.0 or later |
| Certificate | -----BEGIN CERTIFICATE----- MIIDAzCCAesCAhNBMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB dXRob3JpdHkwHhcNMjYwNTEzMTQwODIwWhcNMzYwODE4MTQwODIwWjATMREwDwYD VQQDDAh2aW5hcml1bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMUy Uf45nxsw9A85lkErb0KHGlESd4xVFuXULhPxrfu0468oXo+FAFGR66OcZd7Dz0ju cwIrI2S+wwD5Un6NbK/AIw1SeUIZ2iOtpyPu1Rfefp3QDXrHWSVeirwBAynhR3Xu auyE/SVSX19cSU3cxomVZpI6/fD5A1rYsfV13jKfJSVqk8GgJpob28sAOJPGz5wf cTUILWh/fBJLWHE8PhowV2r2AnlQCeMScOgIZ5Okg3GX5P1VWMgohr8MafIAgeib hl9fiUrHdSb445ph/9SGuLwZ7achJN0Yk27+SjqpvDLDT965yqHMqe9hqZRwWqSY ErR46cHuDKqEUQHBtLcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAU6RQMAMbEMoj hwEQ34AYwy7sYrSOYYhRxy5HrZ8cZGHwDbNIRNhglMs1UDe+GqDFRhibNVA4Dmou pvVWqRTihM/hRs+dUKrqgQ3owf/3KbA9VSD5/nEE8MiehZVvMA0ecJ26JqTbrekF eAVFzcZul1wJkH0hO5wlM3h7RHNKUDViOi3hUsYiDJot4BWN3ndlTuAqgrsAonPm x28mIRLs8XPn023C9IY/D9VRnw/6Fc3aMyB/vkUe5FWwYAuoo9ntnkeA8v5AxLlH Os1dIxl+8sW8SJtfZ6BDqnnpK9/J11ZLvQFoWHVqK5Z/kN+ZLTaUtCVKCgC2LNB1 BoFrOxGkfQ== -----END CERTIFICATE----- |
| Signature | hkhxxeKp/qxcQIGp2bRTUjO1iwK8W7X7bShRF85w9Vb3xvkc6CxS/t0CCiFdSZHD6HRkqkVKAeb9wlJKaWhQt/SaFDBJOw6xK5eX1GDVGr9y+Yi3Rrz9whjgQxTKDlZdEzZyIOphTdM7BZwwzuKpm9Sixxej0Bts8gIiy2JMlDdPaYINJObPZ6GQ5CCPVx1gjlGZbqtE9RO9uVEHRxtsPTEXTiXXINC6R/IA4LotR02LUgNz/cv7O34aAc/LpGLtEP/Ft8eTIfI0NPZKfoskgvwpX9HXst6Fm/m+CiBZIdoOZ5kWWGQBlDjuxLbkl74BFGQ4Ymv1YB9PfHgpR4WaHQ== |
| Signature digest | sha512 |
| Dependencies | |
|---|---|
| Required Nextcloud versions | >=32.0.0,<34.0.0 |
| Minimum Integer bits | 32 |
| PHP | >=8.2.0 |
| Release Details | |
|---|---|
| Updated | May 18, 2026, 12:57 p.m. |
| Changelog | Fixed
|
| Licenses | GNU Affero General Public License v3.0 or later |
| Certificate | -----BEGIN CERTIFICATE----- MIIDAzCCAesCAhNBMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB dXRob3JpdHkwHhcNMjYwNTEzMTQwODIwWhcNMzYwODE4MTQwODIwWjATMREwDwYD VQQDDAh2aW5hcml1bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMUy Uf45nxsw9A85lkErb0KHGlESd4xVFuXULhPxrfu0468oXo+FAFGR66OcZd7Dz0ju cwIrI2S+wwD5Un6NbK/AIw1SeUIZ2iOtpyPu1Rfefp3QDXrHWSVeirwBAynhR3Xu auyE/SVSX19cSU3cxomVZpI6/fD5A1rYsfV13jKfJSVqk8GgJpob28sAOJPGz5wf cTUILWh/fBJLWHE8PhowV2r2AnlQCeMScOgIZ5Okg3GX5P1VWMgohr8MafIAgeib hl9fiUrHdSb445ph/9SGuLwZ7achJN0Yk27+SjqpvDLDT965yqHMqe9hqZRwWqSY ErR46cHuDKqEUQHBtLcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAU6RQMAMbEMoj hwEQ34AYwy7sYrSOYYhRxy5HrZ8cZGHwDbNIRNhglMs1UDe+GqDFRhibNVA4Dmou pvVWqRTihM/hRs+dUKrqgQ3owf/3KbA9VSD5/nEE8MiehZVvMA0ecJ26JqTbrekF eAVFzcZul1wJkH0hO5wlM3h7RHNKUDViOi3hUsYiDJot4BWN3ndlTuAqgrsAonPm x28mIRLs8XPn023C9IY/D9VRnw/6Fc3aMyB/vkUe5FWwYAuoo9ntnkeA8v5AxLlH Os1dIxl+8sW8SJtfZ6BDqnnpK9/J11ZLvQFoWHVqK5Z/kN+ZLTaUtCVKCgC2LNB1 BoFrOxGkfQ== -----END CERTIFICATE----- |
| Signature | jZ4bYSjrgI5OtRUgR5l1OswIygA23KIIh4dCJawWzAyoT+F+ebyMZA45lTfLqfhen8rDs+fSIyYSVsfRLqNdu5BOW8gECIzN14OzkgB80NALiv0Yi9J/69Es4DOskW09uOu85iDMOprOeXcxpRWmBikLbJSeAcfhvXR4tnF056MdcZyX9gVhtclwsYJByPfWZBCQUjXOXmoyuyfzh0iuIEF7tcHzK3EgICUGMznnQAdPQkvDHFfkhyekvr9Fzut5NNjrNtKI6iEGge79yYodoBoZYvXwG6nA3quIYHUfTvc7N5bUg/a++hcWqwpVYNQizRv7CqehzbVmaMXw4U0B+A== |
| Signature digest | sha512 |
| Dependencies | |
|---|---|
| Required Nextcloud versions | >=32.0.0,<34.0.0 |
| Minimum Integer bits | 32 |
| PHP | >=8.2.0 |
| Release Details | |
|---|---|
| Updated | May 18, 2026, 6:49 a.m. |
| Changelog | Erste offizielle Veröffentlichung — Weinverwaltung End-to-End. AddedDatenbank + Backend - 10 DB-Tabellen via Migration (Cellar, Shelf, Compartment, Slot, Producer, Wine, Vintage, Purchase, Bottle, Tasting) - 10 Entities + 10 QBMapper-Subklassen mit Owner-Queries - CellarService: Default-Regal (234 Slots), Reconfigure mit Parkzonen-Migration - ProducerService, WineService, VintageService: CRUD mit Ownership-Checks - PurchaseService: CRUD + Bottle-Size-Validation - BottleService: Bulk-Insert, Move (409 SlotOccupied), Swap, Consume, Restore, Filter (4-Table JOIN) - TastingService: Create, Update, ConsumeWithTasting, List (denormalisiert), Detail-View - DashboardService: Stats-Aggregation (Bestand, Farb-Verteilung, Bald-Trinken) - ExportService: CSV-Export (UTF-8 BOM, Semikolon, denormalisiert) - PhotoService: Foto-Upload in NC-Files (IRootFolder), Thumbnail via NC Preview API - Foto-Upload für Flaschen (1 Foto) und Verkostungen (mehrere Fotos) REST-API
- 40+ Endpoints unter Frontend
- Vue 3 + TypeScript + Vite + Pinia
- PurchaseWizardModal: 4-Step-Wizard (Weingut → Wein → Jahrgang → Kauf)
- Single-Action-Flow (Weiter = speichert + advanced)
- Form zeigt Daten bei Auswahl eines bestehenden Eintrags
- Deutsche Farblabels (Rot/Weiß/Rosé/Schaumwein/Dessertwein/Likörwein)
- WinesView: 4 Tabs (Weingüter/Weine/Jahrgänge/Käufe) mit Edit/Delete
- InventoryView: Flaschen-Tabelle mit Filter (Farbe/Status/Jahrgang), Foto-Upload, Flasche zurücksetzen
- SimpleShelfView: Regal-Ansicht mit HTML5 Drag & Drop + Bottle-Swap, Detail-Panel mit Split-View
- Slots mit 2-Zeilen-Weinname + Jahrgang
- Parkzone mit Wein-Labels
- Slot-Labels menschenlesbar (Fach/Ebene/Platz)
- Regal-Einstellungen: Ebenen/Spalten/Versatz konfigurieren
- TastingDialog: Bewertungs-Slider (0.5–10), Notizen, Anlass, Begleitung, Foto-Upload (mehrere)
- TastingsView: Chronologische Tabelle mit Foto-Badge, Entkorken direkt aus Liste
- TastingDetailModal: Detail-Ansicht mit Foto-Strip, Lightbox-Vollbild, verwandte Verkostungen
- DashboardView: 4 Stat-Widgets, Farb-Verteilung, Bald-Trinken, letzte Verkostungen, CSV-Export
- Entkorken-Funktion: Flasche öffnen + Verkostung in einem Schritt
- Weingut standalone erfassen (ohne Wizard)
- App-Icon: Weintraube (MDI Internationalisierung - Vollständige Zweisprachigkeit DE + EN Infrastruktur - Vue 3.5 + Composition API + TypeScript 5.7 + Vite 7.3 - @nextcloud/vue 9.6, @nextcloud/axios, @nextcloud/router - Pinia Stores mit Optimistic Updates + Rollback - 88 PHPUnit-Tests + 24 Vitest-Tests (112 gesamt) - Pre-Commit-Hook für OCP-only API-Enforcement |
| Licenses | GNU Affero General Public License v3.0 or later |
| Certificate | -----BEGIN CERTIFICATE----- MIIDAzCCAesCAhNBMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB dXRob3JpdHkwHhcNMjYwNTEzMTQwODIwWhcNMzYwODE4MTQwODIwWjATMREwDwYD VQQDDAh2aW5hcml1bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMUy Uf45nxsw9A85lkErb0KHGlESd4xVFuXULhPxrfu0468oXo+FAFGR66OcZd7Dz0ju cwIrI2S+wwD5Un6NbK/AIw1SeUIZ2iOtpyPu1Rfefp3QDXrHWSVeirwBAynhR3Xu auyE/SVSX19cSU3cxomVZpI6/fD5A1rYsfV13jKfJSVqk8GgJpob28sAOJPGz5wf cTUILWh/fBJLWHE8PhowV2r2AnlQCeMScOgIZ5Okg3GX5P1VWMgohr8MafIAgeib hl9fiUrHdSb445ph/9SGuLwZ7achJN0Yk27+SjqpvDLDT965yqHMqe9hqZRwWqSY ErR46cHuDKqEUQHBtLcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAU6RQMAMbEMoj hwEQ34AYwy7sYrSOYYhRxy5HrZ8cZGHwDbNIRNhglMs1UDe+GqDFRhibNVA4Dmou pvVWqRTihM/hRs+dUKrqgQ3owf/3KbA9VSD5/nEE8MiehZVvMA0ecJ26JqTbrekF eAVFzcZul1wJkH0hO5wlM3h7RHNKUDViOi3hUsYiDJot4BWN3ndlTuAqgrsAonPm x28mIRLs8XPn023C9IY/D9VRnw/6Fc3aMyB/vkUe5FWwYAuoo9ntnkeA8v5AxLlH Os1dIxl+8sW8SJtfZ6BDqnnpK9/J11ZLvQFoWHVqK5Z/kN+ZLTaUtCVKCgC2LNB1 BoFrOxGkfQ== -----END CERTIFICATE----- |
| Signature | kRhu1SmG7i9VmNtsp1dMId19I1oCjMwkQ5d0ZY8g3BCo/IlAg2hJvUmiFyYroa/NLtTkGm6o31SissX8NrfNZku2A6csuiTBBdnsy9lTWIYXPgxZaoA+Ne6zGYEna7QxVOb7+Zi1UceD3Jj6T97kBCBaA8NzZ/1WUkKi7nwwq202N4Nmk6cMsF6UAK7u+GLHa8SapoeGZF0QkZURxOTViJqp1RZGGtJbFGPiUxbdTZXZVIVBL3O2VPKugmw2AvH3npgqcIQeso62ONhpgQk/MBTCdLvR6Uyy55v/YRlGPwCZxwMRVnaxqool0PgbXq1BdWcNdhIA8Vq5ayNErYapzQ== |
| Signature digest | sha512 |
| Dependencies | |
|---|---|
| Required Nextcloud versions | >=32.0.0,<34.0.0 |
| Minimum Integer bits | 32 |
| PHP | >=8.2.0 |