Release notes for LensKit 3.0

The Git changelog and the list of closed tickets and pull requests provide more information on what has happened, including bugs that have been fixed.

LensKit 3.0 is the upcoming major release of LensKit. This release will not be backwards-compatible with LensKit 2.2. These release notes are not exhaustive, but are intended to provide a general guide to the changes to look for. As 3.0’s final release nears, we will be writing additional documentation on translating and updating experiments and other migration concerns.

For a preview of the manual for LensKit 3.0, see here.

Organization Changes

New Public APIs

The LensKit public APIs (ItemScorer, RatingPredictor, etc.) have been redesigned with new data structures for reporting results.

New Data Access Layer

LensKit’s Data Access Layer has been completely rewritten to make it easier to link to many different of data sources. Documentation is forthcoming.

Algorithm Changes

Evaluator Changes

‘Evaluation scripts’ have gone away in favor of discrete command line tools (train-test, crossfold) and a Gradle plugin for scripting them. This means we can leverage all of Gradle’s engineering in developing a DSL for task automation.

Metric Changes