There are a few more things to add and test before rolling 2025.1, but with the new data model changes I'm going to call it betea.
What's Changed
* Separate PipelineBuilder from Pipeline and update run api by mdekstrand in https://github.com/lenskit/lkpy/pull/606
* Re-add unnormalized DCG metric by mdekstrand in https://github.com/lenskit/lkpy/pull/608
* Add ARM and Windows vanilla Python to CI runs by mdekstrand in https://github.com/lenskit/lkpy/pull/609
* Implement data set builders and the new entity/relationship model by mdekstrand in https://github.com/lenskit/lkpy/pull/610
* Simplify training history components with new dataset by mdekstrand in https://github.com/lenskit/lkpy/pull/612
* Make vocabularies immutable and stop using copy() by mdekstrand in https://github.com/lenskit/lkpy/pull/611
* Tweaks for live class demo by mdekstrand in https://github.com/lenskit/lkpy/pull/613
**Full Changelog**: https://github.com/lenskit/lkpy/compare/v2025.0.0a6...v2025.1.0b1