Skip to content

LensKit 0.13.0 - critical bugs fixed

Compare
Choose a tag to compare
@github-actions github-actions released this 18 Jun 16:59
· 2191 commits to main since this release

We're pleased to release LensKit 0.13!

Major Fixes

This release includes two critical fixes, for which everyone should upgrade:

  • The Bias model's transform and inverse_transform methods were incorrect (#265). These bugs did not affect Bias when used as a predictor or a recommender, but they did affect any model using Bias as a normalization step, namely the biased matrix factorizers (since version 0.11, when this API was added).
  • Previous versions of LensKit did not clean up temporary files (or, on Python 3.8 and later, shared memory resources) when running parallel evaluation processes.

It also includes significant performance improvements and code to detect common problems with parallel processing configurations, and is tested on Python 3.9 and on Linux AArch64 (64-bit ARM).

Future Changes

This release deprecates two sets of APIs that will be removed in LensKit 0.14:

  • MultiEval (#254) - it doesn't work well for realistic projects, and simple evaluations are easy enough to write in a loop, so we will be removing MultiEval to reduce our maintenance burden going forward.
  • RNG seed management APIs - these are replaced by seedbank. In 0.13, the APIs are kept as compatibility shims for their SeedBank replacements, but we will remove them in 0.14 in favor of directly calling seedbank.

We haven't yet adopted any formal deprecation policies for LensKit, but my current tentative plan is to use this next-release cadence for nontrivial removals while we're still releasing 0.x versions; once we decide to bump to 4.x, we will use semantic versioning on all public APIs, and thus deprecations will not be enforced until the next major release.

In a future LensKit, I tentatively plan to factor out several of our bridges (TensorFlow, Implicit, HPF) into separate projects. We will keep compatibility imports for at least one 0.x release, and probably until 4.0. This will reduce the development overhead of the LensKit core.

What’s Changed