Skip to content

Pin lightgbm to latest version 4.6.0#476

Open
pyup-bot wants to merge 1 commit into
masterfrom
pyup-pin-lightgbm-4.6.0
Open

Pin lightgbm to latest version 4.6.0#476
pyup-bot wants to merge 1 commit into
masterfrom
pyup-pin-lightgbm-4.6.0

Conversation

@pyup-bot
Copy link
Copy Markdown
Collaborator

@pyup-bot pyup-bot commented Mar 3, 2026

This PR pins lightgbm to the latest release 4.6.0.

Changelog

4.6.0

- [c++] update to fmt 11.1.2, fast_double_parser 0.8.0 jameslamb (6802)
- [ci] fix valgrind workflow jameslamb (6816)
- [ci] validate pyproject file by json schema StrikerRUS (6813)
- [ci] [python-package] update pre-commit hooks to latest versions jameslamb (6817)
- [ci]: Bump release-drafter/release-drafter from 6.0.0 to 6.1.0 in the ci-dependencies group [dependabot[bot]](https://github.com/apps/dependabot) (#6810)
- [ci] fix errors about line length in yaml files (Part 4) StrikerRUS (6804)
- [ci] remove pandas before testing that LightGBM can be imported without extra deps StrikerRUS (6801)
- [ci] fix errors about comments indentation in yaml files (Part 3) StrikerRUS (6794)
- [ci] fix errors about indentation in yaml files (Part 2) StrikerRUS (6789)
- [ci] [python-package] build macOS x86_64 wheels on macOS 13 (Ventura) jameslamb (6669)
- [ci] add yaml files linter to pre-commit hook but skip some rules for now (Part 1) StrikerRUS (6763)
- [ci] lock inactive issues and PRs at different time StrikerRUS (6764)
- [ci][python-package] add testing for the shape of raw score predictions StrikerRUS (6765)
- [ci] pin more dependencies in Python 3.8 environment jameslamb (6771)
- [CUDA] remove src/treelearner/kernels shiyu1994 (6766)
- [python-package] stop relying on string concatenation / splitting for cv() eval results jameslamb (6761)
- [ci] Add Release Drafter workflow StrikerRUS (6754)
- [python-package] Rename `cvfolds` variable into `cvbooster` in `engine.cv` function ClaudioSalvatoreArcidiacono (6762)
- [python-package] simplify eval result printing jameslamb (6749)
- [ci] fix linkchecker job jameslamb (6757)
- [ci] remove Docker volumes during Azure cleanup StrikerRUS (6760)
- [ci] use Ruff linter instead of isort StrikerRUS (6755)
- [ci] set upper bound on dask jmoralez (6742)
- [c++] include <cstdint> wherever uint8_t is used jameslamb (6736)
- [python-package] simplify scikit-learn 1.6+ tags support jameslamb (6735)
- [ci] Introduce `typos` pre-commit hook borchero (6564)
- [ci] [python-package] [R-package] adapt to scikit-learn check_sample_weight_equivalence changes, stop testing against R 3.6 on Linux jameslamb (6733)
- [python-package][R-package] adapt to scikit-learn 1.6 testing changes, pin more packages in R 3.6 CI jobs jameslamb (6718)
- [ci] [R-package] re-enable 'rchk' checks jameslamb (6713)
- [ci] check PowerShell scripts with PSScriptAnalyzer (part 3) StrikerRUS (6710)
- [ci] check JavaScript code with `biome` tool StrikerRUS (6711)
- [ci] check PowerShell scripts with PSScriptAnalyzer (part 2) StrikerRUS (6709)
- [ci] check PowerShell scripts with PSScriptAnalyzer (part 1) StrikerRUS (6704)
- [ci] [R-package] remove code for 'rchk' checks jameslamb (6545)
- [ci] Fix version matching between RTD pages and R-package pages StrikerRUS (6673)
- [python-package] remove MSVS solution files from sdist jameslamb (6698)
- [ci] set `MinimumVisualStudioVersion` to MSVS 2015 StrikerRUS (6689)
- [ci] fix build of LightGBM with MSVS GUI StrikerRUS (6690)
- [cmake] group sanitizer options together StrikerRUS (6688)
- [ci] add shellcheck, use latest pre-commit hook versions jameslamb (6685)
- [ci] fix some shellcheck warnings in package-building scripts vnherdeiro (6641)
- [python-package] deprecate support for H2O 'datatable' jameslamb (6670)
- [ci] enable OpenMP support in cpp tests StrikerRUS (6676)
- [python-package] ignore scikit-learn 'check_sample_weight_equivalence' estimator check (fixes 6678) jameslamb (6679)
- [ci] fix shellcheck warnings in CI scripts vnherdeiro (6646)
- [ci] Restore MPI jobs on macOS StrikerRUS (6664)
- [ci] Update CUDA versions for CI StrikerRUS (6539)
- [ci] replace uses of 'mamba' with 'conda', use Python 12 for test-python-latest-job jameslamb (6663)
- [cmake] simplify SWIG config StrikerRUS (6648)
- [ci] [R-package] re-enable R-devel clang16 job (fixes 6607) jameslamb (6642)
- [cmake] remove unused variable StrikerRUS (6647)
- [ci] [python-package] temporarily stop testing against scikit-learn nightlies, load lib_lightgbm earlier jameslamb (6654)
- [ci] prevent C API tests from leaving files behind (fixes 6361) jameslamb (6637)
- [python-package] limit when num_boost_round warnings are emitted (fixes 6324) jameslamb (6579)
- [ci] prevent Python tests from leaving behind files vnherdeiro (6626)
- fix some shellcheck warnings vnherdeiro (6621)
- [ci] fix linux runners running out of disk space (fixed 6635) jameslamb (6636)
- [python-package] remove setup.cfg jameslamb (6624)
- [cmake] consolidate set_target_properties() calls jameslamb (6594)
- [ci] prevent `train.binary.bin` and `lgb_train_data.bin` files being left behind after testing bili2002 (6606)
- [ci] update some linting versions jameslamb (6598)
- [ci] skip R-devel clang16 job and use gcc-12 for macOS Python jobs jameslamb (6608)
- [python-package] update to scikit-build-core 0.10 jameslamb (6597)
- [ci] restore nuget artifact creation StrikerRUS (6593)
- [R-package] [cmake] simplify CMake-based R builds jameslamb (6591)
- [cmake] stop using file(GLOB) jameslamb (6588)
- [ci] prevent `categorical.model` and `model.txt` files being left behind after testing neNasko1 (6590)
- [ci] Always use latest SWIG version in Windows CI job StrikerRUS (6541)
- [ci] place all CI helpers under the .ci folder and use - instead of _ in their names StrikerRUS (6581)
- [ci] fix MSVC warning about builds in temp directory StrikerRUS (6573)
- bump development version to 4.5.0.99 jameslamb (6575)
- [ci] ask pip to always install local artifact but not download package from PyPI StrikerRUS (6574)

4.5.0

- [ci] modify CodeQL settings jameslamb (6563)
- [ci] revert clang-18 LD_LIBRARY_PATH workaround jameslamb (6559)
- [ci] [R-package] help linker find libstdc++.so.1 in clang18 job (fixes 6553) jameslamb (6554)
- [ci] update codeowners jameslamb (6542)
- [ci] [R-package] use --no-xattrs when re-tarring CRAN-style package jameslamb (6540)
- [ci] [R-package] add CI jobs covering more CRAN "additional checks", fix R_NO_REMAP warnings (fixes 6369) jameslamb (6523)
- [ci] [R-package] add arm64 macOS R-package CI job (fixes 6481) jameslamb (6494)
- [ci] restore aarch64 linux builds (fixes 6509) jameslamb (6527)
- [test][python] fix pandas DeprecationWarning about `is_sparse` function StrikerRUS (6532)
- fix cpp casting errors "Comparison of narrow type with wide type in loop condition" StrikerRUS (6533)
- [python-package] avoid overwriting dependencies via 'build-python.sh install' jameslamb (6526)
- [tests][python]  fix nan in pandas bool column StrikerRUS (6530)
- Remove template parameters from copy constructor hgminh95 (6514)
- [ci] prevent `lgb.model` and `lgb.pkl` files being left behind after testing nicklamiller (6518)
- [ci] [R-package] run 'R CMD check' as a foreground task jameslamb (6508)
- [CMake] Use CMAKE_MSVC_RUNTIME_LIBRARY to apply /MT hcho3 (6484)
- [ci] resolve shellcheck errors in .ci/check_python_dists.sh Kunal-Singh-Dadhwal (6503)
- [ci] skip aarch64 linux job jameslamb (6517)
- [R-package] Use `Rf_`-prefixed versions of protect/unprotect david-cortes (6502)
- [ci] reduce repetition of BUILD_DIRECTORY in CI scripts jameslamb (6497)
- [ci] remove OpenMP / MKL workaround in CI jobs jameslamb (6496)
- [ci] [docs] fix link-checks job jameslamb (6495)
- [python-package] Change build settings to set strict-config to false Jorricks (6493)
- [ci] remove unnecessary package installations in CI jameslamb (6488)
- chore: update dataset_loader.cpp eltociear (6483)
- bump development version to 4.4.0.99 jameslamb (6485)

4.4.0

- [python-package] add a few type hints in LGBMModel.fit() jameslamb (6470)
- [python-package] clarify max_depth warning and limit when it is emitted jameslamb (6402)
- [ci] upgrade linters to latest version jameslamb (6472)
- [ci] [R-package] add new linters from {lintr} 3.1.1 jameslamb (6471)
- [python-package] make LGBMDeprecationWarning inherit from FutureWarning jameslamb (6447)
- [ci] further simplify CI configurations jameslamb (6463)
- [ci] fix CUDA 11.8 builds (fixes 6466) jameslamb (6465)
- [ci] simplify CI configurations, parallelize compilation, test CUDA on Ubuntu 22.04 jameslamb (6458)
- [ci]: Bump actions/checkout from 1 to 4 in the ci-dependencies group dependabot (6453)
- [cmake] switch to FindCUDAToolkit characat0 (6457)
- [R-package] [python-package] deprecate Dataset arguments to cv() and train() jameslamb (6446)
- [ci] Add dependabot configuration borchero (6449)
- [python-package] upgrade to scikit-build-core 0.9.3 jameslamb (6263)
- deprecate HDFS support jameslamb (6443)
- [c++] remove uses of '..' in headers jameslamb (6409)
- [R-package] always name the shared library 'lightgbm', not 'lib_lightgbm' jameslamb (6432)
- [R-package] [ci] Manually install 'Matrix' (fixes 6433) jameslamb (6434)
- [ci] Skip Arrow tests on AppVeyor, use Intel macOS runners, upgrade to XCode 14.3 on macOS jobs, disable MacOS MPI jobs borchero (6425)
- [ci] raise floors on CI dependencies jameslamb (6375)
- [ci] make shell scripts stricter jameslamb (6266)
- [python-package] prevent build-python.sh from modifying already-installed dependencies jameslamb (6403)
- [ci] reduce hard-coding of host architecture jameslamb (6395)
- [c++] remove unused variable 'need_connect_cnt' jameslamb (6410)
- [ci] clean source directory at the beginning of every Azure DevOps build jameslamb (6416)
- [ci] Fix Azure Pipeline Agents shiyu1994 (6407)
- [ci] [R-package] re-enable r-sanitizers jobs (fixes 6367) jameslamb (6374)
- [ci] prevent trailing whitespace, ensure files end with newline jameslamb (6373)
- [ci] [docs] update some docs and CI dependencies jameslamb (6346)
- [ci] [python-package] remove unused flake8 configuration jameslamb (6372)
- [ci] put ceiling on graphviz in Python 3.7 jobs jameslamb (6370)
- [ci] Fix R 3.6 tests, dask tests, compatibility with dask>=2024.3.1 borchero (6357)
- [ci] [python-package] check for untyped definitions with mypy jameslamb (6339)
- [ci] ignore ruff-format changes in git blame (fixes 6304) jameslamb (6345)
- [c++] remove unnecessary include in CLI jameslamb (6342)
- [ci] [python-package] enable ruff-format on all Python code jameslamb (6336)
- [python-package] remove unused type alias jameslamb (6341)
- [ci] [python-package] enforce 'pylint' checks (fixes 4308) jameslamb (6334)
- [ci] [python-package] enable ruff-format on tests and examples jameslamb (6317)
- [python-package] fix mypy error about pyarrow data jameslamb (6333)
- [ci] remove unnecessary workarounds in R-package macOS jobs jameslamb (6331)
- [ci] remove workflow_dispatch from no-response configuration jameslamb (6330)
- [ci] fix no-response permissions jameslamb (6323)
- [ci] enable ruff-format on some files, add pre-commit config jameslamb (6308)
- [ci] ensure shell script exit codes are in range 0-255 jameslamb (6305)
- [ci] fix installation of clang-18 (fixes 6306) jameslamb (6307)
- [ci] [R-package] pin to older setup-pandoc for R 3.6 jobs (fixes 6298) jameslamb (6299)
- bump development version to 4.3.0.99 jameslamb (6287)

4.3.0

Changes

💡 New Features

- [CUDA] Add arch=8.9 to CUDA_ARCHS for RTX 40XX DmitryUlyanov (6272)

🔨 Breaking

- [cmake] [c++] require CMake 3.18+ jameslamb (6260)
- [R-package] remove readRDS.lgb.Booster() and saveRDS.lgb.Booster() jameslamb (6246)

🚀 Efficiency Improvement

- [R-package] Remove non-beneficial parallelization david-cortes (6209)

🐛 Bug Fixes

- [R-package] [ci] remove unnecessary include in linear_tree_learner (fixes 6264) jameslamb (6265)
- [cmake] [CUDA] ignore CUDA-specific source files in non-CUDA builds (fixes 6267) sabjohnso (6268)
- [c++] include OpenMP-control files in MSBuild solution file (fixes 6238) jameslamb (6251)
- [cmake] [swig] use CMake's built-in file-copying mechanisms instead of 'cp' jameslamb (6259)

📖 Documentation

- [docs] Add LightGBMLSS to README StatMixedML (6254)
- [ci] [docs] add Oliver to CODEOWNERS jameslamb (6247)
- Fix small typo and grammar in docs arunstar (6245)

🧰 Maintenance

- [ci] fix conda env creation in 'regular' CI job (fixes 6282) jameslamb (6283)
- [R-package] [ci] switch vignettes from 'rmarkdown' to 'markdown' jameslamb (6258)
- [python-package] fix mypy error about pandas categorical features jameslamb (6253)
- [ci] update issue-locking workflow jameslamb (6256)
- [ci] upgrade to GoogleTest v1.14.0 (fixes 5976) jameslamb (5981)
- [ci] [R-package] speed up valgrind job jameslamb (6237)
- bump development version to 4.2.0.99 jameslamb (6241)

4.2.0

- [ci] [R-package] allow more possibly-lost warnings from valgrind jameslamb (6233)
- [ci] Upgrade Azure VMSS to use Mariner Linux shiyu1994 (6222)
- Add msvc conformance check Zhaojun-Liu (6234)
- [python-package] Add tests for passing Arrow arrays with empty chunks borchero (6210)
- [R-package] change CRAN maintainer jameslamb (6224)
- [CUDA] fix typo in error message jameslamb (6207)
- [python-package] ignore mypy errors related to ctypes string buffers jameslamb (6198)
- [python-package] consolidate pandas-to-numpy conversion code jameslamb (6156)
- [R-package] standardize naming of internal functions jameslamb (6179)
- [R-package] remove unreachable code jameslamb (6180)
- allow new files in include/LightGBM jameslamb (6177)
- [R-package] Use `cat()` instead of `print()` for metrics and callbacks david-cortes (6171)
- [ci] resolve warning in tests jameslamb (6154)
- [ci] use `mamba` instead of `conda` in macOS and Linux CI jobs borchero (6140)
- factor out uses of omp_get_num_threads() and omp_get_max_threads() outside of OpenMP wrapper jameslamb (6133)
- remove unnecessary allocations in HistogramSumReducer jameslamb (6132)
- [ci] [R-package] enforce more {lintr} checks jameslamb (6130)
- fix compiler warnings for CPP tests jameslamb (6124)
- [ci] [R-package] test against R 4.3 on Windows jameslamb (6061)
- [python-package] reorganize early stopping callback jameslamb (6114)
- [python-package] simplify Dataset._compare_params_for_warning() jameslamb (6120)
- [ci] fix sh-compatibility issue in build-cran-package.sh jameslamb (6118)
- [python-package] remove unnecessary allocations in ctypes code jameslamb (6111)
- [python-package] fix mypy errors in Dataset construction jameslamb (6106)
- [ci] ensure correct R version is used on GitHub Actions (fixes 5640) jameslamb (6107)
- [python-package] fix mypy error about eval result tuples jameslamb (6105)
- [python-package] fix mypy error from Dataset.pandas_categorical jameslamb (6098)
- [ci] Fix typo in dependencies borchero (6100)
- [python-package] fix mypy errors related to eval result parsing in callbacks jameslamb (6096)
- [python-package] mark EarlyStopException as part of public API jameslamb (6095)
- [python-package] fix mypy errors related to eval result tuples jameslamb (6097)
- update to fmt 10.1.1, fast_double_parser 0.7.0 jameslamb (6074)

4.1.0

- Remove superfluous todo from gitignore borchero (6081)
- [python-package] simplify processing of pandas data jameslamb (6066)
- [ci] [R-package] test against R 4.3 on Linux and macOS jameslamb (6075)
- reduce verbosity of some log messages jameslamb (6073)
- [python-package] remove CVBooster._append() jameslamb (6057)
- [python-package] use dataclass for CallbackEnv jameslamb (6048)
- [ci] [python-package] add more linting checks jameslamb (6049)
- [ci] prevent lock-threads from locking issues with label 'feature request' jameslamb (6047)
- [ci] add bot to lock inactive issues and PRs jameslamb (6037)
- [ci] fix GPG key download for R Linux jobs (fixes 6038) jameslamb (6039)
- [ci] enforce dask version to be >=2023.5.0 in some builds (fixes 6030) shiyu1994 (6032)
- [ci] [R-package] use {lintr} 3.1 jameslamb (5997)
- [python-package] replace np.find_common_type with np.result_type jmoralez (5999)
- [ci] simplify CODEOWNERS jameslamb (5998)
- [R-package] consolidate testing constants in helpers file jameslamb (5992)
- [R-package] remove unused internal variables jameslamb (5991)
- [ci] use newer h5py in AppVeyor jobs (fixes 5995) jameslamb (5996)
- [python-package] make _InnerPredictor construction stricter jameslamb (5961)

----

> **Note**
>
> This release of the R package was not submitted to CRAN, due to the issues documented in https://github.com/microsoft/LightGBM/issues/5987.

4.0.0

Changes

This release contains all previously-unreleased changes since `v3.3.1` over 1.5 years ago ([link](https://github.com/microsoft/LightGBM/releases/tag/v3.3.1)).

Summary of improvements:

* totally-rewritten CUDA implementation, and more operations in the CUDA implementation performed on the GPU
* quantized training can be used for greatly improved training speeds on CPU ([paper link](https://arxiv.org/abs/2207.09682))
* support for C++17
* Python package:
 - now uses `scikit-build-core` ([link](https://github.com/scikit-build/scikit-build-core)) as its build backend
 - `manylinux_2_28` Linux wheels now support GPU (OpenCL-based, not CUDA) build automatically... just `pip install lightgbm` then pass `{"device": "gpu"}` in params (thanks jgiannuzzi!)
 - much more use of inline type hints, exported with `py.typed` so any code using LightGBM can benefit
 - support for Python 3.10, 3.11
 - support for `pandas` nullable types
 - configurable threshold (`lgb.early_stopping(..., min_delta=n)`) for how much eval metrics must improve to be considered "improved" for early stopping
 - custom objective functions in Dask
 - `scikit-learn` is no longer a required dependency
 - all callbacks are now pickleable (for better interoperability with e.g. `ray`, Dask) (thanks Yard1!)
* R package:
 - efficient support for more data types in prediction, like `dgCMatrix` and `dsparseMatrix` (thanks david-cortes!)
 - much more idomatic interface... e.g. support for `saveRDS()` and `readRDS()` for `Booster`, `print()` and `summary()` methods for `Dataset` (thanks david-cortes!)
 - various bug fixes related to multiple competing ways to provide parameters
 - support for R 4.2, 4.3

Summary of breaking changes:

* Python package:
 - dropped most testing, promise of support for Python 3.6 (although it should still technically be installable)
 - dropped support for macOS Mojave (10.14)
 - made many functions and class attributes private, including significantly reducing what is pulled in by `from lightgbm import *`
 - removed `setup.py`, `pip install --install-option` support
 - remove support for `pip install --install-option` (to work with newer `pip`, see https://github.com/pypa/pip/issues/11358)
     - see https://github.com/microsoft/LightGBM/blob/master/python-package/README.rst for new patterns
     - see https://github.com/pypa/pip/issues/11358 and #5061 for background
 - dropped support for installation with `MSBUild.exe` ... that now requires compiling `lib_lightgbm.dll` separately and then building a wheel that bundles it
* R package:
 - dropped support for Solaris
 - removed most support for passing parameters through `...`
 - removed `lgb.unloader()`
 - switched to `predict(newdata, type = ...)` in `predict()`, for consistency with base R and most other machine learning projects

💡 New Features

- [python-package] add 'pandas' extra jameslamb (5937)
- [CUDA] Add more CUDA Regression Metrics Xuweijia-buaa (5924)
- [python-package] adding max_category_values parameter to create_tree_digraph method (fixes 5687) moziada (5818)
- [c++] support building with Ninja on Linux jameslamb (5910)
- add CMakeLists options to disable building CLI, installing headers jameslamb (5880)
- Add quantized training (CPU part) shiyu1994 (5800)
- [CUDA] Add quantile regression objective for new CUDA version shiyu1994 (5605)
- [CUDA] Add quantile metric for new CUDA version (contribute to 5163) shiyu1994 (5665)
- [python-package] add Booster.set_leaf_output method jmoralez (5712)
- feature: Add serialization of reference dataset svotaw (5427)
- [R-package] Accept factor labels and use their levels david-cortes (5341)
- [CUDA] Add binary logloss metric for new CUDA version shiyu1994 (5635)
- [CUDA] Add binary logloss metric for new CUDA version shiyu1994 (5635)
- Decouple Boosting Types (fixes 3128) lyf-00 (4827)
- [CUDA] Add L2 metric for new CUDA version shiyu1994 (5633)
- [CUDA] Add rmse metric for new CUDA version shiyu1994 (5611)
- Build integrated OpenCL Linux wheels jgiannuzzi (5252)
- [CUDA] Add Poisson regression objective for cuda_exp and refactor objective functions for cuda_exp shiyu1994 (5486)
- [CUDA] Add multiclass_ova objective for cuda_exp shiyu1994 (5491)
- [python-package] add install option to enable printing of time costs Remy-Luciani (5497)
- [python-package][R-package] load parameters from model file (fixes 2613) jmoralez (5424)
- [CUDA] Add multiclass objective for cuda_exp shiyu1994 (5473)
- [CUDA] Add feature interaction constraint for cuda_exp (fix 4785) shiyu1994 (5474)
- [CUDA] Add rank_xendcg objective for cuda_exp shiyu1994 (5472)
- [CUDA] Add fair regression objective for cuda_exp shiyu1994 (5469)
- [CUDA] Add lambdarank objective for cuda_exp shiyu1994 (5453)
- [CUDA] Add Huber regression objective for cuda_exp shiyu1994 (5462)
- [CUDA] Add L1 regression objective for cuda_exp shiyu1994 (5457)
- [CUDA] L2 regression objective for cuda_exp shiyu1994 (5452)
- [CUDA] Add binary objective for cuda_exp shiyu1994 (5425)
- [R-package] Add remainder of prediction funtions david-cortes (5312)
- [python-package] support saving and loading CVBooster (fixes 3556) nyanp (5160)
- feature: Add true streaming APIs to reduce client-side memory usage svotaw (5299)
- [python-package] highlight the path a sample takes through a tree in `plot_tree` and `create_tree_digraph` (fixes 4784) jmoralez (5119)
- reproducible parameter alias resolution for wrappers (fixes 5304) jmoralez (5338)
- [CUDA] Initial work for boosting and evaluation with CUDA shiyu1994 (5279)
- [python-package] add validate_features argument to refit jmoralez (5331)
- [python-package] check feature names in predict with dataframe (fixes 812) jmoralez (4909)
- [R-package] Add sparse feature contribution predictions david-cortes (5108)
- [python-package][R-package] allow using feature names when retrieving number of bins jmoralez (5116)
- [R-package] Keep row names in output from `predict` david-cortes (4977)
- [python] make `reset_parameter` callback pickleable StrikerRUS (5109)
- [python] make `record_evaluation` callback pickleable StrikerRUS (5107)
- [python] make `log_evaluation` callback pickleable StrikerRUS (5101)
- [python] allow to register any custom logger (fixes 4783) RustingSword (4880)
- Load initial scores with binary data files in CLI version shiyu1994 (4807)
- [R-package] Rename `weight` -> `weights` david-cortes (4975)
- [CUDA] New CUDA version Part 1 shiyu1994 (4630)
- [python] make `early_stopping` callback pickleable Yard1 (5012)
- [c-api][python-package][R-package] expose feature num bin jmoralez (5048)
- [python-package] [R-package] propagate the best iteration of cvbooster into the individual boosters jmoralez (5066)
- [python-package] add support for pandas nullable types jmoralez (4927)
- [R-package] Promote objective and init_score to top-level arguments in `lightgbm()` david-cortes (4976)
- [python] Start supporting Python 3.10 StrikerRUS (4893)
- [python-package] support customizing Dataset creation in Booster.refit() (fixes 3038) TremaMiguel (4894)
- [dask] add support for custom objective functions (fixes 3934) jameslamb (4920)
- [R-package] added argument eval_train_metric to lgb.cv() (fixes 4911) mayer79 (4918)
- Add support for Visual Studio 2022 StrikerRUS (4889)
- Add C API function that returns all parameter names with their aliases StrikerRUS (4829)
- [python][sklearn] respect parameters for predictions in `init()` and `set_params()` methods StrikerRUS (4822)
- Add customized parser support chjinche (4782)
- [R-package] Add `print()` and `summary()` methods for Booster david-cortes (4686)
- Add 'nrounds' as an alias for 'num_iterations' (fixes 4743) mikemahoney218 (4746)
- [python-package] early stopping min_delta (fixes 2526) jmoralez (4580)
- [python][sklearn] respect objective aliases StrikerRUS (4758)
- [python][sklearn] add `n_estimators_` and `n_iter_` post-fit attributes StrikerRUS (4753)

🔨 Breaking

- [python-package] make Booster and Dataset 'handle' attributes private (fixes 5313) jameslamb (5947)
- [python-package] remove hard dependency on 'scikit-learn', fix minimal runtime dependencies jameslamb (5942)
- [python-package] [ci] switch to PEP 517 / 518 builds (remove `setup.py`) (fixes 5061) jameslamb (5759)
- [ci] [python-package] replace 'python setup.py' with a shell script jameslamb (5837)
- [R-package] use C++17 in the CRAN package jameslamb (5690)
- [python-package] make some Booster and Dataset attributes private jameslamb (5723)
- [CUDA] consolidate CUDA versions jameslamb (5677)
- [python-package] make public API members explicit with module-level __all__ variables jameslamb (5655)
- [ci] migrate CI from macOS 10.15 to 11 (fixes 5391) StrikerRUS (5396)
- [ci] switch to manylinux_2_28 for Linux artifacts (fixes 5514, fixes 5589) jameslamb (5580)
- fix: Adjust LGBM_DatasetCreateFromSampledColumn to handle distributed data svotaw (5344)
- [python-package] allow custom weighing in fobj for scikit-learn API (closes 5027) jmoralez (5211)
- [R-package] Use `type` argument to control prediction types david-cortes (5133)
- [python-package] Use scikit-learn interpretation of negative `n_jobs` and change default to number of cores david-cortes (5105)
- [python-package] remove Booster.set_attr() and Booster.attr() jameslamb (5272)
- remove support for Solaris (fixes 5216) jameslamb (5226)
- [R-package] stop automatically calculating eval metrics on training data in lightgbm() jameslamb (5209)
- [R-package] remove lgb.unloader() jameslamb (5204)
- [python-package] remove 'fobj' in favor of passing custom objective function in params TremaMiguel (5052)
- [python-package] remove is_reshape argument in Booster.predict (fixes 5115) jmoralez (5117)
- [R-package] Remove `reshape` argument in `predict` david-cortes (4971)
- [R-package] Promote number of threads to top-level argument in `lightgbm()` and change default to number of cores david-cortes (4972)
- [R-package] Rename `data` -> `newdata` in `predict` david-cortes (4973)
- Build Windows artifacts in `windows-2019` image instead of `vs2017-win2016` StrikerRUS (5059)
- [python-package] use 2d collections for predictions, grads and hess in multiclass custom objective jmoralez (4925)
- [R-package] prefer params to keyword argument in lgb.train() jameslamb (5007)
- [R-package] remove behavior where lightgbm() saves model to disk david-cortes (4974)
- [python-package] make record_evaluation compatible with cv (fixes 4943) jmoralez (4947)
- [python] remove `early_stopping_rounds` argument of `train()` and `cv()` functions StrikerRUS (4908)
- [python] remove `evals_result` argument of `train()` function StrikerRUS (4882)
- [python][sklearn] do not replace empty dict with `None` for `evals_result_` StrikerRUS (4884)
- [python] Drop Python 3.6 support StrikerRUS (4891)
- [python] remove `verbose_eval` argument of `train()` and `cv()` functions StrikerRUS (4878)
- [python] remove `verbose` argument of `model_from_string()` method of Booster class StrikerRUS (4877)
- [python][sklearn] Remove `early_stopping_rounds` argument of `fit()` method StrikerRUS (4846)
- [R-package] remove support for '...' in `slice()` jameslamb (4872)
- [R-package] remove support for '...' in `lgb.Dataset()` jameslamb (4874)
- [R-package] remove support for '...' in `dim.lgb.Dataset()` jameslamb (4873)
- [R-package] remove support for '...' in lgb.train() jameslamb (4863)
- [R-package] remove support for '...' in `create_valid()` jameslamb (4865)
- [R-package] remove support for 'info' in Dataset jameslamb (4866)
- [R-package] remove Dataset getinfo() jameslamb (4864)
- [R-package] remove support for '...' in lgb.cv() jameslamb (4860)
- [R-package] remove Dataset setinfo() jameslamb (4854)
- [R-package] remove support for '...' in predict() jameslamb (4857)
- [R-package] remove support for '...' in Booster reset_parameter() jameslamb (4856)
- [python][sklearn] unify values of `best_iteration` for sklearn and standard APIs StrikerRUS (4845)
- [ci] migrate CI from macOS 10.14 to 10.15 and drop support of Mojave StrikerRUS (4849)
- [R-package] enable saving Booster with saveRDS() and loading it with readRDS() (fixes 4296) david-cortes (4685)
- [python][sklearn] remove `verbose` argument from `fit()` method StrikerRUS (4832)
- [python] remove `learning_rates` argument of `train()` function StrikerRUS (4831)
- [python] remove "auto" value of `ylabel` argument of `plot_metric()` function StrikerRUS (4818)
- [python] Remove `print_evaluation()` function StrikerRUS (4819)
- [python] Remove `silent` argument StrikerRUS (4800)


🚀 Efficiency Improvement

- Add quantized training (CPU part) shiyu1994 (5800)
- [python-package] replace .values usage with .to_numpy() superlaut (5612)
- clear memory allocated for sampled data when constructing Dataset from text file xuchuanyin (4890)
- [python] Faster categorical column names selection Neronuser (4787)
- [R-package] parallelize compilation in CMake-based builds jameslamb (4525)
- [python-package] simplify Dataset processing of label jameslamb (5456)
- [python-package] make a shallow copy on dataframe rename (fixes 4596) jmoralez (5254)
- [python-package] make a shallow copy when replacing categorical features with codes (fixes 4596) jmoralez (5225)
- [R-package] reduce cost of repeated parameter alias checks jameslamb (5141)
- reduce duplicate computation in poisson, gamma, and tweedie objectives lorentzenchr (4950)

🐛 Bug Fixes

- move LightGBM-vendored json11 into a LightGBM-specific namespace (fixes 5944) maskedcoder1337 (5946)
- [dask] hold ports until training jmoralez (5890)
- update MSBuild solution to Windows SDK v10.0, add inet_pton define (fixes 5856) jameslamb (5884)
- Fix DEBUG-mode GPU builds GinkoBalboa (5778)
- cast data_index as size_t in cuda_row_data to avoid integer overflow SiNZeRo (5706)
- [ci] [R-package] fix clang 15 warning about unqualified calls (fixes 5661) jameslamb (5662)
- Check feature indexes in forced split file (fixes 5517) btrotta (5653)
- fix feature index in Dataset::AddFeaturesFrom (fixes 5410) jameslamb (5650)
- Check feature indexes in forced split file (fixes 5517) btrotta (5653)
- fix feature index in Dataset::AddFeaturesFrom (fixes 5410) jameslamb (5650)
- [ci] [python-package] fix missing import, test that lightgbm can be imported with only required dependencies (fixes 5631) jameslamb (5632)
- Fix OpenMP thread allocation in Linux svotaw (5551)
- [R-package] correctly quote paths on Windows for CMake-based builds jameslamb (5607)
- [ci] [python-package] correct tag on x86_64 wheels jameslamb (5598)
- [tests][dask] fix workers without data test (fixes 5537) jmoralez (5544)
- prefer 'vsnprintf' to 'vsprintf' jameslamb (5561)
- [ci] fix R-package CI jobs and compatibility with OpenMP 15+ (fixes 5549, 5562) jameslamb (5563)
- include parameters from reference dataset on subset (fixes 5402) jmoralez (5416)
- [python-package] ignore training set on early stopping callback (fixes 5354) jmoralez (5412)
- [fix] change the destructor of ScoreUpdater to virtual (fixes 5400) shiyu1994 (5403)
- Add default definition for GetColWiseData and GetColWiseData shiyu1994 (5413)
- Fix potential overflow in linear trees StrikerRUS (5395)
- Use double precision in threaded calculation of linear tree coefficients (fixes 5226) btrotta (5368)
- [R-package] raise an informative error when custom objective produces incorrect output (fixes 5323) jmoralez (5329)
- Clear split info buffer in cost efficient gradient boosting before every iteration (fix partially 3679) shiyu1994 (5164)
- [c++][fix] check nullable of bin mappers in dataset_loader.cpp (fix 5221) shiyu1994 (5258)
- [python] Fix training on subset constructed without params StrikerRUS (5213)
- Check existence of inet_pton for win32 in CMakeLists.txt (fixes 5019) shiyu1994 (5159)
- Fix potential overflow "Multiplication result converted to larger type" StrikerRUS (5189)
- [R-package] ensure that callbacks respect verbosity from params jameslamb (5199)
- fix precision lost in tree's ToIfElse Grass-CLP (5187)
- fix some wrong format specifiers StrikerRUS (5190)
- [R-package] allow use of categorical_features in Dataset when raw data does not have column names (fixes 4374) jmoralez (5184)
- [c-api] check number of features when retrieving number of bins jmoralez (5183)
- [CUDA] Fix integer overflow in cuda row-wise data shiyu1994 (5167)
- [R-package] ensure values in params override keyword arguments to predict() (fixes 4670) jameslamb (5122)
- check nullable of bin_mappers in DatasetLoader::CheckCategoricalFeatureNumBin (fix 5145) shiyu1994 (5146)
- [CUDA] Fix row-wise histogram construction with dense data matrix shiyu1994 (5103)
- [fix] fix duplicate added initial scores for single-leaf trees shiyu1994 (5050)
- [python] fixes for supporting 2d numpy arrays for predictions, grads and hess in multiclass custom objective and eval StrikerRUS (5030)
- CUDATreeLearner: free GPU memory in destructor if any allocated denmoroz (4963)
- Use `delete[]` where appropriate instead of `delete` david-cortes (4984)
- Pass train dataset parser config to valid dataset loading parser chjinche (4985)
- [R-package] Fix custom objective detection in `print.lgb.Booster()` StrikerRUS (4941)
- gpu allocate memory overflow (fixes 4926) jiapengwen (4928)
- [R-package] respect 'verbose' argument in lgb.cv() (fixes 4667) jameslamb (4903)
- [R-package] Apply patch for R4.2 on Windows shiyu1994 (4923)
- [R-package] respect aliases for objective and metric and lgb.train() and lgb.cv() jameslamb (4913)
- [python] raise an informative error instead of segfaulting when custom objective produces incorrect output yaxxie (4815)
- [R-package] fix handling of duplicate parameters (fixes 4521) jameslamb (4914)
- [R-package] update parameter 'verbosity' based on keyword arg 'verbose' jameslamb (4899)
- [R-package] fix CVBooster reset_parameter() method (fixes 4900) jameslamb (4901)
- [python] reset storage in record evaluation callback each time before starting training StrikerRUS (4885)
- [python] reset storages in early stopping callback after finishing training StrikerRUS (4868)
- [R-package] fix `--no-build-vignettes` option for `build-cran-package.sh` jameslamb (4848)
- [python][docs] fix type hints for custom functions and remove vague `array-like` wording StrikerRUS (4816)
- Always respect forced splits, even when feature_fraction < 1.0 (fixes 4601) tongwu-msft (4725)
- Reset OpenMP thread number if num_threads <= 0 hzy46 (4704)

📖 Documentation

- [docs] fix broken link to contributor GitHub account jameslamb (5959)
- [docs] add versionadded notes for v4.0.0 features jameslamb (5948)
- [docs] Add scikit-learn for intersphinx (fixes 5954) thomasjpfan (5956)
- [docs] more fixes for broken links jameslamb (5941)
- [docs] remove outdated information in Python install docs jameslamb (5938)
- [docs] fix broken links in docs jameslamb (5939)
- [docs] add quantized training paper to docs jameslamb (5923)
- [docs] Update Quick Start jaceklaskowski (5900)
- [docs] recommend a more efficient source installation of the python package jameslamb (5881)
- adjusted bagging_freq parameter description moziada (5698)
- [docs] remove unnecessary interactivity in 'docker run' instructions jameslamb (5692)
- [docs] [R-package] mention {bonsai} in the docs jameslamb (5652)
- [docs] encourage use of releases for GUI-only installations jameslamb (5649)
- [docs] update CPU dockerfiles (fixes 5550) jameslamb (5601)
- [docs] update cran-comments.md for v3.3.4 release jameslamb (5646)
- [docs] add postgresml to list of external repos jameslamb (5565)
- [docs] Improve docs: fix consistency of dots in C API and add notes about new ``time-costs`` Python-package build option StrikerRUS (5554)
- [R-package] [docs] use CRAN canonical form for package links jameslamb (5504)
- [docs] Fix link to Optuna's LightGBMTuner example knshnb (5519)
- [docs]fix a typo in docs/Features.rst JiantingFeng (5463)
- Use ROC-AUC metric for classification model in examples Green-16 (5440)
- [docs] Fix links StrikerRUS (5451)
- [R-package] Fix docstrings for predict functions StrikerRUS (5444)
- [R-package] [docs] clarify shape of predictions jameslamb (5384)
- [python-package] Improve readme on experimental cuda usage thomasaarholt (5386)
- [docs] [R-package] document how to regenerate roxygen docs jameslamb (5382)
- [R-package] [docs] fix typo in documentation on init_model sebffischer (5379)
- [docs] [R-package] upgrade to roxygen2 7.2.1 jameslamb (5381)
- [ci] make check-docs job compatible with rstcheck 6.x jameslamb (5388)
- [docs][python] Fix return types in docstrings StrikerRUS (5326)
- [docs] set language = 'en' in Sphinx config jameslamb (5322)
- [R-package] [docs] document difference between lightgbm() and lgb.train() (fixes 5203) jameslamb (5273)
- [docs] Use https links in docs StrikerRUS (5284)
- [R-package] [docs] upgrade docs to roxygen2==7.2.0 jameslamb (5251)
- [docs] Update broken links in docs StrikerRUS (5265)
- [docs] add Microsoft security policy (fixes 5235) jameslamb (5264)
- [R-package] update roles in DESCRIPTION StrikerRUS (5192)
- [docs] Fix formula in path smoothing docs (fixes 5139) samFarrellDay (5154)
- [docs] Document behaviour of the first linear estimator Pablo-Davila (5132)
- [docs] use 'docker run --rm' in valgrind instructions jameslamb (5127)
- [docs] use 'docker run --rm' in autoconf instructions jameslamb (5125)
- [docs] Improve rendering of class properties in docs StrikerRUS (5078)
- [python-package][docs] Booster eval methods accept list of callables TremaMiguel (5054)
- [docs] update categorical feature description in Advanced Topics StrikerRUS (5044)
- Correct documentation for sparse predictions david-cortes (4979)
- [docs][R-package] Use direct link for the list of supported objectives StrikerRUS (5029)
- [Docs] Weights non-negative for train data TremaMiguel (5013)
- [docs] improve docs for sklearn wrapper StrikerRUS (5026)
- [docs] clarify that categorical features will be converted to integers internally jmoralez (4959)
- [docs] clarify that custom eval functions are not only used on training data jameslamb (5011)
- [docs] document rounding behavior of floating point numbers in categorical features StrikerRUS (5009)
- Change docs for feval akshitadixit (5002)
- [docs] document `conda-forge` channel preference over `default` one and describe possible workaround for OpenMP conflicts in FAQ StrikerRUS (4994)
- Add Nyoka to README StrikerRUS (4992)
- [docs] minor docs improvements StrikerRUS (4938)
- [R-package] [docs] fix calculation of R test coverage (fixes 4919) jameslamb (4922)
- [docs] Update link to FLAML code example qingyun-wu (4892)
- [R-package] [docs] add Michael Mayer to DESCRIPTION jameslamb (4867)
- [docs] document that `pred_early_stop` can be used only in normal and raw scores prediction StrikerRUS (4823)
- [R-package] [docs] add intro vignette (3946) jameslamb (4775)
- [docs] fix broken SynapseML link StrikerRUS (4795)
- [docs] [dask] Add return information to Dask fit() docs (fixes 4402) jameslamb (4716)
- [docs] add specific estimator names to sklearn fit() docs jameslamb (4774)
- [docs] [R-package] update cran-comments for v3.3.1 release jameslamb (4738)
- [ci] only use conda-forge when installing R packages in docs builds jameslamb (4767)
- [docs] improve docs about `nthreads` parameter StrikerRUS (4756)
- [docs] update link to LightGBM Ruby StrikerRUS (4740)
- [docs] fix broken SynapseML link jameslamb (4712)

🧰 Maintenance

- [c++] virtual destructor for gradient discretizer shiyu1994 (5965)
- [python-package] avoid data_has_header check in predict() jameslamb (5970)
- [ci] [python-package] Add CI job testing compatibility with oldest possible versions jameslamb (5936)
- [ci] add Python 3.11 test coverage jameslamb (5922)
- [ci] increase valgrind timeout to 6 hours jameslamb (5953)
- [python-package] ignore pip cache dir in build-python.sh jameslamb (5945)
- [ci] remove brew update-reset again (fixes 5670) jameslamb (5925)
- [python-package] ensure 'build-python.sh' always reinstalls (fixes 5906) jameslamb (5907)
- [python-package] remove unnecessary Boost files from sdists jameslamb (5912)
- [ci] stop relying on cran.microsoft.com in CI jobs jameslamb (5909)
- [ci] use an MRAN snapshot for R 3.6 Linux jobs (fixes 5898) jameslamb (5903)
- [ci] [python-package] use ruff, enforce flake8-bugbear and flake8-comprehensions checks jameslamb (5871)
- [ci] [python-package] fix mypy errors in sklearn.py jameslamb (5886)
- Add SWIG byte pointers svotaw (5832)
- [ci] [python-package] fix mypy error in Dataset.set_categorical_feature() jameslamb (5883)
- [ci] fix wheel renaming in test.sh jameslamb (5877)
- [ci] [python-package] tell mypy 'auto' has a special meaning for feature_name and categorical_feature jameslamb (5874)
- [ci] [python-package] move tool configuration to pyproject.toml jameslamb (5872)
- [ci] use Python 3.11 in linting CI job jameslamb (5873)
- [ci] use lowercase library names in linker flags characat0 (5870)
- [ci] minor fixes to build-python.sh jameslamb (5869)
- [ci] [python-package] resolve remaining mypy errors in dask.py jameslamb (5858)
- [ci] [python-package] check distributions with pydistcheck jameslamb (5838)
- [ci] remove R 3.6 macOS CI jobs jameslamb (5859)
- [ci] [python-package] fix mypy errors about Dataset._set_init_score_by_predictor() jameslamb (5850)
- [python-package] [ci] fix mypy errors in Booster.__inner_predict() jameslamb (5852)
- [ci] [python-package] fix mypy errors in Booster.refit() jameslamb (5853)
- [ci] add tests on cv() with an init_model jameslamb (5851)
- [ci] [python-package] fix mypy error about dask._predict_part() jameslamb (5849)
- [ci] [python-package] fix mypy error about return_cvbooster in cv() jameslamb (5845)
- [python-package] move validation up earlier in cv() and train() jameslamb (5836)
- [python-package] remove default arguments in internal functions jameslamb (5834)
- [python-package] fix mypy error about used_indices in Dataset.subset() jameslamb (5833)
- [ci] put a temporary ceiling on pip jameslamb (5835)
- [ci] [dask] fix mypy errors about predict() signature jameslamb (5827)
- [python-package] fix mypy error in Dataset.__init_from_list_np2d() jameslamb (5826)
- [ci] [python-package] fix mypy errors in cv() jameslamb (5828)
- [python-package] [docs] complete type annotations for scikit-learn fit() methods jameslamb (5816)
- [ci] remove pin on tinytex in R CI jobs jameslamb (5821)
- [ci] moving linting into small scripts (fixes 5142) jameslamb (5809)
- [python-package] add more type annotations in basic.py jameslamb (5812)
- [python-package] add type annotations on some array methods in basic.py jameslamb (5813)
- [python-package] add type annotations on Booster.trees_to_dataframe() inner functions jameslamb (5811)
- [python-package] fix type annotations for eval result tracking jameslamb (5793)
- [python-package] fix mypy error in Booster.get_split_value_histogram() jameslamb (5794)
- [python-package] fix mypy errors about early stopping rounds jameslamb (5795)
- [python-package] fix mypy errors about custom eval and metric functions jameslamb (5790)
- [python-packages] [docs] add type hints and define 'array-like' for X, y, group in scikit-learn interface jameslamb (5757)
- remove unused variables from bin.cpp jmoralez (5801)
- [ci] fix LaTeX tools installation in R jobs (fixes 5802) jameslamb (5807)
- [python-package] fix mypy errors about scikit-learn properties jameslamb (5788)
- [python-package] add hint on dtypes in Dataset.set_field() jameslamb (5787)
- [python-package] replace uses of scipy.sparse.issparse() with isinstance() jameslamb (5784)
- [python-package] fix mypy error about cpu_count() methods jameslamb (5786)
- [python-package] fix mypy errors about Dataset.params jameslamb (5780)
- [python-package] ignore some mypy errors in _DaskLGBMModel jameslamb (5774)
- [python-package] fix mypy errors about ctypes pointers jameslamb (5779)
- [python-package] fix mypy error about dask._HostWorkers.__eq__() jameslamb (5782)
- [python-package] fix mypy errors about validation sets in sklearn.py jameslamb (5724)
- [python-package] fix mypy errors about missing annotations and incompatible types IdoKendo (5672)
- [python-package] add type hints on sklearn properties jameslamb (5771)
- [python-package] add type hints for functions accepting dtypes jameslamb (5773)
- [ci] isolate c_api_test library-loading from Python source tree jameslamb (5761)
- [python-package] [dask] add type annotations on dask._HostWorkers jameslamb (5766)
- [python-package] [dask] fix mypy errors about Dask fit() return types jameslamb (5756)
- [python-package] use keyword arguments in predict() calls jameslamb (5755)
- [python-package] add type hints on label jameslamb (5754)
- [python-package] add type hints on group, init_score, and weight jameslamb (5753)
- [python-package] add type hints on raw data passed to Dataset and Booster jameslamb (5752)
- [python-package] add type hints on feature_name and categorical_feature in sklearn interface jameslamb (5747)
- [python-package] add type hints on fit() return and callbacks in sklearn.py jameslamb (5748)
- [python-package] add type hints on Booster predict() methods jameslamb (5749)
- [python-package] add more type hints in basic.py jameslamb (5729)
- [python-package] fix mypy error about ctypes array creation jameslamb (5726)
- [python-package] add type hints on Dataset feature processing jameslamb (5745)
- [ci] speed up conda setup for macOS and Linux jobs jameslamb (5743)
- [python-package] remove default values in internal functions jameslamb (5730)
- [python-package] use _DatasetHandle type hint jameslamb (5740)
- [ci] skip Dask tests on GPU builds jameslamb (5741)
- [python-package] fix _LGBM_CustomMetricFunction typing Deimos357 (5736)
- [python-package] fix mypy errors about Dataset handle jameslamb (5722)
- [python-package] fix mypy errors about cv() internals jameslamb (5725)
- [python-package] change types in sklearn.py initializations jameslamb (5718)
- [python-package] [dask] fix mypy errors regarding predict_proba IdoKendo (5728)
- [python-package] fix mypy errors about custom eval functions in sklearn.py jameslamb (5721)
- [python-package] fix mypy error about log callback jameslamb (5720)
- [python-package] fix mypy errors around eval metrics in sklearn.py jameslamb (5719)
- [python-package] fix mypy errors about _InnerPredictor jameslamb (5714)
- [dask] fix mypy errors about padded eval_results jameslamb (5716)
- [python-package] fix mypy errors in compat.py and libpath.py jameslamb (5711)
- [python-package] add more type hints in sklearn.py jameslamb (5710)
- [python-package] add type hints on plotting code jameslamb (5708)
- [ci] [python-package] enforce 'twine check' and 'check-wheel-contents' on Python distributions jameslamb (5707)
- [python-package] declare the use of inline type hints jameslamb (5709)
- [python-package] remove some inner function definitions jameslamb (5704)
- [python-package] add more type hints jameslamb (5694)
- [ci] restore flake8 checks jameslamb (5703)
- [python-package] Fix mypy errors for fit() incompatible signature IdoKendo (5679)
- [R-package] discourage use of regex for fixed string comparisons jameslamb (5685)
- [ci] get clang-15 from bookworm repository (fixes 5688) jameslamb (5689)
- [ci] speed up conda setup for some jobs jameslamb (5668)
- bump development version to v3.3.5.99 jameslamb (5681)
- [python-package] Fix mypy errors for predict() method IdoKendo (5678)
- [python-package] fix mypy errors for eval_at and basic IdoKendo (5674)
- [ci] [python-package] enforce flake8 checks (fixes 5566) jameslamb (5659)
- [python-package] remove `Dataset.feature_penalty` jameslamb (5656)
- [ci] fix brew errors in R macOS jobs (fixes 5670) jameslamb (5671)
- [ci] run r-package Linux jobs in containers jameslamb (5638)
- [ci][dask][gpu] Run Dask tests with LightGBM GPU version jgiannuzzi (5292)
- [python-package] prefix internal objects with '_' jameslamb (5654)
- [ci] speed up Windows jobs (fixes 5647) jameslamb (5648)
- [ci] automatically cancel GitHub Actions runs for outdated commits jameslamb (5651)
- [ci][dask][gpu] Run Dask tests with LightGBM GPU version jgiannuzzi (5292)
- [python-package] prefix internal objects with '_' jameslamb (5654)
- [ci] speed up Windows jobs (fixes 5647) jameslamb (5648)
- [ci] automatically cancel GitHub Actions runs for outdated commits jameslamb (5651)
- [ci] use LightGBM CI image for building aarch64 wheels (fixes 5595) jameslamb (5622)
- [ci] allow ubuntu-latest to float for some GitHub Actions jobs jameslamb (5644)
- [ci] fix locale-setting in jobs running in ubuntu container jameslamb (5643)
- [ci] make GitHub Actions branch protection stricter (fixes 5501) jameslamb (5645)
- [ci] Use Ubuntu 22.04 as `ubuntu-latest` at CI (fixes 5186) StrikerRUS (5288)
- [tests][python-package] remove remaining tests using load_boston (fixes 4793) jmoralez (5581)
- [python-package] prefix c_int_array and c_float_array with _ OmarManzoor (5614)
- [ci] test against R 4.2.2 jameslamb (5621)
- [python-package] prefix basic.convert_from_sliced_object with _ OmarManzoor (5613)
- [ci] detect non-default dynamic symbols in check_dynamic_dependencies.py jameslamb (5610)
- [ci] add docs and specific error messages in check_dynamic_dependencies.py jameslamb (5582)
- [ci] update versions of GitHub Actions jameslamb (5590)
- [swig] switch to SWIG_ADD_LIBRARY() in CMakeLists.txt (fixes 5586) shogohida (5603)
- [ci] switch from MiKTeX to tinytex on Windows R jobs (fixes 5600) jameslamb (5602)
- [python-package] prefix several internal functions with _ Madnex (5545)
- [python-package] remove unused imports jameslamb (5559)
- [ci] prefer CPython in Linux and macOS test environment StrikerRUS (5555)
- [docs] bump development version to 3.3.3.99 jameslamb (5533)
- [ci] upgrade macOS_regular job to Python 3.9 (fixes 5569) jameslamb (5570)
- [tests] Fix cpp streaming data tests StrikerRUS (5481)
- [python-package] prefix is_numpy_column_array with _ Madnex (5531)
- renamed cur_cat => cur_cat_idx and added some comments zyxue (5522)
- [python-package] prefix cast_numpy_array_to_dtype with _ Madnex (5532)
- suppress alias warnings with verbosity<0 (fixes 4518) jmoralez (5253)
- renamed tmp_num_sample_values to non_na_cnt zyxue (5521)
- [ci] run Appveyor checks on PRs targeting release/ branches jameslamb (5528)
- [ci] run CI on pull requests targeting release/ branches jameslamb (5527)
- [python-package] prefix is_numpy_1d_array with _ Madnex (5520)
- replace `pandas.Series.iteritems` with `pandas.Series.items` jmoralez (5506)
- [ci] prefer CPython in Windows test environment and use safer approach for cleaning up network (fixes 5509) jameslamb (5510)
- [ci] test against R 4.2 for macOS and Linux CI jobs jameslamb (5484)
- [R-package] improve safety of index selection in plotting jameslamb (5485)
- [ci] [R-package] ensure that MSVC jobs fail when tests fail (fixes 5439) jameslamb (5448)
- [python-package] add more hints in sklearn.py jameslamb (5460)
- [R-package] [ci] restore R 3.6 Windows cran CI job (fixes 5036) jameslamb (5479)
- Remove redundant whitespaces ch3rn0v (5480)
- fix references to 'object function' jameslamb (5468)
- [python] Fix typehints in Sequence API StrikerRUS (5465)
- fix: Revert leftover debugging in streaming test svotaw (5467)
- Fix CUDA `ifndef` guards StrikerRUS (5466)
- [python-package] add type hints on Dataset constructors jameslamb (5458)
- Add streaming concurrency tests svotaw (5437)
- Rename Metadata num_classes to be more clear svotaw (5461)
- [R-package] fix function references in error messages jameslamb (5455)
- [python-package] fix type hints on ctypes array converters jameslamb (5446)
- [python-package] fix mypy errors about callbacks jameslamb (5450)
- [python-package] add type hints on empty initializations jameslamb (5445)
- [python-package] fix mypy error about type change in Dataset.feature_num_bin() jameslamb (5447)
- [ci][fix] Fix cuda_exp ci shiyu1994 (5438)
- [python] remove unused import StrikerRUS (5443)
- [ci] bump CUDA version from `11.7.0` to `11.7.1` at CI StrikerRUS (5442)
- [python-package] add type hints on Booster eval methods jameslamb (5433)
- update tree to if-else jmoralez (5422)
- [ci] bump CUDA version from `11.6.2` to `11.7.0` at CI  StrikerRUS (5287)
- [python-package] add more type hints on Dataset jameslamb (5431)
- [python-package] add more type hints on Booster jameslamb (5432)
- [ci] increase valgrind bytes lost limit to 352 jameslamb (5429)
- [python] Prefix `basic.is_numeric()` with _ ak04p (5421)
- [ci] increase valgrind timeout to 5 hours jameslamb (5414)
- [python-package] add more type hints in basic.py jameslamb (5407)
- [python-package] prefix NUMERIC_TYPES with _ to make it a internal object thomasjpfan (5409)
- [python-package] add type hints on Booster.save_model() jameslamb (5406)
- Minor CUDA cleanup StrikerRUS (5394)
- [ci] temporarily pin scipy version and fix Python linting error StrikerRUS (5398)
- [python-package] add type hints on some functions in basic.py makquel (5362)
- [python-package] add more type hints on Booster jameslamb (5360)
- [python-package] make library-loading stricter jameslamb (5357)
- [python-package] add type hints on Booster.update() jameslamb (5359)
- [python-package] add more type hints on basic.py jameslamb (5356)
- [python-package] add type hints on Dataset jameslamb (5353)
- [python-package] remove inner function _construct_dataset() in LGBMModel.fiit() jameslamb (5333)
- [python-package] add type hints on predict() methods jameslamb (5334)
- [python-package] add more type hints in basic.py jameslamb (5330)
- [ci][R-package] Minor refactoring for `lintr` code StrikerRUS (5327)
- [python-package] add more type hints in engine.py jameslamb (5301)
- [ci] [R-package] Add string_boundary_linter CuriousCorrelation (5324)
- [python-package] add more type hints on Booster jameslamb (5309)
- [ci] [R-package] Add paste_linter CuriousCorrelation (5320)
- [ci] [R-package] Add duplicate_argument_linter SaumyaBhushan (5310)
- [ci] [R-package] Add a few more linters CuriousCorrelation (5311)
- [ci] [R-package] Add class_equals linter CuriousCorrelation (5307)
- [python][sklearn] Simplify params handling in `predict()` with `_choose_param_value()` StrikerRUS (5308)
- [ci] [R-package] Add any_is_na_linter CuriousCorrelation (5306)
- [python-package] add some type hints on Booster jameslamb (5302)
- [python] preserve None in _choose_param_value() jameslamb (5289)
- [ci] Install PoCL in Docker for old Ubuntu 14.04 StrikerRUS (5286)
- [R-package] Specify concrete linting rule that is being ignored via `nolint` mark StrikerRUS (5300)
- [python-package] add type hints on cv() jameslamb (5271)
- [ci] [R-package] upgrade to lintr v3.0 (fixes 5228) jameslamb (5294)
- [ci] Pin lintr to <3.0 jgiannuzzi (5290)
- [ci] Run Linux OpenCL tests against POCL instead of the AMD App SDK jgiannuzzi (5282)
- [tests][python] Make test that checks original pandas data isn't modified more strict StrikerRUS (5267)
- [python] add more type hints in basic.py jameslamb (5255)
- [python] add more type hints on LGBMModel methods jameslamb (5239)
- [R-package] address linter warnings about portable paths jameslamb (5249)
- [R-package] [ci] silence more logs in tests (fixes 4862) jameslamb (5250)
- Remove leftovers after the drop of Solaris support StrikerRUS (5248)
- [python] add type hints on sklearn metric and eval wrappers jameslamb (5238)
- [R-package] silence logs in print(), show(), summary() tests jameslamb (5237)
- [R-package] standardize style for placement of braces jameslamb (5240)
- [R-package] remove semicolon in R code jameslamb (5232)
- [R-package] remove Solaris reference in test message jameslamb (5231)
- [R-package] silence more logs in unit tests jameslamb (5227)
- [ci] switch CRAN mirror to RStudio jameslamb (5230)
- Cleanup codeowners StrikerRUS (5215)
- [R-package] minor improvements on weight demo jmoralez (5212)
- [ci] fix R Hub token jameslamb (5210)
- [R-package] silence more logs in tests jameslamb (5208)
- [ci] Prevent Python downgrading to pypy on Windows (2) StrikerRUS (5198)
- [ci] Prevent Python downgrading to pypy on Windows StrikerRUS (5197)
- [ci] fix git checkout for comment-triggered CI jobs jameslamb (5169)
- [python] remove unused import from `basic.py` StrikerRUS (5188)
- [tests] replace `fobj` with `custom objective` in test comments and make tests stricter StrikerRUS (5173)
- [ci] Update version of Azure REST API StrikerRUS (5172)
- [ci] skip auto-injected tasks at Azure Pipelines StrikerRUS (5175)
- fix typo in CEGB method name jameslamb (5168)
- [ci] temporarily pin Azure Devops jobs to ubuntu 20.04 jameslamb (5174)
- [ci] fix git checkout for CI jobs (fixes 5151) jameslamb (5152)
- [ci] bump CUDA version from `11.5.1` to `11.6.2` at CI StrikerRUS (5149)
- [python] Use predefined constant in feature importance type comparison instead of raw int literal StrikerRUS (5148)
- [ci] update to R 4.1.3 and use macOS-latest for R jobs (fixes 4990) jameslamb (5137)
- [ci] have no-response bot post as github-actions user jameslamb (5136)
- [ci] fail R macOS CI jobs earlier when installations fail jameslamb (5129)
- [ci] use lee-dohm/no-response to close stale issues (fixes 5060) jameslamb (5120)
- [ci] Remove temp workaround for graphviz installation StrikerRUS (5126)
- [R-package] rename internal callback functions mayer79 (5123)
- [R-package] ensure boosting happens in tests on small datasets jameslamb (5121)
- [R-package] Add missed packages into dependencies list StrikerRUS (5118)
- [R-package] add assertions to test on lightgbm() weights jameslamb (5110)
- Log warnings for number of bins of categorical features shiyu1994 (4448)
- clarify no-meaningful-features warning in Dataset construction (fixes 5081) jameslamb (5083)
- [ci] Add text file with GitHub commit hash to nightly builds StrikerRUS (5082)
- [ci] remove Visual Studio 2017 CI job for R-package StrikerRUS (5079)
- [python-package] Better column dtype logging when column has "bad dtype" hsorsky (5065)
- [ci] update CODEOWNERS jameslamb (5063)
- [ci] fix current `master` fails with graphviz-related error StrikerRUS (5068)
- [ci] temporarily remove R3.6 CRAN CI build jameslamb (5049)
- [tests][python] move tests that use `train()` function defined in `engine.py` from `test_basic.py` to `test_engine.py` StrikerRUS (5034)
- [R-package] remove internal function lgb.check.obj() jameslamb (5021)
- [ci] use Python 3.8 for `bdist` CI job in old Ubuntu container StrikerRUS (5022)
- [R-package] raise informative errors directly when Booster creation fails jameslamb (5014)
- [ci] [docs] use miniforge for readthedocs builds (fixes 4954) jameslamb (4957)
- [ci] Enclose Python versions in quotes in config yml files StrikerRUS (5015)
- [python] enforce a floor of Python 3.6 (fixes 5004) PyVCEchecker (5006)
- Update versions of LightGBM dependencies StrikerRUS (4935)
- [tests][python] remove compatibility code for old versions in tests StrikerRUS (4978)
- [ci] use conda-forge in Windows CI jobs and Docker images StrikerRUS (4993)
- [ci] use `latest` tag again for Ubuntu 14 CI Docker StrikerRUS (5001)
- [ci] use conda-forge in Linux and macOS CI jobs jameslamb (4953)
- [ci] upgrade to R 4.1.2 in CI, change approach to macOS-latest R CI builds (fixes 4988) jameslamb (4989)
- [ci] bump CUDA version from `11.5.0` to `11.5.1` at CI StrikerRUS (4967)
- [ci] use `-1` for exit code in case of failure StrikerRUS (4939)
- [tests][R-package] use one `` symbol for comments StrikerRUS (4940)
- [ci] bump CUDA version from 11.4.2 to 11.5.0 at CI StrikerRUS (4937)
- [ci] Bump version for development StrikerRUS (4933)
- [R-package] [tests] remove uses of testthat::context() jameslamb (4915)
- [R-package][tests] remove uses of `testthat::expect_is()` jameslamb (4916)
- [R-package] remove unnecessary comments and fix typos in comments jameslamb (4902)
- [R-package] reduce verbosity in tests using lgb.train() jameslamb (4896)
- [tests][python-package] change boston dataset to synthetic dataset in tests that don't check score jmoralez (4895)
- [R-package] reduce verbosity in some unit tests jameslamb (4879)
- [R-package] remove unused callback cb.reset.parameter jameslamb (4871)
- [python-package][dask] handle failures parsing worker host names jameslamb (4852)
- [python-package] [dask] fix mypy error about worker_addresses jameslamb (4851)
- [python] remove workaround for `UnboundLocalError` in early stopping callback for Python 2 StrikerRUS (4855)
- [python-package] remove unused imports jameslamb (4850)
- [python-package] fix mypy errors in engine.py jameslamb (4839)
- [python-package] [dask] fix mypy errors from dask.py docstrings jameslamb (4844)
- [python-package] fix mypy errors in sklearn.py jameslamb (4837)
- [tests][dask] fix argument names in custom eval function in Dask test StrikerRUS (4833)
- [python-package] fix mypy errors in plotting.py jameslamb (4838)
- [python-package] fix mypy error about missing type hint in dask.py jameslamb (4840)
- [python-package] fix mypy errors in compat.py and setup.py jameslamb (4836)
- [docs][python] simplify mocking in docs StrikerRUS (4830)
- [python] add type hints to `_compare_params_for_warning()` and make it reusable StrikerRUS (4824)
- [R-package] Move R6 to Imports david-cortes (4812)
- [ci] Fix CI job for R artifact StrikerRUS (4811)
- [ci] fix getting status of optional workflows in PRs with a lot of comments StrikerRUS (4806)
- [python] add type hints for custom objective and metric functions in scikit-learn interface jameslamb (4547)
- [c_api] Improve ANSI compatibility by avoiding <stdbool.h> drewmiller (4697)
- [ci] ignore CMakeLint errors related to package names StrikerRUS (4801)
- [ci] fix CMakeLint errors related to function naming case StrikerRUS (4794)
- [ci] simplify processing of `CMAKE_CUDA_FLAGS` variable in `CMakeLists.txt` StrikerRUS (4799)
- [ci] fix CMakeLint `linelength` errors StrikerRUS (4796)
- [ci] use pure `endif()` and `endfunction()` without expression inside in `CMakeLists.txt` StrikerRUS (4798)
- cmake: use object library to avoid duplicate compilation. cyfdecyf (4489)
- Suppress categorical warning (fixes 3379) hzy46 (4768)
- [ci][tests][python] remove assertion for `filename` that is no longer true with new version of graphviz StrikerRUS (4778)
- [ci] Revert temp workaround for `freetype` version StrikerRUS (4776)
- [ci] increase timeout for valgrind job to 240 minutes jameslamb (4773)
- [python] improve warning message about aliases in `cv()` function StrikerRUS (4766)
- [ci] Temporary pin dask version at CI StrikerRUS (4770)
- [ci] use wch1/r-debug image in Solaris tests jameslamb (4765)
- [ci] upgrade actions/checkout to v2.4.0 jameslamb (4763)
- [docs][python] add `datatable` to the mocked modules during docs building process and sort them alphabetically StrikerRUS (4750)
- [R-package] allow use of custom R executable when building CRAN package jameslamb (4754)
- [R-package] remove temporary files created in configure.win jameslamb (4752)
- [ci] indicate support of Monterey StrikerRUS (4732)
- [python] Make dummy classes constructible with any arguments StrikerRUS (4749)
- [ci] Temporary pin freetype version at Windows CI StrikerRUS (4747)
- Remove checks for label when loading dataset from binary file because label is ignored in that case StrikerRUS (4737)
- [tests][python] add test for non-serializable callback StrikerRUS (4741)
- Improve warning wordings StrikerRUS (4731)
- [ci] Bump version for development StrikerRUS (4730)
- Add some warnings when loading dataset from binary file StrikerRUS (4724)

3.3.5

Changes

This is a special release, put up to prevent the R package from being archived on CRAN.

See 5661 and 5662 for context.

This release only contains the changes, relative to `v3.3.4`, necessary to prevent removal of the R package from CRAN.

💡 New Features

None

🔨 Breaking

None

🚀 Efficiency Improvement

None

🐛 Bug Fixes

- [ci] [R-package] fix clang 15 warning about unqualified calls (fixes 5661) jameslamb (662)

📖 Documentation

None

🧰 Mainte

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant