dependabot[bot] opened a new pull request, #1000: URL: https://github.com/apache/opennlp/pull/1000
Bumps [de.hs-heilbronn.mi:zlibsvm-core](https://github.com/rzo1/zlibsvm) from 2.1.2 to 3.0.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/rzo1/zlibsvm/releases">de.hs-heilbronn.mi:zlibsvm-core's releases</a>.</em></p> <blockquote> <h2>zlibsvm-3.0.0</h2> <h1>Changelog</h1> <h2>3.0.0</h2> <h3>Breaking Changes</h3> <ul> <li><strong>Java 21 required</strong> — Minimum Java version raised from 17 to 21.</li> <li><strong><code>SvmTrainer.train()</code> now returns <code>Optional<SvmModel></code></strong> — Previously returned <code>null</code> when cross-validation mode was enabled. Callers must update from <code>model = trainer.train(docs)</code> to <code>model = trainer.train(docs).orElseThrow()</code> (or handle the empty case).</li> <li><strong><code>SvmMetaInformation</code> is now immutable</strong> — All 8 setter methods (<code>setSvmConfiguration</code>, <code>setNumberOfClasses</code>, <code>setAmountOfSupportVectors</code>, <code>setRhoConstants</code>, <code>setLabelForEachClass</code>, <code>setProbabilityA</code>, <code>setProbabilityB</code>, <code>setNumberOfSupportVectorsForEachClass</code>) have been removed from the interface and implementation. These were unused across the codebase.</li> <li><strong><code>NativeSvmModelWrapper</code> multi-arg constructors replaced by Builder</strong> — The 9- and 11-parameter constructors have been replaced with a fluent <code>NativeSvmModelWrapper.Builder</code>. The canonical <code>NativeSvmModelWrapper(svm_model)</code> constructor is unchanged.</li> <li><strong>Assertions replaced with <code>IllegalArgumentException</code></strong> — All <code>assert</code> statements in public API methods now throw <code>IllegalArgumentException</code> with descriptive messages. Code catching <code>AssertionError</code> from zlibsvm must catch <code>IllegalArgumentException</code> instead.</li> </ul> <h3>New Features</h3> <ul> <li><strong><code>SvmDocumentImpl</code></strong> — A ready-to-use <code>SvmDocument</code> implementation is now provided in <code>zlibsvm-core</code>, eliminating the need for users to write their own.</li> <li><strong>Cross-validation test coverage</strong> — New tests verify that cross-validation mode returns an empty <code>Optional</code> and produces meaningful accuracy values across different fold counts.</li> </ul> <h3>Bug Fixes</h3> <ul> <li><strong><code>SvmTrainingTestCase</code>: copy-paste errors</strong> — Test was comparing <code>getRhoConstants()</code> three times instead of validating <code>getProbabilityA()</code> and <code>getProbabilityB()</code>. A separate assertion was comparing a model's config to itself instead of the reference model.</li> <li><strong><code>SvmModelImpl</code>: incomplete config reconstruction</strong> — When loading models from native LIBSVM, only 6 of 16 configuration fields were reconstructed. Added <code>SvmConfigurationImpl.fromNativeParameter()</code> factory to capture all fields.</li> <li><strong><code>PrimitiveHelper</code>: array index safety</strong> — Map-to-array conversions used HashMap keys directly as array indices, risking <code>ArrayIndexOutOfBoundsException</code> with non-sequential keys. Now uses sorted iteration.</li> <li><strong><code>SvmConfigurationImpl</code>: mutable state exposure</strong> — <code>getWeight()</code> and <code>getWeightLabel()</code> returned mutable lists, allowing callers to corrupt the immutable configuration. Now wrapped in <code>Collections.unmodifiableList()</code>.</li> <li><strong><code>SvmPerformanceTestCase</code></strong>: <code>MODE_NAME</code> typo renamed to <code>MODEL_NAME</code>; <code>@BeforeEach</code> changed to <code>@BeforeAll</code> so the reference benchmark runs once per class instead of before every test.</li> </ul> <h3>Improvements</h3> <ul> <li><strong>Migrated to JUnit 5</strong> (Jupiter) from JUnit 4.</li> <li><strong>Comprehensive JavaDoc</strong> added across all public API interfaces, enums, and core implementations.</li> <li><strong>README reworked</strong> — Fixed broken code formatting in the prediction example, added Requirements section, improved structure.</li> </ul> <h3>Dependency Updates</h3> <ul> <li>JUnit: 4.13.2 → 5.12.1</li> <li>maven-surefire-plugin: 3.5.4 → 3.5.5</li> <li>maven-compiler-plugin updated</li> <li>log4j-slf4j2-impl: 2.25.1 → 2.25.3</li> <li>maven-javadoc-plugin: 3.11.3 → 3.12.0</li> <li>maven-source-plugin: 3.3.1 → 3.4.0</li> <li>forbiddenapis: 3.9 → 3.10</li> <li>license-maven-plugin: 2.6.0 → 2.7.1</li> <li>versions-maven-plugin: 2.19.0 → 2.21.0</li> <li>central-publishing-maven-plugin updated</li> <li>actions/checkout: 5.0.0 → 6.0.2</li> <li>actions/setup-java: 5.0.0 → 5.2.0</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/rzo1/zlibsvm/commit/27b9fbcae6e6b37f30c5d3fcc73a8cb8e256e0cf"><code>27b9fbc</code></a> Release 3.0.0</li> <li><a href="https://github.com/rzo1/zlibsvm/commit/267ac0601b9783400a9ff342d80fb0df1cacd38b"><code>267ac06</code></a> Bump to 3.0.0-SNAPSHOT, require Java 21</li> <li><a href="https://github.com/rzo1/zlibsvm/commit/b5463485a142cf66e18448bdfa4a8015a07c9073"><code>b546348</code></a> Add test coverage for cross-validation training path</li> <li><a href="https://github.com/rzo1/zlibsvm/commit/dc767ecfbcda7e8e02b5899ac19617b4da25f30a"><code>dc767ec</code></a> Return Optional<SvmModel> from train() instead of null for CV mode</li> <li><a href="https://github.com/rzo1/zlibsvm/commit/37a701f06edbb9bcd3c852a423ec2f0aeeb4fd4e"><code>37a701f</code></a> Refactor NativeSvmModelWrapper to use Builder pattern</li> <li><a href="https://github.com/rzo1/zlibsvm/commit/75f5f0330c52835ce6bcd3ab005a4c5d4c26aeaf"><code>75f5f03</code></a> Make SvmMetaInformation immutable by removing unused setters</li> <li><a href="https://github.com/rzo1/zlibsvm/commit/9bf9859526eed2911ae4e8b6006c55510a3f12c2"><code>9bf9859</code></a> Replace test mocks with SvmDocumentImpl in core domain</li> <li><a href="https://github.com/rzo1/zlibsvm/commit/90f8d0accf81489737bedece754080a6b147b003"><code>90f8d0a</code></a> Replace assert statements with IllegalArgumentException checks</li> <li><a href="https://github.com/rzo1/zlibsvm/commit/fbf56f779545c60423d6095b9e98d0a7d2ba5157"><code>fbf56f7</code></a> Fix mutable state exposure and broken Comparable contract</li> <li><a href="https://github.com/rzo1/zlibsvm/commit/a0e76082adddeb29c932e2d2827082fb6e9293dc"><code>a0e7608</code></a> Add *.model to .gitignore for generated test artifacts</li> <li>Additional commits viewable in <a href="https://github.com/rzo1/zlibsvm/compare/zlibsvm-2.1.2...zlibsvm-3.0.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
