Skip to content

Bump de.learnlib:learnlib-parent from 0.18.0 to 19.0.0 - #146

Draft
dependabot[bot] wants to merge 4 commits into
mainfrom
dependabot/maven/de.learnlib-learnlib-parent-19.0.0
Draft

dependabot[bot] wants to merge 4 commits into
mainfrom
dependabot/maven/de.learnlib-learnlib-parent-19.0.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 17, 2026 •

Copy link
Copy Markdown
Contributor

Bumps de.learnlib:learnlib-parent from 0.18.0 to 19.0.0.

Changelog

Sourced from de.learnlib:learnlib-parent's changelog.

[19.0.0] - 2026-08-12

Full changelog

Added

  • GitHub releases now provide learnlib-cli artifacts for using LearnLib via the command-line interface without the need for Java or Maven.
  • Added a new (L*-based) learning algorithm for Mealy machines with local timers (MMLTs), including support for parallel queries, caching, and conformance testing (thanks to Paul Kogel).
  • Added the Ls active learning algorithm for Mealy machines (thanks to Wolffhardt Schwabe).
  • Added an EarlyExitEQOracle which for a given AdaptiveMembershipOracle and TestWordGenerator stops the evaluation of (potentially long) Mealy-based equivalence tests as soon as a mismatch with the hypothesis is detected, potentially improving the symbol performance of the given equivalence oracle.
  • Both lambda learners (LLambda{DFA,Mealy} and TTTLambda{DFA,Mealy}) now support the Resumable interface.
  • The LLambda{DFA,Mealy} learners now implement the OTLearner interface to export their internal knowledge via an ObservationTable.
  • Most regular learner no implement AccessSequenceTransformer as a means to extract representatives of hypothesis states.

Changed

  • LearnLib shifted version numbers to more prominently communicate breaking changes with major versions.
  • LearnLib now requires Java 17 at runtime.
  • Statistics collection has received a major rework. Previously, classes would implement the StatisticCollector interface and return a StatisticData object which 1) only allows for describing a very limited amount of data, and 2) requires you to keep track of all the objects that collect data. This approach has been replaced by a new StatisticsService. Instances of this service can be obtained similar to a logger via Statistics.getService() and require you to provide an implementation of this service on the classpath (a default one is provided by the learnlib-statistics module). The new service allows arbitrary components to collect various data which can be conveniently extracted based on the new StatisticsKeys used by the components. For more details on advanced scenarios (such as multi-threaded benchmarking), see the documentation of the respective classes. While this may require you to adjust the way you are collecting statistics, all functionality from beforehand should still be available.
    • SimpleProfiler has been replaced by the new clock-based statistics.
  • Most learners now more rigorously implement the LearningAlgorithm contract that, e.g., duplicate invocations of startLearning or calling refineHypothesis / getHypothesisModel before startLearning throw IllegalStateExceptions.
  • Experiment now has type variables for the input symbol type and output domain type.
  • {DFA,Mealy,Moore}Experiment have been moved to the de.learnlib.util package.
  • The generateTestWords method of AbstractTestWordEQOracle now needs to be public.
  • The classes of de.learnlib.testsupport.it.learner have been split into the packages de.learnlib.testsupport.it{,testcase,util,variant} in the same module (de.learnlib.testsupport:learnlib-learner-it-support).
  • Switched to AutomataLib 13.0.0.

Removed

  • All adapters from the learnlib-procedural learner have been removed due to main learners implementing AccessSequenceTransformer now. Use the constructors of the main learners instead.

Fixed

  • The de.learnlib.algorithm.adt module now correctly exports the de.learnlib.algorithm.adt.config.model.* packages.
  • The TTTLambdaMealy learner now returns stable hypotheses that no longer issue queries during traversal.
