Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
763 commits
Select commit Hold shift + click to select a range
985bd88
CI Update ubuntu_atlas lock file (#32653)
DeaMariaLeon Nov 6, 2025
62b6acd
FIX: Reduce bias of `covariance.MinCovDet` with consistency correcti…
dherrera1911 Nov 6, 2025
7df99e5
MNT: Update test names to use `confusion_matrix_at_thresholds` (#32657)
lucyleeow Nov 6, 2025
b1b01a1
FEA Add support for arbitrary metrics and informative initialization …
dkobak Nov 6, 2025
8aceace
FIX Fix `DecisionTree*` partitioning with missing values present (#32…
betatim Nov 6, 2025
b583063
DOC Update sponsor page: reorganize sponsors and add BNP Paribas Grou…
francoisgoupil Nov 6, 2025
8ab764f
DOC add information on 'needs triage' label in contribution guide (#3…
StefanieSenger Nov 6, 2025
c8a5f80
DOC Add "wikipedia self-edit rule" to inclusion criteria (#32663)
betatim Nov 7, 2025
d539675
Raise error logreg liblinear (#31888)
snath-xoc Nov 7, 2025
f8108d9
DOC Correct many typos in code comments (#32666)
star1327p Nov 7, 2025
5d11c04
DOC: Correct the typos in a Benchmark file comments (#32672)
star1327p Nov 8, 2025
0cf4326
Add array API support to `calinski_harabasz_score` (#32600)
jaffourt Nov 8, 2025
adca6ae
DOC: Add reference link to LocalOutlierFactor (LOF) (#32674)
star1327p Nov 8, 2025
6a75463
DOC Fix a typo in plot_calibration_multiclass.py (#32679)
roychan Nov 9, 2025
4e2f1b7
DOC Improve load_iris docstring example (#32677)
arpanmukherjee38 Nov 9, 2025
7cf4fcb
DOC: Improve formatting of `sklearn.mixture` API documentation (#32681)
star1327p Nov 10, 2025
828f882
MAINT Cleaning up old scipy version mentions and code (#32685)
DeaMariaLeon Nov 10, 2025
a444d5c
CI Pin pytest<9 in wheels (#32688)
lesteve Nov 11, 2025
4e4acc5
DOC: Fix rendering typo in docstring for roc_curve (#32690)
burglarhobbit Nov 11, 2025
ab743bf
DOC: Minor Revision to SpectralBiclustering and SpectralCoclustering …
star1327p Nov 12, 2025
9a0bb25
Fix: improve speed of trees with MAE criterion from O(n^2) to O(n log…
cakedev0 Nov 12, 2025
a987611
DOC move pre-commit instructions to development setup and make them m…
AnneBeyer Nov 12, 2025
25859aa
DOC: Update the paper URL to Neighborhood Components Analysis (#32701)
star1327p Nov 13, 2025
c1309ec
:lock: :robot: CI Update lock files for scipy-dev CI build(s) :lock: …
scikit-learn-bot Nov 13, 2025
5159057
DOC add doc repo cleanup to release process (#32620)
adrinjalali Nov 13, 2025
281519e
MNT Clean-up scipy < 1.9 code (#32696)
DeaMariaLeon Nov 13, 2025
19aeaeb
Merge branch 'main' into gmIC
tingshanL Nov 13, 2025
9563704
fix lint errors
tliu68 Nov 14, 2025
0827b9f
fix linting error
tliu68 Nov 14, 2025
2fe1bfa
CI Revert pytest<9 pin in wheels (#32698)
lesteve Nov 14, 2025
b4238b2
Return `'cpu'` for `device(numpy_array)` when dispatch is enabled (#3…
ogrisel Nov 14, 2025
5a07bfc
DOC Add link to plot_gmm_pdf.py in GaussianMixture (#31230)
vivaannanavati123 Nov 15, 2025
4369cc7
add mahalanobis-ward init
tliu68 Nov 15, 2025
39f6a1a
fix lint and pickling errors
tliu68 Nov 15, 2025
3ea60f2
Merge branch 'main' into gmIC
tingshanL Nov 15, 2025
0cd2b7e
DOC Add reference to valid metrics for `KDTree` and `BallTree` (#32717)
virchan Nov 17, 2025
93311ba
Add `move_to` function to convert array namespace and device to names…
lucyleeow Nov 17, 2025
c88056b
:lock: :robot: CI Update lock files for scipy-dev CI build(s) :lock: …
scikit-learn-bot Nov 17, 2025
71e3b9b
DOC Set expectations for contributors proposing significant work (#32…
betatim Nov 17, 2025
e31bdb3
MNT add missing docstring of `xp` in `_fit_classifier_calibrator_pair…
OmarManzoor Nov 17, 2025
5835ccc
FIX: Only over-write specified default kwargs in Displays (#32313)
lucyleeow Nov 17, 2025
ee099d3
:lock: :robot: CI Update lock files for free-threaded CI build(s) :lo…
scikit-learn-bot Nov 17, 2025
9f7f231
:lock: :robot: CI Update lock files for array-api CI build(s) :lock: …
scikit-learn-bot Nov 17, 2025
8ae94f2
:lock: :robot: CI Update lock files for main CI build(s) :lock: :robo…
scikit-learn-bot Nov 17, 2025
42f0674
DOC Clarify decision trees complexity (#32583)
ArturoAmorQ Nov 17, 2025
9ea0b1f
CI Add doc tests to github actions (#32730)
FrancoisPgm Nov 18, 2025
a672760
DEP start deprecation of attributes in LogisticRegressionCV (#32114)
lorentzenchr Nov 18, 2025
5c247b0
DOC Fix swapped axes in linear model coefficient plots (Issue #32706)…
faizanhuda12 Nov 18, 2025
15abfd2
DOC Fix typo in docstring of `_classification.py` functions (#32740)
lucyleeow Nov 19, 2025
6a9ce61
MNT carry out deprecation for 1.8 of multi_class in LogisticRegressio…
lorentzenchr Nov 19, 2025
f0f714d
DOC Add links to glossary for terms binary, multiclass, multilabel fo…
lucyleeow Nov 19, 2025
45e8f7f
CI Add "autoclose" workflow by label setting (#32504)
StefanieSenger Nov 19, 2025
2b0f476
CI Add pytest soft dependency test to github actions (#32738)
FrancoisPgm Nov 19, 2025
1a288c6
MNT Deprecate n_jobs in LogisticRegression (#32742)
lesteve Nov 19, 2025
68bc716
DOC Fix some issues in changelog rendering (#32744)
lesteve Nov 19, 2025
8b4f836
DOC Add missing changelog entry for n_jobs deprecation in LogisticReg…
jeremiedbb Nov 20, 2025
cef41a2
TST Fix typos in test_common and test_search (#32723) (#32735)
manigkrish Nov 20, 2025
883ad32
MNT Move the too many classes warning into check_classification_targe…
jeremiedbb Nov 21, 2025
ff9da64
FIX LogisticRegressionCV with CV split with missing class labels (#32…
lorentzenchr Nov 21, 2025
797e4c6
FIX classification metrics raise on empty input (#32549)
StefanieSenger Nov 23, 2025
a34fe7d
CI Add label when linting fails (#32751)
FrancoisPgm Nov 24, 2025
cd3a2f6
CI Tweak autoclose script to add more debug info (#32745)
lesteve Nov 24, 2025
28679aa
FIX Fix decision trees' handling of missing values with constant feat…
cakedev0 Nov 24, 2025
f44a2cf
:lock: :robot: CI Update lock files for main CI build(s) :lock: :robo…
scikit-learn-bot Nov 24, 2025
69c1f75
:lock: :robot: CI Update lock files for array-api CI build(s) :lock: …
scikit-learn-bot Nov 24, 2025
13731fc
:lock: :robot: CI Update lock files for scipy-dev CI build(s) :lock: …
scikit-learn-bot Nov 24, 2025
8e750fa
DOC: fix MacPorts package name typo in installation page (#32770)
gdacciaro Nov 24, 2025
1250498
:lock: :robot: CI Update lock files for free-threaded CI build(s) :lo…
scikit-learn-bot Nov 24, 2025
9a1fd45
TST Add `check_array_api_binary_classification_metric` to `fbeta_scor…
lucyleeow Nov 24, 2025
e1fad51
MNT Improve use_legacy_attributes warning message (#32777)
ogrisel Nov 24, 2025
7852eff
DOC Amend "Issues for New Contributors" in contributing guide (#32715)
lucyleeow Nov 25, 2025
3a27f28
FEA Add array API support to `davies_bouldin_score` (#32693)
jaffourt Nov 25, 2025
92c1650
TST: small atol increase to fix graphical lasso test flakyness (#32757)
cakedev0 Nov 25, 2025
0c2f9db
DOC Fix incorrect description in Classical MDS documentation (#32576)
sotagg Nov 25, 2025
ae4acd9
TST Fix test_min_dependencies_readme.py with upper bounds (#32790)
lesteve Nov 26, 2025
e932688
DEP parameter penalty in LogisticRegression and LogisticRegressionCV …
lorentzenchr Nov 26, 2025
b816559
DOC Fix typos in 'new contributor' contributing.rst (#32791)
lucyleeow Nov 26, 2025
b448302
MNT Remove LogisticRegressionCV FutureWarning from examples (#32795)
lesteve Nov 26, 2025
12fccad
DOC Add info on 'array-like' array API inputs when `array_api_dispatc…
lucyleeow Nov 26, 2025
4f79388
MNT Bump version to 1.9.dev0 on main (#32794)
lesteve Nov 26, 2025
f78e850
TST: increase tolerance in `test_mcd`
cakedev0 Nov 21, 2025
c915bbe
CI Run unit-tests with random seed on schedule and open automated iss…
FrancoisPgm Nov 27, 2025
88ae380
DOC Shorten PR template and improve PR attention FAQ (#32734)
lucyleeow Nov 27, 2025
3c60f04
FIX preprocessing: Fix OneHotEncoder handle_unknown='warn' behavior (…
Nithurshen Nov 27, 2025
9e77ac6
DOC fix typo in 1.8 changelog
GaetandeCast Nov 27, 2025
5629486
FEA Add array API support to `LabelBinarizer(sparse_output=False)` fo…
virchan Nov 27, 2025
04e1f00
TST: fix `test_mincovdet_bias_on_normal` flakyness by using random se…
cakedev0 Nov 27, 2025
94f18ce
TST: fix `test_absolute_errors_precomputation_function` flakyness (fl…
cakedev0 Nov 27, 2025
c3b0873
MNT clean up double calls to check_array in `log_loss` and `d2_log_lo…
StefanieSenger Nov 28, 2025
c9e6701
DOC fix 32747.fix.api whatsnew (#32812)
lorentzenchr Nov 29, 2025
33b07ee
CI Work-around for conda-lock hang in builds with pip packages (#32808)
lesteve Nov 29, 2025
eda342d
Fix spelling in docs: `overfiting` -> `overfitting` (#32816)
ctb Nov 29, 2025
c411d42
DOC Fix changelog fragment filename (#32818)
Remi-Gau Nov 30, 2025
5fe81ec
DOC Fix indentation in _logistic.py docstrings (#32819)
lesteve Nov 30, 2025
3eecca6
DOC add paragraph on "AI usage disclosure" to Automated Contributions…
AnneBeyer Dec 1, 2025
7d82819
:lock: :robot: CI Update lock files for array-api CI build(s) :lock: …
scikit-learn-bot Dec 1, 2025
f6d75ea
:lock: :robot: CI Update lock files for scipy-dev CI build(s) :lock: …
scikit-learn-bot Dec 1, 2025
910a591
:lock: :robot: CI Update lock files for free-threaded CI build(s) :lo…
scikit-learn-bot Dec 1, 2025
d1661f0
CI Move pylatest_pip_openblas_pandas to Github Actions (#32810)
StefanieSenger Dec 1, 2025
045224d
DOC: Correct many grammatical issues (#32820)
star1327p Dec 2, 2025
6d602ba
FIX: move_to should handle BufferError and ValueError to support PyTo…
ogrisel Dec 2, 2025
19dbd54
:lock: :robot: CI Update lock files for main CI build(s) :lock: :robo…
scikit-learn-bot Dec 2, 2025
ee50be6
FIX screening in enet_coordinate_descent_multi_task (#32811)
lorentzenchr Dec 2, 2025
90ea990
TST Enable pytest faulthandler functionality (#32776)
ogrisel Dec 2, 2025
473fef0
DOC Update Contributing intro and Ways to contribute (#32792)
lucyleeow Dec 2, 2025
41ceebb
CI Make linting bot comment only on failure (#32804)
FrancoisPgm Dec 4, 2025
4a10d0e
DOC Add HTML repr related PR to existing changelog (#32831)
lesteve Dec 4, 2025
5b9561d
MNT Use Pyodide 0.29 version to avoid micropip error inside JupyterLi…
lesteve Dec 4, 2025
3300836
DOC Remove PR from changelog that was already in 1.7 (#32841)
DeaMariaLeon Dec 5, 2025
ec4f93c
FIX Add new default max_samples=None in Bagging estimators (#32825)
antoinebaker Dec 5, 2025
f1ad9f9
Fix `_safe_indexing` with non integer arrays on array API inputs (#32…
ogrisel Dec 5, 2025
47621fe
FIX Make `get_namespace` handle pandas dataframe input (#32838)
betatim Dec 5, 2025
96e2425
:lock: :robot: CI Update lock files for array-api CI build(s) :lock: …
scikit-learn-bot Dec 8, 2025
88b46b5
:lock: :robot: CI Update lock files for free-threaded CI build(s) :lo…
scikit-learn-bot Dec 8, 2025
bd0dd87
:lock: :robot: CI Update lock files for main CI build(s) :lock: :robo…
scikit-learn-bot Dec 8, 2025
e975228
DOC Release highlights for 1.8 (#32809)
lesteve Dec 9, 2025
b04ad95
MNT Update link to new build instruction location in `raise_build_err…
AnneBeyer Dec 9, 2025
9e24cf5
FIX add quickfix for pandas warning causing CI error (#32865)
AnneBeyer Dec 10, 2025
96df8e8
DOC Update news for 1.8.0 (#32877)
lesteve Dec 10, 2025
6f7b6c8
DOC Fix too short underline in 1.8 release highlights (#32878)
lesteve Dec 10, 2025
51df6d6
:lock: :robot: CI Update lock files for scipy-dev CI build(s) :lock: …
scikit-learn-bot Dec 10, 2025
e0ca871
FIX missing RNG seeding in `test_sag_regressor` (#32879)
ogrisel Dec 10, 2025
b59a67d
DOC Backport changelog changes from 1.8.X branch (#32876)
lesteve Dec 10, 2025
7f0900c
MNT Update SECURITY.md for 1.8.0 (#32881)
lesteve Dec 11, 2025
de38166
Fix typo in cross-validation definition (#32890)
andresnmejia Dec 12, 2025
92fb813
FIX activate gap safe screening in MultiTaskElasticNet and MultiTaskL…
lorentzenchr Dec 12, 2025
b5f8f1c
ENH add Array API support for `d2_pinball_score` and `d2_absolute_err…
virchan Dec 12, 2025
6f7eef1
Reverts the screening refactoring in enet_coordinate_descent_gram (#3…
OmarManzoor Dec 12, 2025
a1cae3e
ENH Order user-set parameters before default parameters on HTML Displ…
DeaMariaLeon Dec 12, 2025
c7d040e
TST make pandas warning message regex more generic (#32895)
AnneBeyer Dec 14, 2025
3e4a985
FIX: Tooltip position using CSS anchor positioning (#32887)
DeaMariaLeon Dec 14, 2025
9db90d2
TST Add `confusion_matrix_at_thresholds` to common tests (#32883)
lucyleeow Dec 15, 2025
e4610c6
ENH add clearer error message when instance is passed instead of clas…
AnneBeyer Dec 15, 2025
895ffbf
MNT Remove `unnasign.yml` file to avoid automatic `help wanted` label…
DeaMariaLeon Dec 16, 2025
a4db9a9
DOC Add reference to user guide for `MultiLabelBinarizer` (#32894)
lucyleeow Dec 17, 2025
15da556
CI: Make one tracking isssue per build for the unit-tests GHA (#32832)
FrancoisPgm Dec 17, 2025
e8642f7
MNT Use consistent ruff version in pre-commit and linting (#32849)
lesteve Dec 18, 2025
bf567c7
MNT cleanup numpy wor-karound in metrics functions (#32917)
StefanieSenger Dec 18, 2025
86acf45
MNT Remove unused `class_of_interest` from `_check_boundary_response_…
AnneBeyer Dec 18, 2025
8a98df0
FIX array API support when `pos_label=None` for brier score metrics (…
lucyleeow Dec 21, 2025
c3d5bae
DOC Add link to glossary "label indicator matrix" for classification …
lucyleeow Dec 22, 2025
ce9a262
TST add tests for pyproject minimum dependency checks (#32826)
AnneBeyer Dec 22, 2025
ee6911a
:lock: :robot: CI Update lock files for array-api CI build(s) :lock: …
scikit-learn-bot Dec 22, 2025
08d5546
:lock: :robot: CI Update lock files for free-threaded CI build(s) :lo…
scikit-learn-bot Dec 22, 2025
3a9c4f5
:lock: :robot: CI Update lock files for scipy-dev CI build(s) :lock: …
scikit-learn-bot Dec 22, 2025
521a5b0
MNT/DOC Autoclose schedule doesn't run on forks and improved structur…
StefanieSenger Dec 22, 2025
485c7bc
DOC Fix response values shape (#32918)
AnneBeyer Dec 22, 2025
b0ba8b0
DOC add link to brand guidelines (#32907)
glemaitre Dec 22, 2025
0e36600
FIX Avoid LogisticRegression spurious warning with `C=np.inf` (#32932)
lesteve Dec 23, 2025
eec13cc
FIX Correct the formulation of `alpha` in `SGDOneClassSVM` (#32778)
OmarManzoor Dec 23, 2025
e53f0b8
DOC Add release highlights link in 1.8 changelog (#32933)
lesteve Dec 23, 2025
43a7ffe
CI Make test_predict_joint_proba more stable for different random see…
gautamvarmadatla Dec 24, 2025
4a3f357
DOC Add glossary entry for one-vs-rest and one-vs-one (#32931)
lucyleeow Dec 24, 2025
4ac1079
Fix subject–verb agreement in documentation (#32945)
CipherCat7134 Dec 26, 2025
f397c5a
:lock: :robot: CI Update lock files for free-threaded CI build(s) :lo…
scikit-learn-bot Dec 29, 2025
2057f9c
:lock: :robot: CI Update lock files for scipy-dev CI build(s) :lock: …
scikit-learn-bot Dec 29, 2025
e47b3be
:lock: :robot: CI Update lock files for array-api CI build(s) :lock: …
scikit-learn-bot Dec 29, 2025
f82d576
ENH small improvement of hessian product in LinearModelLoss.gradient_…
lorentzenchr Dec 31, 2025
7f9afb8
Fix missing HTML escape in parameters repr (#32942)
ogrisel Dec 31, 2025
46970ef
FIX monkeypatch.settattr raising AttributeError (#32954)
ogrisel Dec 31, 2025
4be3e7d
FIX `remainder` parameter for column transformer visual block (#32713)
DeaMariaLeon Dec 31, 2025
03c1d56
ENH/FIX: make coordinate descent solver converge for ridge regression…
lorentzenchr Dec 31, 2025
04c9f3e
FIX coordinate descent alpha_max for positive=True (#32768)
JasonLiJT Dec 31, 2025
e0c7788
FIX Error handling in ranking metrics supporting multiclass: `average…
StefanieSenger Jan 2, 2026
6dce55e
FIX remove the special check in `test_enet_ols_consistency` (#32988)
OmarManzoor Jan 2, 2026
1b01387
:lock: :robot: CI Update lock files for free-threaded CI build(s) :lo…
scikit-learn-bot Jan 5, 2026
d155ee9
:lock: :robot: CI Update lock files for scipy-dev CI build(s) :lock: …
scikit-learn-bot Jan 5, 2026
dba7037
:lock: :robot: CI Update lock files for array-api CI build(s) :lock: …
scikit-learn-bot Jan 5, 2026
60fb6bd
MNT Update year to 2026 in COPYING (#32992)
StefanieSenger Jan 5, 2026
abcfa07
DOC Fix truncated summaries caused by 'a.k.a.' (#32995)
clijo Jan 5, 2026
3db0cd3
DOC: Correct many a/an usage mistakes (#32996)
star1327p Jan 5, 2026
932c8bf
MNT: externals: bump array-api-compat to v1.13 (#32962)
lucascolley Jan 5, 2026
b345ff7
TST cleanup of tests for LogisticRegression (#32759)
lorentzenchr Jan 5, 2026
dc882ac
MNT: Fix `pre-commit run --all-files` (#32813)
MarcoGorelli Jan 5, 2026
fafe37e
DOC add links to plot_ridge_coeffs example (#31454)
lsakovykh Jan 5, 2026
173b8d5
DOC Rework StackingRegressor example and add SuperLearner (#32163)
ArturoAmorQ Jan 6, 2026
8061a39
TST missing random state seed in test_ridge_regression_check_argument…
ogrisel Jan 6, 2026
39e3116
Add array API support for Nystroem approximation (#29661)
EmilyXinyi Jan 6, 2026
938cd97
Fix make sure enabling `array_api_dispatch=True` does not break any e…
ogrisel Jan 6, 2026
8a59044
DOC: clarify verbose behavior in GridSearchCV and RandomizedSearchCV …
anandvenugopal-tech Jan 7, 2026
e5aa6ef
TST Fix some tests with `global_random_seed` in `test_logistic.py` (#…
OmarManzoor Jan 7, 2026
aef9c5e
DOC fix link to NNDSVD paper (#32983)
yuanx749 Jan 7, 2026
8455af8
DOC Switch insecure http links to https (#32969)
prakritim01 Jan 7, 2026
131cc42
MAINT Remove CSS template substitution in estimators' HTML Display (#…
DeaMariaLeon Jan 8, 2026
017c91d
:lock: :robot: CI Update lock files for main CI build(s) :lock: :robo…
scikit-learn-bot Jan 8, 2026
255a542
Fix `log_loss` and `d2_log_loss_score` type promotion mismatch (#33022)
betatim Jan 8, 2026
3ca712b
DOC: Fix duplicate words in comments and docstrings (#33023)
chaitanyakumar-d Jan 8, 2026
5035f73
MNT: Remove numpydoc upperbound in lock files (#33018)
lucyleeow Jan 8, 2026
ae4f120
Bump the actions group with 7 updates (#32981)
dependabot[bot] Jan 8, 2026
66fbe2d
MNT Add option to raise when all sample weights are 0 in `_check_samp…
j-hendricks Jan 8, 2026
66200f1
CI List failed tests in tracking issue for unit-tests GHA (#33027)
FrancoisPgm Jan 9, 2026
7627340
MNT: trees/forests/GBT: deprecate `"friedman_mse"` criterion (#32708)
cakedev0 Jan 10, 2026
2e03d83
FEA Add Array API support to `paired_manhattan_distances` (#32979)
bharatr21 Jan 11, 2026
4c7b08f
:lock: :robot: CI Update lock files for main CI build(s) :lock: :robo…
scikit-learn-bot Jan 12, 2026
8fb457f
DOC: Fix typo "hyperparamters" in feature_extraction.rst (#33060)
TejasAnalyst Jan 13, 2026
17e8c90
CI Port windows test job from Azure to GHA (#33062)
augustebaum Jan 13, 2026
bb4b88c
DOC Fix and amend `hinge_loss` docstring (#33054)
lucyleeow Jan 13, 2026
38a2348
CI Port Linux ubuntu_atlas test job from Azure to GHA (#33064)
augustebaum Jan 13, 2026
bb083c4
CI Add architecture to Windows test name (#33069)
augustebaum Jan 13, 2026
3db6b3c
CI Port Linux min_dependencies test job from Azure to GHA (#33068)
augustebaum Jan 13, 2026
a1c64ee
TST Avoid segmentation fault with free-threaded and pytest-run-parall…
lesteve Jan 14, 2026
75bf0c6
CI Port MacOS no_openmp test job from Azure to GHA (#33065)
augustebaum Jan 14, 2026
0e72983
CI Run all Azure jobs in parallel (#33077)
augustebaum Jan 14, 2026
28a7339
CI Port ubuntu_2204 test job from Azure to GHA (#33078)
augustebaum Jan 14, 2026
6c084a8
DOC Fix incomplete sentence in linear model introduction (#33024)
pavitra-d-byali Jan 14, 2026
d856284
MNT rename l1_reg to alpha in enet_coordinate_descent_multi_task (#33…
lorentzenchr Jan 15, 2026
0707e62
TST Mark test_logreg_l1 as thread-unsafe (#33080)
lesteve Jan 15, 2026
d142460
CI Fix scipy-dev build issues (#33087)
lesteve Jan 15, 2026
e96804e
FIX add actual class name to error message in class vs. instance erro…
AnneBeyer Jan 15, 2026
fdb20ac
DOC Simplify metadata routing example and add short example to docstr…
StefanieSenger Jan 15, 2026
6ea7b18
CI remove scipy<1.16.2 requirement in wheel builder (#33090)
AnneBeyer Jan 15, 2026
b764229
FIX: fix deprecation of "friedman_mse" criterion in forests (#33039)
cakedev0 Jan 15, 2026
de7661d
CI Fix the unit tests GHA on windows (#33081)
FrancoisPgm Jan 16, 2026
ce1b377
FIX Draw indices using sample_weight in Random Forests (#31529)
antoinebaker Jan 16, 2026
830d841
Fix inconsistent string formatting in check_is_fitted function (#33104)
bodhisilberling Jan 18, 2026
9cc8266
:lock: :robot: CI Update lock files for free-threaded CI build(s) :lo…
scikit-learn-bot Jan 19, 2026
da6dcb1
:lock: :robot: CI Update lock files for main CI build(s) :lock: :robo…
scikit-learn-bot Jan 19, 2026
1c82728
:lock: :robot: CI Update lock files for scipy-dev CI build(s) :lock: …
scikit-learn-bot Jan 19, 2026
935121f
MAINT update array API lock file (#33107)
ogrisel Jan 19, 2026
34653fe
DOC/MNT Little clean up around the splitting docs and error message (…
StefanieSenger Jan 19, 2026
afc095a
DOC Fix typo in changelog readme (#33111)
lucyleeow Jan 20, 2026
3c5f668
MNT Add specific error message to `get_tags()` when users pass estima…
AnneBeyer Jan 20, 2026
6d1ce8c
FIX Resolve precompute in enet_path when check_input is False #32989 …
adc-trust-ai Jan 21, 2026
c9656a5
DOC: Remove redundant import in plot_iris_dtc example (#33102)
abhisheksainimitawa Jan 22, 2026
492ad11
FEA Add array API support for `average_precision_score` (#32909)
StefanieSenger Jan 23, 2026
e154bfc
Fix inconsistent string formatting in validation.py (#33121)
bodhisilberling Jan 23, 2026
d172c6c
Fix typo in test_docstrings.py comment (#33128)
bodhisilberling Jan 24, 2026
ef03de5
:lock: :robot: CI Update lock files for scipy-dev CI build(s) :lock: …
scikit-learn-bot Jan 26, 2026
78f0bd3
:lock: :robot: CI Update lock files for free-threaded CI build(s) :lo…
scikit-learn-bot Jan 26, 2026
e2d2cde
:lock: :robot: CI Update lock files for main CI build(s) :lock: :robo…
scikit-learn-bot Jan 26, 2026
e2bea55
Re-enable compressed cache for fetch_kddcup99 (#33118)
un1u3 Jan 26, 2026
128c88c
FIX: fix boundary 0-weight edge-case in `_weighted_percentile` (#33127)
cakedev0 Jan 27, 2026
9b4a695
MAINT Simpler array API lock file config (#33136)
ogrisel Jan 27, 2026
2efd6ad
FIX: Fixed duplicate column error appearing with FeatureUnion polars …
leweex95 Jan 27, 2026
07d060e
DOC Add statement on supported versions for array API (#33139)
betatim Jan 27, 2026
3e51c6b
TST: trees: run `test_min_impurity_decrease` for all criteria (#32699)
cakedev0 Jan 27, 2026
686ea7c
FEA: Add Array API support to `pairwise_distances_argmin` (#32985)
bharatr21 Jan 27, 2026
66d314a
TST: Decision trees: add test for split optimality (#32193)
cakedev0 Jan 27, 2026
7fbe0c2
CI Port `free-threaded` job from Azure to GHA (#33116)
augustebaum Jan 27, 2026
62b0804
CI Run free-threaded build on schedule (#33147)
lesteve Jan 28, 2026
be7ec61
ENH Add zero division handling to cohen_kappa_score (#31172)
StefanieSenger Jan 28, 2026
e1fcf67
CI Migrate Linux_Nightly build to GHA (#33123)
FrancoisPgm Jan 28, 2026
5cbb0bd
DOC fix typos in `plot_confusion_matrix.py` (#33141)
StefanieSenger Jan 28, 2026
3d936d5
Improve contribution guidelines to make it easier for maintainers to …
ogrisel Jan 28, 2026
b0bf5d7
ENH Turn `TargetEncoder` into a metadata router and route `groups` to…
StefanieSenger Jan 28, 2026
a86c639
DOC Improve clarity and reproducibility in classification probability…
GarimaGarg222 Jan 29, 2026
b7e29df
DOC Add note about startup overhead in parallelism (#33153)
MAUK9086 Jan 30, 2026
351280b
CI Migrate pylatest_conda_forge_mkl build to GHA (#33155)
FrancoisPgm Jan 30, 2026
cb7e82d
MNT Fix small typo in convergence warning for NewtonSolver (#33164)
pomrakna Feb 1, 2026
180c272
Merge branch 'main' into gmIC
tingshanL Feb 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .binder/runtime.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
python-3.9
python-3.12
3 changes: 2 additions & 1 deletion .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ version: 2.1
jobs:
lint:
docker:
- image: cimg/python:3.10.16
- image: cimg/python:3.11
steps:
- checkout
- run:
Expand Down Expand Up @@ -57,6 +57,7 @@ jobs:
doc:
docker:
- image: cimg/base:current-22.04
resource_class: medium+
environment:
- MKL_NUM_THREADS: 2
- OPENBLAS_NUM_THREADS: 2
Expand Down
8 changes: 3 additions & 5 deletions .codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,9 @@ coverage:

codecov:
notify:
# Prevent coverage status to upload multiple times for parallel and long
# running CI pipelines. This configuration is particularly useful on PRs
# to avoid confusion. Note that this value is set to the number of Azure
# Pipeline jobs uploading coverage reports.
after_n_builds: 6
# Prevent codecov from calculating the coverage results before all expected uploads
# are in. This value is set to the total number of jobs uploading coverage reports.
after_n_builds: 7

ignore:
- "sklearn/externals"
Expand Down
18 changes: 18 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
// More info about Features: https://containers.dev/features
"image": "mcr.microsoft.com/devcontainers/base:ubuntu-24.04",
"features": {},

"onCreateCommand": ".devcontainer/setup.sh",
"postCreateCommand": "",

"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
"ms-toolsai.jupyter"
],
"settings": {}
}
}
}
20 changes: 20 additions & 0 deletions .devcontainer/setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/bin/bash

set -e

"${SHELL}" <(curl -Ls micro.mamba.pm/install.sh) < /dev/null
# .bashrc has been updated by the mamba install one-liner above.
# 'source $HOME/.bashrc' sets up micromamba for later use
source $HOME/.bashrc

micromamba env create -f build_tools/circle/doc_environment.yml -n sklearn-dev --yes
# Install additional packages:
# - ipykernel: to be able to use the VS Code Jupyter integration
# - pre-commit: avoid linting issues
micromamba install pre-commit ipykernel -n sklearn-dev --yes
# install pre-commit hooks
micromamba activate sklearn-dev
pre-commit install

# Auto-activate sklearn-dev in terminal
echo "micromamba activate sklearn-dev" >> $HOME/.bashrc
6 changes: 6 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,9 @@ ff78e258ccf11068e2b3a433c51517ae56234f88

# PR 31226: Enforce ruff/pygrep-hooks rules
b98dc797c480b1b9495f918e201d45ee07f29feb

# PR 31817: Consistently use relative imports
4abf564cb4ac58d61fbbe83552c28f764284a69d

# PR 31847 Switch to absolute imports enforced by ruff
1fe659545c70d9f805c1c4097dd2fce9a6285a12
20 changes: 16 additions & 4 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,11 @@ body:
addressed by searching through [the past issues](https://github.com/scikit-learn/scikit-learn/issues).
- type: textarea
attributes:
label: Describe the bug
label: Describe the bug and give evidence about its user-facing impact
description: >
A clear and concise description of what the bug is.
A clear and concise description of what the bug is and **how it affects you as a scikit-learn user**. Please give a few details about the context of the discovery, why you care about getting it fixed. Please do not create issues for problems you don't actually care about.

The scikit-learn issue tracker is swamped by reports and pull-requests. Stating the expected user impact is critical to help maintainers and other contributors focus time and effort to review meaningful contributions.
validations:
required: true
- type: textarea
Expand All @@ -36,13 +38,15 @@ body:
model = lda_model.fit(lda_features)
```

If possible, craft a reproducer that only uses the public scikit-learn API or justify why you had to use some private API to trigger the problem. This helps us assess the user-facing impact of the bug.

If the code is too long, feel free to put it in a public gist and link it in the issue: https://gist.github.com.

In short, **we are going to copy-paste your code** to run it and we expect to get the same result as you.
In short, **we need to be able to quickly copy-paste your code** to run it without modification and we expect to get the same result as you.

We acknowledge that crafting a [minimal reproducible code example](https://scikit-learn.org/dev/developers/minimal_reproducer.html) requires some effort on your side but it really helps the maintainers quickly reproduce the problem and analyze its cause without any ambiguity. Ambiguous bug reports tend to be slower to fix because they will require more effort and back and forth discussion between the maintainers and the reporter to pin-point the precise conditions necessary to reproduce the problem.
placeholder: |
```
```python
Sample code to reproduce the problem
```
validations:
Expand Down Expand Up @@ -89,6 +93,14 @@ body:
```
validations:
required: true
- type: textarea
attributes:
label: Interest in fixing the bug
description: >
If your issue is triaged by project maintainers as a bug that can be reproduced, would you be interested in working on a PR to resolve it?
And if you already have an idea, please explain your analysis of the root cause of the bug and a strategy for a possible fix, but please do not open a PR as long as the issue has not been triaged.
validations:
required: true
- type: markdown
attributes:
value: >
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ body:
- type: markdown
attributes:
value: >
#### If you want to propose a new algorithm, please refer first to the [scikit-learn inclusion criterion](https://scikit-learn.org/stable/faq.html#what-are-the-inclusion-criteria-for-new-algorithms).
#### If you want to propose a new algorithm, please refer first to the [scikit-learn inclusion criterion](https://scikit-learn.org/dev/faq.html#what-are-the-inclusion-criteria-for-new-algorithms).
- type: textarea
attributes:
label: Describe the workflow you want to enable
Expand Down
38 changes: 29 additions & 9 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
<!--
Thanks for contributing a pull request! Please ensure you have taken a look at
the contribution guidelines: https://github.com/scikit-learn/scikit-learn/blob/main/CONTRIBUTING.md
🙌 Thanks for contributing a pull request!

👀 Please ensure you have taken a look at the contribution guidelines:
https://github.com/scikit-learn/scikit-learn/blob/main/CONTRIBUTING.md

✅ In particular following the pull request checklist will increase the likelihood
of having maintainers review your PR:
https://scikit-learn.org/dev/developers/contributing.html#pull-request-checklist

📋 If your PR is likely to affect users, you will need to add a changelog entry
describing your PR changes, see:
https://github.com/scikit-learn/scikit-learn/blob/main/doc/whats_new/upcoming_changes/README.md
-->

#### Reference Issues/PRs
Expand All @@ -15,17 +25,27 @@ is merged. See https://github.com/blog/1506-closing-issues-via-pull-requests
#### What does this implement/fix? Explain your changes.


#### AI usage disclosure
<!--
If AI tools were involved in creating this PR, please check all boxes that apply
below and make sure that you adhere to our Automated Contributions Policy:
https://scikit-learn.org/dev/developers/contributing.html#automated-contributions-policy
-->
I used AI assistance for:
- [ ] Code generation (e.g., when writing an implementation or fixing a bug)
- [ ] Test/benchmark generation
- [ ] Documentation (including examples)
- [ ] Research and understanding


#### Any other comments?


<!--
Please be aware that we are a loose team of volunteers so patience is
necessary; assistance handling other issues is very welcome. We value
all user contributions, no matter how minor they are. If we are slow to
review, either the pull request needs some benchmarking, tinkering,
convincing, etc. or more likely the reviewers are simply busy. In either
case, we ask for your understanding during the review process.
For more information, see our FAQ on this topic:
Thank you for your patience. Changes to scikit-learn require careful
attention, but with limited maintainer time, not every contribution can be reviewed
quickly.
For more information and tips on improving your pull request, see:
https://scikit-learn.org/dev/faq.html#why-is-my-pull-request-not-getting-any-attention.

Thanks for contributing!
Expand Down
54 changes: 0 additions & 54 deletions .github/workflows/arm-unit-tests.yml

This file was deleted.

67 changes: 67 additions & 0 deletions .github/workflows/autoclose-comment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: autoclose comment
# Post comment on PRs when labeled with "autoclose".

permissions:
contents: read
pull-requests: write

on:
pull_request_target:
types:
- labeled

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_REPO: ${{ github.repository }}
PULL_REQUEST_NUMBER: ${{ github.event.pull_request.number }}

jobs:

post_comment:
name: post_comment
if: github.event.label.name == 'autoclose'
runs-on: ubuntu-latest

steps:

- name: comment on potential autoclose
run: |
gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/$GH_REPO/issues/$PULL_REQUEST_NUMBER/comments \
-f "body=$BODY"
env:
BODY: >
⏰ This pull request might be automatically closed in two weeks from now.


Thank you for your contribution to scikit-learn and for the effort you have
put into this PR. This pull request does not yet meet the quality and
clarity needed for an effective review. Project maintainers have limited
time for code reviews, and our goal is to prioritize well-prepared
contributions to keep scikit-learn maintainable.


To increase the chance of a productive review, please refer to: [How do I
improve my issue or pull
request?](https://scikit-learn.org/dev/faq.html#how-do-i-improve-my-issue-or-pull-request)
As the author, you are responsible for driving this PR, which entails doing
necessary background research as well as presenting its context and your
thought process. If you are a [new
contributor](https://scikit-learn.org/dev/developers/contributing.html#new-contributors),
or do not know how to fulfill these requirements, we recommend that you
familiarise yourself with scikit-learn's development conventions via other
contribution types (e.g., reviewing PRs) before submitting code.


Scikit-learn maintainers cannot provide one-to-one guidance on this PR.
However, if you ask focused, well-researched questions, a community
member may be willing to help. 💬


If you substantially improve this PR within two weeks, a team member may
remove the `autoclose` label and the PR stays open. Cosmetic changes or
incomplete fixes will not be sufficient. Maintainers will assess
improvements on their own schedule. Please do not ping (`@`) maintainers.
35 changes: 35 additions & 0 deletions .github/workflows/autoclose-schedule.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: autoclose schedule
# Autoclose labeled PR after 2 weeks.

permissions:
contents: read
pull-requests: write

on:
schedule:
- cron: '0 2 * * *' # runs daily at 02:00 UTC
workflow_dispatch:

env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:

autoclose:
name: autoclose labeled PRs
runs-on: ubuntu-latest
if: github.repository == 'scikit-learn/scikit-learn'
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: '3.13'
- name: Install PyGithub
run: pip install -Uq PyGithub

- name: Checkout repository
uses: actions/checkout@v6

- name: Close PRs labeled more than 14 days ago
run: |
python build_tools/github/autoclose_prs.py
Loading
Loading