Polycrate API 0.11.12¶
Release-Datum: 19. Januar 2026
Typ: Feature & Performance Release
Highlights¶
Dieses Release bringt umfangreiche UI-Modernisierung und signifikante Performance-Verbesserungen für den System State Loop.
- 📝 Milkdown Editor - Moderner Markdown-Editor mit @Mention-Support für Notes
- 📦 S3 Media Storage - Medien-Dateien werden jetzt in S3 gespeichert
- 🎛️ V2 Table Filter - Neue Filter-UI mit URL-State Persistenz
- 🔔 Toast System - Modernisiertes Notification-System mit Polycrate.toast API
- ⚡ System State Loop - Von 5-15s auf 1-3s optimiert
- 🧹 Graph Cleanup - downstream_objects Graph komplett entfernt (~600 Zeilen)
Artefakte¶
Docker Images¶
Installation & Update¶
# Block aktualisieren und deployen
polycrate pull cargo.ayedo.cloud/ayedo/k8s/polycrate-api
polycrate run polycrate-api install
Neue Features¶
Milkdown Editor mit @Mention Plugin¶
Der bisherige Plaintext-Editor für Notes wurde durch den Milkdown Editor ersetzt - einen modernen, Markdown-basierten WYSIWYG-Editor.
Features: - Markdown-Rendering in Echtzeit - @Mentions für Benutzer-Referenzen - Toolbar für häufige Formatierungen - Inline-Code und Code-Blöcke - Listen, Links und mehr
Technische Umsetzung: - Neues structured_content Feld auf Note Model (JSONField) - Milkdown-Konfiguration in static/polycrate_api/js/milkdown.js - Mention-Plugin mit User-Autocomplete
S3 Media Storage Backend¶
Medien-Dateien werden jetzt in S3-kompatiblem Object Storage gespeichert statt auf dem lokalen Dateisystem.
Vorteile: - Skalierbar über mehrere API-Instanzen - Persistente Speicherung unabhängig von Container-Lifecycle - CDN-fähig für schnellere Auslieferung
Konfiguration:
# In settings.py oder .env
AWS_ACCESS_KEY_ID = "..."
AWS_SECRET_ACCESS_KEY = "..."
AWS_STORAGE_BUCKET_NAME = "polycrate-media"
AWS_S3_ENDPOINT_URL = "https://s3.example.com"
V2 Table Filter UI¶
Neue Filter-Komponente für alle Tables mit verbesserter UX:
Features: - Filter-Chips: Aktive Filter als Badges sichtbar - URL-State: Filter werden in URL persistiert (teilbar, bookmarkbar) - get_available_filters(): Dynamische Filter-Optionen pro Table - Clear-All Button: Alle Filter mit einem Klick zurücksetzen
Toast System Modernization¶
Neues Toast-Notification-System mit einheitlicher API:
// Neue Polycrate.toast API
Polycrate.toast.success('Änderungen gespeichert');
Polycrate.toast.error('Fehler beim Speichern');
Polycrate.toast.info('Synchronisation läuft...');
Polycrate.toast.warning('Bitte prüfen Sie die Eingabe');
Critical Label in Table UI¶
Tables zeigen jetzt ein Critical-Label für Objekte mit dem Label polycrate.io/critical:
- Rotes Badge in der Label-Spalte
- Filterable über Table-Filter
- Kennzeichnet geschäftskritische Ressourcen
Inline Reply System¶
Notes unterstützen jetzt Inline-Replies:
- Antwort-Button auf jeder Note
- Verschachtelte Darstellung
- Referenz zur Parent-Note
Performance-Verbesserungen¶
System State Loop Optimierung¶
Der System State Loop wurde von 5-15 Sekunden auf 1-3 Sekunden optimiert.
Änderungen: - Optimierte Datenbankabfragen - Reduzierte Celery Task Overhead - Effizientere State-Berechnung
Auswirkung: - Schnellere UI-Updates bei State-Änderungen - Geringere Latenz bei Downtime-Erkennung - Weniger Datenbank-Last
Condition Save Optimization¶
Die add_condition() und remove_condition() Methoden haben jetzt save=False als Default:
# Vorher: Jeder Condition-Aufruf = 1 DB-Write
self.add_condition("MY_CONDITION", "reason") # → save()
# Nachher: Explizites save() erforderlich
self.add_condition("MY_CONDITION", "reason") # → kein save()
self.save() # → Einmaliges save() am Ende
Auswirkung: - Weniger Datenbankschreibvorgänge bei Reconciliation - Batch-Updates möglich - Konsistentere Transaktionen
Cleanup¶
downstream_objects Graph entfernt¶
Der komplette downstream_objects Graph-Code wurde entfernt (~600 Zeilen):
| Komponente | Änderung |
|---|---|
ManagedObject.downstream_objects | Property entfernt |
templates/graph/ | Alle Templates entfernt |
views/graph.py | View entfernt |
urls.py | Route entfernt |
| JavaScript | Graph-Rendering Code entfernt |
Grund: Feature wurde nie produktiv genutzt und verursachte unnötige Komplexität.
Update Activities optional¶
Update-Activities können jetzt über SystemConfig deaktiviert werden:
Use Case: Reduzierung des Activity-Log Volumens in großen Installationen.
polycrate-api Block¶
Der polycrate-api Block wurde auf Version 0.5.16 aktualisiert:
Migration¶
Datenbank-Migrationen erforderlich:
Die Migrationen fügen das structured_content Feld hinzu und entfernen deprecated Felder.
Weitere Informationen¶
- Polycrate API Übersicht - Allgemeine Dokumentation
- Vollständiger Changelog