14. What’s new

14.1. julearn 0.3.6.dev92 (2026-10-14)

Bugfixes

  • Fix a bug in which RandomizedSearchCV using uniform distributions specifications used an extended search space Fede Raimondo (#307)

  • Fix a bug in which CBPM with corr_sign="posneg" and no significant features reported two output feature names for a single output column Fede Raimondo (#315)

  • Fix a bug in which PipelineCreator and TargetPipelineCreator named every repeated step after the second one as <name>_1 instead of <name>_1, <name>_2, … Fede Raimondo (#315)

API Changes

  • Raise the minimum supported versions to scikit-learn 1.6.1, statsmodels 0.14.0 and pandas 2.2.2 Fede Raimondo (#316)

Features

Misc

  • Delay log message formatting by Fede Raimondo (#301)

  • Configure the project to support uv as a package manager and bump minimum Python version to 3.12 Fede Raimondo (#307)

  • Avoid generating and skipping non-applicable test cases and run tests in parallel with pytest-xdist Fede Raimondo (#315)

  • Improve CI: skip the tests when the library did not change, cancel superseded runs, actually run the nodeps tests, test with the minimum supported dependency versions and run the tests in parallel Fede Raimondo (#316)

Deprecations and Removals

  • Temporarily remove the deslib optional dependency and disable DynamicSelection, as the latest DESlib release is not compatible with scikit-learn >= 1.6 Fede Raimondo (#317)

14.2. Julearn 0.3.5 (2026-03-06)

Bugfixes

API Changes

Improved Documentation

Enhancements

Features

  • Add a new global config option "enable_auto_escape_parenthesis" to escape parenthesis in column names by Synchon Mandal (#226)

Misc

  • Regular repository maintenance by updating .pre-commit-config.yaml, replacing black with ruff-format, updating tool configs and GitHub Actions workflows and dependency version constraints, dropping support for Python 3.8 and adding support for Python 3.12 and 3.13 by Synchon Mandal (#284)

  • Update julearn.viz module to support param version 2.3.0 by Fede Raimondo (#297)

  • Update versions of dependencies in pyproject.toml to support pandas 3.X.X, numpy 2.X.X and scikit-learn 1.8.X by Fede Raimondo (#299)

14.3. Julearn 0.3.4 (2024-10-17)

Bugfixes

  • Fix usage of optuna distributions as hyperparameters in older versions of scikit-learn by Fede Raimondo. (#268)

Enhancements

14.4. Julearn 0.3.3 (2024-05-16)

Bugfixes

Improved Documentation

14.5. Julearn 0.3.2 (2024-05-03)

Bugfixes

  • Fix a bug in which tuning hyperparemters while using a target transformer will not work as a result of target transformation detection by Fede Raimondo (#249)

  • Update bokeh api calls to remove warnings by Fede Raimondo (#255)

Improved Documentation

Enhancements

Features

Misc

14.6. Julearn 0.3.1 (2024-01-23)

Bugfixes

  • Add BaseEstimator to ConfoundRemoval for Target by Sami Hamdan (#151)

  • Skip wrapping scorers when target transformers can inverse transform and avoid logging filtered warnings by Fede Raimondo (#236)

  • Fix alternative parameter not being used in the corrected t-test Fede Raimondo (#245)

  • Fix hyperparameter not being set in PipelineCreator.add when an object is used as model, by Fede Raimondo (#247)

Improved Documentation

Enhancements

Features

  • Add support for multiple grids in hyperparameter tuning by Fede Raimondo (#47)

Misc

14.7. Julearn 0.3.0 (2023-07-19)

The general API and behavior of Julearn has been changed to make it easier to define and use pipelines. The documentation has been updated to reflect these changes. Basic functionality from the previous API is still present. However, it might require setting a few more parameters in the run_cross_validation() function.

14.8. Julearn 0.2.5 (2022-07-21)

API Changes

  • Make API surrounding registering consistently use overwrite by Sami Hamdan

  • Inner cv needs to be provided using search_params. Deprecating cv in model_params by Sami Hamdan (#146)

  • Add n_jobs and verbose to run_cross_validation by Sami Hamdan

Bugfixes

  • Fix a hyperparameters setting issue where the parameter had an iterable of only one element by Sami Hamdan (#96)

  • Fix installations instruction for latest development version (add --pre) by Fede Raimondo

  • Fix target transformers that only normal transformers are wrapped by Sami Hamdan (#94)

  • Fix compatibility with new scikit-learn release 0.24 by Sami Hamdan (#108)

  • Fix compatibility with multiprocessing in scikit-learn by Sami Hamdan

  • Raise error message when columns in the dataframe are nos strings by Fede Raimondo (#77)

  • Fix not implemented bug for decision_function in ExtendedDataFramePipeline by Sami Hamdan (#135)

  • Fix Bug in the transformer wrapper implementation by Sami Hamdan (#122)

  • Fix Bug Target Transformer missing BaseEstimator by Sami Hamdan (#151)

  • Fix Bug of showing Warnings when using confound removal by Sami Hamdan (#152)

  • Fix Bug registered scorer not working in dictionary for scoring by Sami Hamdan

Improved Documentation

Enhancements

  • Bump minimum python version to 3.7 by Fede Raimondo

  • Refactor scoring to allow for registering and callable scorers by Sami Hamdan

  • Update model_selection and add capabilities to register searchers by Sami Hamdan

  • Update default behavior of setting inner cv according to scikit-learn instead of using outer cv as default by Sami Hamdan

  • Add tests and more algorithms to DynamicSelection by Sami Hamdan and Shammi More

Features