v4.2.0
✨ v4.2.0 of the R package is now available on CRAN (link), the first major release of the R package in 2+ years.
✨ The Python package now accepts Apache Arrow Tables and Arrays (thanks @borchero!)
🔧 A critical bug in quantized training support is fixed
Changes
💡 New Features
- [python-package] Allow to pass Arrow table for prediction @borchero (#6168)
- [python-package] Allow to pass Arrow table and array as init scores @borchero (#6167)
- [python-package] Allow to pass Arrow array as groups @borchero (#6166)
- [python-package] Allow to pass Arrow array as weights @borchero (#6164)
- [python-package] Accept numpy generators as
random_state
@david-cortes (#6174) - [python-package] Allow to pass Arrow array as labels @borchero (#6163)
- [python-package] Allow to pass Arrow table as training data @borchero (#6034)
🔨 Breaking
- [python-package] fix access to Dataset metadata in scikit-learn custom metrics and objectives @jameslamb (#6108)
- [CUDA] drop CUDA 10 support, start supporting CUDA 12 (fixes #5789) @jameslamb (#6099)
🚀 Efficiency Improvement
- [R-package] Fix inefficiency in retrieving pointers @david-cortes (#6208)
- [CUDA] CUDA Quantized Training (fixes #5606) @shiyu1994 (#5933)
🐛 Bug Fixes
- fix errors from MSVC '/permissive-' mode (fixes #6230) @Zhaojun-Liu (#6232)
- [R-package] [c++] add tighter multithreading control, avoid global OpenMP side effects (fixes #4705, fixes #5102) @jameslamb (#6226)
- [python-package] take shallow copy of dataframe in predict (fixes #6195) @jmoralez (#6218)
- Fix null handling for Arrow data @borchero (#6227)
- [R-package] use safer pattern for error formatting (fixes #6212) @jameslamb (#6216)
- [python-package] fix libpath.py @shiyu1994 (#6192)
- set explicit number of threads in every OpenMP
parallel
region @jameslamb (#6135) - ignore unknown parameters when loading from model file @jmoralez (#6126)
- [python-package] [R-package] include more params in model text representation (fixes #6010) @jameslamb (#6077)
- [fix] fix quantized training (fixes #5982) (fixes #5994) @shiyu1994 (#6092)
- [python-package] Fix misdetected objective after multiple calls to
LGBMClassifier.fit
@david-cortes (#6002)
📖 Documentation
- [docs] remove links to Laurae++ site @jameslamb (#6193)
- [docs] reduce redirects in docs links @jameslamb (#6181)
- [docs] fix broken links @jameslamb (#6161)
🧰 Maintenance
- release v4.2.0 @jameslamb (#6191)
- [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 ofprint()
for metrics and callbacks @david-cortes (#6171) - [ci] resolve warning in tests @jameslamb (#6154)
- [ci] use
mamba
instead ofconda
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)