Commits
  • 9ad8feb [maven-release-plugin] prepare release learnlib-19.0.0
  • f1ee29d use new version scheme
  • 1768e27 adjust some points adressed by IntelliJ's analysis
  • e63e3c0 switch to AutomataLib 13.0.0
  • b76d423 LearnLib CLI (#166)
  • 6c9a24b bump dependencies
  • 413e0c8 adjust to AutomataLib refacotrings
  • b5db4ae examples: remove redundant SupressWarnings
  • 313d533 experiment: only require collection of inputs
  • 5784df9 aaar: make learner wrapper publicly available
  • Additional commits viewable in compare view

Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

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)

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file java Pull requests that update Java code labels Aug 17, 2026
@actyp

actyp commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

This version upgrade from 0.18.0 to 19.0.0 has some breaking changes that need to be addressed. I will try to resolve them.

By the way, according learnlib-19.0.0 release:

LearnLib shifted version numbers to more prominently communicate breaking changes with major versions

I think eventually we should do it too, so that we properly follow the conventions.

@kostis do we want to update to the latest version or are there any changes blocking us?

@kostis

kostis commented Oct 8, 2026

Copy link
Copy Markdown
Member

It's OK -and desirable- to upgrade; I've just have not found the time to look into this.

@actyp
actyp force-pushed the dependabot/maven/de.learnlib-learnlib-parent-19.0.0 branch from a19a903 to db603e6 Compare October 16, 2026 06:23
@actyp
actyp marked this pull request as draft October 16, 2026 06:27
@actyp

actyp commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

The update of learnlib mainly required some changes to how we use the Counter objects.

learnlib-19.0.0 utilizes a (global) service that handles counters by StatisticsKey instead of having to deal with ad-hoc objects.

For this reason, I made the necessary changes to pass StatisticsKeys around instead of Counter objects, and then to retrieve the values of the underlying counters using the global service, as shown in StatisticsTracker.

I am not yet certain about the following:

  1. is passing keys around the appropriate redesign?
  2. is the retrieval from the global service actually working as expected? (I will make some experiments)
  3. since the public API of classes like StatisticsTracker is changed, should I bump PSF's version to v0.4.0?

@kostis

kostis commented Oct 16, 2026

Copy link
Copy Markdown
Member

FWIW, a quick grep revealed that StatisticsTracker* is not (directly) used in any of the tools that are based on PSF. (Also, no tool has been updated to use 0.3.1, since that version has not been released.)

@actyp

actyp commented Oct 16, 2026

Copy link
Copy Markdown
Member

Thank you. Since it is not used, I suggest we do the following: we merge this PR, folding it in v0.3.1 and then I release v0.3.1, do you agree?

@kostis

kostis commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

I am all for merging this. I let you decide whether this will be 0.3.1 or 0.4.0, released now or perhaps wait a while and also include some other stuff too. (I know that we want to make a new version of RALib soon, with a new algorithm and bug fixes which have been merged to its main branch, soon.)

dependabot Bot and others added 3 commits October 18, 2026 00:59
Bumps [de.learnlib:learnlib-parent](https://github.com/LearnLib/learnlib) from 0.18.0 to 19.0.0.
- [Changelog](https://github.com/LearnLib/learnlib/blob/develop/CHANGELOG.md)
- [Commits](LearnLib/learnlib@learnlib-0.18.0...learnlib-19.0.0)

---
updated-dependencies:
- dependency-name: de.learnlib:learnlib-parent
  dependency-version: 19.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@actyp
actyp force-pushed the dependabot/maven/de.learnlib-learnlib-parent-19.0.0 branch from db603e6 to 7864e62 Compare October 18, 2026 05:58
@actyp

actyp commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

To answer my questions above:

  1. is passing keys around the appropriate redesign?

I will keep that for now.

  1. is the retrieval from the global service actually working as expected?

It works as expected, after local testing on edhoc-fuzzer

  1. since the public API of classes like StatisticsTracker is changed, should I bump PSF's version to v0.4.0?

I will try to do it the proper way. I will bump the version here to be v0.4.0, since we have a breaking change, but I will not merge it to main yet.

Main is on v0.3.1 currently, so instead of releasing it now, I will wait for a while to see if there are other changes that can be folded there (unless we want to release it now for other reasons).

When the time comes, I will release v0.3.1 and then I will rebase and merge this PR to main, which will start the commit sequence for v0.4.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update Java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants