Light Gbm: v4.2.0 Release

Release date:
December 21, 2023
Previous version:
v4.1.0 (released September 11, 2023)
Magnitude:
3,780 Diff Delta
Contributors:
6 total committers
Data confidence:
Commits:

59 Commits in this Release

Ordered by the degree to which they evolved the repo in this version.

Authored December 21, 2023
Authored November 25, 2023
Authored December 19, 2023
Authored November 6, 2023
Authored November 22, 2023

Top Contributors in v4.2.0

jameslamb
shiyu1994
borchero
david-cortes
jmoralez
Zhaojun-Liu

Directory Browser for v4.2.0

All files are compared to previous version, v4.1.0. Click here to browse diffs between other versions.

Loading File Browser...

Release Notes Published

✨ 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 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)