Versionshistorie
v1.0.9 — 04.08.2026
🐛 Fixed
- Doppelverarbeitung bei gesperrten Dateien: Konnte eine Datei nach der Verarbeitung nicht nach
Erfolgreich/Fehlerverschoben werden (z.B. noch im Zugriff durch Scanner/Virenscanner), blieb sie im Quellverzeichnis liegen und wurde beim nächsten Start erneut verarbeitet — beim Split wurden die Einzeldokumente dadurch doppelt importiert. Dateien werden jetzt vor der Verarbeitung in das neue ArbeitsverzeichnisInArbeit(ParameterWorkFolder) verschoben: Scheitert das Verschieben an einer Sperre, ist noch nichts verarbeitet und der nächste Lauf beginnt von vorn. Das gilt für die Split-Vorschaltstufe und den regulären Import. - Verschieben mit Wiederholung: Alle Verschiebe-Operationen versuchen es bei Dateisperren jetzt
bis zu 10-mal im 500-ms-Abstand; ein endgültiges Scheitern wird als Fehler geloggt statt still
verschluckt. Beim Dienststart werden in
InArbeitzurückgebliebene Dateien (Absturz/Stopp mitten in der Verarbeitung) automatisch zurückgeholt und erneut verarbeitet. - Demomodus verschiebt konsequent keine Dateien mehr: Bisher wurden Dateien im Demomodus in
Fehlerfällen (z.B. Render-Fehler beim Split) trotzdem nach
Fehlerverschoben — entgegen dem dokumentierten Verhalten.
v1.0.8 — 04.08.2026
🐛 Fixed
- Endlosschleife der Split-Stufe bei fehlgeschlagenen Dateien: Das Verschieben einer Datei nach
Fehler/Erfolgreichlöste im überwachten Split-Verzeichnis erneut ein Created-Event aus, die Datei wurde sofort wieder verarbeitet und bei jedem Fehlschlag ein weiteresFehler-Verzeichnis ineinander verschachtelt (Fehler\Fehler\Fehler\…). Watcher und Batch-Scan überspringen jetzt alle Dateien, die auf beliebiger Ebene unterhalb eines Systemverzeichnisses liegen — der Batch-Scan prüfte bisher nur das direkte Elternverzeichnis. - PDF-Rendern schlug im veröffentlichten Dienst fehl: Im Publish fehlte die
DevExpress.Pdf.v26.1.SkiaRenderer.dll, dadurch brach jedes Rendern (Barcode-/OCR-Erkennung der Split-Stufe) mitPdfRenderingOutOfMemoryException(„assembly reference is missing") ab. Das fürPdfRenderingEngine.Skiaerforderliche PaketDevExpress.Pdf.SkiaRendererwird jetzt referenziert; SkiaSharp dafür auf 3.119.1 gehoben.
v1.0.7 — 04.08.2026
💎 Added
- PDF-Split für Sammel-Dokumente: Gescannte Sammel-PDFs (mehrere Dokumente in einer Datei)
werden über die neue
Split-Vorschaltstufe automatisch in Einzeldokumente zerlegt und regulär importiert. Trennung konfigurierbar per Barcode/QR (dekodierter Wert = Identifier) oder OCR (PaddleOCR, Regex-basiert). Neues WurzelverzeichnisSplit:SplitPathspiegelt das Import-Layout; Einzeldateien landen unter dem gespiegelten Pfad inImportPath. Demomodus erkennt und loggt Segmente, schreibt und verschiebt aber nichts. - Doku-Publishing nach BookStack: Änderungen an der README.md auf
masterwerden über den neuen Workflowdocumentation.ymlautomatisch als Buch „MESO Archivimport" nach BookStack veröffentlicht (geteilte ActionCSS-EDV-Support/.github/actions/publish-bookstack).
🏗️ Refactoring
- .NET 10: Das Projekt zielt auf
net10.0, die Container-Images aufmcr.microsoft.com/dotnet/{sdk,runtime}:10.0. Für die Installation als Windows-Service ändert sich nichts — das Publish-Artefakt ist weiterhin self-contained und braucht keine .NET-Installation auf dem Zielrechner. - Upgrade auf DevExpress 26.1 und aktuelle MesoXPO-Pakete:
MesoXPO-DevEx26.12026.4.76,MesoXPO.Business-DevEx26.12026.4.76-beta02 undDevExpress.Document.Processor26.1.3.System.Security.Cryptography.Xmlauf 10.0.10 undAutoMapperauf 16.1.1 gehoben (behebt die NU1903-Advisories und passt zur Anforderung der neuen MesoXPO.Business). - Automatische Paket-Updates: Neue MesoXPO-/MesoXPO.Business-Releases lösen über
repository_dispatcheinen Update-PR aus (update-dependency.yml); Dependabot-Updates laufen gruppiert in einem Sammel-PR. - DevExpress-Pakete kommen jetzt von nuget.org statt vom persönlichen Feed
nuget.devexpress.com(seit DevExpress v25.1 der empfohlene Weg). Die CI benötigt dafür keine Feed-Credentials mehr; die Lizenzierung erfolgt ausschließlich über die UmgebungsvariableDevExpress_License. - Thread-sichere Archiv-DB-Registrierung: Beim Aufräumen wird die von
InitializeFromSystemUnitOfWorkgesetzte Static-Factory gelöscht (SetStaticFactory(null)) statt des veralteten Legacy-Singletons (SetStaticService).
🐛 Fixed
- Archiv-Service-Locator vollständig verdrahtet: Der
SystemDatabaseServiceProviderwird jetzt vorInitializeFromSystemUnitOfWorkgesetzt. Zuvor delegierte die von MesoXPO registrierte Archiv-Factory an einen nicht gesetzten Provider und lieferte bei jedem Zugriffnull— das Archiv funktionierte nur über einen internen Notfall-Fallback und protokollierte pro Zugriff eine Warnung. ArchivBusinesswird beim Herunterfahren freigegeben: Die vonArchivBusinessintern erzeugte Archiv-Session blieb bisher offen, weilDatenbankProvider.Disposedas Objekt nicht disposed hat.- Logger für
ArchivBusiness: Ohne explizit übergebenen Logger verwarf die MesoXPO-Business- Schicht alle eigenen Meldungen. Hinweise wie „Kein Archiv-Formular mit der Bezeichnung … gefunden" erscheinen jetzt im Log. - Ausgelagerte Archiv-Datenbank wieder nutzbar: Bei konfiguriertem
EXTERNARCHIVEDATABASEgingen Schlagworte, OCR-Langtexte und Archivjournal-Einträge still verloren, weil MesoXPO die Archiv-Session pro Zugriff neu erzeugte und der Commit dadurch auf einer leeren Session landete. Behoben in MesoXPO.Business 2026.4.73-beta23 (CSS-EDV-Support/MesoXPO.Business#153) und in allen seither eingesetzten Versionen enthalten. Hinweis:ArchivBusinesshält seine Session damit pro Instanz und ist thread-gebunden — der Import nutzt eine gemeinsame Instanz und serialisiert alle Datenbankzugriffe. - Split-Dateierkennung und OCR-Engine: Die Split-Vorschaltstufe verwendet dieselben Dateifilter
wie der reguläre Import (global und je Objekttyp) und prüft vor dem Zugriff, ob die Datei noch
existiert — im Watch-Mode kann sie zwischen Ereignis und Verarbeitung verschwinden. Die
OCR-Engine wird zudem korrekt im DI-Container registriert; ohne sie startete die Strategie
Ocrnicht. - Linux-Container publiziert wieder: Der Container-Build zieht mit
-r linux-x64die RID-gebundenen nativen Pakete (PaddleOCR/OpenCvSharp) für Linux. Ohne die RID fehlten sie im Image. - Auslieferung der ZIP-Artefakte wiederhergestellt: Ein Versionsversatz zwischen
MesoXPO-DevEx26.1undMesoXPO.Business-DevEx26.1ließ den Restore mitNU1605(Paket-Downgrade) scheitern. Da der Build mit-warnaserrorläuft, brach die CI schon vor dem Publish-Schritt ab und es entstand kein neues ZIP mehr.
Keine Kommentare vorhanden
Keine Kommentare vorhanden