This release introduces more flexible time-window handling, improved checkpointing and resume behavior, richer metric support, and continued enhancements to image-based modeling.
New features
- Mid-epoch resume support when using multiple GPU
Training can now be resumed mid-epoch also when training parallelly on multiple GPU. By default, checkpoints are created between training and validation. Users can also configure checkpointing every n steps, enabling faster recovery from interruptions without restarting an entire epoch.
- Flexible time window selection for history and future [BREAKING CHANGE]
Replacingnext_n_daysandnext_n_hourswithinterval_from, a more general time-window utility that allows users to define arbitrary time intervals using precise durations. This enables selecting both historical and future periods with higher precision and clearer semantics, especially for short or irregular time horizons. Previously used target functions require refactoring, please refer to documentation and recipes.
- Ranking metrics support (MRR, NDCG)
Added built-in support for common ranking metrics such as Mean Reciprocal Rank (MRR) and Normalized Discounted Cumulative Gain (NDCG), simplifying evaluation of recommendation and ranking scenarios.
Improvements
- NaN‑robust aggregations by default
Aggregation functions (sum, mean, min, max) now ignoreNaNvalues by default, leading to more stable and predictable results when working with incomplete or noisy data.
- Flexible expressions across grouping and filtering
Grouping and filtering operations, as well as aggregation methods such as sum, mean, min, max now accept Python callables everywhere a column name was previously required. This allows users to compute values dynamically—such astrans['price'] * trans['quantity']— and use them directly for grouping, filtering, or aggregation. This significantly expands the expressiveness of event-level operations without requiring users to create intermediate columns.
- Image features in shared entities
Shared entities now support image embeddings, allowing visual features to be unified across multiple data sources just like text or categorical attributes. This makes it possible to enrich a shared product or item representation with image-based information.
- More precise training window validation [BREAKING CHANGE]
Thehas_incomplete_training_windowfunction now supports finer-grained time units, allowing checks in minutes, hours, or days. This change provides more accurate control over prediction and training window validation, especially for short-duration or high-frequency datasets. It also includes clearer input validation and more descriptive error messages, improving transparency and debugging during training setup. Previously used target functions require refactoring, please refer to documentation and recipes.
Fixes
- Fixed an issue where timestamps could be misinterpreted when reading data from Databricks sources, ensuring correct temporal filtering and split behavior.
- Updated third-party packages to improve performance, strengthen security, and ensure compatibility with the latest BaseModel features.



