<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://download.osbee.org/documentation/index.php?action=history&amp;feed=atom&amp;title=Releasenotes_2026_OS.Softwarefactory</id>
		<title>Releasenotes 2026 OS.Softwarefactory - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://download.osbee.org/documentation/index.php?action=history&amp;feed=atom&amp;title=Releasenotes_2026_OS.Softwarefactory"/>
		<link rel="alternate" type="text/html" href="https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;action=history"/>
		<updated>2026-11-12T22:26:51Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4633&amp;oldid=prev</id>
		<title>Mollik at 10:59, 9 November 2026</title>
		<link rel="alternate" type="text/html" href="https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4633&amp;oldid=prev"/>
				<updated>2026-11-09T10:59:24Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 10:59, 9 November 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot; &gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* OSBP Framework:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* OSBP Framework:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: Wird die Anwendung kurz nach dem Start im Browser geöffnet, erscheint nicht mehr die Meldung „Failed to load the widgetset“. Die Oberflächendateien (Widgetset, Themes, Symbole) werden jetzt gleich mit der Anwendung bereitgestellt und nicht erst, wenn alle Modelle eingelesen sind. Betroffene Komponenten: org.eclipse.osbp.vaaclipse.addons/org.eclipse.osbp.vaaclipse.addons.app&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: Wird die Anwendung kurz nach dem Start im Browser geöffnet, bleibt die Seite nicht mehr weiß. Die Startseite („Starting …“) wird jetzt so lange angezeigt, bis auch alle Modelle eingelesen sind (Hinweis „the DSL models are being loaded“), und lädt danach von selbst die Anmeldung. Betroffene Komponenten: org.eclipse.osbp.vaaclipse.addons/org.eclipse.osbp.vaaclipse.addons.app&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Fix: QR-Codes in Bildfeldern werden jetzt angezeigt, z. B. auf der Kundenanzeige. Bisher blieb das Feld leer. Andere Barcodes und Bilder werden wie bisher angezeigt. Betroffene Komponenten: org.eclipse.osbp.runtime.web/org.eclipse.osbp.runtime.web.ecview.presentation.vaadin&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Fix: QR-Codes in Bildfeldern werden jetzt angezeigt, z. B. auf der Kundenanzeige. Bisher blieb das Feld leer. Andere Barcodes und Bilder werden wie bisher angezeigt. Betroffene Komponenten: org.eclipse.osbp.runtime.web/org.eclipse.osbp.runtime.web.ecview.presentation.vaadin&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Änderung: Die Anwendung ist beim Start schneller bereit. Die Datenbankanbindung wartet nicht mehr, bis alle Modelle vollständig eingelesen sind, sondern startet, sobald die Modelle gefunden sind; das Einlesen läuft parallel weiter. In der Entwicklungsumgebung war die Anwendung dadurch nach etwa 61 statt 111 Sekunden bereit. Betroffene Komponenten: org.eclipse.osbp.ui.api, org.eclipse.osbp.dsl/org.eclipse.osbp.xtext.builder.metadata.services, org.eclipse.osbp.dsl.metadata.service, org.eclipse.osbp.persistence, org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.configuration.service&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Änderung: Die Anwendung ist beim Start schneller bereit. Die Datenbankanbindung wartet nicht mehr, bis alle Modelle vollständig eingelesen sind, sondern startet, sobald die Modelle gefunden sind; das Einlesen läuft parallel weiter. In der Entwicklungsumgebung war die Anwendung dadurch nach etwa 61 statt 111 Sekunden bereit. Betroffene Komponenten: org.eclipse.osbp.ui.api, org.eclipse.osbp.dsl/org.eclipse.osbp.xtext.builder.metadata.services, org.eclipse.osbp.dsl.metadata.service, org.eclipse.osbp.persistence, org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.configuration.service&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mollik</name></author>	</entry>

	<entry>
		<id>https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4632&amp;oldid=prev</id>
		<title>Mollik at 09:44, 9 November 2026</title>
		<link rel="alternate" type="text/html" href="https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4632&amp;oldid=prev"/>
				<updated>2026-11-09T09:44:06Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 09:44, 9 November 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot; &gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== [[Releasenotes | --&amp;gt; zurück zu Releasenotes ]] ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== [[Releasenotes | --&amp;gt; zurück zu Releasenotes ]] ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Version 5.3.0.20261109 ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* OSBP Framework:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: QR-Codes in Bildfeldern werden jetzt angezeigt, z. B. auf der Kundenanzeige. Bisher blieb das Feld leer. Andere Barcodes und Bilder werden wie bisher angezeigt. Betroffene Komponenten: org.eclipse.osbp.runtime.web/org.eclipse.osbp.runtime.web.ecview.presentation.vaadin&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Änderung: Die Anwendung ist beim Start schneller bereit. Die Datenbankanbindung wartet nicht mehr, bis alle Modelle vollständig eingelesen sind, sondern startet, sobald die Modelle gefunden sind; das Einlesen läuft parallel weiter. In der Entwicklungsumgebung war die Anwendung dadurch nach etwa 61 statt 111 Sekunden bereit. Betroffene Komponenten: org.eclipse.osbp.ui.api, org.eclipse.osbp.dsl/org.eclipse.osbp.xtext.builder.metadata.services, org.eclipse.osbp.dsl.metadata.service, org.eclipse.osbp.persistence, org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.configuration.service&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* DSL:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Änderung: Auch die Editoren für Datenschnittstellen (Datainterchange) und Signale arbeiten jetzt wie der Editor der Funktionsbibliothek: Die Vorschläge (Strg+Leertaste) erscheinen auch in großen Dateien ohne spürbare Wartezeit, Gliederung, Einfärben und Ein- und Ausklappen bremsen das Tippen nicht mehr. Fehlermarkierungen und Gliederung erscheinen kurz nach dem Tippen. Betroffene Komponenten: org.eclipse.osbp.xtext.datainterchange/org.eclipse.osbp.xtext.datainterchange.ui, org.eclipse.osbp.xtext.signal/org.eclipse.osbp.xtext.signal.ui&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Version 5.3.0.20261106 ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Version 5.3.0.20261106 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mollik</name></author>	</entry>

	<entry>
		<id>https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4631&amp;oldid=prev</id>
		<title>Mollik at 13:50, 6 November 2026</title>
		<link rel="alternate" type="text/html" href="https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4631&amp;oldid=prev"/>
				<updated>2026-11-06T13:50:22Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 13:50, 6 November 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot; &gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== [[Releasenotes | --&amp;gt; zurück zu Releasenotes ]] ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== [[Releasenotes | --&amp;gt; zurück zu Releasenotes ]] ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Version 5.3.0.20261106 ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* OSBP Framework:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Neu: Die Seite &amp;lt;code&amp;gt;/showLog&amp;lt;/code&amp;gt; zeigt im laufenden Betrieb das Ende des Protokolls (die letzten 500 Zeilen), mit Textfilter, Aktualisieren und Herunterladen der aktuellen Datei. Anmelden können sich nur Benutzer mit der Superuser-Eigenschaft, mit derselben Sperre nach Fehlversuchen wie bei der normalen Anmeldung. Jeder Zugriff wird im Monitoring festgehalten. Die Seite ist standardmäßig ausgeschaltet und wird in der Systemkonfiguration mit &amp;lt;code&amp;gt;GLOBAL_PARAMETERS / showLog&amp;lt;/code&amp;gt; eingeschaltet. Da dabei ein Passwort übertragen wird, sollte die Anwendung über HTTPS erreichbar sein. Betroffene Komponenten: org.eclipse.osbp.vaaclipse.addons/org.eclipse.osbp.vaaclipse.addons.app, org.eclipse.osbp.ui.api, org.eclipse.osbp.authentication, org.eclipse.osbp.ecview.addons/org.eclipse.osbp.ecview.jetty.manager&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Neu: Auf der Seite &amp;lt;code&amp;gt;/showLog&amp;lt;/code&amp;gt; lässt sich die Schrift des Protokolls mit den Schaltflächen A− und A+ verkleinern und vergrößern. Die gewählte Größe bleibt beim Aktualisieren und Filtern erhalten, bis zur nächsten Anmeldung. Betroffene Komponenten: org.eclipse.osbp.vaaclipse.addons/org.eclipse.osbp.vaaclipse.addons.app&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Änderung: Wird eine falsche Adresse aufgerufen, zeigt die Hinweisseite jetzt alle Einstiegspunkte in einer Tabelle: Anwendung, Kundenanzeige (Display), Protokollseite und Dienststeuerung. Die automatische Weiterleitung zur Anwendung erfolgt nach 5 statt 3 Sekunden. Betroffene Komponenten: org.eclipse.osbp.ecview.addons/org.eclipse.osbp.ecview.jetty.manager&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: Änderungen in der Systemkonfiguration wirken nach dem Speichern im Dialog wieder sofort. Seit Juni 2025 wurden Aufgaben, die nach dem Speichern im Hintergrund laufen sollen, nicht mehr ausgeführt; Konfigurationsänderungen wurden dadurch erst nach bis zu einer Stunde wirksam, und auch die Nachbearbeitung nach dem Speichern mancher Daten (z. B. für die Suche) unterblieb. Betroffene Komponenten: org.eclipse.osbp.dsl/org.eclipse.osbp.dsl.entity.postpersistservice&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: Monitoring-Einträge mit dem Status „Info“ werden korrekt gespeichert. Bisher wurden sie als „Unbekannt“ abgelegt, und im Protokoll erschien ein Fehler. Nach dem Update wird die Datenbankstruktur des Monitorings einmalig geprüft. Betroffene Komponenten: org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.monitoring.base&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* DSL:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Änderung: Die Vorschläge im Editor der Funktionsbibliothek (Strg+Leertaste) erscheinen jetzt auch in großen Dateien ohne spürbare Wartezeit. Bisher wurde bei jedem Aufruf die ganze Datei neu gelesen, was in großen Dateien mehrere Sekunden dauern konnte. Die Gliederung (Outline) wird erst aktualisiert, wenn zwei Sekunden lang nicht getippt wurde, und bremst das Tippen dadurch nicht mehr. Auch das Einfärben und das Ein- und Ausklappen von Abschnitten werden nicht mehr bei jedem Aufruf der Vorschläge für die ganze Datei neu berechnet, sondern nur nach einer Änderung. Ist in der Gliederung „Mit Editor verknüpfen“ eingeschaltet, wartet der Editor nach größeren Änderungen nicht mehr, bis die Datei vollständig geprüft ist. Betroffene Komponenten: org.eclipse.osbp.xtext.functionlibrary/org.eclipse.osbp.xtext.functionlibrarydsl.ui&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Änderung: Die Editoren für Entitäten, DTOs, Statemachines und Datamarts arbeiten jetzt wie der Editor der Funktionsbibliothek: Die Vorschläge (Strg+Leertaste) erscheinen auch in großen Dateien ohne spürbare Wartezeit, Gliederung, Einfärben und Ein- und Ausklappen bremsen das Tippen nicht mehr. Nur der erste Aufruf der Vorschläge nach dem Start der Entwicklungsumgebung dauert etwas länger. Fehlermarkierungen und Gliederung erscheinen kurz nach dem Tippen. Betroffene Komponenten: org.eclipse.osbp.xtext.oxtype/org.eclipse.osbp.xtext.oxtype.ui, org.eclipse.osbp.dsl/org.eclipse.osbp.dsl.entity.xtext.ui, org.eclipse.osbp.dsl/org.eclipse.osbp.dsl.dto.xtext.ui, org.eclipse.osbp.xtext.statemachine/org.eclipse.osbp.xtext.statemachine.ui, org.eclipse.osbp.xtext.datamart/org.eclipse.osbp.xtext.datamartdsl.ui&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Build &amp;amp; Infrastruktur:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Änderung: Die Entwicklungsumgebung schreibt bei jedem Bauen nicht mehr die Versionsangaben aus Git in die Projekte. Das hat das Bauen in der Entwicklungsumgebung spürbar verlangsamt und oft eine weitere Baurunde ausgelöst. Die Versionsangaben entstehen weiterhin beim Bauen auf dem Build-Server, die ausgelieferten Stände enthalten sie wie bisher. Entwickler führen danach einmal in der Entwicklungsumgebung „Maven &amp;gt; Update Project“ mit „Force Update of Snapshots“ aus (Alt+F5). Betroffene Komponenten: org.eclipse.osbp.releng.maven, org.eclipse.osbp.releng.maven/org.eclipse.osbp.releng.maven.parent.tycho, org.osbee.releng.maven, org.osbee.releng.maven/org.osbee.releng.maven.parent.tycho, net.osbee.releng.maven, net.osbee.releng.maven/net.osbee.releng.maven.parent.tycho, net.osbee.app.releng.maven, net.osbee.app.releng.maven/net.osbee.app.releng.maven.parent.tycho&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Version 5.3.0.20261105 ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* OSBP Framework:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Änderung: Beim Start wird die Datenbankstruktur nur noch geprüft, wenn sich das Datenmodell wirklich geändert hat, auch nach einem Update. Ein neuer Stand der Anwendung ohne Änderung am Datenmodell startet dadurch ohne diese Prüfung. Nach dem Update auf diese Version wird einmalig noch einmal alles geprüft. Bei sehr großen Tabellen kann das viele Minuten dauern. Die Anwendung darf in dieser Zeit nicht beendet werden. Über den echten Update-Fall auf einer Installation ist das noch nicht bestätigt. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Änderung: Der Start wartet jetzt so lange, wie die Prüfung der Datenbankstruktur braucht. Bisher brach er nach 5 Minuten ab, und bei sehr großen Tabellen kam die Anwendung dadurch nicht mehr hoch. Wer weiterhin eine Grenze möchte, setzt &amp;lt;code&amp;gt;-DPersistenceService.startupTimeoutSeconds=&amp;amp;lt;Sekunden&amp;amp;gt;&amp;lt;/code&amp;gt;. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Änderung: Vorhandene Indizes und Fremdschlüssel werden beim Start auf MySQL und MariaDB nicht mehr ein zweites Mal angelegt. Das verkürzt die Prüfung bei großen Tabellen deutlich. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: Liegen auf einem Datenbankserver mehrere Datenbanken mit gleichen Tabellen, legt die Prüfung auf MySQL und MariaDB fehlende Spalten nun zuverlässig an. Bisher galt eine Spalte als vorhanden, wenn es sie in einer anderen Datenbank gab. Später erschien dann die Meldung „Unknown column“, zum Beispiel beim Wiederholdruck einer Rechnung. Im Betrieb ist diese Korrektur noch nicht bestätigt. Ohne Verbindungspool (&amp;lt;code&amp;gt;-DPersistenceService.connectionPool=false&amp;lt;/code&amp;gt;) greift sie nicht. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Neu: Die Startseite zeigt die verstrichene Zeit, damit man sieht, dass der Start noch läuft. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Neu: Die Startseite kann das Ende des Protokolls anzeigen, mit &amp;lt;code&amp;gt;-DStartupStatusPage.showLog=true&amp;lt;/code&amp;gt; in der &amp;lt;code&amp;gt;eclipse.ini&amp;lt;/code&amp;gt;. Die Datei wird automatisch ermittelt, &amp;lt;code&amp;gt;-DStartupStatusPage.logFile=&amp;amp;lt;Pfad&amp;amp;gt;&amp;lt;/code&amp;gt; gibt sie fest vor. Die Anzeige ist standardmäßig aus, denn die Startseite ist ohne Anmeldung erreichbar und das Protokoll kann vertrauliche Angaben enthalten. Auf Kassen beim Kunden sollte sie aus bleiben. Betroffene Komponenten: org.eclipse.osbp.ecview.addons/org.eclipse.osbp.ecview.jetty.manager&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Version 5.3.0.20261104 ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* OSBP Framework:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Neu: Beim Start wird die Datenbankstruktur nur noch dort geprüft, wo sich das Datenmodell geändert hat. Auf einer Testinstallation war die Datenbank beim Start dadurch rund 18 Sekunden früher bereit; insgesamt entfallen dort rund 30 Sekunden Prüfarbeit. Der erste Start nach einem Update prüft noch einmal alles. Die Prüfung ergänzt nur und entfernt nichts aus der Datenbank. Betroffene Komponenten: org.eclipse.osbp.persistence, org.eclipse.osbp.system.configuration.api, org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.configuration.base, org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.configuration.service&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Neu: Eine neue Ansicht zeigt, wann die Datenbankstruktur zuletzt geprüft wurde. Administratoren können dort für einen Bereich eine neue Prüfung beim nächsten Start auslösen. Betroffene Komponenten: org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.configuration&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Änderung: Der Startparameter &amp;lt;code&amp;gt;-DPersistenceService.NoCache&amp;lt;/code&amp;gt; wird nicht mehr gebraucht. Ein vorhandener Eintrag stört nicht. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: Ein Bericht wird nach einem Klick nur noch einmal angezeigt. Seit Version 5.3.0.20261103 konnte er sich mehrfach neu aufbauen. Betroffene Komponenten: org.eclipse.osbp.osgi.hybrid.api, org.eclipse.osbp.xtext.report/org.eclipse.osbp.xtext.report.runtime&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Version 5.3.0.20261103 ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Version 5.3.0.20261103 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mollik</name></author>	</entry>

	<entry>
		<id>https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4630&amp;oldid=prev</id>
		<title>Mollik at 12:11, 4 November 2026</title>
		<link rel="alternate" type="text/html" href="https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4630&amp;oldid=prev"/>
				<updated>2026-11-04T12:11:55Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 12:11, 4 November 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot; &gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* OSBP Framework:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* OSBP Framework:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: Das Grid fragt nach einem Wechsel des Inhalts nicht mehr für jede bekannte Zeile einzeln beim Container nach. Bei einem lazy ladenden Container war das je Zeile ein &amp;lt;code&amp;gt;SELECT COUNT&amp;lt;/code&amp;gt;: Ein Lauf des Zeitplaners mit offener Perspektive machte 10.468 Abfragen, danach 787. Die Schlüssel von Zeilen, die der Client nicht mehr anzeigt, werden beim nächsten Zurücksetzen freigegeben. Betroffene Komponenten: org.eclipse.osbp.ecview.extension/org.eclipse.osbp.ecview.extension.grid.presentation&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: Eine Ansicht zeigt nach einer Folge von Änderungen immer den letzten Stand. Bisher wurden Aktualisierungen während des Zeichnens oder innerhalb der Ruhezeit (&amp;lt;code&amp;gt;RefreshTimeout&amp;lt;/code&amp;gt;, Standard 300 ms) verworfen, sodass die letzte Änderung fehlen konnte. Jetzt werden sie zurückgestellt: Die Ansicht zeichnet einmal nach der letzten Anforderung, spätestens 5 Sekunden nach der ersten zurückgestellten. Gilt für alle Ansichten über &amp;lt;code&amp;gt;AbstractHybridVaaclipseView&amp;lt;/code&amp;gt; (Tabellen, Diagramme, Berichte). Die Zahl der Abfragen sinkt dadurch nicht zwingend: gemessen am Überwachungsdiagramm 4 statt 3 bei einem Lauf des Zeitplaners, dafür mit dem letzten Stand. Betroffene Komponenten: org.eclipse.osbp.osgi.hybrid.api&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: Flyway lief bei jedem Start mit &amp;lt;code&amp;gt;baseline()&amp;lt;/code&amp;gt;. Sobald die Historie Einträge hatte, lehnte Flyway das mit einer Ausnahme ab, die verschluckt wurde – &amp;lt;code&amp;gt;migrate()&amp;lt;/code&amp;gt; lief danach nie. Eine bestehende Datenbank ohne Historie wird nun über &amp;lt;code&amp;gt;baselineOnMigrate&amp;lt;/code&amp;gt; einmalig mit Version 0 versehen. Ebenso entfällt &amp;lt;code&amp;gt;repair()&amp;lt;/code&amp;gt; bei jedem Start: Es schrieb die Historie auf ein nachträglich geändertes oder ersetztes Skript um, das dann nie lief; ein solches Skript scheitert nun an der Prüfsumme. Versionen dürfen außer der Reihe eintreffen (&amp;lt;code&amp;gt;outOfOrder&amp;lt;/code&amp;gt;), ein entferntes, bereits gelaufenes Skript ist kein Fehler mehr. Der Lizenzschlüssel für die kommerzielle Flyway-Edition wird nicht mehr gelesen; die Open-Source-Edition genügt. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: Wartezeit beim Start („Getting a lock required more than 20000 ms“). Jede Persistence Unit las beim Anlegen ihren EclipseLink-Cachetyp und ihre Cachegröße (&amp;lt;code&amp;gt;EclipseLink/&amp;amp;lt;Unit&amp;amp;gt;#cacheTypeDefault&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#cacheSizeDefault&amp;lt;/code&amp;gt;) aus der Konfiguration. Die Units werden parallel in einem Thread-Pool angelegt; das Lesen der Konfiguration holt DTO-Dienste und Mapper über Declarative Services, deren Sperre der Start-Thread während des gesamten Persistenzstarts hält. Jeder Pool-Thread wartete daher, bis DS nach 20 s aufgab. Die Werte werden nun vorher einmal auf dem Start-Thread gelesen, der die Sperre erneut nehmen darf; die Pool-Threads erhalten sie aus dem Zwischenspeicher der Konfiguration. Die Vorgabewerte (&amp;lt;code&amp;gt;Soft&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1000&amp;lt;/code&amp;gt;) sind Konstanten, sodass beide Lesestellen dieselben verwenden. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: Überwachungseinträge gingen auf älteren Datenbanken verloren. Datenbanken, die mit einem früheren Monitoring-Modell angelegt wurden, tragen noch eindeutige Indizes auf einem Namen allein (&amp;lt;code&amp;gt;MONITOR_SUB_CATEGORY.MSC_NAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_CATEGORY.MCA_NAME&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;DK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_MAIN_CATEGORY.MMCA_NAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_COMPONENT.MCO_NAME&amp;lt;/code&amp;gt;). Das Modell verlangt einen eindeutigen Namen nur unterhalb des jeweiligen Elternelements; die Schemagenerierung legt Indizes an, entfernt aber nie einen. Eine zweite Kategorie mit einer gleichnamigen Unterkategorie – etwa „COMPLETE“ unter &amp;lt;code&amp;gt;XRECHNUNG_UP&amp;lt;/code&amp;gt; und unter &amp;lt;code&amp;gt;ZUGFERD_UP&amp;lt;/code&amp;gt; – scheiterte daher an einem doppelten Schlüssel, &amp;lt;code&amp;gt;MonitoringService&amp;lt;/code&amp;gt; fing den Fehler ab, und der Eintrag fehlte (auf einer BDI-Installation über 1.000 solcher Fehler an einem Tag, dazu „transactionRollback - no transactionhandler found“). Ebenso konnten sich zwei Installationen mit gemeinsamer Datenbank nicht beide als Komponente „Application“ anmelden. Die erste Flyway-Migration des Bundles (&amp;lt;code&amp;gt;V2026.10.28.1__drop_stale_monitor_unique_indexes.sql&amp;lt;/code&amp;gt;, für MySQL/MariaDB, PostgreSQL und Oracle) entfernt diese Indizes; &amp;lt;code&amp;gt;MONITOR_COMPONENTI1&amp;lt;/code&amp;gt; legt die Schemagenerierung danach in der Form des Modells (&amp;lt;code&amp;gt;MCO_NAME, MCO_INSTALLATION&amp;lt;/code&amp;gt;) neu an. Da die Indizes nicht mehr im Modell stehen, hängen ihre Namen vom Generator ab, der die Datenbank angelegt hat; die Skripte finden sie daher an ihrer Struktur (eindeutig, kein Primärschlüssel, genau eine dieser Spalten). Auf einer neuen oder bereits bereinigten Datenbank ändern sie nichts. '''Die PostgreSQL- und Oracle-Skripte sind ungetestet.''' Ohne Flyway lassen sich die Indizes auch von Hand entfernen (auf den lokalen Datenbanken &amp;lt;code&amp;gt;shipment&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt; geschehen). Betroffene Komponenten: org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.monitoring.base&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Neu: Die Pools sind über JMX sichtbar. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Neu: Flyway findet Datenbankmigrationen, die Bundles mitbringen. Ein Bundle nennt seinen Migrationsordner im Manifest-Header &amp;lt;code&amp;gt;OSBP-Flyway-Migration: db/migration&amp;lt;/code&amp;gt; und legt die Skripte als &amp;lt;code&amp;gt;&amp;amp;lt;Persistence Unit&amp;amp;gt;/&amp;amp;lt;Hersteller&amp;amp;gt;/V&amp;amp;lt;Version&amp;amp;gt;__&amp;amp;lt;Beschreibung&amp;amp;gt;.sql&amp;lt;/code&amp;gt; ab, z.B. &amp;lt;code&amp;gt;monitoringData/mysql/V2026.10.28.1__drop_stale_monitor_unique_indexes.sql&amp;lt;/code&amp;gt;. Ein Skript läuft auf der Datenquelle, für die seine Persistence Unit konfiguriert ist, und zwar vor dem Anlegen und Erweitern der Tabellen durch EclipseLink. Der Herstellerordner wird aus den JDBC-Metadaten bestimmt: &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; (auch für MariaDB), &amp;lt;code&amp;gt;postgresql&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;oracle&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sqlserver&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;derby&amp;lt;/code&amp;gt;. Bisher suchte Flyway über einen Class Loader, der in OSGi einen Ordner wie &amp;lt;code&amp;gt;db/migration&amp;lt;/code&amp;gt; nur im eigenen Bundle sieht – Skripte in anderen Bundles wurden nie gefunden. Die neue Klasse &amp;lt;code&amp;gt;BundleMigrations&amp;lt;/code&amp;gt; sammelt sie und übergibt sie Flyway als Resource Provider; die Skripte im Dateisystemordner der Datenquelle (&amp;lt;code&amp;gt;-DFlyway.&amp;amp;lt;Datenquelle&amp;amp;gt;.DatabaseMigrationSourcePath&amp;lt;/code&amp;gt;) werden wie bisher mitgelesen. '''Die Migrationen laufen weiterhin nur mit &amp;lt;code&amp;gt;-DFlyway.active=true&amp;lt;/code&amp;gt;; keine ausgelieferte Anwendung schaltet sie bisher ein''' Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Neu: Flyway findet Datenbankmigrationen, die Bundles mitbringen. Ein Bundle nennt seinen Migrationsordner im Manifest-Header &amp;lt;code&amp;gt;OSBP-Flyway-Migration: db/migration&amp;lt;/code&amp;gt; und legt die Skripte als &amp;lt;code&amp;gt;&amp;amp;lt;Persistence Unit&amp;amp;gt;/&amp;amp;lt;Hersteller&amp;amp;gt;/V&amp;amp;lt;Version&amp;amp;gt;__&amp;amp;lt;Beschreibung&amp;amp;gt;.sql&amp;lt;/code&amp;gt; ab, z.B. &amp;lt;code&amp;gt;monitoringData/mysql/V2026.10.28.1__drop_stale_monitor_unique_indexes.sql&amp;lt;/code&amp;gt;. Ein Skript läuft auf der Datenquelle, für die seine Persistence Unit konfiguriert ist, und zwar vor dem Anlegen und Erweitern der Tabellen durch EclipseLink. Der Herstellerordner wird aus den JDBC-Metadaten bestimmt: &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; (auch für MariaDB), &amp;lt;code&amp;gt;postgresql&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;oracle&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sqlserver&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;derby&amp;lt;/code&amp;gt;. Bisher suchte Flyway über einen Class Loader, der in OSGi einen Ordner wie &amp;lt;code&amp;gt;db/migration&amp;lt;/code&amp;gt; nur im eigenen Bundle sieht – Skripte in anderen Bundles wurden nie gefunden. Die neue Klasse &amp;lt;code&amp;gt;BundleMigrations&amp;lt;/code&amp;gt; sammelt sie und übergibt sie Flyway als Resource Provider; die Skripte im Dateisystemordner der Datenquelle (&amp;lt;code&amp;gt;-DFlyway.&amp;amp;lt;Datenquelle&amp;amp;gt;.DatabaseMigrationSourcePath&amp;lt;/code&amp;gt;) werden wie bisher mitgelesen. '''Die Migrationen laufen weiterhin nur mit &amp;lt;code&amp;gt;-DFlyway.active=true&amp;lt;/code&amp;gt;; keine ausgelieferte Anwendung schaltet sie bisher ein''' Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Neu: HikariCP-Verbindungspool vor der Datenquelle des Treibers. Bisher öffnete jede Abfrage eine neue Verbindung zur Datenbank, etwa 3.000 je stündlichem Lauf des Zeitplaners auf einer ruhenden Kasse. Maximum ist &amp;lt;code&amp;gt;database.connectionpool.max&amp;lt;/code&amp;gt;, 5 Verbindungen bleiben offen, Austausch nach 30 Minuten. &amp;lt;code&amp;gt;-DPersistenceService.connectionPool=false&amp;lt;/code&amp;gt; schaltet den Pool ab; &amp;lt;code&amp;gt;.minIdle&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.maxLifetimeMinutes&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;.leakDetectionSeconds&amp;lt;/code&amp;gt; stellen ihn ein&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;. Flyway verwendet weiter die Datenquelle des Treibers. In der Entwicklungsumgebung gemessen: keine neuen Verbindungen im Ruhezustand, beim stündlichen Lauf und bei Verkäufen&lt;/del&gt;. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Neu: HikariCP-Verbindungspool vor der Datenquelle des Treibers. Bisher öffnete jede Abfrage eine neue Verbindung zur Datenbank, etwa 3.000 je stündlichem Lauf des Zeitplaners auf einer ruhenden Kasse. Maximum ist &amp;lt;code&amp;gt;database.connectionpool.max&amp;lt;/code&amp;gt;, 5 Verbindungen bleiben offen, Austausch nach 30 Minuten. &amp;lt;code&amp;gt;-DPersistenceService.connectionPool=false&amp;lt;/code&amp;gt; schaltet den Pool ab; &amp;lt;code&amp;gt;.minIdle&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.maxLifetimeMinutes&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;.leakDetectionSeconds&amp;lt;/code&amp;gt; stellen ihn ein. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Neu: Jeder Eintrag der Systemüberwachung enthält die Auslastung des Verbindungspools in Prozent und die Zahl der wartenden Threads. Wartende Threads markieren den Eintrag Memorycheck als Warnung. Betroffene Komponenten: org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.monitoring, org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.monitoring.base&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Neu: Jeder Eintrag der Systemüberwachung enthält die Auslastung des Verbindungspools in Prozent und die Zahl der wartenden Threads. Wartende Threads markieren den Eintrag Memorycheck als Warnung. Betroffene Komponenten: org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.monitoring, org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.monitoring.base&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Änderung: &amp;lt;code&amp;gt;db/README.md&amp;lt;/code&amp;gt; beschreibt Aufbau, Versions- und Historienkonventionen sowie die Regeln für ein Migrationsskript (nie ein ausgeliefertes Skript ändern, sondern eine neue Version schreiben; jeden Datenbankzustand vertragen, weil das Skript vor dem Anlegen der Tabellen läuft; Objekte an ihrer Struktur statt an ihrem Namen finden). Betroffene Komponenten: org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.monitoring.base&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Änderung: &amp;lt;code&amp;gt;db/README.md&amp;lt;/code&amp;gt; beschreibt Aufbau, Versions- und Historienkonventionen sowie die Regeln für ein Migrationsskript (nie ein ausgeliefertes Skript ändern, sondern eine neue Version schreiben; jeden Datenbankzustand vertragen, weil das Skript vor dem Anlegen der Tabellen läuft; Objekte an ihrer Struktur statt an ihrem Namen finden). Betroffene Komponenten: org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.monitoring.base&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Änderung: Die Tabelle „Flyway info“ im Log richtet ihre Spaltenbreiten nach dem Inhalt. Bisher schnitten feste Breiten Version und Beschreibung ab (&amp;lt;code&amp;gt;2026.10.28.1&amp;lt;/code&amp;gt; erschien als &amp;lt;code&amp;gt;2026.10.&amp;lt;/code&amp;gt;). Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Änderung: Die Tabelle „Flyway info“ im Log richtet ihre Spaltenbreiten nach dem Inhalt. Bisher schnitten feste Breiten Version und Beschreibung ab (&amp;lt;code&amp;gt;2026.10.28.1&amp;lt;/code&amp;gt; erschien als &amp;lt;code&amp;gt;2026.10.&amp;lt;/code&amp;gt;). Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Änderung: Jedes Bundle mit Migrationen hat eine eigene Historientabelle, &amp;lt;code&amp;gt;flyway_&amp;lt;/code&amp;gt; und der symbolische Name, gekürzt wie ein Logger Klassennamen kürzt (führende Segmente auf ihren Anfangsbuchstaben, bis höchstens 30 Zeichen erreicht sind): &amp;lt;code&amp;gt;org.eclipse.osbp.system.monitoring.base&amp;lt;/code&amp;gt; wird zu &amp;lt;code&amp;gt;flyway_oeos_monitoring_base&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.osbee.app.bdi.ex.model.entity&amp;lt;/code&amp;gt; zu &amp;lt;code&amp;gt;flyway_noa_bdi_ex_model_entity&amp;lt;/code&amp;gt;. Versionen müssen daher nur innerhalb eines Bundles eindeutig sein; zwei Entwickler können in verschiedenen Bundles dieselbe Versionsnummer vergeben. Scheitern die Migrationen eines Bundles, wird das mit „the migrations of &amp;amp;lt;Bundle&amp;amp;gt; were NOT applied“ protokolliert, die übrigen Bundles laufen weiter. Ergäben zwei Bundles denselben gekürzten Namen, werden beide mit einem Fehler abgewiesen, statt sich eine Historie zu teilen. Die Skripte des Dateisystemordners behalten Flyways Standardtabelle &amp;lt;code&amp;gt;flyway_schema_history&amp;lt;/code&amp;gt;; eine Quelle ohne Skripte läuft gar nicht. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Änderung: Jedes Bundle mit Migrationen hat eine eigene Historientabelle, &amp;lt;code&amp;gt;flyway_&amp;lt;/code&amp;gt; und der symbolische Name, gekürzt wie ein Logger Klassennamen kürzt (führende Segmente auf ihren Anfangsbuchstaben, bis höchstens 30 Zeichen erreicht sind): &amp;lt;code&amp;gt;org.eclipse.osbp.system.monitoring.base&amp;lt;/code&amp;gt; wird zu &amp;lt;code&amp;gt;flyway_oeos_monitoring_base&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.osbee.app.bdi.ex.model.entity&amp;lt;/code&amp;gt; zu &amp;lt;code&amp;gt;flyway_noa_bdi_ex_model_entity&amp;lt;/code&amp;gt;. Versionen müssen daher nur innerhalb eines Bundles eindeutig sein; zwei Entwickler können in verschiedenen Bundles dieselbe Versionsnummer vergeben. Scheitern die Migrationen eines Bundles, wird das mit „the migrations of &amp;amp;lt;Bundle&amp;amp;gt; were NOT applied“ protokolliert, die übrigen Bundles laufen weiter. Ergäben zwei Bundles denselben gekürzten Namen, werden beide mit einem Fehler abgewiesen, statt sich eine Historie zu teilen. Die Skripte des Dateisystemordners behalten Flyways Standardtabelle &amp;lt;code&amp;gt;flyway_schema_history&amp;lt;/code&amp;gt;; eine Quelle ohne Skripte läuft gar nicht. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: Das Grid fragt nach einem Wechsel des Inhalts nicht mehr für jede bekannte Zeile einzeln beim Container nach. Bei einem lazy ladenden Container war das je Zeile ein &amp;lt;code&amp;gt;SELECT COUNT&amp;lt;/code&amp;gt;: Ein Lauf des Zeitplaners mit offener Perspektive machte 10.468 Abfragen, danach 787. Die Schlüssel von Zeilen, die der Client nicht mehr anzeigt, werden beim nächsten Zurücksetzen freigegeben. Betroffene Komponenten: org.eclipse.osbp.ecview.extension/org.eclipse.osbp.ecview.extension.grid.presentation&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: Eine Ansicht zeigt nach einer Folge von Änderungen immer den letzten Stand. Bisher wurden Aktualisierungen während des Zeichnens oder innerhalb der Ruhezeit (&amp;lt;code&amp;gt;RefreshTimeout&amp;lt;/code&amp;gt;, Standard 300 ms) verworfen, sodass die letzte Änderung fehlen konnte. Jetzt werden sie zurückgestellt: Die Ansicht zeichnet einmal nach der letzten Anforderung, spätestens 5 Sekunden nach der ersten zurückgestellten. Gilt für alle Ansichten über &amp;lt;code&amp;gt;AbstractHybridVaaclipseView&amp;lt;/code&amp;gt; (Tabellen, Diagramme, Berichte). Die Zahl der Abfragen sinkt dadurch nicht zwingend: gemessen am Überwachungsdiagramm 4 statt 3 bei einem Lauf des Zeitplaners, dafür mit dem letzten Stand. Betroffene Komponenten: org.eclipse.osbp.osgi.hybrid.api&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: Flyway lief bei jedem Start mit &amp;lt;code&amp;gt;baseline()&amp;lt;/code&amp;gt;. Sobald die Historie Einträge hatte, lehnte Flyway das mit einer Ausnahme ab, die verschluckt wurde – &amp;lt;code&amp;gt;migrate()&amp;lt;/code&amp;gt; lief danach nie. Eine bestehende Datenbank ohne Historie wird nun über &amp;lt;code&amp;gt;baselineOnMigrate&amp;lt;/code&amp;gt; einmalig mit Version 0 versehen. Ebenso entfällt &amp;lt;code&amp;gt;repair()&amp;lt;/code&amp;gt; bei jedem Start: Es schrieb die Historie auf ein nachträglich geändertes oder ersetztes Skript um, das dann nie lief; ein solches Skript scheitert nun an der Prüfsumme. Versionen dürfen außer der Reihe eintreffen (&amp;lt;code&amp;gt;outOfOrder&amp;lt;/code&amp;gt;), ein entferntes, bereits gelaufenes Skript ist kein Fehler mehr. Der Lizenzschlüssel für die kommerzielle Flyway-Edition wird nicht mehr gelesen; die Open-Source-Edition genügt. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: Wartezeit beim Start („Getting a lock required more than 20000 ms“). Jede Persistence Unit las beim Anlegen ihren EclipseLink-Cachetyp und ihre Cachegröße (&amp;lt;code&amp;gt;EclipseLink/&amp;amp;lt;Unit&amp;amp;gt;#cacheTypeDefault&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#cacheSizeDefault&amp;lt;/code&amp;gt;) aus der Konfiguration. Die Units werden parallel in einem Thread-Pool angelegt; das Lesen der Konfiguration holt DTO-Dienste und Mapper über Declarative Services, deren Sperre der Start-Thread während des gesamten Persistenzstarts hält. Jeder Pool-Thread wartete daher, bis DS nach 20 s aufgab. Die Werte werden nun vorher einmal auf dem Start-Thread gelesen, der die Sperre erneut nehmen darf; die Pool-Threads erhalten sie aus dem Zwischenspeicher der Konfiguration. Die Vorgabewerte (&amp;lt;code&amp;gt;Soft&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1000&amp;lt;/code&amp;gt;) sind Konstanten, sodass beide Lesestellen dieselben verwenden. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: Überwachungseinträge gingen auf älteren Datenbanken verloren. Datenbanken, die mit einem früheren Monitoring-Modell angelegt wurden, tragen noch eindeutige Indizes auf einem Namen allein (&amp;lt;code&amp;gt;MONITOR_SUB_CATEGORY.MSC_NAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_CATEGORY.MCA_NAME&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;DK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_MAIN_CATEGORY.MMCA_NAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_COMPONENT.MCO_NAME&amp;lt;/code&amp;gt;). Das Modell verlangt einen eindeutigen Namen nur unterhalb des jeweiligen Elternelements; die Schemagenerierung legt Indizes an, entfernt aber nie einen. Eine zweite Kategorie mit einer gleichnamigen Unterkategorie – etwa „COMPLETE“ unter &amp;lt;code&amp;gt;XRECHNUNG_UP&amp;lt;/code&amp;gt; und unter &amp;lt;code&amp;gt;ZUGFERD_UP&amp;lt;/code&amp;gt; – scheiterte daher an einem doppelten Schlüssel, &amp;lt;code&amp;gt;MonitoringService&amp;lt;/code&amp;gt; fing den Fehler ab, und der Eintrag fehlte (auf einer BDI-Installation über 1.000 solcher Fehler an einem Tag, dazu „transactionRollback - no transactionhandler found“). Ebenso konnten sich zwei Installationen mit gemeinsamer Datenbank nicht beide als Komponente „Application“ anmelden. Die erste Flyway-Migration des Bundles (&amp;lt;code&amp;gt;V2026.10.28.1__drop_stale_monitor_unique_indexes.sql&amp;lt;/code&amp;gt;, für MySQL/MariaDB, PostgreSQL und Oracle) entfernt diese Indizes; &amp;lt;code&amp;gt;MONITOR_COMPONENTI1&amp;lt;/code&amp;gt; legt die Schemagenerierung danach in der Form des Modells (&amp;lt;code&amp;gt;MCO_NAME, MCO_INSTALLATION&amp;lt;/code&amp;gt;) neu an. Da die Indizes nicht mehr im Modell stehen, hängen ihre Namen vom Generator ab, der die Datenbank angelegt hat; die Skripte finden sie daher an ihrer Struktur (eindeutig, kein Primärschlüssel, genau eine dieser Spalten). Auf einer neuen oder bereits bereinigten Datenbank ändern sie nichts. '''Die PostgreSQL- und Oracle-Skripte sind ungetestet.''' Ohne Flyway lassen sich die Indizes auch von Hand entfernen (auf den lokalen Datenbanken &amp;lt;code&amp;gt;shipment&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt; geschehen). Betroffene Komponenten: org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.monitoring.base&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* DSL:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* DSL:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mollik</name></author>	</entry>

	<entry>
		<id>https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4629&amp;oldid=prev</id>
		<title>Mollik at 12:05, 4 November 2026</title>
		<link rel="alternate" type="text/html" href="https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4629&amp;oldid=prev"/>
				<updated>2026-11-04T12:05:53Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 12:05, 4 November 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot; &gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== [[Releasenotes | --&amp;gt; zurück zu Releasenotes ]] ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== [[Releasenotes | --&amp;gt; zurück zu Releasenotes ]] ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Version 5.3.0.20261103 ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;== Version &lt;/del&gt;5.3.0.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;20261104 &lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* OSBP Framework:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** Fix: Das Grid fragt nach einem Wechsel des Inhalts nicht mehr für jede bekannte Zeile einzeln beim Container nach. Bei einem lazy ladenden Container war das je Zeile ein &amp;lt;code&amp;gt;SELECT COUNT&amp;lt;/code&amp;gt;: Ein Lauf des Zeitplaners mit offener Perspektive machte 10.468 Abfragen, danach 787. Die Schlüssel von Zeilen, die der Client nicht mehr anzeigt, werden beim nächsten Zurücksetzen freigegeben. Betroffene Komponenten: org.eclipse.osbp.ecview.extension/org.eclipse.osbp.ecview.extension.grid.presentation&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** Fix: Eine Ansicht zeigt nach einer Folge von Änderungen immer den letzten Stand. Bisher wurden Aktualisierungen während des Zeichnens oder innerhalb der Ruhezeit (&amp;lt;code&amp;gt;RefreshTimeout&amp;lt;/code&amp;gt;, Standard 300 ms) verworfen, sodass die letzte Änderung fehlen konnte. Jetzt werden sie zurückgestellt: Die Ansicht zeichnet einmal nach der letzten Anforderung, spätestens &lt;/ins&gt;5 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Sekunden nach der ersten zurückgestellten&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Gilt für alle Ansichten über &amp;lt;code&amp;gt;AbstractHybridVaaclipseView&amp;lt;/code&amp;gt; (Tabellen, Diagramme, Berichte). Die Zahl der Abfragen sinkt dadurch nicht zwingend: gemessen am Überwachungsdiagramm 4 statt &lt;/ins&gt;3 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;bei einem Lauf des Zeitplaners, dafür mit dem letzten Stand&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Betroffene Komponenten: org.eclipse.osbp.osgi.hybrid.api&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** Fix: Flyway lief bei jedem Start mit &amp;lt;code&amp;gt;baseline()&amp;lt;/code&amp;gt;. Sobald die Historie Einträge hatte, lehnte Flyway das mit einer Ausnahme ab, die verschluckt wurde – &amp;lt;code&amp;gt;migrate()&amp;lt;/code&amp;gt; lief danach nie. Eine bestehende Datenbank ohne Historie wird nun über &amp;lt;code&amp;gt;baselineOnMigrate&amp;lt;/code&amp;gt; einmalig mit Version &lt;/ins&gt;0 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;versehen&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Ebenso entfällt &amp;lt;code&amp;gt;repair()&amp;lt;/code&amp;gt; bei jedem Start: Es schrieb die Historie auf ein nachträglich geändertes oder ersetztes Skript um, das dann nie lief; ein solches Skript scheitert nun an der Prüfsumme. Versionen dürfen außer der Reihe eintreffen (&amp;lt;code&amp;gt;outOfOrder&amp;lt;/code&amp;gt;), ein entferntes, bereits gelaufenes Skript ist kein Fehler mehr. Der Lizenzschlüssel für die kommerzielle Flyway-Edition wird nicht mehr gelesen; die Open-Source-Edition genügt. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** Fix: Wartezeit beim Start („Getting a lock required more than 20000 ms“). Jede Persistence Unit las beim Anlegen ihren EclipseLink-Cachetyp und ihre Cachegröße (&amp;lt;code&amp;gt;EclipseLink/&amp;amp;lt;Unit&amp;amp;gt;#cacheTypeDefault&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#cacheSizeDefault&amp;lt;/code&amp;gt;) aus der Konfiguration. Die Units werden parallel in einem Thread-Pool angelegt; das Lesen der Konfiguration holt DTO-Dienste und Mapper über Declarative Services, deren Sperre der Start-Thread während des gesamten Persistenzstarts hält. Jeder Pool-Thread wartete daher, bis DS nach 20 s aufgab. Die Werte werden nun vorher einmal auf dem Start-Thread gelesen, der die Sperre erneut nehmen darf; die Pool-Threads erhalten sie aus dem Zwischenspeicher der Konfiguration. Die Vorgabewerte (&amp;lt;code&amp;gt;Soft&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1000&amp;lt;/code&amp;gt;) sind Konstanten, sodass beide Lesestellen dieselben verwenden. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** Fix: Überwachungseinträge gingen auf älteren Datenbanken verloren. Datenbanken, die mit einem früheren Monitoring-Modell angelegt wurden, tragen noch eindeutige Indizes auf einem Namen allein (&amp;lt;code&amp;gt;MONITOR_SUB_CATEGORY.MSC_NAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_CATEGORY.MCA_NAME&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;DK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_MAIN_CATEGORY.MMCA_NAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_COMPONENT.MCO_NAME&amp;lt;/code&amp;gt;). Das Modell verlangt einen eindeutigen Namen nur unterhalb des jeweiligen Elternelements; die Schemagenerierung legt Indizes an, entfernt aber nie einen. Eine zweite Kategorie mit einer gleichnamigen Unterkategorie – etwa „COMPLETE“ unter &amp;lt;code&amp;gt;XRECHNUNG_UP&amp;lt;/code&amp;gt; und unter &amp;lt;code&amp;gt;ZUGFERD_UP&amp;lt;/code&amp;gt; – scheiterte daher an einem doppelten Schlüssel, &amp;lt;code&amp;gt;MonitoringService&amp;lt;/code&amp;gt; fing den Fehler ab, und der Eintrag fehlte (auf einer BDI-Installation über 1.000 solcher Fehler an einem Tag, dazu „transactionRollback - no transactionhandler found“). Ebenso konnten sich zwei Installationen mit gemeinsamer Datenbank nicht beide als Komponente „Application“ anmelden. Die erste Flyway-Migration des Bundles (&amp;lt;code&amp;gt;V2026.10.28.1__drop_stale_monitor_unique_indexes.sql&amp;lt;/code&amp;gt;, für MySQL/MariaDB, PostgreSQL und Oracle) entfernt diese Indizes; &amp;lt;code&amp;gt;MONITOR_COMPONENTI1&amp;lt;/code&amp;gt; legt die Schemagenerierung danach in der Form des Modells (&amp;lt;code&amp;gt;MCO_NAME, MCO_INSTALLATION&amp;lt;/code&amp;gt;) neu an. Da die Indizes nicht mehr im Modell stehen, hängen ihre Namen vom Generator ab, der die Datenbank angelegt hat; die Skripte finden sie daher an ihrer Struktur (eindeutig, kein Primärschlüssel, genau eine dieser Spalten). Auf einer neuen oder bereits bereinigten Datenbank ändern sie nichts. '''Die PostgreSQL- und Oracle-Skripte sind ungetestet.''' Ohne Flyway lassen sich die Indizes auch von Hand entfernen (auf den lokalen Datenbanken &amp;lt;code&amp;gt;shipment&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt; geschehen). Betroffene Komponenten: org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.monitoring.base&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** Neu: Die Pools sind über JMX sichtbar. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** Neu: Flyway findet Datenbankmigrationen, die Bundles mitbringen. Ein Bundle nennt seinen Migrationsordner im Manifest-Header &amp;lt;code&amp;gt;OSBP-Flyway-Migration: db/migration&amp;lt;/code&amp;gt; und legt die Skripte als &amp;lt;code&amp;gt;&amp;amp;lt;Persistence Unit&amp;amp;gt;/&amp;amp;lt;Hersteller&amp;amp;gt;/V&amp;amp;lt;Version&amp;amp;gt;__&amp;amp;lt;Beschreibung&amp;amp;gt;.sql&amp;lt;/code&amp;gt; ab, z.B. &amp;lt;code&amp;gt;monitoringData/mysql/V2026.10.28.1__drop_stale_monitor_unique_indexes.sql&amp;lt;/code&amp;gt;. Ein Skript läuft auf der Datenquelle, für die seine Persistence Unit konfiguriert ist, und zwar vor dem Anlegen und Erweitern der Tabellen durch EclipseLink. Der Herstellerordner wird aus den JDBC-Metadaten bestimmt: &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; (auch für MariaDB), &amp;lt;code&amp;gt;postgresql&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;oracle&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sqlserver&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;derby&amp;lt;/code&amp;gt;. Bisher suchte Flyway über einen Class Loader, der in OSGi einen Ordner wie &amp;lt;code&amp;gt;db/migration&amp;lt;/code&amp;gt; nur im eigenen Bundle sieht – Skripte in anderen Bundles wurden nie gefunden. Die neue Klasse &amp;lt;code&amp;gt;BundleMigrations&amp;lt;/code&amp;gt; sammelt sie und übergibt sie Flyway als Resource Provider; die Skripte im Dateisystemordner der Datenquelle (&amp;lt;code&amp;gt;-DFlyway.&amp;amp;lt;Datenquelle&amp;amp;gt;.DatabaseMigrationSourcePath&amp;lt;/code&amp;gt;) werden wie bisher mitgelesen. '''Die Migrationen laufen weiterhin nur mit &amp;lt;code&amp;gt;-DFlyway.active&lt;/ins&gt;=&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;true&amp;lt;/code&amp;gt;; keine ausgelieferte Anwendung schaltet sie bisher ein''' Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** Neu: HikariCP-Verbindungspool vor der Datenquelle des Treibers. Bisher öffnete jede Abfrage eine neue Verbindung zur Datenbank, etwa 3.000 je stündlichem Lauf des Zeitplaners auf einer ruhenden Kasse. Maximum ist &amp;lt;code&amp;gt;database.connectionpool.max&amp;lt;/code&amp;gt;, 5 Verbindungen bleiben offen, Austausch nach 30 Minuten. &amp;lt;code&amp;gt;-DPersistenceService.connectionPool&lt;/ins&gt;=&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;false&amp;lt;/code&amp;gt; schaltet den Pool ab; &amp;lt;code&amp;gt;.minIdle&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.maxLifetimeMinutes&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;.leakDetectionSeconds&amp;lt;/code&amp;gt; stellen ihn ein. Flyway verwendet weiter die Datenquelle des Treibers. In der Entwicklungsumgebung gemessen: keine neuen Verbindungen im Ruhezustand, beim stündlichen Lauf und bei Verkäufen. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** Neu: Jeder Eintrag der Systemüberwachung enthält die Auslastung des Verbindungspools in Prozent und die Zahl der wartenden Threads. Wartende Threads markieren den Eintrag Memorycheck als Warnung. Betroffene Komponenten: org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.monitoring, org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.monitoring.base&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** Änderung: &amp;lt;code&amp;gt;db/README.md&amp;lt;/code&amp;gt; beschreibt Aufbau, Versions- und Historienkonventionen sowie die Regeln für ein Migrationsskript (nie ein ausgeliefertes Skript ändern, sondern eine neue Version schreiben; jeden Datenbankzustand vertragen, weil das Skript vor dem Anlegen der Tabellen läuft; Objekte an ihrer Struktur statt an ihrem Namen finden). Betroffene Komponenten: org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.monitoring.base&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** Änderung: Die Tabelle „Flyway info“ im Log richtet ihre Spaltenbreiten nach dem Inhalt. Bisher schnitten feste Breiten Version und Beschreibung ab (&amp;lt;code&amp;gt;2026.10.28.1&amp;lt;/code&amp;gt; erschien als &amp;lt;code&amp;gt;2026.10.&amp;lt;/code&amp;gt;). Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** Änderung: Jedes Bundle mit Migrationen hat eine eigene Historientabelle, &amp;lt;code&amp;gt;flyway_&amp;lt;/code&amp;gt; und der symbolische Name, gekürzt wie ein Logger Klassennamen kürzt (führende Segmente auf ihren Anfangsbuchstaben, bis höchstens 30 Zeichen erreicht sind): &amp;lt;code&amp;gt;org.eclipse.osbp.system.monitoring.base&amp;lt;/code&amp;gt; wird zu &amp;lt;code&amp;gt;flyway_oeos_monitoring_base&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.osbee.app.bdi.ex.model.entity&amp;lt;/code&amp;gt; zu &amp;lt;code&amp;gt;flyway_noa_bdi_ex_model_entity&amp;lt;/code&amp;gt;. Versionen müssen daher nur innerhalb eines Bundles eindeutig sein; zwei Entwickler können in verschiedenen Bundles dieselbe Versionsnummer vergeben. Scheitern die Migrationen eines Bundles, wird das mit „the migrations of &amp;amp;lt;Bundle&amp;amp;gt; were NOT applied“ protokolliert, die übrigen Bundles laufen weiter. Ergäben zwei Bundles denselben gekürzten Namen, werden beide mit einem Fehler abgewiesen, statt sich eine Historie zu teilen. Die Skripte des Dateisystemordners behalten Flyways Standardtabelle &amp;lt;code&amp;gt;flyway_schema_history&amp;lt;/code&amp;gt;; eine Quelle ohne Skripte läuft gar nicht. Betroffene Komponenten: org.eclipse.osbp.persistence&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* DSL:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** Fix: Der Diagramm-Generator setzt den Zähler je Datenreihe zurück (ab 500 Zeilen passten Reihen und Beschriftung sonst nicht zusammen), Linien verschwinden beim Überfahren nicht mehr, der Tooltip nennt die Kategorie, und die Animation läuft nur noch beim ersten Zeichnen. Betroffene Komponenten: org.eclipse.osbp.xtext.chart&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** Änderung: Das Speicherdiagramm der Überwachung ist mit dem korrigierten Generator neu erzeugt. Betroffene Komponenten: org.eclipse.osbp.system.configuration/org.eclipse.osbp.system.monitoring&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* Build &amp;amp; Infrastruktur:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** Fix: Flyway 9 enthält die Unterstützung für MySQL und MariaDB nicht mehr im Kern, sondern im Modul &amp;lt;code&amp;gt;flyway-mysql&amp;lt;/code&amp;gt;, das sich über &amp;lt;code&amp;gt;META-INF/services&amp;lt;/code&amp;gt; registriert und von Flyway mit dessen eigenem Class Loader gesucht wird. Das Modul wird daher als Fragment &amp;lt;code&amp;gt;org.flywaydb.database.mysql&amp;lt;/code&amp;gt; 9.14.0.v20261028 an &amp;lt;code&amp;gt;org.flywaydb.core&amp;lt;/code&amp;gt; ausgeliefert (das Manifest des Originals nennt sich selbst &amp;lt;code&amp;gt;org.flywaydb.core&amp;lt;/code&amp;gt; und ist so nicht verwendbar) und mit dem Feature &amp;lt;code&amp;gt;org.eclipse.osbp.dependencies.feature.flyway&amp;lt;/code&amp;gt; verteilt. Ohne das Fragment endet Flyway auf MariaDB mit „Unsupported Database: MySQL 5.5“ (so meldet der alte MySQL-Treiber eine MariaDB). PostgreSQL und Oracle sind weiterhin im Kern enthalten. '''Das per Maven gebaute Fragment ist noch nicht auf einer Installation geprüft'''; '''Build-Reihenfolge:''' dependencies-mbp, dependencies, persistence, system.configuration. Betroffene Komponenten: org.eclipse.osbp.dependencies-mbp/org.eclipse.osbp.dependencies.bundle.flyway.mysql, org.eclipse.osbp.dependencies/org.eclipse.osbp.dependencies.feature.flyway&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** Neu: HikariCP 4.0.3 wird als Feature mit ausgeliefert. Es ist wie Flyway aus den Quell-Features ausgenommen. Betroffene Komponenten: org.eclipse.osbp.dependencies/org.eclipse.osbp.dependencies.feature.hikaricp, org.eclipse.osbp.dependencies.p2, org.eclipse.osbp.technologystack/org.eclipse.osbp.technologystack.feature, org.eclipse.osbp.technologystack/org.eclipse.osbp.technologystack.target.feature, org.eclipse.osbp.persistence/org.eclipse.osbp.persistence.feature, org.eclipse.osbp.softwarefactory/org.eclipse.osbp.softwarefactory.runtime.feature&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mollik</name></author>	</entry>

	<entry>
		<id>https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4627&amp;oldid=prev</id>
		<title>Mollik at 10:46, 4 November 2026</title>
		<link rel="alternate" type="text/html" href="https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4627&amp;oldid=prev"/>
				<updated>2026-11-04T10:46:39Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 10:46, 4 November 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot; &gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== [[Releasenotes | --&amp;gt; zurück zu Releasenotes ]] ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== [[Releasenotes | --&amp;gt; zurück zu Releasenotes ]] ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Version 5.3.0.20261104 ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Version 5.3.0.20261029 ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Version 5.3.0.20261029 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mollik</name></author>	</entry>

	<entry>
		<id>https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4625&amp;oldid=prev</id>
		<title>Mollik: /* Version 5.3.0.20261029 */</title>
		<link rel="alternate" type="text/html" href="https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4625&amp;oldid=prev"/>
				<updated>2026-10-29T10:41:17Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Version 5.3.0.20261029&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 10:41, 29 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot; &gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* OSBP Framework:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* OSBP Framework:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Fix: org.eclipse.osbp.persistence: Wartezeit beim Start („Getting a lock required more than 20000 ms“). Jede Persistence Unit las beim Anlegen ihren EclipseLink-Cachetyp und ihre Cachegröße (&amp;lt;code&amp;gt;EclipseLink/&amp;amp;lt;Unit&amp;amp;gt;#cacheTypeDefault&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#cacheSizeDefault&amp;lt;/code&amp;gt;) aus der Konfiguration. Das führte zu einer gegenseitigen Blockierung der Initialisierung. Die Werte werden nun einmal auf dem Start-Thread gelesen, damit tritt die Sperre nicht mehr auf.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Fix: org.eclipse.osbp.persistence: Wartezeit beim Start („Getting a lock required more than 20000 ms“). Jede Persistence Unit las beim Anlegen ihren EclipseLink-Cachetyp und ihre Cachegröße (&amp;lt;code&amp;gt;EclipseLink/&amp;amp;lt;Unit&amp;amp;gt;#cacheTypeDefault&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#cacheSizeDefault&amp;lt;/code&amp;gt;) aus der Konfiguration. Das führte zu einer gegenseitigen Blockierung der Initialisierung. Die Werte werden nun einmal auf dem Start-Thread gelesen, damit tritt die Sperre nicht mehr auf.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Neu: org.eclipse.osbp.persistence: Flyway findet Datenbankmigrationen, die Bundles mitbringen. Ein Bundle nennt seinen Migrationsordner im Manifest-Header &amp;lt;code&amp;gt;OSBP-Flyway-Migration: db/migration&amp;lt;/code&amp;gt; und legt die Skripte als &amp;lt;code&amp;gt;&amp;amp;lt;Persistence Unit&amp;amp;gt;/&amp;amp;lt;Hersteller&amp;amp;gt;/V&amp;amp;lt;Version&amp;amp;gt;__&amp;amp;lt;Beschreibung&amp;amp;gt;.sql&amp;lt;/code&amp;gt; ab, z.B. &amp;lt;code&amp;gt;monitoringData/mysql/V2026.10.28.1__drop_stale_monitor_unique_indexes.sql&amp;lt;/code&amp;gt;. Ein Skript läuft auf der Datenquelle, für die seine Persistence Unit konfiguriert ist, und zwar vor dem Anlegen und Erweitern der Tabellen durch EclipseLink. Der Herstellerordner wird aus den JDBC-Metadaten bestimmt: &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; (auch für MariaDB), &amp;lt;code&amp;gt;postgresql&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;oracle&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sqlserver&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;derby&amp;lt;/code&amp;gt;. Die neue Klasse &amp;lt;code&amp;gt;BundleMigrations&amp;lt;/code&amp;gt; sammelt die Migrationsskripte und übergibt sie Flyway als Resource Provider; die Skripte im Dateisystemordner der Datenquelle (&amp;lt;code&amp;gt;-DFlyway.&amp;amp;lt;Datenquelle&amp;amp;gt;.DatabaseMigrationSourcePath&amp;lt;/code&amp;gt;) werden mitgelesen. '''Die Migrationen laufen &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;weiterhin &lt;/del&gt;nur mit &amp;lt;code&amp;gt;-DFlyway.active=true&amp;lt;/code&amp;gt;;'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Neu: org.eclipse.osbp.persistence: Flyway findet Datenbankmigrationen, die Bundles mitbringen. Ein Bundle nennt seinen Migrationsordner im Manifest-Header &amp;lt;code&amp;gt;OSBP-Flyway-Migration: db/migration&amp;lt;/code&amp;gt; und legt die Skripte als &amp;lt;code&amp;gt;&amp;amp;lt;Persistence Unit&amp;amp;gt;/&amp;amp;lt;Hersteller&amp;amp;gt;/V&amp;amp;lt;Version&amp;amp;gt;__&amp;amp;lt;Beschreibung&amp;amp;gt;.sql&amp;lt;/code&amp;gt; ab, z.B. &amp;lt;code&amp;gt;monitoringData/mysql/V2026.10.28.1__drop_stale_monitor_unique_indexes.sql&amp;lt;/code&amp;gt;. Ein Skript läuft auf der Datenquelle, für die seine Persistence Unit konfiguriert ist, und zwar vor dem Anlegen und Erweitern der Tabellen durch EclipseLink. Der Herstellerordner wird aus den JDBC-Metadaten bestimmt: &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; (auch für MariaDB), &amp;lt;code&amp;gt;postgresql&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;oracle&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sqlserver&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;derby&amp;lt;/code&amp;gt;. Die neue Klasse &amp;lt;code&amp;gt;BundleMigrations&amp;lt;/code&amp;gt; sammelt die Migrationsskripte und übergibt sie Flyway als Resource Provider; die Skripte im Dateisystemordner der Datenquelle (&amp;lt;code&amp;gt;-DFlyway.&amp;amp;lt;Datenquelle&amp;amp;gt;.DatabaseMigrationSourcePath&amp;lt;/code&amp;gt;) werden mitgelesen. '''Die Migrationen laufen nur mit &amp;lt;code&amp;gt;-DFlyway.active=true&amp;lt;/code&amp;gt;;'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** org.eclipse.osbp.persistence: Jedes Bundle mit Migrationen hat eine eigene Historientabelle, &amp;lt;code&amp;gt;flyway_&amp;lt;/code&amp;gt; und der symbolische Name, gekürzt wie ein Logger Klassennamen kürzt (führende Segmente auf ihren Anfangsbuchstaben, bis höchstens 30 Zeichen erreicht sind): &amp;lt;code&amp;gt;org.eclipse.osbp.system.monitoring.base&amp;lt;/code&amp;gt; wird zu &amp;lt;code&amp;gt;flyway_oeos_monitoring_base&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.osbee.app.bdi.ex.model.entity&amp;lt;/code&amp;gt; zu &amp;lt;code&amp;gt;flyway_noa_bdi_ex_model_entity&amp;lt;/code&amp;gt;. Versionen müssen innerhalb eines Bundles eindeutig sein. Scheitern die Migrationen eines Bundles, wird das mit „the migrations of &amp;amp;lt;Bundle&amp;amp;gt; were NOT applied“ protokolliert, die übrigen Bundles laufen weiter. Ergäben zwei Bundles denselben gekürzten Namen, werden beide mit einem Fehler abgewiesen, statt sich eine Historie zu teilen. Die Skripte des Dateisystemordners behalten Flyways Standardtabelle &amp;lt;code&amp;gt;flyway_schema_history&amp;lt;/code&amp;gt;; eine Quelle ohne Skripte läuft gar nicht&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** org.eclipse.osbp.persistence: Jedes Bundle mit Migrationen hat eine eigene Historientabelle, &amp;lt;code&amp;gt;flyway_&amp;lt;/code&amp;gt; und der symbolische Name, gekürzt wie ein Logger Klassennamen kürzt (führende Segmente auf ihren Anfangsbuchstaben, bis höchstens 30 Zeichen erreicht sind): &amp;lt;code&amp;gt;org.eclipse.osbp.system.monitoring.base&amp;lt;/code&amp;gt; wird zu &amp;lt;code&amp;gt;flyway_oeos_monitoring_base&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.osbee.app.bdi.ex.model.entity&amp;lt;/code&amp;gt; zu &amp;lt;code&amp;gt;flyway_noa_bdi_ex_model_entity&amp;lt;/code&amp;gt;. Versionen müssen innerhalb eines Bundles eindeutig sein. Scheitern die Migrationen eines Bundles, wird das mit „the migrations of &amp;amp;lt;Bundle&amp;amp;gt; were NOT applied“ protokolliert, die übrigen Bundles laufen weiter. Ergäben zwei Bundles denselben gekürzten Namen, werden beide mit einem Fehler abgewiesen, statt sich eine Historie zu teilen. Die Skripte des Dateisystemordners behalten Flyways Standardtabelle &amp;lt;code&amp;gt;flyway_schema_history&amp;lt;/code&amp;gt;; eine Quelle ohne Skripte läuft gar nicht&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Fix: org.eclipse.osbp.persistence: Flyway lief bei jedem Start mit &amp;lt;code&amp;gt;baseline()&amp;lt;/code&amp;gt;. Sobald die Historie Einträge hatte, lehnte Flyway das mit einer Ausnahme ab, die verschluckt wurde – &amp;lt;code&amp;gt;migrate()&amp;lt;/code&amp;gt; lief danach nie. Eine bestehende Datenbank ohne Historie wird nun über &amp;lt;code&amp;gt;baselineOnMigrate&amp;lt;/code&amp;gt; einmalig mit Version 0 versehen. Ebenso entfällt &amp;lt;code&amp;gt;repair()&amp;lt;/code&amp;gt; bei jedem Start: Es schrieb die Historie auf ein nachträglich geändertes oder ersetztes Skript um, das dann nie lief; ein solches Skript scheitert nun an der Prüfsumme. Versionen dürfen außer der Reihe eintreffen (&amp;lt;code&amp;gt;outOfOrder&amp;lt;/code&amp;gt;), ein entferntes, bereits gelaufenes Skript ist kein Fehler mehr.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Fix: org.eclipse.osbp.persistence: Flyway lief bei jedem Start mit &amp;lt;code&amp;gt;baseline()&amp;lt;/code&amp;gt;. Sobald die Historie Einträge hatte, lehnte Flyway das mit einer Ausnahme ab, die verschluckt wurde – &amp;lt;code&amp;gt;migrate()&amp;lt;/code&amp;gt; lief danach nie. Eine bestehende Datenbank ohne Historie wird nun über &amp;lt;code&amp;gt;baselineOnMigrate&amp;lt;/code&amp;gt; einmalig mit Version 0 versehen. Ebenso entfällt &amp;lt;code&amp;gt;repair()&amp;lt;/code&amp;gt; bei jedem Start: Es schrieb die Historie auf ein nachträglich geändertes oder ersetztes Skript um, das dann nie lief; ein solches Skript scheitert nun an der Prüfsumme. Versionen dürfen außer der Reihe eintreffen (&amp;lt;code&amp;gt;outOfOrder&amp;lt;/code&amp;gt;), ein entferntes, bereits gelaufenes Skript ist kein Fehler mehr.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Fix: org.eclipse.osbp.system.configuration (monitoring.base): Überwachungseinträge gingen auf älteren Datenbanken verloren. Datenbanken, die mit einem früheren Monitoring-Modell angelegt wurden, tragen noch eindeutige Indizes auf einem Namen allein (&amp;lt;code&amp;gt;MONITOR_SUB_CATEGORY.MSC_NAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_CATEGORY.MCA_NAME&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;DK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_MAIN_CATEGORY.MMCA_NAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_COMPONENT.MCO_NAME&amp;lt;/code&amp;gt;). Das Modell verlangt einen eindeutigen Namen nur unterhalb des jeweiligen Elternelements; die Schemagenerierung legt Indizes an, entfernt aber nie einen. Eine zweite Kategorie mit einer gleichnamigen Unterkategorie – etwa „COMPLETE“ unter &amp;lt;code&amp;gt;XRECHNUNG_UP&amp;lt;/code&amp;gt; und unter &amp;lt;code&amp;gt;ZUGFERD_UP&amp;lt;/code&amp;gt; – scheiterte daher an einem doppelten Schlüssel, &amp;lt;code&amp;gt;MonitoringService&amp;lt;/code&amp;gt; fing den Fehler ab, und der Eintrag fehlte (auf einer BDI-Installation über 1.000 solcher Fehler an einem Tag, dazu „transactionRollback - no transactionhandler found“). Ebenso konnten sich zwei Installationen mit gemeinsamer Datenbank nicht beide als Komponente „Application“ anmelden. Die erste Flyway-Migration des Bundles (&amp;lt;code&amp;gt;V2026.10.28.1__drop_stale_monitor_unique_indexes.sql&amp;lt;/code&amp;gt;, für MySQL/MariaDB, PostgreSQL und Oracle) entfernt diese Indizes; &amp;lt;code&amp;gt;MONITOR_COMPONENTI1&amp;lt;/code&amp;gt; legt die Schemagenerierung danach in der Form des Modells (&amp;lt;code&amp;gt;MCO_NAME, MCO_INSTALLATION&amp;lt;/code&amp;gt;) neu an. Da die Indizes nicht mehr im Modell stehen, hängen ihre Namen vom Generator ab, der die Datenbank angelegt hat; die Skripte finden sie daher an ihrer Struktur (eindeutig, kein Primärschlüssel, genau eine dieser Spalten). Auf einer neuen oder bereits bereinigten Datenbank ändern sie nichts. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'''Die PostgreSQL- und Oracle-Skripte sind ungetestet.''' Ohne Flyway lassen sich die Indizes auch von Hand entfernen (auf den lokalen Datenbanken &amp;lt;code&amp;gt;shipment&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt; geschehen)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Fix: org.eclipse.osbp.system.configuration (monitoring.base): Überwachungseinträge gingen auf älteren Datenbanken verloren. Datenbanken, die mit einem früheren Monitoring-Modell angelegt wurden, tragen noch eindeutige Indizes auf einem Namen allein (&amp;lt;code&amp;gt;MONITOR_SUB_CATEGORY.MSC_NAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_CATEGORY.MCA_NAME&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;DK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_MAIN_CATEGORY.MMCA_NAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_COMPONENT.MCO_NAME&amp;lt;/code&amp;gt;). Das Modell verlangt einen eindeutigen Namen nur unterhalb des jeweiligen Elternelements; die Schemagenerierung legt Indizes an, entfernt aber nie einen. Eine zweite Kategorie mit einer gleichnamigen Unterkategorie – etwa „COMPLETE“ unter &amp;lt;code&amp;gt;XRECHNUNG_UP&amp;lt;/code&amp;gt; und unter &amp;lt;code&amp;gt;ZUGFERD_UP&amp;lt;/code&amp;gt; – scheiterte daher an einem doppelten Schlüssel, &amp;lt;code&amp;gt;MonitoringService&amp;lt;/code&amp;gt; fing den Fehler ab, und der Eintrag fehlte (auf einer BDI-Installation über 1.000 solcher Fehler an einem Tag, dazu „transactionRollback - no transactionhandler found“). Ebenso konnten sich zwei Installationen mit gemeinsamer Datenbank nicht beide als Komponente „Application“ anmelden. Die erste Flyway-Migration des Bundles (&amp;lt;code&amp;gt;V2026.10.28.1__drop_stale_monitor_unique_indexes.sql&amp;lt;/code&amp;gt;, für MySQL/MariaDB, PostgreSQL und Oracle) entfernt diese Indizes; &amp;lt;code&amp;gt;MONITOR_COMPONENTI1&amp;lt;/code&amp;gt; legt die Schemagenerierung danach in der Form des Modells (&amp;lt;code&amp;gt;MCO_NAME, MCO_INSTALLATION&amp;lt;/code&amp;gt;) neu an. Da die Indizes nicht mehr im Modell stehen, hängen ihre Namen vom Generator ab, der die Datenbank angelegt hat; die Skripte finden sie daher an ihrer Struktur (eindeutig, kein Primärschlüssel, genau eine dieser Spalten). Auf einer neuen oder bereits bereinigten Datenbank ändern sie nichts.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Allgemein:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Allgemein:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mollik</name></author>	</entry>

	<entry>
		<id>https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4624&amp;oldid=prev</id>
		<title>Mollik: /* Version 5.3.0.20261029 */</title>
		<link rel="alternate" type="text/html" href="https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4624&amp;oldid=prev"/>
				<updated>2026-10-29T10:39:59Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Version 5.3.0.20261029&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 10:39, 29 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot; &gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* OSBP Framework:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* OSBP Framework:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/del&gt;** Fix: org.eclipse.osbp.persistence: Wartezeit beim Start („Getting a lock required more than 20000 ms“). Jede Persistence Unit las beim Anlegen ihren EclipseLink-Cachetyp und ihre Cachegröße (&amp;lt;code&amp;gt;EclipseLink/&amp;amp;lt;Unit&amp;amp;gt;#cacheTypeDefault&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#cacheSizeDefault&amp;lt;/code&amp;gt;) aus der Konfiguration. Das führte zu einer gegenseitigen Blockierung der Initialisierung. Die Werte werden nun einmal auf dem Start-Thread gelesen, damit tritt die Sperre nicht mehr auf.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Fix: org.eclipse.osbp.persistence: Wartezeit beim Start („Getting a lock required more than 20000 ms“). Jede Persistence Unit las beim Anlegen ihren EclipseLink-Cachetyp und ihre Cachegröße (&amp;lt;code&amp;gt;EclipseLink/&amp;amp;lt;Unit&amp;amp;gt;#cacheTypeDefault&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#cacheSizeDefault&amp;lt;/code&amp;gt;) aus der Konfiguration. Das führte zu einer gegenseitigen Blockierung der Initialisierung. Die Werte werden nun einmal auf dem Start-Thread gelesen, damit tritt die Sperre nicht mehr auf.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Neu: org.eclipse.osbp.persistence: Flyway findet Datenbankmigrationen, die Bundles mitbringen. Ein Bundle nennt seinen Migrationsordner im Manifest-Header &amp;lt;code&amp;gt;OSBP-Flyway-Migration: db/migration&amp;lt;/code&amp;gt; und legt die Skripte als &amp;lt;code&amp;gt;&amp;amp;lt;Persistence Unit&amp;amp;gt;/&amp;amp;lt;Hersteller&amp;amp;gt;/V&amp;amp;lt;Version&amp;amp;gt;__&amp;amp;lt;Beschreibung&amp;amp;gt;.sql&amp;lt;/code&amp;gt; ab, z.B. &amp;lt;code&amp;gt;monitoringData/mysql/V2026.10.28.1__drop_stale_monitor_unique_indexes.sql&amp;lt;/code&amp;gt;. Ein Skript läuft auf der Datenquelle, für die seine Persistence Unit konfiguriert ist, und zwar vor dem Anlegen und Erweitern der Tabellen durch EclipseLink. Der Herstellerordner wird aus den JDBC-Metadaten bestimmt: &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; (auch für MariaDB), &amp;lt;code&amp;gt;postgresql&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;oracle&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sqlserver&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;derby&amp;lt;/code&amp;gt;. Die neue Klasse &amp;lt;code&amp;gt;BundleMigrations&amp;lt;/code&amp;gt; sammelt die Migrationsskripte und übergibt sie Flyway als Resource Provider; die Skripte im Dateisystemordner der Datenquelle (&amp;lt;code&amp;gt;-DFlyway.&amp;amp;lt;Datenquelle&amp;amp;gt;.DatabaseMigrationSourcePath&amp;lt;/code&amp;gt;) werden mitgelesen. '''Die Migrationen laufen weiterhin nur mit &amp;lt;code&amp;gt;-DFlyway.active=true&amp;lt;/code&amp;gt;;'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Neu: org.eclipse.osbp.persistence: Flyway findet Datenbankmigrationen, die Bundles mitbringen. Ein Bundle nennt seinen Migrationsordner im Manifest-Header &amp;lt;code&amp;gt;OSBP-Flyway-Migration: db/migration&amp;lt;/code&amp;gt; und legt die Skripte als &amp;lt;code&amp;gt;&amp;amp;lt;Persistence Unit&amp;amp;gt;/&amp;amp;lt;Hersteller&amp;amp;gt;/V&amp;amp;lt;Version&amp;amp;gt;__&amp;amp;lt;Beschreibung&amp;amp;gt;.sql&amp;lt;/code&amp;gt; ab, z.B. &amp;lt;code&amp;gt;monitoringData/mysql/V2026.10.28.1__drop_stale_monitor_unique_indexes.sql&amp;lt;/code&amp;gt;. Ein Skript läuft auf der Datenquelle, für die seine Persistence Unit konfiguriert ist, und zwar vor dem Anlegen und Erweitern der Tabellen durch EclipseLink. Der Herstellerordner wird aus den JDBC-Metadaten bestimmt: &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; (auch für MariaDB), &amp;lt;code&amp;gt;postgresql&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;oracle&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sqlserver&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;derby&amp;lt;/code&amp;gt;. Die neue Klasse &amp;lt;code&amp;gt;BundleMigrations&amp;lt;/code&amp;gt; sammelt die Migrationsskripte und übergibt sie Flyway als Resource Provider; die Skripte im Dateisystemordner der Datenquelle (&amp;lt;code&amp;gt;-DFlyway.&amp;amp;lt;Datenquelle&amp;amp;gt;.DatabaseMigrationSourcePath&amp;lt;/code&amp;gt;) werden mitgelesen. '''Die Migrationen laufen weiterhin nur mit &amp;lt;code&amp;gt;-DFlyway.active=true&amp;lt;/code&amp;gt;;'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** org.eclipse.osbp.persistence: Jedes Bundle mit Migrationen hat eine eigene Historientabelle, &amp;lt;code&amp;gt;flyway_&amp;lt;/code&amp;gt; und der symbolische Name, gekürzt wie ein Logger Klassennamen kürzt (führende Segmente auf ihren Anfangsbuchstaben, bis höchstens 30 Zeichen erreicht sind): &amp;lt;code&amp;gt;org.eclipse.osbp.system.monitoring.base&amp;lt;/code&amp;gt; wird zu &amp;lt;code&amp;gt;flyway_oeos_monitoring_base&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.osbee.app.bdi.ex.model.entity&amp;lt;/code&amp;gt; zu &amp;lt;code&amp;gt;flyway_noa_bdi_ex_model_entity&amp;lt;/code&amp;gt;. Versionen müssen innerhalb eines Bundles eindeutig sein. Scheitern die Migrationen eines Bundles, wird das mit „the migrations of &amp;amp;lt;Bundle&amp;amp;gt; were NOT applied“ protokolliert, die übrigen Bundles laufen weiter. Ergäben zwei Bundles denselben gekürzten Namen, werden beide mit einem Fehler abgewiesen, statt sich eine Historie zu teilen. Die Skripte des Dateisystemordners behalten Flyways Standardtabelle &amp;lt;code&amp;gt;flyway_schema_history&amp;lt;/code&amp;gt;; eine Quelle ohne Skripte läuft gar nicht&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** org.eclipse.osbp.persistence: Jedes Bundle mit Migrationen hat eine eigene Historientabelle, &amp;lt;code&amp;gt;flyway_&amp;lt;/code&amp;gt; und der symbolische Name, gekürzt wie ein Logger Klassennamen kürzt (führende Segmente auf ihren Anfangsbuchstaben, bis höchstens 30 Zeichen erreicht sind): &amp;lt;code&amp;gt;org.eclipse.osbp.system.monitoring.base&amp;lt;/code&amp;gt; wird zu &amp;lt;code&amp;gt;flyway_oeos_monitoring_base&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.osbee.app.bdi.ex.model.entity&amp;lt;/code&amp;gt; zu &amp;lt;code&amp;gt;flyway_noa_bdi_ex_model_entity&amp;lt;/code&amp;gt;. Versionen müssen innerhalb eines Bundles eindeutig sein. Scheitern die Migrationen eines Bundles, wird das mit „the migrations of &amp;amp;lt;Bundle&amp;amp;gt; were NOT applied“ protokolliert, die übrigen Bundles laufen weiter. Ergäben zwei Bundles denselben gekürzten Namen, werden beide mit einem Fehler abgewiesen, statt sich eine Historie zu teilen. Die Skripte des Dateisystemordners behalten Flyways Standardtabelle &amp;lt;code&amp;gt;flyway_schema_history&amp;lt;/code&amp;gt;; eine Quelle ohne Skripte läuft gar nicht&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mollik</name></author>	</entry>

	<entry>
		<id>https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4623&amp;oldid=prev</id>
		<title>Mollik: /* Version 5.3.0.20261029 */</title>
		<link rel="alternate" type="text/html" href="https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4623&amp;oldid=prev"/>
				<updated>2026-10-29T10:39:31Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Version 5.3.0.20261029&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 10:39, 29 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot; &gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* OSBP Framework:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* OSBP Framework:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Fix: org.eclipse.osbp.persistence: Wartezeit beim Start („Getting a lock required more than 20000 ms“). Jede Persistence Unit las beim Anlegen ihren EclipseLink-Cachetyp und ihre Cachegröße (&amp;lt;code&amp;gt;EclipseLink/&amp;amp;lt;Unit&amp;amp;gt;#cacheTypeDefault&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#cacheSizeDefault&amp;lt;/code&amp;gt;) aus der Konfiguration. Das führte zu einer gegenseitigen Blockierung der Initialisierung. Die Werte werden nun einmal auf dem Start-Thread gelesen, damit tritt die Sperre nicht mehr auf.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;** Fix: org.eclipse.osbp.persistence: Wartezeit beim Start („Getting a lock required more than 20000 ms“). Jede Persistence Unit las beim Anlegen ihren EclipseLink-Cachetyp und ihre Cachegröße (&amp;lt;code&amp;gt;EclipseLink/&amp;amp;lt;Unit&amp;amp;gt;#cacheTypeDefault&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#cacheSizeDefault&amp;lt;/code&amp;gt;) aus der Konfiguration. Das führte zu einer gegenseitigen Blockierung der Initialisierung. Die Werte werden nun einmal auf dem Start-Thread gelesen, damit tritt die Sperre nicht mehr auf.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Neu: org.eclipse.osbp.persistence: Flyway findet Datenbankmigrationen, die Bundles mitbringen. Ein Bundle nennt seinen Migrationsordner im Manifest-Header &amp;lt;code&amp;gt;OSBP-Flyway-Migration: db/migration&amp;lt;/code&amp;gt; und legt die Skripte als &amp;lt;code&amp;gt;&amp;amp;lt;Persistence Unit&amp;amp;gt;/&amp;amp;lt;Hersteller&amp;amp;gt;/V&amp;amp;lt;Version&amp;amp;gt;__&amp;amp;lt;Beschreibung&amp;amp;gt;.sql&amp;lt;/code&amp;gt; ab, z.B. &amp;lt;code&amp;gt;monitoringData/mysql/V2026.10.28.1__drop_stale_monitor_unique_indexes.sql&amp;lt;/code&amp;gt;. Ein Skript läuft auf der Datenquelle, für die seine Persistence Unit konfiguriert ist, und zwar vor dem Anlegen und Erweitern der Tabellen durch EclipseLink. Der Herstellerordner wird aus den JDBC-Metadaten bestimmt: &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; (auch für MariaDB), &amp;lt;code&amp;gt;postgresql&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;oracle&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sqlserver&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;derby&amp;lt;/code&amp;gt;. Die neue Klasse &amp;lt;code&amp;gt;BundleMigrations&amp;lt;/code&amp;gt; sammelt die Migrationsskripte und übergibt sie Flyway als Resource Provider; die Skripte im Dateisystemordner der Datenquelle (&amp;lt;code&amp;gt;-DFlyway.&amp;amp;lt;Datenquelle&amp;amp;gt;.DatabaseMigrationSourcePath&amp;lt;/code&amp;gt;) werden mitgelesen. '''Die Migrationen laufen weiterhin nur mit &amp;lt;code&amp;gt;-DFlyway.active=true&amp;lt;/code&amp;gt;;'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Neu: org.eclipse.osbp.persistence: Flyway findet Datenbankmigrationen, die Bundles mitbringen. Ein Bundle nennt seinen Migrationsordner im Manifest-Header &amp;lt;code&amp;gt;OSBP-Flyway-Migration: db/migration&amp;lt;/code&amp;gt; und legt die Skripte als &amp;lt;code&amp;gt;&amp;amp;lt;Persistence Unit&amp;amp;gt;/&amp;amp;lt;Hersteller&amp;amp;gt;/V&amp;amp;lt;Version&amp;amp;gt;__&amp;amp;lt;Beschreibung&amp;amp;gt;.sql&amp;lt;/code&amp;gt; ab, z.B. &amp;lt;code&amp;gt;monitoringData/mysql/V2026.10.28.1__drop_stale_monitor_unique_indexes.sql&amp;lt;/code&amp;gt;. Ein Skript läuft auf der Datenquelle, für die seine Persistence Unit konfiguriert ist, und zwar vor dem Anlegen und Erweitern der Tabellen durch EclipseLink. Der Herstellerordner wird aus den JDBC-Metadaten bestimmt: &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; (auch für MariaDB), &amp;lt;code&amp;gt;postgresql&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;oracle&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sqlserver&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;derby&amp;lt;/code&amp;gt;. Die neue Klasse &amp;lt;code&amp;gt;BundleMigrations&amp;lt;/code&amp;gt; sammelt die Migrationsskripte und übergibt sie Flyway als Resource Provider; die Skripte im Dateisystemordner der Datenquelle (&amp;lt;code&amp;gt;-DFlyway.&amp;amp;lt;Datenquelle&amp;amp;gt;.DatabaseMigrationSourcePath&amp;lt;/code&amp;gt;) werden mitgelesen. '''Die Migrationen laufen weiterhin nur mit &amp;lt;code&amp;gt;-DFlyway.active=true&amp;lt;/code&amp;gt;;'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** org.eclipse.osbp.persistence: Jedes Bundle mit Migrationen hat eine eigene Historientabelle, &amp;lt;code&amp;gt;flyway_&amp;lt;/code&amp;gt; und der symbolische Name, gekürzt wie ein Logger Klassennamen kürzt (führende Segmente auf ihren Anfangsbuchstaben, bis höchstens 30 Zeichen erreicht sind): &amp;lt;code&amp;gt;org.eclipse.osbp.system.monitoring.base&amp;lt;/code&amp;gt; wird zu &amp;lt;code&amp;gt;flyway_oeos_monitoring_base&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.osbee.app.bdi.ex.model.entity&amp;lt;/code&amp;gt; zu &amp;lt;code&amp;gt;flyway_noa_bdi_ex_model_entity&amp;lt;/code&amp;gt;. Versionen müssen innerhalb eines Bundles eindeutig sein. Scheitern die Migrationen eines Bundles, wird das mit „the migrations of &amp;amp;lt;Bundle&amp;amp;gt; were NOT applied“ protokolliert, die übrigen Bundles laufen weiter. Ergäben zwei Bundles denselben gekürzten Namen, werden beide mit einem Fehler abgewiesen, statt sich eine Historie zu teilen. Die Skripte des Dateisystemordners behalten Flyways Standardtabelle &amp;lt;code&amp;gt;flyway_schema_history&amp;lt;/code&amp;gt;; eine Quelle ohne Skripte läuft gar nicht&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** org.eclipse.osbp.persistence: Jedes Bundle mit Migrationen hat eine eigene Historientabelle, &amp;lt;code&amp;gt;flyway_&amp;lt;/code&amp;gt; und der symbolische Name, gekürzt wie ein Logger Klassennamen kürzt (führende Segmente auf ihren Anfangsbuchstaben, bis höchstens 30 Zeichen erreicht sind): &amp;lt;code&amp;gt;org.eclipse.osbp.system.monitoring.base&amp;lt;/code&amp;gt; wird zu &amp;lt;code&amp;gt;flyway_oeos_monitoring_base&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.osbee.app.bdi.ex.model.entity&amp;lt;/code&amp;gt; zu &amp;lt;code&amp;gt;flyway_noa_bdi_ex_model_entity&amp;lt;/code&amp;gt;. Versionen müssen innerhalb eines Bundles eindeutig sein. Scheitern die Migrationen eines Bundles, wird das mit „the migrations of &amp;amp;lt;Bundle&amp;amp;gt; were NOT applied“ protokolliert, die übrigen Bundles laufen weiter. Ergäben zwei Bundles denselben gekürzten Namen, werden beide mit einem Fehler abgewiesen, statt sich eine Historie zu teilen. Die Skripte des Dateisystemordners behalten Flyways Standardtabelle &amp;lt;code&amp;gt;flyway_schema_history&amp;lt;/code&amp;gt;; eine Quelle ohne Skripte läuft gar nicht&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Fix: org.eclipse.osbp.persistence: Flyway lief bei jedem Start mit &amp;lt;code&amp;gt;baseline()&amp;lt;/code&amp;gt;. Sobald die Historie Einträge hatte, lehnte Flyway das mit einer Ausnahme ab, die verschluckt wurde – &amp;lt;code&amp;gt;migrate()&amp;lt;/code&amp;gt; lief danach nie. Eine bestehende Datenbank ohne Historie wird nun über &amp;lt;code&amp;gt;baselineOnMigrate&amp;lt;/code&amp;gt; einmalig mit Version 0 versehen. Ebenso entfällt &amp;lt;code&amp;gt;repair()&amp;lt;/code&amp;gt; bei jedem Start: Es schrieb die Historie auf ein nachträglich geändertes oder ersetztes Skript um, das dann nie lief; ein solches Skript scheitert nun an der Prüfsumme. Versionen dürfen außer der Reihe eintreffen (&amp;lt;code&amp;gt;outOfOrder&amp;lt;/code&amp;gt;), ein entferntes, bereits gelaufenes Skript ist kein Fehler mehr.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Fix: org.eclipse.osbp.persistence: Flyway lief bei jedem Start mit &amp;lt;code&amp;gt;baseline()&amp;lt;/code&amp;gt;. Sobald die Historie Einträge hatte, lehnte Flyway das mit einer Ausnahme ab, die verschluckt wurde – &amp;lt;code&amp;gt;migrate()&amp;lt;/code&amp;gt; lief danach nie. Eine bestehende Datenbank ohne Historie wird nun über &amp;lt;code&amp;gt;baselineOnMigrate&amp;lt;/code&amp;gt; einmalig mit Version 0 versehen. Ebenso entfällt &amp;lt;code&amp;gt;repair()&amp;lt;/code&amp;gt; bei jedem Start: Es schrieb die Historie auf ein nachträglich geändertes oder ersetztes Skript um, das dann nie lief; ein solches Skript scheitert nun an der Prüfsumme. Versionen dürfen außer der Reihe eintreffen (&amp;lt;code&amp;gt;outOfOrder&amp;lt;/code&amp;gt;), ein entferntes, bereits gelaufenes Skript ist kein Fehler mehr.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Fix: org.eclipse.osbp.system.configuration (monitoring.base): Überwachungseinträge gingen auf älteren Datenbanken verloren. Datenbanken, die mit einem früheren Monitoring-Modell angelegt wurden, tragen noch eindeutige Indizes auf einem Namen allein (&amp;lt;code&amp;gt;MONITOR_SUB_CATEGORY.MSC_NAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_CATEGORY.MCA_NAME&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;DK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_MAIN_CATEGORY.MMCA_NAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_COMPONENT.MCO_NAME&amp;lt;/code&amp;gt;). Das Modell verlangt einen eindeutigen Namen nur unterhalb des jeweiligen Elternelements; die Schemagenerierung legt Indizes an, entfernt aber nie einen. Eine zweite Kategorie mit einer gleichnamigen Unterkategorie – etwa „COMPLETE“ unter &amp;lt;code&amp;gt;XRECHNUNG_UP&amp;lt;/code&amp;gt; und unter &amp;lt;code&amp;gt;ZUGFERD_UP&amp;lt;/code&amp;gt; – scheiterte daher an einem doppelten Schlüssel, &amp;lt;code&amp;gt;MonitoringService&amp;lt;/code&amp;gt; fing den Fehler ab, und der Eintrag fehlte (auf einer BDI-Installation über 1.000 solcher Fehler an einem Tag, dazu „transactionRollback - no transactionhandler found“). Ebenso konnten sich zwei Installationen mit gemeinsamer Datenbank nicht beide als Komponente „Application“ anmelden. Die erste Flyway-Migration des Bundles (&amp;lt;code&amp;gt;V2026.10.28.1__drop_stale_monitor_unique_indexes.sql&amp;lt;/code&amp;gt;, für MySQL/MariaDB, PostgreSQL und Oracle) entfernt diese Indizes; &amp;lt;code&amp;gt;MONITOR_COMPONENTI1&amp;lt;/code&amp;gt; legt die Schemagenerierung danach in der Form des Modells (&amp;lt;code&amp;gt;MCO_NAME, MCO_INSTALLATION&amp;lt;/code&amp;gt;) neu an. Da die Indizes nicht mehr im Modell stehen, hängen ihre Namen vom Generator ab, der die Datenbank angelegt hat; die Skripte finden sie daher an ihrer Struktur (eindeutig, kein Primärschlüssel, genau eine dieser Spalten). Auf einer neuen oder bereits bereinigten Datenbank ändern sie nichts. '''Die PostgreSQL- und Oracle-Skripte sind ungetestet.''' Ohne Flyway lassen sich die Indizes auch von Hand entfernen (auf den lokalen Datenbanken &amp;lt;code&amp;gt;shipment&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt; geschehen)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Fix: org.eclipse.osbp.system.configuration (monitoring.base): Überwachungseinträge gingen auf älteren Datenbanken verloren. Datenbanken, die mit einem früheren Monitoring-Modell angelegt wurden, tragen noch eindeutige Indizes auf einem Namen allein (&amp;lt;code&amp;gt;MONITOR_SUB_CATEGORY.MSC_NAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_CATEGORY.MCA_NAME&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;DK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_MAIN_CATEGORY.MMCA_NAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_COMPONENT.MCO_NAME&amp;lt;/code&amp;gt;). Das Modell verlangt einen eindeutigen Namen nur unterhalb des jeweiligen Elternelements; die Schemagenerierung legt Indizes an, entfernt aber nie einen. Eine zweite Kategorie mit einer gleichnamigen Unterkategorie – etwa „COMPLETE“ unter &amp;lt;code&amp;gt;XRECHNUNG_UP&amp;lt;/code&amp;gt; und unter &amp;lt;code&amp;gt;ZUGFERD_UP&amp;lt;/code&amp;gt; – scheiterte daher an einem doppelten Schlüssel, &amp;lt;code&amp;gt;MonitoringService&amp;lt;/code&amp;gt; fing den Fehler ab, und der Eintrag fehlte (auf einer BDI-Installation über 1.000 solcher Fehler an einem Tag, dazu „transactionRollback - no transactionhandler found“). Ebenso konnten sich zwei Installationen mit gemeinsamer Datenbank nicht beide als Komponente „Application“ anmelden. Die erste Flyway-Migration des Bundles (&amp;lt;code&amp;gt;V2026.10.28.1__drop_stale_monitor_unique_indexes.sql&amp;lt;/code&amp;gt;, für MySQL/MariaDB, PostgreSQL und Oracle) entfernt diese Indizes; &amp;lt;code&amp;gt;MONITOR_COMPONENTI1&amp;lt;/code&amp;gt; legt die Schemagenerierung danach in der Form des Modells (&amp;lt;code&amp;gt;MCO_NAME, MCO_INSTALLATION&amp;lt;/code&amp;gt;) neu an. Da die Indizes nicht mehr im Modell stehen, hängen ihre Namen vom Generator ab, der die Datenbank angelegt hat; die Skripte finden sie daher an ihrer Struktur (eindeutig, kein Primärschlüssel, genau eine dieser Spalten). Auf einer neuen oder bereits bereinigten Datenbank ändern sie nichts. '''Die PostgreSQL- und Oracle-Skripte sind ungetestet.''' Ohne Flyway lassen sich die Indizes auch von Hand entfernen (auf den lokalen Datenbanken &amp;lt;code&amp;gt;shipment&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt; geschehen)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l22&quot; &gt;Line 22:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Build &amp;amp; Infrastruktur:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Build &amp;amp; Infrastruktur:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Flyway Integration: org.eclipse.osbp.dependencies-mbp, org.eclipse.osbp.dependencies - Flyway 9 enthält die Unterstützung für MySQL und MariaDB nicht mehr im Kern, sondern im Modul &amp;lt;code&amp;gt;flyway-mysql&amp;lt;/code&amp;gt;, das sich über &amp;lt;code&amp;gt;META-INF/services&amp;lt;/code&amp;gt; registriert und von Flyway mit dessen eigenem Class Loader gesucht wird. Das Modul wird daher als Fragment &amp;lt;code&amp;gt;org.flywaydb.database.mysql&amp;lt;/code&amp;gt; 9.14.0.v20261028 an &amp;lt;code&amp;gt;org.flywaydb.core&amp;lt;/code&amp;gt; ausgeliefert (das Manifest des Originals nennt sich selbst &amp;lt;code&amp;gt;org.flywaydb.core&amp;lt;/code&amp;gt; und ist so nicht verwendbar) und mit dem Feature &amp;lt;code&amp;gt;org.eclipse.osbp.dependencies.feature.flyway&amp;lt;/code&amp;gt; verteilt.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Flyway Integration: org.eclipse.osbp.dependencies-mbp, org.eclipse.osbp.dependencies - Flyway 9 enthält die Unterstützung für MySQL und MariaDB nicht mehr im Kern, sondern im Modul &amp;lt;code&amp;gt;flyway-mysql&amp;lt;/code&amp;gt;, das sich über &amp;lt;code&amp;gt;META-INF/services&amp;lt;/code&amp;gt; registriert und von Flyway mit dessen eigenem Class Loader gesucht wird. Das Modul wird daher als Fragment &amp;lt;code&amp;gt;org.flywaydb.database.mysql&amp;lt;/code&amp;gt; 9.14.0.v20261028 an &amp;lt;code&amp;gt;org.flywaydb.core&amp;lt;/code&amp;gt; ausgeliefert (das Manifest des Originals nennt sich selbst &amp;lt;code&amp;gt;org.flywaydb.core&amp;lt;/code&amp;gt; und ist so nicht verwendbar) und mit dem Feature &amp;lt;code&amp;gt;org.eclipse.osbp.dependencies.feature.flyway&amp;lt;/code&amp;gt; verteilt.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Version 5.3.0.20261012 ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Version 5.3.0.20261012 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mollik</name></author>	</entry>

	<entry>
		<id>https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4622&amp;oldid=prev</id>
		<title>Mollik at 10:38, 29 October 2026</title>
		<link rel="alternate" type="text/html" href="https://download.osbee.org/documentation/index.php?title=Releasenotes_2026_OS.Softwarefactory&amp;diff=4622&amp;oldid=prev"/>
				<updated>2026-10-29T10:38:35Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 10:38, 29 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot; &gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== [[Releasenotes | --&amp;gt; zurück zu Releasenotes ]] ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== [[Releasenotes | --&amp;gt; zurück zu Releasenotes ]] ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Version 5.3.0.20261029 ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* OSBP Framework:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: org.eclipse.osbp.persistence: Wartezeit beim Start („Getting a lock required more than 20000 ms“). Jede Persistence Unit las beim Anlegen ihren EclipseLink-Cachetyp und ihre Cachegröße (&amp;lt;code&amp;gt;EclipseLink/&amp;amp;lt;Unit&amp;amp;gt;#cacheTypeDefault&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#cacheSizeDefault&amp;lt;/code&amp;gt;) aus der Konfiguration. Das führte zu einer gegenseitigen Blockierung der Initialisierung. Die Werte werden nun einmal auf dem Start-Thread gelesen, damit tritt die Sperre nicht mehr auf.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Neu: org.eclipse.osbp.persistence: Flyway findet Datenbankmigrationen, die Bundles mitbringen. Ein Bundle nennt seinen Migrationsordner im Manifest-Header &amp;lt;code&amp;gt;OSBP-Flyway-Migration: db/migration&amp;lt;/code&amp;gt; und legt die Skripte als &amp;lt;code&amp;gt;&amp;amp;lt;Persistence Unit&amp;amp;gt;/&amp;amp;lt;Hersteller&amp;amp;gt;/V&amp;amp;lt;Version&amp;amp;gt;__&amp;amp;lt;Beschreibung&amp;amp;gt;.sql&amp;lt;/code&amp;gt; ab, z.B. &amp;lt;code&amp;gt;monitoringData/mysql/V2026.10.28.1__drop_stale_monitor_unique_indexes.sql&amp;lt;/code&amp;gt;. Ein Skript läuft auf der Datenquelle, für die seine Persistence Unit konfiguriert ist, und zwar vor dem Anlegen und Erweitern der Tabellen durch EclipseLink. Der Herstellerordner wird aus den JDBC-Metadaten bestimmt: &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt; (auch für MariaDB), &amp;lt;code&amp;gt;postgresql&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;oracle&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sqlserver&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;h2&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;derby&amp;lt;/code&amp;gt;. Die neue Klasse &amp;lt;code&amp;gt;BundleMigrations&amp;lt;/code&amp;gt; sammelt die Migrationsskripte und übergibt sie Flyway als Resource Provider; die Skripte im Dateisystemordner der Datenquelle (&amp;lt;code&amp;gt;-DFlyway.&amp;amp;lt;Datenquelle&amp;amp;gt;.DatabaseMigrationSourcePath&amp;lt;/code&amp;gt;) werden mitgelesen. '''Die Migrationen laufen weiterhin nur mit &amp;lt;code&amp;gt;-DFlyway.active=true&amp;lt;/code&amp;gt;;'''&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** org.eclipse.osbp.persistence: Jedes Bundle mit Migrationen hat eine eigene Historientabelle, &amp;lt;code&amp;gt;flyway_&amp;lt;/code&amp;gt; und der symbolische Name, gekürzt wie ein Logger Klassennamen kürzt (führende Segmente auf ihren Anfangsbuchstaben, bis höchstens 30 Zeichen erreicht sind): &amp;lt;code&amp;gt;org.eclipse.osbp.system.monitoring.base&amp;lt;/code&amp;gt; wird zu &amp;lt;code&amp;gt;flyway_oeos_monitoring_base&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;net.osbee.app.bdi.ex.model.entity&amp;lt;/code&amp;gt; zu &amp;lt;code&amp;gt;flyway_noa_bdi_ex_model_entity&amp;lt;/code&amp;gt;. Versionen müssen innerhalb eines Bundles eindeutig sein. Scheitern die Migrationen eines Bundles, wird das mit „the migrations of &amp;amp;lt;Bundle&amp;amp;gt; were NOT applied“ protokolliert, die übrigen Bundles laufen weiter. Ergäben zwei Bundles denselben gekürzten Namen, werden beide mit einem Fehler abgewiesen, statt sich eine Historie zu teilen. Die Skripte des Dateisystemordners behalten Flyways Standardtabelle &amp;lt;code&amp;gt;flyway_schema_history&amp;lt;/code&amp;gt;; eine Quelle ohne Skripte läuft gar nicht&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: org.eclipse.osbp.persistence: Flyway lief bei jedem Start mit &amp;lt;code&amp;gt;baseline()&amp;lt;/code&amp;gt;. Sobald die Historie Einträge hatte, lehnte Flyway das mit einer Ausnahme ab, die verschluckt wurde – &amp;lt;code&amp;gt;migrate()&amp;lt;/code&amp;gt; lief danach nie. Eine bestehende Datenbank ohne Historie wird nun über &amp;lt;code&amp;gt;baselineOnMigrate&amp;lt;/code&amp;gt; einmalig mit Version 0 versehen. Ebenso entfällt &amp;lt;code&amp;gt;repair()&amp;lt;/code&amp;gt; bei jedem Start: Es schrieb die Historie auf ein nachträglich geändertes oder ersetztes Skript um, das dann nie lief; ein solches Skript scheitert nun an der Prüfsumme. Versionen dürfen außer der Reihe eintreffen (&amp;lt;code&amp;gt;outOfOrder&amp;lt;/code&amp;gt;), ein entferntes, bereits gelaufenes Skript ist kein Fehler mehr.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Fix: org.eclipse.osbp.system.configuration (monitoring.base): Überwachungseinträge gingen auf älteren Datenbanken verloren. Datenbanken, die mit einem früheren Monitoring-Modell angelegt wurden, tragen noch eindeutige Indizes auf einem Namen allein (&amp;lt;code&amp;gt;MONITOR_SUB_CATEGORY.MSC_NAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_CATEGORY.MCA_NAME&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;DK&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_MAIN_CATEGORY.MMCA_NAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;MONITOR_COMPONENT.MCO_NAME&amp;lt;/code&amp;gt;). Das Modell verlangt einen eindeutigen Namen nur unterhalb des jeweiligen Elternelements; die Schemagenerierung legt Indizes an, entfernt aber nie einen. Eine zweite Kategorie mit einer gleichnamigen Unterkategorie – etwa „COMPLETE“ unter &amp;lt;code&amp;gt;XRECHNUNG_UP&amp;lt;/code&amp;gt; und unter &amp;lt;code&amp;gt;ZUGFERD_UP&amp;lt;/code&amp;gt; – scheiterte daher an einem doppelten Schlüssel, &amp;lt;code&amp;gt;MonitoringService&amp;lt;/code&amp;gt; fing den Fehler ab, und der Eintrag fehlte (auf einer BDI-Installation über 1.000 solcher Fehler an einem Tag, dazu „transactionRollback - no transactionhandler found“). Ebenso konnten sich zwei Installationen mit gemeinsamer Datenbank nicht beide als Komponente „Application“ anmelden. Die erste Flyway-Migration des Bundles (&amp;lt;code&amp;gt;V2026.10.28.1__drop_stale_monitor_unique_indexes.sql&amp;lt;/code&amp;gt;, für MySQL/MariaDB, PostgreSQL und Oracle) entfernt diese Indizes; &amp;lt;code&amp;gt;MONITOR_COMPONENTI1&amp;lt;/code&amp;gt; legt die Schemagenerierung danach in der Form des Modells (&amp;lt;code&amp;gt;MCO_NAME, MCO_INSTALLATION&amp;lt;/code&amp;gt;) neu an. Da die Indizes nicht mehr im Modell stehen, hängen ihre Namen vom Generator ab, der die Datenbank angelegt hat; die Skripte finden sie daher an ihrer Struktur (eindeutig, kein Primärschlüssel, genau eine dieser Spalten). Auf einer neuen oder bereits bereinigten Datenbank ändern sie nichts. '''Die PostgreSQL- und Oracle-Skripte sind ungetestet.''' Ohne Flyway lassen sich die Indizes auch von Hand entfernen (auf den lokalen Datenbanken &amp;lt;code&amp;gt;shipment&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;pos&amp;lt;/code&amp;gt; geschehen)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Allgemein:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Hinweis für Produkte mit REST-Diensten über ECF: Das Bundle &amp;lt;code&amp;gt;org.eclipse.ecf.osgi.services.remoteserviceadmin.console&amp;lt;/code&amp;gt; (Konsolenbefehle &amp;lt;code&amp;gt;rsa …&amp;lt;/code&amp;gt;) sollte nicht automatisch starten. Seine Komponente &amp;lt;code&amp;gt;RSACommand&amp;lt;/code&amp;gt; benötigt den &amp;lt;code&amp;gt;RemoteServiceAdmin&amp;lt;/code&amp;gt;; während ECF diesen beim Export der Dienste erzeugt, blockieren sich ECF und DS gegenseitig, bis DS nach seiner Wartezeit (&amp;lt;code&amp;gt;-Dequinox.scr.waitTimeOnBlock&amp;lt;/code&amp;gt;, in BDI 20 s) abbricht. In BDI und im CX-Portal ist es auf &amp;lt;code&amp;gt;autoStart=&amp;quot;false&amp;quot;&amp;lt;/code&amp;gt; gesetzt; POS startet es nicht. Zusammen mit der Korrektur oben startet BDI in der IDE ohne Sperrmeldungen (67 s statt 74–101 s). Es verbleibt die Warnung „Enabling components of bundle org.eclipse.osbp.xtext.builder.metadata.services did not complete in 30000 ms“: Das ist das Laden der DSL-Modelle (rund 35 s) auf dem DS-Thread, keine Sperre&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Build &amp;amp; Infrastruktur:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Flyway Integration: org.eclipse.osbp.dependencies-mbp, org.eclipse.osbp.dependencies - Flyway 9 enthält die Unterstützung für MySQL und MariaDB nicht mehr im Kern, sondern im Modul &amp;lt;code&amp;gt;flyway-mysql&amp;lt;/code&amp;gt;, das sich über &amp;lt;code&amp;gt;META-INF/services&amp;lt;/code&amp;gt; registriert und von Flyway mit dessen eigenem Class Loader gesucht wird. Das Modul wird daher als Fragment &amp;lt;code&amp;gt;org.flywaydb.database.mysql&amp;lt;/code&amp;gt; 9.14.0.v20261028 an &amp;lt;code&amp;gt;org.flywaydb.core&amp;lt;/code&amp;gt; ausgeliefert (das Manifest des Originals nennt sich selbst &amp;lt;code&amp;gt;org.flywaydb.core&amp;lt;/code&amp;gt; und ist so nicht verwendbar) und mit dem Feature &amp;lt;code&amp;gt;org.eclipse.osbp.dependencies.feature.flyway&amp;lt;/code&amp;gt; verteilt.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Version 5.3.0.20261012 ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Version 5.3.0.20261012 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mollik</name></author>	</entry>

	</feed>