Changelog
### 3.1.1
```
- [ci] add credentials to gitignore jameslamb (3620)
- [R-package] Update remaining internal function calls to use keyword arguments zenggyu (3617)
- [R package] update lgb.Dataset.R to use keyword arguments zenggyu (3607)
- [R-package] Update lgb.model.dt.tree.R to use keyword arguments zenggyu (3605)
- [R-package] use keyword arguments for internal functions in utils.R mfrasco6 (3604)
- [ci] remove unnecessary environment variables in R-package CI jameslamb (3602)
- [R-package][tests] update values in valgrind test StrikerRUS (3600)
- [refactor] Reduce code duplication in c_api.cpp AlbertoEAF (3539)
- [refactor] SWIG - Split pointer manipulation to individual .i file AlbertoEAF (3538)
- [ci] test 32-bit R in CI jameslamb (3588)
- [ci] Fix missing git install in R artifact job (fixes 3567) jameslamb (3587)
- [R-package] Remove CLI-only objects jameslamb (3566)
- small R Docker cleanup StrikerRUS (3582)
- [python] remove unnecessary files to reduce sdist size jameslamb (3579)
- bump version for development guolinke (3568)
- [ci] remove conda from R CI jobs jameslamb (3573)
```
### 3.1.0
```
Changes
💡 New Features
- Support deterministic guolinke (3494)
- Add support to optimize for NDCG at a given truncation level metpavel (3425)
- Add support for cuda version less then 10.0 shipengfei92 (3431)
- Updated network retry delay strategy to scale aakarshg (3306)
- added new GPU docker files StrikerRUS (3408)
- Average precision score btrotta (3347)
- Advanced method monotone constraints CharlesAuguste (3264)
- Build integrated Python package library tpboudreau (3144)
- Add support for CUDA-based GPU ChipKerchner (3160)
- [Python] Refactors scikit-learn API to allow a list of evaluation metrics gramirezespinoza (3254)
- [R-package] added support for first_metric_only (fixes 2368) jameslamb (2912)
- [python][sklearn] be compatible with check_is_fitted sklearn function StrikerRUS (3329)
🔨 Breaking
- [python] mark 3.1 version is the last one with Python 2 support StrikerRUS (3565)
- bump minimal CMake version StrikerRUS (3501)
- [R-package] Remove ability to install precompiled lib_lightgbm (fixes 3320) jameslamb (3360)
- [python] Drop Python 3.5 support StrikerRUS (3395)
🚀 Efficiency Improvement
- Optimization of row-wise histogram construction shiyu1994 (3522)
- Add support to optimize for NDCG at a given truncation level metpavel (3425)
- fix address alignment, required by cran guolinke (3415)
🐛 Bug Fixes
- [ci] Use different PATH based on Rtools version jameslamb (3558)
- [ci] fix CUDA CI builds StrikerRUS (3549)
- fix constant hessian for huber objective guolinke (3545)
- [R-package] [ci] Fix failures with R 3.6 and CMake (fixes 3469) jameslamb (3541)
- [R-package] fix learning-to-rank tests on Solaris jameslamb (3534)
- [R-package] fix MM_PREFETCH and MM_MALLOC checks in configure.ac jameslamb (3510)
- avoid min_data and min_hessian are zeros at the same time guolinke (3492)
- Fix add features guolinke (2754)
- remove std::move StrikerRUS (3478)
- [ci] [R-package] Fix memory leaks found by valgrind jameslamb (3443)
- [R-package] Suppresses unknown pragma warnings during CRAN build cctechwiz (3460)
- pin Ubuntu version in distroless docker file StrikerRUS (3449)
- Move Tree destructor to header file lcsdavid (3417)
- [R-package] miscellaneous changes to comply with CRAN requirements jameslamb (3338)
- fix type casting warning StrikerRUS (3437)
- [R-package] [ci] Make Windows CI fail if R CMD check fails jameslamb (3435)
- [python] Use ctypes for parameters of DLL functions for Dataset StrikerRUS (3423)
- Use ctypes to pass parameters (fixes 3398) btrotta (3419)
- disable monotone constraint in objective functions with renew_tree_output guolinke (3368
- [R-package] Fix incorrect num_iterations, early_stopping_round in saved models (fixes 2208, 2468) jameslamb (3368)
- Improve performance of path smoothing btrotta (3396)
- fix sparse multiclass local feature contributions and add test imatiach-msft (3382)
- Auc mu weights btrotta (3349)
- improve subfeature_bynode guolinke (3384)
- Fix typo in ResetConfig btrotta (3392)
- Avoid segment fault in ResetConfig for GBDT in prediction (fix 3317) shiyu1994 (3373)
📖 Documentation
- [docs] simplify RTD config and use latest Sphinx StrikerRUS (3554)
- Add note on LightGBM/OpenMP hanging on AWS Batch cvsmith (3553)
- Fix 2898: Clearer warning message for user (2^max_depth > num_leaves). AlbertoEAF (3537)
- better document for bin_construct_sample_cnt guolinke (3521)
- [R-package] [docs] fix broken plots in pkgdown site (fixes 3276) jameslamb (3508)
- [docs] added Data Science Bowl Comp Solution 2019 nabokovas (3503)
- [docs] fix param docs StrikerRUS (3495)
- [docs] update GitHub Actions badge StrikerRUS (3446)
- [docs] Change doc link to monotone constraints report to HAL document CharlesAuguste (3410)
- [R-package] add new copyright holder in DESCRIPTION jameslamb (3409)
- [docs] Simplify the python installation instruction guolinke (3378)
- [docs] remove unrelated entry from winning solutions list StrikerRUS (3370)
- [python][examples] updated examples with multiple custom metrics StrikerRUS (3367)
- [docs] update list of winning solutions in data science competitions Juniper-23 (3358)
- [R-package] fix typo in R installation instructions daviddalpiaz (3350)
🧰 Maintenance
- fix compilation warning StrikerRUS (3564)
- fix warning guolinke (3563)
- [R-package] fix install warning jameslamb (3552)
- TST make sklearn integration test compatible with 0.24 glemaitre (3533)
- move APPLE_OUTPUT_DYLIB option closer to the rest options StrikerRUS (3547)
- [ci] simplify R CI scripts jameslamb (3535)
- [ci] Make valgrind check stricter jameslamb (3536)
- fix invalid read detected by valgrind guolinke (3526)
- ignore files from local Dask work jameslamb (3527)
- [ci] upgrade GitHub Actions third-party actions to newest versions jameslamb (3524)
- [R-package] remove Makefile hack in install.libs.R jameslamb (3528)
- [R-package] [ci] add correct path for mingw32-make in CI jameslamb (3523)
- [ci] fix check-docs error with AMD support website (fixes 3529) jameslamb (3530)
- [R-package] remove unused variables in configure.ac jameslamb (3509)
- [R-package] Updated lgb.Booster.R with keyword arguments Pey-crypto (3496)
- [ci] automate building CRAN package jameslamb (3497)
- [tests][python] remove excess iterations nabokovas (3504)
- [ci] Update MacOS version at Travis nabokovas (3505)
- [ci] [python] reduce unnecessary data loading in tests jameslamb (3486)
- setup CUDA CI job StrikerRUS (3424)
- [ci] update SWIG installation on macOS StrikerRUS (3477)
- [R-package] Improves logging in lint_r_code.R (fixes 3471) sinAshish (3472)
- [R-package] Updated lgb.Predictor.R with keyword arguments AnshuTrivedi (3464)
- [ci] ignore R CMD CHECK warnings on new R version jameslamb (3468)
- [R-package] remove deprecation warnings on lgb.prepare() functions jameslamb (3444)
- [R-package] Updated lgb.train.R with keyword arguments iadi7ya (3452)
- [R-package] [ci] Add test on R package with sanitizers jameslamb (3439)
- [R-package] add 'cleanup' script to handle left-behind Makevars jameslamb (3434)
- [R-package] Update callback.R with keyword arguments philip-khor (3430)
- [ci] rename R-package GitHub Actions workflow StrikerRUS (3429)
- fix warnings guolinke (3399)
- [python] fix dangerous default for eval_at in LGBMRanker jameslamb (3377)
- [ci] removed unused environment variable CONDA_ENV jameslamb (3411)
- [R-package] use keyword arguments in internal function calls jameslamb (3391)
- [R-package] mark CMake option for building R package as private StrikerRUS (3397)
- [ci] Use Ubuntu Focal image at Travis StrikerRUS (3393)
- [ci] update Boost version StrikerRUS (3389)
- [R-package] ignore temp files created by R on Mac jameslamb (3388)
- [python] remove unused variable jameslamb (3376)
- [R-package] remove unnecessary comments jameslamb (3356)
- [ci] host some artifacts needed by R Windows CI jobs jameslamb (3359)
- [ci] remove Azure checks from R CI jameslamb (3355)
- [ci] add an allgood job for easy [required] builds graingert (3351)
- bump version guolinke (3344)
```
### 3.0.0
```
Changes
💡 New Features
- [python] add return_cvbooster flag to cv func and publish _CVBooster (283,2105,1445) momijiame (3204)
- [R-package] make package installable with CRAN toolchain (fixes 2960) jameslamb (3188)
- feat: Change locking strategy of Booster, allow for share and unique locks JoanFM (2760)
- feature importance type in saved model file guolinke (3220)
- [R-package] Interface for interaction constraints btrotta (3136)
- adding sparse support to TreeSHAP in lightgbm imatiach-msft (3000)
- Adding static library option dpayne (3171)
- Interaction constraints btrotta (3126)
- [R-package] Add support for R 4.0 (fixes 3064, fixes 3024) jameslamb (3065)
- [python][scikit-learn] add new attribute for used number of features a-wozniakowski (3129)
- redirect log to python console guolinke (3090)
- Path smoothing btrotta (2950)
- [SWIG][mmlspark] allow allocating more than int max array imatiach-msft (2859)
- Support UTF-8 characters in feature name again henry0312 (2976)
- [python] Re-enable scikit-learn 0.22+ support StrikerRUS (2949)
- Pr3 monotone constraints splits penalization CharlesAuguste (2939)
- [R-package] adding routine registration in R package (fixes 1910) jameslamb (2911)
- [R-package] Use Rprintf for logging in the R package (fixes 1440, fixes 1909) jameslamb (2901)
- Improving monotone constraints ("Fast" method; linked to 2305, 2717) CharlesAuguste (2770)
- [python] handle RandomState object in Scikit-learn Api lpfann (2904)
- Debug flags guolinke (2825)
- added feature infos to JSON dump StrikerRUS (2660)
- Add capability to get possible max and min values for a model JoanFM (2737)
- Extremely randomized trees btrotta (2671)
- [python] add property: feature_name_ in lgb sklearn api zhangqibot (2740)
- Implementation of XE_NDCG_MART for the ranking task sbruch (2620)
- [python] Output model to a pandas DataFrame pford221 (2592)
- option to disable the shape checking in prediction. guolinke (2669)
- added feature importance to JSON dump StrikerRUS (2656)
- [python] allow to specify orientation of a tree StrikerRUS (2605)
- auc-mu btrotta (2567)
- [python] Allow python sklearn interface's fit() to pass init_model to train() aaiyer (2447)
- Add more debug logging to show data load progress. ashok-ponnuswami-msft (2587)
🔨 Breaking
- [Python] add start_iteration to python predict interface (3058) shiyu1994 (3272)
- [R-package] refactor and improvements to lgb.convert() functions (fixes 2678, 2681) jameslamb (3269)
- [R-package] deprecate lgb.prepare() and lgb.prepare2() jameslamb (3095)
- [R-package] Add version floor of R 3.5 (fixes 3212) jameslamb (3216)
- refactor LGBM_DatasetGetFeatureNames StrikerRUS (3022)
- Fix SWIG methods that return char** AlbertoEAF (2850)
- Code refactoring for ranking objective & Faster ndcg_xendcg guolinke (2801)
- decouple bagging with num_threads guolinke (2804)
- remove init-score parameter guolinke (2776)
- [python] [R-package] refine the parameters for Dataset guolinke (2594)
- Support both row-wise and col-wise multi-threading guolinke (2699)
- [ci] indicate support only for the last 3 macOS versions in wheel name StrikerRUS (2691)
- removed OpenMP ugly fix for Mojave StrikerRUS (2674)
- [python] specify the last supported version of scikit-learn StrikerRUS (2637)
🚀 Efficiency Improvement
- Feat/optimize single prediction AlbertoEAF (2992)
- Optimize the computation of the cross-entropy ranking loss sbruch (3080)
- Speed-up "Split" and some code refactorings guolinke (2883)
- speed up `FindBestThresholdFromHistogram` guolinke (2867)
- speed up for const hessian guolinke (2857)
- reduce the overhead of OMP_NUM_THREADS in training guolinke (2852)
- speed up multi-val bin subset for bagging guolinke (2827)
- speed up sub-feature in row-wise parallelism guolinke (2764)
- slightly reduce the cost of multi-val bin construct. guolinke (2728)
- more efficient sampling k from n guolinke (2693)
- support most frequent bin guolinke (2689)
- prefetch hint (1.3x speed-up) guolinke (2677)
🐛 Bug Fixes
- [R] Fix 32-bit build guolinke (3307)
- fix zero bin in categorical split guolinke (3305)
- [R-package] DESCRIPTION changes to address CRAN feedback jameslamb (3298)
- create buffer for gradients and hessians with goss and customized objective (fixes 3243) shiyu1994 (3263)
- update multi-class objective (softmax) guolinke (3256)
- Fast single row predict API v2 AlbertoEAF (3268)
- [R-package] fix early_stopping_round <= 0 jameslamb (3259)
- fix bug in CEGB when reset training data or config guolinke (3246)
- fix possible problem in getting number of columns from libsvm file. guolinke (3242)
- set num_threads of share_state (3151) shiyu1994 (3238)
- Upcast index to size_t in Refit jtilly (3228)
- [python][scikit-learn] Fixes a bug that prevented using multiple eval_metrics in LGBMClassifier gramirezespinoza (3222)
- [python] fix early_stopping_round = 0 guolinke (3211)
- Fix integer overflow in auc_mu (fixes 3201) btrotta (3209)
- Store the true split gain (without subtracting min_split_gain) in tree models (fix Issue 3054) shiyu1994 (3196)
- Fix bug with interaction constraints btrotta (3189)
- [R-package] [ci] update to R 4.0.2 for Windows CI jobs (fixes 3191) jameslamb (3193)
- fix str2double for `leaf_weights` guolinke (3148)
- fix error C3861: '_BitScanReverse': identifier not found StrikerRUS (3141)
- [R-package] fix best_score using custom evaluation (fixes 3112) jameslamb (3117)
- [R-package] Turn matrix to storage mode "double" mayer79 (3140)
- memory corruption fix for distributed data parallel version before SyncUpGlobalBestSplit imatiach-msft (3110)
- [R-package] fix issue where early stopping thinks higher MAPE is desirable (fixes 3099) jameslamb (3101)
- fix a bug when we set the default score guanqun (3114)
- fix MSVC warning about control paths (fixes 3067) jameslamb (3068)
- Fixed machine list parsing: s/find_first_of/find odimka (3108)
- fix refactoring bug in voting parallel guolinke (3089)
- fix goss with constant hessian guolinke (3077)
- [docs] update link to GitHub anchor conventions jameslamb (3085)
- fix goss bug guolinke (3063)
- [R-package] add conda dir for LIBR_CORE_LIBRARY (fixes 3045) jameslamb (3046)
- [R-package] CMake fixes to support MSVC jameslamb (2963)
- Fix loss computation in rank cross-entropy objective sbruch (3031)
- [R-package] fixed best_iter and best_score when training data is passed (fixes 2295, 2525) jameslamb (2961)
- [R-package] fix R examples and lgb.plot.interpretation() jameslamb (3002)
- Revert "Fix Booster read/write locale dependency (2891)" henry0312 (2980)
- [SWIG][mmlspark] fix seg fault in LGBM_BoosterGetEvalNamesSWIG imatiach-msft (2958)
- fix inf in json model dump StrikerRUS (2940)
- [R-package] fixed evaluation on valids in lightgbm() (fixes 2915) jameslamb (2916)
- Fix IsZero in tree.h AlbertoEAF (2932)
- [R-package] fixed handling of multiple evaluation metrics (fixes 2913) jameslamb (2914)
- Fix Booster read/write locale dependency AlbertoEAF (2891)
- [python] Fix continued train by reusing the same dataset guolinke (2906)
- [python] fix the bug when use different params with reference guolinke (2907)
- fix ResetConfig in FeatureHistogram guolinke (2882)
- fixed cpplint errors and VS project files StrikerRUS (2873)
- fix possible bug related num_threads guolinke (2876)
- [python] save all param values into model file StrikerRUS (2589)
- shrinkage to internal values guolinke (2853)
- fix bug in parallel learning guolinke (2851)
- don't save num_thread as possible guolinke (2839)
- fix bug for multi-val-bin construction guolinke (2841)
- fix forced split guolinke (2838)
- avoid most_freq_bin to be 0 in categorical features guolinke (2824)
- fix index and remove unused includes StrikerRUS (2829)
- support larger element size for multi-val bin guolinke (2817)
- fix random threshold for categorical features guolinke (2802)
- fix bug when nan bin is most freq bin guolinke (2811)
- Fix SingleRowPredictor::IsPredictorEqual comparison (invert) AlbertoEAF (2799)
- [R-package] Fixed R implementation of upper_bound() and lower_bound() for lgb.Booster jameslamb (2785)
- [R-package] fixed R Dataset aliases StrikerRUS (2775)
- fix max_depth in CEGB guolinke (2751)
- fix subset bug guolinke (2748)
- Config static initialization jcipar (2743)
- Preventing denormal leaf values jpkoponen (2724)
- [python][R-package][docs] fix support of XE_NDCG_MART obj in language wrappers and docs StrikerRUS (2726)
- add is_sparse back guolinke (2729)
- fix 2696 sh1ng (2700)
- [R-package] fixed sorting issues in lgb.cv() when using a model with observation weights (fixes 2572) jameslamb (2573)
- [python] fix trees_to_dataframe and enhance test StrikerRUS (2690)
- [python] [R-package] Use the same address when updated label/weight/query guolinke (2662)
- fix predict with header guolinke (2643)
- [python][sklearn] do not modify args in fit function and minor code cleanup StrikerRUS (2619)
- [python] Variable Typo: redictor -> predictor duckladydinh (2622)
- LightGBM would hang on MPI run if only some nodes have a fatal error. ashok-ponnuswami-msft (2600)
📖 Documentation
- [R-package] Add R logo (fixes 3331, 3332) jameslamb (3336)
- [docs][python][sklearn] remove excess fit arguments from docstrings StrikerRUS (3330)
- [docs] added logo to docs StrikerRUS (3327)
- Added winning solution using LightGBM julioasotodv (3314)
- [R-package] Add docs on building and using precompiled binaries for the R package jameslamb (3285)
- [docs] Fix repetition of `tree_method` hyper-parameter in xgboost_hist Shihab-Shahriar (3296)
- [doc] better doc for `keep_training_booster` guolinke (3275)
- [docs] improve params docs StrikerRUS (3252)
- typo fix guanqun (3174)
- [docs] Improve some phrasing in the installation guide Lewington-pitsos (3214)
- [docs] document option to build a static library StrikerRUS (3190)
- [docs][scikit-learn] removed duplicated docstrings StrikerRUS (3164)
- [ci][docs] fix broken links StrikerRUS (3176)
- [R-package] [docs] fix warnings in pkgdown site building jameslamb (3086)
- [R-package] [docs] Removed outdated language about the R package jameslamb (3070)
- [docs] document one more workaround for CMake and MinGW build and fix typos StrikerRUS (3081)
- [docs] Document cmake+MinGW (fixes 3060) Laurae2 (3078)
- [docs] updated docs about output values StrikerRUS (3037)
- [docs] updated bug report template jameslamb (3032)
- [R-package] Remove lgbdl from docs until fix Laurae2 (3035)
- [R-package] [docs] remove unnecessary build in test coverage jameslamb (3004)
- [docs] update link to Julia wrapper StrikerRUS (3021)
- [docs] updated core team list StrikerRUS (3001)
- [R-package] [docs] Simplified examples to cut example run time (fixes 2988) jameslamb (2989)
- [docs] Add LightGBM Tuner by Optuna links to README.md Crissman (2893)
- [docs] add link to blog post about Optuna to Parameters-Tuning.rst Crissman (2896)
- [docs] update latest benchmark results guolinke (2887)
- [R-package] [docs] Added documentation on lgb.dl() and data.table version (fixes 2715) jameslamb (2846)
- fixed cpplint issues and updated docs StrikerRUS (2830)
- [docs] Added subsections into param list StrikerRUS (2779)
- Better documentation for Contributing guolinke (2781)
- [docs] fixed metric_freq param description StrikerRUS (2780)
- [docs] removed mentions of sparse_threshold StrikerRUS (2758)
- [R-package] clarified error messages and documentation for lgb.get.eval.result() jameslamb (2686)
- [R-package][docs] made roxygen2 tags explicit and cleaned up documentation jameslamb (2688)
- [R-package] Added instructions for generating R test coverage jameslamb (2664)
- [R-package] [docs] Added reference to unofficial R extensions (fixes 2640) jameslamb (2670)
- warning for init_score in save_binary guolinke (2649)
- [docs] provide link to m2cgen from convert_model_language param description StrikerRUS (2591)
- [docs] added link to cuML in external repos section of README StrikerRUS (2634)
- [docs] added search key words for artifacts StrikerRUS (2631)
- [docs] enhanced description of cat features param StrikerRUS (2627)
- [docs] updated records of kaggle competitions jameslamb (2621)
- [docs] added link to kubeflow fairing and enhanced parallel guide StrikerRUS (2602)
🧰 Maintenance
- [ci] fix R CMD check issue 'unable to verify current time' jameslamb (3341)
- [R-package] [ci] Reduce manual effort for version updates jameslamb (3335)
- [R-package] update roles in DESCRIPTION jameslamb (3333)
- Add Logo to readme guolinke (3322)
- [ci] bump Xcode version at Travis StrikerRUS (3323)
- [ci][docs] update Doxygen link in docs StrikerRUS (3324)
- [R-package] remove blank lines and not-really-comments from .Rbuildignore jameslamb (3318)
- [ci][docs] explicitly recuire fresh versions of RTD stuff StrikerRUS (3315)
- [ci] Test 32-bit builds for R package jameslamb (3311)
- fix typo StrikerRUS (3309)
- [ci] fix flaky R CMD check test about library size jameslamb (3308)
- fix vc project guolinke (3304)
- simplify start_iteration param for predict in Python and some code cleanup for start_iteration StrikerRUS (3288)
- [python] try to use bundled distutils to setuptools during setup StrikerRUS (3294)
- [ci][python] fix sklearn FutureWarning about positional args StrikerRUS (3295)
- [ci][docs] fix current master failures for docs test StrikerRUS (3297)
- [R-package] suppress warning about empty 'compute' directory and fix Rtools installation jameslamb (3277)
- bump version for development guolinke (3281)
- [CI] fix R's installation guolinke (3279)
- [R-package] move all examples to dontrun() to fix R CMD CHECK notes jameslamb (3270)
- [R-package] add some R build files to gitignore jameslamb (3271)
- [tests][python][scikit-learn] New unit tests and maintenance a-wozniakowski (3253)
- [ci] run Travis and Azure Pipelines only for master branch StrikerRUS (3265)
- [R-package] allow R to pick between -fPIC and -fpic for CRAN package jameslamb (3261)
- [TYPO] DatasetLoader::ConstructFromSampleData lcsdavid (3258)
- remove unnecessary semicolon jameslamb (3260)
- [ci] partly remove macOS temp CI fix StrikerRUS (3251)
- [R-package] remove duplicated test jameslamb (3250)
- update gitignore to ignore files created by clion zhengruifeng (3248)
- [R-package] Add tests on lgb.check.eval, lgb.unloader, and lgb.encode.char jameslamb (3235)
- [ci] remove unnecessary R_CHECK_FORCE_SUGGESTS in CI scripts jameslamb (3240)
- typo fix guolinke (3239)
- [SWIG] removed commented code StrikerRUS (3233)
- [R-package] add test on importance types jameslamb (3231)
- [R-package] factor out {ggplot2} jameslamb (3224)
- add rules for tests/ in CODEOWNERS jameslamb (3226)
- [ci] bump R 4 version StrikerRUS (3225)
- [R-package] remove xlen_t in custom R-to-C++ interface jameslamb (3223)
- [R-package] remove unused Suggests dependencies jameslamb (3217)
- Remove extra semicolons AIshb (3215)
- [ci] [R-package] catch builds that have not updated docs jameslamb (3205)
- [ci] bump gcc version for macOS StrikerRUS (3208)
- Allow the minimal feature to 1 in column sampling guolinke (3197)
- [R-package] [ci] Fix MiKTeX downloads (fixes 3198) jameslamb (3199)
- [python][scikit-learn] new stacking tests and make number of features a property a-wozniakowski (3173)
- [R-package] fix R CMD check NOTE about leftover files jameslamb (3181)
- [ci][docs] added GitHub Actions badge and simplified condition in config StrikerRUS (3179)
- [R-package] [ci] cut nrounds in unit tests jameslamb (3169)
- [ci] update Boost version StrikerRUS (3175)
- [ci] Move R Windows CI to GitHub Actions jameslamb (3168)
- [ci] avoid VS warning for R builds StrikerRUS (3162)
- [ci][docs] temporarily pin Sphinx version StrikerRUS (3157)
- Revert "re-order includes (fixes 3132) (3133)" StrikerRUS (3153)
- [ci] make MiKTeX downloads more reliable jameslamb (3124)
- [ci] use GitHub Actions for R CI jobs (fixes 2353) jameslamb (3119)
- re-order includes (fixes 3132) jameslamb (3133)
- [ci] remove unused environment variable in CI setups jameslamb (3125)
- [R-package] move R source files into R-package, reduce duplication in build_r.R jameslamb (3087)
- [ci] fix add-apt-repository warning jameslamb (3104)
- [R-package] characterize all cmake messages jameslamb (3105)
- [R-package] [docs] replace build_r_site.R with pkgdown::build_site() jameslamb (3098)
- [ci] bump XCode version at Travis StrikerRUS (3097)
- [ci] avoid duplicate AppVeyor builds jameslamb (3096)
- [R-package] [ci] Fix CI timeouts for Mac builds on Travis (fixes 3091) jameslamb (3092)
- [R-package] fix warnings in tests jameslamb (3069)
- [R-package] [docs] remove devtools dependency for docs builds (fixes 3036) jameslamb (3072)
- [R-package] speed up installation with Visual Studio jameslamb (2965)
- Update CODEOWNERS rule about CMakeLists.txt jameslamb (3079)
- removed deprecated code StrikerRUS (3073)
- [R-package] added tests on LGBM_BoosterResetTrainingData_R jameslamb (3020)
- [python-package] Use set for OS check jameslamb (3059)
- typo fix guanqun (3055)
- [ci] fix flaky test StrikerRUS (3056)
- [docs] update ROCm link in docs StrikerRUS (3050)
- [R-package] [ci] Add Windows CI for R package (fixes 2335) jameslamb (2936)
- [python][tests] unused and missing imports jameslamb (3023)
- [R-package] added tests on LGBM_BoosterRollbackOneIter_R jameslamb (3006)
- [R-package] Added tests on LGBM_GetLastError_R jameslamb (3005)
- [R-package] Added tests on creating a Booster from a Dataset jameslamb (3007)
- [ci] minor CI scripts update StrikerRUS (3019)
- [R-package] [ci] added echoing of R CMD check logs to CI jameslamb (3009)
- [ci][docs] Fix RTD builds StrikerRUS (3015)
- [ci][docs] be compatible with Sphinx 3 StrikerRUS (3013)
- [ci] Changed use of strcpy to snprintf (fixes 1990) jameslamb (2973)
- [R-package] Updated package metadata in DESCRIPTION jameslamb (2993)
- [R-package] Removed unused constant in R_object_helper.h jameslamb (2994)
- Update CODEOWNERS StrikerRUS (2996)
- more cpp lints guolinke (2985)
- [python][ci] start to support Python 3.8 StrikerRUS (2713)
- [ci] fixed r-lintr version constraint StrikerRUS (2990)
- [R-package] Added unit tests on creating Booster from file or string jameslamb (2945)
- fix cpp lint in json11 guolinke (2975)
- [ci][docs] downgrade breathe StrikerRUS (2982)
- [docs] update URL in docs StrikerRUS (2978)
- [ci][docs] downdrage sphinx and fix LaTeX error in R-package tests StrikerRUS (2977)
- fixed cpplint errors about string& members jameslamb (2929)
- fixed cpplint errors StrikerRUS (2971)
- [ci] upgrade to R 3.6.3 in CI jameslamb (2969)
- replace built-in assert with own CHECK macro StrikerRUS (2938)
- Cleanup MissingType enum constants AlbertoEAF (2931)
- [ci] reduce duplication in Python Windows CI jameslamb (2962)
- [R-package] [ci] Add option to skip installation in build_r.R jameslamb (2957)
- [ci][docs] fixed broken link StrikerRUS (2956)
- [ci] changed CRAN mirror to fix failing installs jameslamb (2954)
- [R-package] [ci] added check on number of R CMD CHECK notes jameslamb (2942)
- changed sprintf uses to snprintf jameslamb (2920)
- [R-package] fixed some minor issues with testing on Windows jameslamb (2908)
- [R-package] added test on uncovered line of lgb.plot.importance() jameslamb (2903)
- [ci] fixed cpplint errors about namespace using-directives jameslamb (2927)
- [R-package] fixed NOTE about unrecognized global variable jameslamb (2928)
- [ci] fix VS project files StrikerRUS (2924)
- [R-package] [ci] added more linters jameslamb (2803)
- [R-package] removed duplicated code figuring out build_dir in install.libs.R jameslamb (2917)
- [R-package] added command to remove build/ dir in install.libs.R jameslamb (2909)
- fix release-drafter.yml guolinke (2895)
- [R-package] removed unnecessary flag in tests jameslamb (2910)
- fixed cpplint errors and disable warning only for VS StrikerRUS (2888)
- [R-package] cleaned up formatting in R C/C++ files jameslamb (2844)
- [R-package] Introduce R-specific control of lib_lightgbm jameslamb (2837)
- add more bots guolinke (2843)
- [ci] fixed cpplint warnings about braces jameslamb (2869)
- use specific checks in auto config StrikerRUS (2864)
- fix warnings in debug mode about that not all control paths return a value StrikerRUS (2866)
- fixed cpplint issues StrikerRUS (2863)
- [R-package] [ci] added tests on early_stopping jameslamb (2848)
- [docs] update link to MS MPI StrikerRUS (2861)
- [R-package] removed unused imports from R-specific lib_lightgbm components jameslamb (2845)
- [docs] Fix description according to markdownlint daikikatsuragawa (2865)
- [ci] fix R tests for macOS on Azure Pipelines StrikerRUS (2856)
- [R-package] added test on training with sparse features jameslamb (2847)
- introduced specific CHECKs StrikerRUS (2849)
- update lockbot StrikerRUS (2842)
- fixed cpplint error about namespace using-directives StrikerRUS (2836)
- Update BUG_REPORT.md guolinke (2833)
- Add lock bot guolinke (2815)
- No LinkTimeCodeGeneration in VS guolinke (2812)
- [ci] bump Azure image versions StrikerRUS (2822)
- [tests][python] fixed pandas deprecation warning in tests StrikerRUS (2819)
- replace std::runtime_error with Log::Fatal StrikerRUS (2816)
- Make timer thread-safe guolinke (2800)
- fixed cpplint issues StrikerRUS (2809)
- fix clang warning for GPU guolinke (2807)
- [R-package] [docker] Added ability to build LightGBM in an R container with different R versions jameslamb (2787)
- [docs] fixed broken links StrikerRUS (2795)
- some code refactoring guolinke (2769)
- fixed cpplint issues StrikerRUS (2771)
- [python] in sklearn wrapper pass cat features to Dataset constructor StrikerRUS (2763)
- fixed cpplint issues StrikerRUS (2756)
- Refactoring monotone constraints (linked to 2305) CharlesAuguste (2717)
- various minor style, docs and cpplint improvements StrikerRUS (2747)
- [ci] avoid Appveyor failures StrikerRUS (2753)
- warning for testing col-wise and row-wise guolinke (2727)
- no omp_set_nested guolinke (2734)
- [python][tests] fixed typo StrikerRUS (2732)
- removed AVX2 from VS config and reset PlatformToolset values back StrikerRUS (2731)
- [ci] swap compilers back for CI services StrikerRUS (2730)
- [python][R-package] removed duplicated code from language wrappers StrikerRUS (2606)
- [docs] fix RTD builds due to conda's problems StrikerRUS (2725)
- [ci] use raw strings in NuGet helper script StrikerRUS (2710)
- [R-package] moved parameter validations up earlier in function calls jameslamb (2663)
- [R-package] added test that Dataset$setinfo() converts 'group' input to integer jameslamb (2687)
- [R-package] added tests on lgb.plot.importance and clarified documentation jameslamb (2692)
- check _mm_prefetch in cmake guolinke (2694)
- [R-package] added tests on lgb.prepare function jameslamb (2685)
- [R-package] [ci] removed TODOs in code jameslamb (2667)
- [R-package] simplified lgb.check.eval() jameslamb (2654)
- [R-package] removed function lgb.check.params jameslamb (2652)
- [R-package] fixed typo for variable valid_contain_train jameslamb (2653)
- [ci] bump XCode version for Travis StrikerRUS (2646)
- fixed some cpplint issues StrikerRUS (2635)
- [R-package][ci] added CI stage for R package (fixes 2335, fixes 2569) jameslamb (2530)
- [docs] fixed broken link in docs StrikerRUS (2623)
- [python][R-package] warn users about untransformed values in case of custom obj StrikerRUS (2611)
- [docs] fixed broken link in docs StrikerRUS (2601)
- fix compile warning for HDFS version StrikerRUS (2586)
- bump version for development StrikerRUS (2599)
```
### 3.0.0rc1
```
Changes
💡 New Features
- [python] add return_cvbooster flag to cv func and publish _CVBooster (283,2105,1445) momijiame (3204)
- [R-package] make package installable with CRAN toolchain (fixes 2960) jameslamb (3188)
- feat: Change locking strategy of Booster, allow for share and unique locks JoanFM (2760)
- feature importance type in saved model file guolinke (3220)
- [R-package] Interface for interaction constraints btrotta (3136)
- adding sparse support to TreeSHAP in lightgbm imatiach-msft (3000)
- Adding static library option dpayne (3171)
- Interaction constraints btrotta (3126)
- [R-package] Add support for R 4.0 (fixes 3064, fixes 3024) jameslamb (3065)
- [python][scikit-learn] add new attribute for used number of features a-wozniakowski (3129)
- redirect log to python console guolinke (3090)
- Path smoothing btrotta (2950)
- [SWIG][mmlspark] allow allocating more than int max array imatiach-msft (2859)
- Support UTF-8 characters in feature name again henry0312 (2976)
- [python] Re-enable scikit-learn 0.22+ support StrikerRUS (2949)
- Pr3 monotone constraints splits penalization CharlesAuguste (2939)
- [R-package] adding routine registration in R package (fixes 1910) jameslamb (2911)
- [R-package] Use Rprintf for logging in the R package (fixes 1440, fixes 1909) jameslamb (2901)
- Improving monotone constraints ("Fast" method; linked to 2305, 2717) CharlesAuguste (2770)
- [python] handle RandomState object in Scikit-learn Api lpfann (2904)
- Debug flags guolinke (2825)
- added feature infos to JSON dump StrikerRUS (2660)
- Add capability to get possible max and min values for a model JoanFM (2737)
- Extremely randomized trees btrotta (2671)
- [python] add property: feature_name_ in lgb sklearn api zhangqibot (2740)
- Implementation of XE_NDCG_MART for the ranking task sbruch (2620)
- [python] Output model to a pandas DataFrame pford221 (2592)
- option to disable the shape checking in prediction. guolinke (2669)
- added feature importance to JSON dump StrikerRUS (2656)
- [python] allow to specify orientation of a tree StrikerRUS (2605)
- auc-mu btrotta (2567)
- [python] Allow python sklearn interface's fit() to pass init_model to train() aaiyer (2447)
- Add more debug logging to show data load progress. ashok-ponnuswami-msft (2587)
🔨 Breaking
- [Python] add start_iteration to python predict interface (3058) shiyu1994 (3272)
- [R-package] refactor and improvements to lgb.convert() functions (fixes 2678, 2681) jameslamb (3269)
- [R-package] deprecate lgb.prepare() and lgb.prepare2() jameslamb (3095)
- [R-package] Add version floor of R 3.5 (fixes 3212) jameslamb (3216)
- refactor LGBM_DatasetGetFeatureNames StrikerRUS (3022)
- Fix SWIG methods that return char** AlbertoEAF (2850)
- Code refactoring for ranking objective & Faster ndcg_xendcg guolinke (2801)
- decouple bagging with num_threads guolinke (2804)
- remove init-score parameter guolinke (2776)
- [python] [R-package] refine the parameters for Dataset guolinke (2594)
- Support both row-wise and col-wise multi-threading guolinke (2699)
- [ci] indicate support only for the last 3 macOS versions in wheel name StrikerRUS (2691)
- removed OpenMP ugly fix for Mojave StrikerRUS (2674)
- [python] specify the last supported version of scikit-learn StrikerRUS (2637)
🚀 Efficiency Improvement
- Feat/optimize single prediction AlbertoEAF (2992)
- Optimize the computation of the cross-entropy ranking loss sbruch (3080)
- Speed-up "Split" and some code refactorings guolinke (2883)
- speed up `FindBestThresholdFromHistogram` guolinke (2867)
- speed up for const hessian guolinke (2857)
- reduce the overhead of OMP_NUM_THREADS in training guolinke (2852)
- speed up multi-val bin subset for bagging guolinke (2827)
- speed up sub-feature in row-wise parallelism guolinke (2764)
- slightly reduce the cost of multi-val bin construct. guolinke (2728)
- more efficient sampling k from n guolinke (2693)
- support most frequent bin guolinke (2689)
- prefetch hint (1.3x speed-up) guolinke (2677)
🐛 Bug Fixes
- create buffer for gradients and hessians with goss and customized objective (fixes 3243) shiyu1994 (3263)
- update multi-class objective (softmax) guolinke (3256)
- Fast single row predict API v2 AlbertoEAF (3268)
- [R-package] fix early_stopping_round <= 0 jameslamb (3259)
- fix bug in CEGB when reset training data or config guolinke (3246)
- fix possible problem in getting number of columns from libsvm file. guolinke (3242)
- set num_threads of share_state (3151) shiyu1994 (3238)
- Upcast index to size_t in Refit jtilly (3228)
- [python][scikit-learn] Fixes a bug that prevented using multiple eval_metrics in LGBMClassifier gramirezespinoza (3222)
- [python] fix early_stopping_round = 0 guolinke (3211)
- Fix integer overflow in auc_mu (fixes 3201) btrotta (3209)
- Store the true split gain (without subtracting min_split_gain) in tree models (fix Issue 3054) shiyu1994 (3196)
- Fix bug with interaction constraints btrotta (3189)
- [R-package] [ci] update to R 4.0.2 for Windows CI jobs (fixes 3191) jameslamb (3193)
- fix str2double for `leaf_weights` guolinke (3148)
- fix error C3861: '_BitScanReverse': identifier not found StrikerRUS (3141)
- [R-package] fix best_score using custom evaluation (fixes 3112) jameslamb (3117)
- [R-package] Turn matrix to storage mode "double" mayer79 (3140)
- memory corruption fix for distributed data parallel version before SyncUpGlobalBestSplit imatiach-msft (3110)
- [R-package] fix issue where early stopping thinks higher MAPE is desirable (fixes 3099) jameslamb (3101)
- fix a bug when we set the default score guanqun (3114)
- fix MSVC warning about control paths (fixes 3067) jameslamb (3068)
- Fixed machine list parsing: s/find_first_of/find odimka (3108)
- fix refactoring bug in voting parallel guolinke (3089)
- fix goss with constant hessian guolinke (3077)
- [docs] update link to GitHub anchor conventions jameslamb (3085)
- fix goss bug guolinke (3063)
- [R-package] add conda dir for LIBR_CORE_LIBRARY (fixes 3045) jameslamb (3046)
- [R-package] CMake fixes to support MSVC jameslamb (2963)
- Fix loss computation in rank cross-entropy objective sbruch (3031)
- [R-package] fixed best_iter and best_score when training data is passed (fixes 2295, 2525) jameslamb (2961)
- [R-package] fix R examples and lgb.plot.interpretation() jameslamb (3002)
- Revert "Fix Booster read/write locale dependency (2891)" henry0312 (2980)
- [SWIG][mmlspark] fix seg fault in LGBM_BoosterGetEvalNamesSWIG imatiach-msft (2958)
- fix inf in json model dump StrikerRUS (2940)
- [R-package] fixed evaluation on valids in lightgbm() (fixes 2915) jameslamb (2916)
- Fix IsZero in tree.h AlbertoEAF (2932)
- [R-package] fixed handling of multiple evaluation metrics (fixes 2913) jameslamb (2914)
- Fix Booster read/write locale dependency AlbertoEAF (2891)
- [python] Fix continued train by reusing the same dataset guolinke (2906)
- [python] fix the bug when use different params with reference guolinke (2907)
- fix ResetConfig in FeatureHistogram guolinke (2882)
- fixed cpplint errors and VS project files StrikerRUS (2873)
- fix possible bug related num_threads guolinke (2876)
- [python] save all param values into model file StrikerRUS (2589)
- shrinkage to internal values guolinke (2853)
- fix bug in parallel learning guolinke (2851)
- don't save num_thread as possible guolinke (2839)
- fix bug for multi-val-bin construction guolinke (2841)
- fix forced split guolinke (2838)
- avoid most_freq_bin to be 0 in categorical features guolinke (2824)
- fix index and remove unused includes StrikerRUS (2829)
- support larger element size for multi-val bin guolinke (2817)
- fix random threshold for categorical features guolinke (2802)
- fix bug when nan bin is most freq bin guolinke (2811)
- Fix SingleRowPredictor::IsPredictorEqual comparison (invert) AlbertoEAF (2799)
- [R-package] Fixed R implementation of upper_bound() and lower_bound() for lgb.Booster jameslamb (2785)
- [R-package] fixed R Dataset aliases StrikerRUS (2775)
- fix max_depth in CEGB guolinke (2751)
- fix subset bug guolinke (2748)
- Config static initialization jcipar (2743)
- Preventing denormal leaf values jpkoponen (2724)
- [python][R-package][docs] fix support of XE_NDCG_MART obj in language wrappers and docs StrikerRUS (2726)
- add is_sparse back guolinke (2729)
- fix 2696 sh1ng (2700)
- [R-package] fixed sorting issues in lgb.cv() when using a model with observation weights (fixes 2572) jameslamb (2573)
- [python] fix trees_to_dataframe and enhance test StrikerRUS (2690)
- [python] [R-package] Use the same address when updated label/weight/query guolinke (2662)
- fix predict with header guolinke (2643)
- [python][sklearn] do not modify args in fit function and minor code cleanup StrikerRUS (2619)
- [python] Variable Typo: redictor -> predictor duckladydinh (2622)
- LightGBM would hang on MPI run if only some nodes have a fatal error. ashok-ponnuswami-msft (2600)
📖 Documentation
- [doc] better doc for `keep_training_booster` guolinke (3275)
- [docs] improve params docs StrikerRUS (3252)
- typo fix guanqun (3174)
- [docs] Improve some phrasing in the installation guide Lewington-pitsos (3214)
- [docs] document option to build a static library StrikerRUS (3190)
- [docs][scikit-learn] removed duplicated docstrings StrikerRUS (3164)
- [ci][docs] fix broken links StrikerRUS (3176)
- [R-package] [docs] fix warnings in pkgdown site building jameslamb (3086)
- [R-package] [docs] Removed outdated language about the R package jameslamb (3070)
- [docs] document one more workaround for CMake and MinGW build and fix typos StrikerRUS (3081)
- [docs] Document cmake+MinGW (fixes 3060) Laurae2 (3078)
- [docs] updated docs about output values StrikerRUS (3037)
- [docs] updated bug report template jameslamb (3032)
- [R-package] Remove lgbdl from docs until fix Laurae2 (3035)
- [R-package] [docs] remove unnecessary build in test coverage jameslamb (3004)
- [docs] update link to Julia wrapper StrikerRUS (3021)
- [docs] updated core team list StrikerRUS (3001)
- [R-package] [docs] Simplified examples to cut example run time (fixes 2988) jameslamb (2989)
- [docs] Add LightGBM Tuner by Optuna links to README.md Crissman (2893)
- [docs] add link to blog post about Optuna to Parameters-Tuning.rst Crissman (2896)
- [docs] update latest benchmark results guolinke (2887)
- [R-package] [docs] Added documentation on lgb.dl() and data.table version (fixes 2715) jameslamb (2846)
- fixed cpplint issues and updated docs StrikerRUS (2830)
- [docs] Added subsections into param list StrikerRUS (2779)
- Better documentation for Contributing guolinke (2781)
- [docs] fixed metric_freq param description StrikerRUS (2780)
- [docs] removed mentions of sparse_threshold StrikerRUS (2758)
- [R-package] clarified error messages and documentation for lgb.get.eval.result() jameslamb (2686)
- [R-package][docs] made roxygen2 tags explicit and cleaned up documentation jameslamb (2688)
- [R-package] Added instructions for generating R test coverage jameslamb (2664)
- [R-package] [docs] Added reference to unofficial R extensions (fixes 2640) jameslamb (2670)
- warning for init_score in save_binary guolinke (2649)
- [docs] provide link to m2cgen from convert_model_language param description StrikerRUS (2591)
- [docs] added link to cuML in external repos section of README StrikerRUS (2634)
- [docs] added search key words for artifacts StrikerRUS (2631)
- [docs] enhanced description of cat features param StrikerRUS (2627)
- [docs] updated records of kaggle competitions jameslamb (2621)
- [docs] added link to kubeflow fairing and enhanced parallel guide StrikerRUS (2602)
🧰 Maintenance
- [CI] fix R's installation guolinke (3279)
- [R-package] move all examples to dontrun() to fix R CMD CHECK notes jameslamb (3270)
- [R-package] add some R build files to gitignore jameslamb (3271)
- [tests][python][scikit-learn] New unit tests and maintenance a-wozniakowski (3253)
- [ci] run Travis and Azure Pipelines only for master branch StrikerRUS (3265)
- [R-package] allow R to pick between -fPIC and -fpic for CRAN package jameslamb (3261)
- [TYPO] DatasetLoader::ConstructFromSampleData lcsdavid (3258)
- remove unnecessary semicolon jameslamb (3260)
- [ci] partly remove macOS temp CI fix StrikerRUS (3251)
- [R-package] remove duplicated test jameslamb (3250)
- update gitignore to ignore files created by clion zhengruifeng (3248)
- [R-package] Add tests on lgb.check.eval, lgb.unloader, and lgb.encode.char jameslamb (3235)
- [ci] remove unnecessary R_CHECK_FORCE_SUGGESTS in CI scripts jameslamb (3240)
- typo fix guolinke (3239)
- [SWIG] removed commented code StrikerRUS (3233)
- [R-package] add test on importance types jameslamb (3231)
- [R-package] factor out {ggplot2} jameslamb (3224)
- add rules for tests/ in CODEOWNERS jameslamb (3226)
- [ci] bump R 4 version StrikerRUS (3225)
- [R-package] remove xlen_t in custom R-to-C++ interface jameslamb (3223)
- [R-package] remove unused Suggests dependencies jameslamb (3217)
- Remove extra semicolons AIshb (3215)
- [ci] [R-package] catch builds that have not updated docs jameslamb (3205)
- [ci] bump gcc version for macOS StrikerRUS (3208)
- Allow the minimal feature to 1 in column sampling guolinke (3197)
- [R-package] [ci] Fix MiKTeX downloads (fixes 3198) jameslamb (3199)
- [python][scikit-learn] new stacking tests and make number of features a property a-wozniakowski (3173)
- [R-package] fix R CMD check NOTE about leftover files jameslamb (3181)
- [ci][docs] added GitHub Actions badge and simplified condition in config StrikerRUS (3179)
- [R-package] [ci] cut nrounds in unit tests jameslamb (3169)
- [ci] update Boost version StrikerRUS (3175)
- [ci] Move R Windows CI to GitHub Actions jameslamb (3168)
- [ci] avoid VS warning for R builds StrikerRUS (3162)
- [ci][docs] temporarily pin Sphinx version StrikerRUS (3157)
- Revert "re-order includes (fixes 3132) (3133)" StrikerRUS (3153)
- [ci] make MiKTeX downloads more reliable jameslamb (3124)
- [ci] use GitHub Actions for R CI jobs (fixes 2353) jameslamb (3119)
- re-order includes (fixes 3132) jameslamb (3133)
- [ci] remove unused environment variable in CI setups jameslamb (3125)
- [R-package] move R source files into R-package, reduce duplication in build_r.R jameslamb (3087)
- [ci] fix add-apt-repository warning jameslamb (3104)
- [R-package] characterize all cmake messages jameslamb (3105)
- [R-package] [docs] replace build_r_site.R with pkgdown::build_site() jameslamb (3098)
- [ci] bump XCode version at Travis StrikerRUS (3097)
- [ci] avoid duplicate AppVeyor builds jameslamb (3096)
- [R-package] [ci] Fix CI timeouts for Mac builds on Travis (fixes 3091) jameslamb (3092)
- [R-package] fix warnings in tests jameslamb (3069)
- [R-package] [docs] remove devtools dependency for docs builds (fixes 3036) jameslamb (3072)
- [R-package] speed up installation with Visual Studio jameslamb (2965)
- Update CODEOWNERS rule about CMakeLists.txt jameslamb (3079)
- removed deprecated code StrikerRUS (3073)
- [R-package] added tests on LGBM_BoosterResetTrainingData_R jameslamb (3020)
- [python-package] Use set for OS check jameslamb (3059)
- typo fix guanqun (3055)
- [ci] fix flaky test StrikerRUS (3056)
- [docs] update ROCm link in docs StrikerRUS (3050)
- [R-package] [ci] Add Windows CI for R package (fixes 2335) jameslamb (2936)
- [python][tests] unused and missing imports jameslamb (3023)
- [R-package] added tests on LGBM_BoosterRollbackOneIter_R jameslamb (3006)
- [R-package] Added tests on LGBM_GetLastError_R jameslamb (3005)
- [R-package] Added tests on creating a Booster from a Dataset jameslamb (3007)
- [ci] minor CI scripts update StrikerRUS (3019)
- [R-package] [ci] added echoing of R CMD check logs to CI jameslamb (3009)
- [ci][docs] Fix RTD builds StrikerRUS (3015)
- [ci][docs] be compatible with Sphinx 3 StrikerRUS (3013)
- [ci] Changed use of strcpy to snprintf (fixes 1990) jameslamb (2973)
- [R-package] Updated package metadata in DESCRIPTION jameslamb (2993)
- [R-package] Removed unused constant in R_object_helper.h jameslamb (2994)
- Update CODEOWNERS StrikerRUS (2996)
- more cpp lints guolinke (2985)
- [python][ci] start to support Python 3.8 StrikerRUS (2713)
- [ci] fixed r-lintr version constraint StrikerRUS (2990)
- [R-package] Added unit tests on creating Booster from file or string jameslamb (2945)
- fix cpp lint in json11 guolinke (2975)
- [ci][docs] downgrade breathe StrikerRUS (2982)
- [docs] update URL in docs StrikerRUS (2978)
- [ci][docs] downdrage sphinx and fix LaTeX error in R-package tests StrikerRUS (2977)
- fixed cpplint errors about string& members jameslamb (2929)
- fixed cpplint errors StrikerRUS (2971)
- [ci] upgrade to R 3.6.3 in CI jameslamb (2969)
- replace built-in assert with own CHECK macro StrikerRUS (2938)
- Cleanup MissingType enum constants AlbertoEAF (2931)
- [ci] reduce duplication in Python Windows CI jameslamb (2962)
- [R-package] [ci] Add option to skip installation in build_r.R jameslamb (2957)
- [ci][docs] fixed broken link StrikerRUS (2956)
- [ci] changed CRAN mirror to fix failing installs jameslamb (2954)
- [R-package] [ci] added check on number of R CMD CHECK notes jameslamb (2942)
- changed sprintf uses to snprintf jameslamb (2920)
- [R-package] fixed some minor issues with testing on Windows jameslamb (2908)
- [R-package] added test on uncovered line of lgb.plot.importance() jameslamb (2903)
- [ci] fixed cpplint errors about namespace using-directives jameslamb (2927)
- [R-package] fixed NOTE about unrecognized global variable jameslamb (2928)
- [ci] fix VS project files StrikerRUS (2924)
- [R-package] [ci] added more linters jameslamb (2803)
- [R-package] removed duplicated code figuring out build_dir in install.libs.R jameslamb (2917)
- [R-package] added command to remove build/ dir in install.libs.R jameslamb (2909)
- fix release-drafter.yml guolinke (2895)
- [R-package] removed unnecessary flag in tests jameslamb (2910)
- fixed cpplint errors and disable warning only for VS StrikerRUS (2888)
- [R-package] cleaned up formatting in R C/C++ files jameslamb (2844)
- [R-package] Introduce R-specific control of lib_lightgbm jameslamb (2837)
- add more bots guolinke (2843)
- [ci] fixed cpplint warnings about braces jameslamb (2869)
- use specific checks in auto config StrikerRUS (2864)
- fix warnings in debug mode about that not all control paths return a value StrikerRUS (2866)
- fixed cpplint issues StrikerRUS (2863)
- [R-package] [ci] added tests on early_stopping jameslamb (2848)
- [docs] update link to MS MPI StrikerRUS (2861)
- [R-package] removed unused imports from R-specific lib_lightgbm components jameslamb (2845)
- [docs] Fix description according to markdownlint daikikatsuragawa (2865)
- [ci] fix R tests for macOS on Azure Pipelines StrikerRUS (2856)
- [R-package] added test on training with sparse features jameslamb (2847)
- introduced specific CHECKs StrikerRUS (2849)
- update lockbot StrikerRUS (2842)
- fixed cpplint error about namespace using-directives StrikerRUS (2836)
- Update BUG_REPORT.md guolinke (2833)
- Add lock bot guolinke (2815)
- No LinkTimeCodeGeneration in VS guolinke (2812)
- [ci] bump Azure image versions StrikerRUS (2822)
- [tests][python] fixed pandas deprecation warning in tests StrikerRUS (2819)
- replace std::runtime_error with Log::Fatal StrikerRUS (2816)
- Make timer thread-safe guolinke (2800)
- fixed cpplint issues StrikerRUS (2809)
- fix clang warning for GPU guolinke (2807)
- [R-package] [docker] Added ability to build LightGBM in an R container with different R versions jameslamb (2787)
- [docs] fixed broken links StrikerRUS (2795)
- some code refactoring guolinke (2769)
- fixed cpplint issues StrikerRUS (2771)
- [python] in sklearn wrapper pass cat features to Dataset constructor StrikerRUS (2763)
- fixed cpplint issues StrikerRUS (2756)
- Refactoring monotone constraints (linked to 2305) CharlesAuguste (2717)
- various minor style, docs and cpplint improvements StrikerRUS (2747)
- [ci] avoid Appveyor failures StrikerRUS (2753)
- warning for testing col-wise and row-wise guolinke (2727)
- no omp_set_nested guolinke (2734)
- [python][tests] fixed typo StrikerRUS (2732)
- removed AVX2 from VS config and reset PlatformToolset values back StrikerRUS (2731)
- [ci] swap compilers back for CI services StrikerRUS (2730)
- [python][R-package] removed duplicated code from language wrappers StrikerRUS (2606)
- [docs] fix RTD builds due to conda's problems StrikerRUS (2725)
- [ci] use raw strings in NuGet helper script StrikerRUS (2710)
- [R-package] moved parameter validations up earlier in function calls jameslamb (2663)
- [R-package] added test that Dataset$setinfo() converts 'group' input to integer jameslamb (2687)
- [R-package] added tests on lgb.plot.importance and clarified documentation jameslamb (2692)
- check _mm_prefetch in cmake guolinke (2694)
- [R-package] added tests on lgb.prepare function jameslamb (2685)
- [R-package] [ci] removed TODOs in code jameslamb (2667)
- [R-package] simplified lgb.check.eval() jameslamb (2654)
- [R-package] removed function lgb.check.params jameslamb (2652)
- [R-package] fixed typo for variable valid_contain_train jameslamb (2653)
- [ci] bump XCode version for Travis StrikerRUS (2646)
- fixed some cpplint issues StrikerRUS (2635)
- [R-package][ci] added CI stage for R package (fixes 2335, fixes 2569) jameslamb (2530)
- [docs] fixed broken link in docs StrikerRUS (2623)
- [python][R-package] warn users about untransformed values in case of custom obj StrikerRUS (2611)
- [docs] fixed broken link in docs StrikerRUS (2601)
- fix compile warning for HDFS version StrikerRUS (2586)
- bump version for development StrikerRUS (2599)
```
Links
- PyPI: https://pypi.org/project/lightgbm
- Changelog: https://pyup.io/changelogs/lightgbm/
- Repo: https://github.com/microsoft/LightGBM
This PR updates lightgbm from 2.3.1 to 3.1.1.
Changelog
### 3.1.1 ``` - [ci] add credentials to gitignore jameslamb (3620) - [R-package] Update remaining internal function calls to use keyword arguments zenggyu (3617) - [R package] update lgb.Dataset.R to use keyword arguments zenggyu (3607) - [R-package] Update lgb.model.dt.tree.R to use keyword arguments zenggyu (3605) - [R-package] use keyword arguments for internal functions in utils.R mfrasco6 (3604) - [ci] remove unnecessary environment variables in R-package CI jameslamb (3602) - [R-package][tests] update values in valgrind test StrikerRUS (3600) - [refactor] Reduce code duplication in c_api.cpp AlbertoEAF (3539) - [refactor] SWIG - Split pointer manipulation to individual .i file AlbertoEAF (3538) - [ci] test 32-bit R in CI jameslamb (3588) - [ci] Fix missing git install in R artifact job (fixes 3567) jameslamb (3587) - [R-package] Remove CLI-only objects jameslamb (3566) - small R Docker cleanup StrikerRUS (3582) - [python] remove unnecessary files to reduce sdist size jameslamb (3579) - bump version for development guolinke (3568) - [ci] remove conda from R CI jobs jameslamb (3573) ``` ### 3.1.0 ``` Changes 💡 New Features - Support deterministic guolinke (3494) - Add support to optimize for NDCG at a given truncation level metpavel (3425) - Add support for cuda version less then 10.0 shipengfei92 (3431) - Updated network retry delay strategy to scale aakarshg (3306) - added new GPU docker files StrikerRUS (3408) - Average precision score btrotta (3347) - Advanced method monotone constraints CharlesAuguste (3264) - Build integrated Python package library tpboudreau (3144) - Add support for CUDA-based GPU ChipKerchner (3160) - [Python] Refactors scikit-learn API to allow a list of evaluation metrics gramirezespinoza (3254) - [R-package] added support for first_metric_only (fixes 2368) jameslamb (2912) - [python][sklearn] be compatible with check_is_fitted sklearn function StrikerRUS (3329) 🔨 Breaking - [python] mark 3.1 version is the last one with Python 2 support StrikerRUS (3565) - bump minimal CMake version StrikerRUS (3501) - [R-package] Remove ability to install precompiled lib_lightgbm (fixes 3320) jameslamb (3360) - [python] Drop Python 3.5 support StrikerRUS (3395) 🚀 Efficiency Improvement - Optimization of row-wise histogram construction shiyu1994 (3522) - Add support to optimize for NDCG at a given truncation level metpavel (3425) - fix address alignment, required by cran guolinke (3415) 🐛 Bug Fixes - [ci] Use different PATH based on Rtools version jameslamb (3558) - [ci] fix CUDA CI builds StrikerRUS (3549) - fix constant hessian for huber objective guolinke (3545) - [R-package] [ci] Fix failures with R 3.6 and CMake (fixes 3469) jameslamb (3541) - [R-package] fix learning-to-rank tests on Solaris jameslamb (3534) - [R-package] fix MM_PREFETCH and MM_MALLOC checks in configure.ac jameslamb (3510) - avoid min_data and min_hessian are zeros at the same time guolinke (3492) - Fix add features guolinke (2754) - remove std::move StrikerRUS (3478) - [ci] [R-package] Fix memory leaks found by valgrind jameslamb (3443) - [R-package] Suppresses unknown pragma warnings during CRAN build cctechwiz (3460) - pin Ubuntu version in distroless docker file StrikerRUS (3449) - Move Tree destructor to header file lcsdavid (3417) - [R-package] miscellaneous changes to comply with CRAN requirements jameslamb (3338) - fix type casting warning StrikerRUS (3437) - [R-package] [ci] Make Windows CI fail if R CMD check fails jameslamb (3435) - [python] Use ctypes for parameters of DLL functions for Dataset StrikerRUS (3423) - Use ctypes to pass parameters (fixes 3398) btrotta (3419) - disable monotone constraint in objective functions with renew_tree_output guolinke (3368 - [R-package] Fix incorrect num_iterations, early_stopping_round in saved models (fixes 2208, 2468) jameslamb (3368) - Improve performance of path smoothing btrotta (3396) - fix sparse multiclass local feature contributions and add test imatiach-msft (3382) - Auc mu weights btrotta (3349) - improve subfeature_bynode guolinke (3384) - Fix typo in ResetConfig btrotta (3392) - Avoid segment fault in ResetConfig for GBDT in prediction (fix 3317) shiyu1994 (3373) 📖 Documentation - [docs] simplify RTD config and use latest Sphinx StrikerRUS (3554) - Add note on LightGBM/OpenMP hanging on AWS Batch cvsmith (3553) - Fix 2898: Clearer warning message for user (2^max_depth > num_leaves). AlbertoEAF (3537) - better document for bin_construct_sample_cnt guolinke (3521) - [R-package] [docs] fix broken plots in pkgdown site (fixes 3276) jameslamb (3508) - [docs] added Data Science Bowl Comp Solution 2019 nabokovas (3503) - [docs] fix param docs StrikerRUS (3495) - [docs] update GitHub Actions badge StrikerRUS (3446) - [docs] Change doc link to monotone constraints report to HAL document CharlesAuguste (3410) - [R-package] add new copyright holder in DESCRIPTION jameslamb (3409) - [docs] Simplify the python installation instruction guolinke (3378) - [docs] remove unrelated entry from winning solutions list StrikerRUS (3370) - [python][examples] updated examples with multiple custom metrics StrikerRUS (3367) - [docs] update list of winning solutions in data science competitions Juniper-23 (3358) - [R-package] fix typo in R installation instructions daviddalpiaz (3350) 🧰 Maintenance - fix compilation warning StrikerRUS (3564) - fix warning guolinke (3563) - [R-package] fix install warning jameslamb (3552) - TST make sklearn integration test compatible with 0.24 glemaitre (3533) - move APPLE_OUTPUT_DYLIB option closer to the rest options StrikerRUS (3547) - [ci] simplify R CI scripts jameslamb (3535) - [ci] Make valgrind check stricter jameslamb (3536) - fix invalid read detected by valgrind guolinke (3526) - ignore files from local Dask work jameslamb (3527) - [ci] upgrade GitHub Actions third-party actions to newest versions jameslamb (3524) - [R-package] remove Makefile hack in install.libs.R jameslamb (3528) - [R-package] [ci] add correct path for mingw32-make in CI jameslamb (3523) - [ci] fix check-docs error with AMD support website (fixes 3529) jameslamb (3530) - [R-package] remove unused variables in configure.ac jameslamb (3509) - [R-package] Updated lgb.Booster.R with keyword arguments Pey-crypto (3496) - [ci] automate building CRAN package jameslamb (3497) - [tests][python] remove excess iterations nabokovas (3504) - [ci] Update MacOS version at Travis nabokovas (3505) - [ci] [python] reduce unnecessary data loading in tests jameslamb (3486) - setup CUDA CI job StrikerRUS (3424) - [ci] update SWIG installation on macOS StrikerRUS (3477) - [R-package] Improves logging in lint_r_code.R (fixes 3471) sinAshish (3472) - [R-package] Updated lgb.Predictor.R with keyword arguments AnshuTrivedi (3464) - [ci] ignore R CMD CHECK warnings on new R version jameslamb (3468) - [R-package] remove deprecation warnings on lgb.prepare() functions jameslamb (3444) - [R-package] Updated lgb.train.R with keyword arguments iadi7ya (3452) - [R-package] [ci] Add test on R package with sanitizers jameslamb (3439) - [R-package] add 'cleanup' script to handle left-behind Makevars jameslamb (3434) - [R-package] Update callback.R with keyword arguments philip-khor (3430) - [ci] rename R-package GitHub Actions workflow StrikerRUS (3429) - fix warnings guolinke (3399) - [python] fix dangerous default for eval_at in LGBMRanker jameslamb (3377) - [ci] removed unused environment variable CONDA_ENV jameslamb (3411) - [R-package] use keyword arguments in internal function calls jameslamb (3391) - [R-package] mark CMake option for building R package as private StrikerRUS (3397) - [ci] Use Ubuntu Focal image at Travis StrikerRUS (3393) - [ci] update Boost version StrikerRUS (3389) - [R-package] ignore temp files created by R on Mac jameslamb (3388) - [python] remove unused variable jameslamb (3376) - [R-package] remove unnecessary comments jameslamb (3356) - [ci] host some artifacts needed by R Windows CI jobs jameslamb (3359) - [ci] remove Azure checks from R CI jameslamb (3355) - [ci] add an allgood job for easy [required] builds graingert (3351) - bump version guolinke (3344) ``` ### 3.0.0 ``` Changes 💡 New Features - [python] add return_cvbooster flag to cv func and publish _CVBooster (283,2105,1445) momijiame (3204) - [R-package] make package installable with CRAN toolchain (fixes 2960) jameslamb (3188) - feat: Change locking strategy of Booster, allow for share and unique locks JoanFM (2760) - feature importance type in saved model file guolinke (3220) - [R-package] Interface for interaction constraints btrotta (3136) - adding sparse support to TreeSHAP in lightgbm imatiach-msft (3000) - Adding static library option dpayne (3171) - Interaction constraints btrotta (3126) - [R-package] Add support for R 4.0 (fixes 3064, fixes 3024) jameslamb (3065) - [python][scikit-learn] add new attribute for used number of features a-wozniakowski (3129) - redirect log to python console guolinke (3090) - Path smoothing btrotta (2950) - [SWIG][mmlspark] allow allocating more than int max array imatiach-msft (2859) - Support UTF-8 characters in feature name again henry0312 (2976) - [python] Re-enable scikit-learn 0.22+ support StrikerRUS (2949) - Pr3 monotone constraints splits penalization CharlesAuguste (2939) - [R-package] adding routine registration in R package (fixes 1910) jameslamb (2911) - [R-package] Use Rprintf for logging in the R package (fixes 1440, fixes 1909) jameslamb (2901) - Improving monotone constraints ("Fast" method; linked to 2305, 2717) CharlesAuguste (2770) - [python] handle RandomState object in Scikit-learn Api lpfann (2904) - Debug flags guolinke (2825) - added feature infos to JSON dump StrikerRUS (2660) - Add capability to get possible max and min values for a model JoanFM (2737) - Extremely randomized trees btrotta (2671) - [python] add property: feature_name_ in lgb sklearn api zhangqibot (2740) - Implementation of XE_NDCG_MART for the ranking task sbruch (2620) - [python] Output model to a pandas DataFrame pford221 (2592) - option to disable the shape checking in prediction. guolinke (2669) - added feature importance to JSON dump StrikerRUS (2656) - [python] allow to specify orientation of a tree StrikerRUS (2605) - auc-mu btrotta (2567) - [python] Allow python sklearn interface's fit() to pass init_model to train() aaiyer (2447) - Add more debug logging to show data load progress. ashok-ponnuswami-msft (2587) 🔨 Breaking - [Python] add start_iteration to python predict interface (3058) shiyu1994 (3272) - [R-package] refactor and improvements to lgb.convert() functions (fixes 2678, 2681) jameslamb (3269) - [R-package] deprecate lgb.prepare() and lgb.prepare2() jameslamb (3095) - [R-package] Add version floor of R 3.5 (fixes 3212) jameslamb (3216) - refactor LGBM_DatasetGetFeatureNames StrikerRUS (3022) - Fix SWIG methods that return char** AlbertoEAF (2850) - Code refactoring for ranking objective & Faster ndcg_xendcg guolinke (2801) - decouple bagging with num_threads guolinke (2804) - remove init-score parameter guolinke (2776) - [python] [R-package] refine the parameters for Dataset guolinke (2594) - Support both row-wise and col-wise multi-threading guolinke (2699) - [ci] indicate support only for the last 3 macOS versions in wheel name StrikerRUS (2691) - removed OpenMP ugly fix for Mojave StrikerRUS (2674) - [python] specify the last supported version of scikit-learn StrikerRUS (2637) 🚀 Efficiency Improvement - Feat/optimize single prediction AlbertoEAF (2992) - Optimize the computation of the cross-entropy ranking loss sbruch (3080) - Speed-up "Split" and some code refactorings guolinke (2883) - speed up `FindBestThresholdFromHistogram` guolinke (2867) - speed up for const hessian guolinke (2857) - reduce the overhead of OMP_NUM_THREADS in training guolinke (2852) - speed up multi-val bin subset for bagging guolinke (2827) - speed up sub-feature in row-wise parallelism guolinke (2764) - slightly reduce the cost of multi-val bin construct. guolinke (2728) - more efficient sampling k from n guolinke (2693) - support most frequent bin guolinke (2689) - prefetch hint (1.3x speed-up) guolinke (2677) 🐛 Bug Fixes - [R] Fix 32-bit build guolinke (3307) - fix zero bin in categorical split guolinke (3305) - [R-package] DESCRIPTION changes to address CRAN feedback jameslamb (3298) - create buffer for gradients and hessians with goss and customized objective (fixes 3243) shiyu1994 (3263) - update multi-class objective (softmax) guolinke (3256) - Fast single row predict API v2 AlbertoEAF (3268) - [R-package] fix early_stopping_round <= 0 jameslamb (3259) - fix bug in CEGB when reset training data or config guolinke (3246) - fix possible problem in getting number of columns from libsvm file. guolinke (3242) - set num_threads of share_state (3151) shiyu1994 (3238) - Upcast index to size_t in Refit jtilly (3228) - [python][scikit-learn] Fixes a bug that prevented using multiple eval_metrics in LGBMClassifier gramirezespinoza (3222) - [python] fix early_stopping_round = 0 guolinke (3211) - Fix integer overflow in auc_mu (fixes 3201) btrotta (3209) - Store the true split gain (without subtracting min_split_gain) in tree models (fix Issue 3054) shiyu1994 (3196) - Fix bug with interaction constraints btrotta (3189) - [R-package] [ci] update to R 4.0.2 for Windows CI jobs (fixes 3191) jameslamb (3193) - fix str2double for `leaf_weights` guolinke (3148) - fix error C3861: '_BitScanReverse': identifier not found StrikerRUS (3141) - [R-package] fix best_score using custom evaluation (fixes 3112) jameslamb (3117) - [R-package] Turn matrix to storage mode "double" mayer79 (3140) - memory corruption fix for distributed data parallel version before SyncUpGlobalBestSplit imatiach-msft (3110) - [R-package] fix issue where early stopping thinks higher MAPE is desirable (fixes 3099) jameslamb (3101) - fix a bug when we set the default score guanqun (3114) - fix MSVC warning about control paths (fixes 3067) jameslamb (3068) - Fixed machine list parsing: s/find_first_of/find odimka (3108) - fix refactoring bug in voting parallel guolinke (3089) - fix goss with constant hessian guolinke (3077) - [docs] update link to GitHub anchor conventions jameslamb (3085) - fix goss bug guolinke (3063) - [R-package] add conda dir for LIBR_CORE_LIBRARY (fixes 3045) jameslamb (3046) - [R-package] CMake fixes to support MSVC jameslamb (2963) - Fix loss computation in rank cross-entropy objective sbruch (3031) - [R-package] fixed best_iter and best_score when training data is passed (fixes 2295, 2525) jameslamb (2961) - [R-package] fix R examples and lgb.plot.interpretation() jameslamb (3002) - Revert "Fix Booster read/write locale dependency (2891)" henry0312 (2980) - [SWIG][mmlspark] fix seg fault in LGBM_BoosterGetEvalNamesSWIG imatiach-msft (2958) - fix inf in json model dump StrikerRUS (2940) - [R-package] fixed evaluation on valids in lightgbm() (fixes 2915) jameslamb (2916) - Fix IsZero in tree.h AlbertoEAF (2932) - [R-package] fixed handling of multiple evaluation metrics (fixes 2913) jameslamb (2914) - Fix Booster read/write locale dependency AlbertoEAF (2891) - [python] Fix continued train by reusing the same dataset guolinke (2906) - [python] fix the bug when use different params with reference guolinke (2907) - fix ResetConfig in FeatureHistogram guolinke (2882) - fixed cpplint errors and VS project files StrikerRUS (2873) - fix possible bug related num_threads guolinke (2876) - [python] save all param values into model file StrikerRUS (2589) - shrinkage to internal values guolinke (2853) - fix bug in parallel learning guolinke (2851) - don't save num_thread as possible guolinke (2839) - fix bug for multi-val-bin construction guolinke (2841) - fix forced split guolinke (2838) - avoid most_freq_bin to be 0 in categorical features guolinke (2824) - fix index and remove unused includes StrikerRUS (2829) - support larger element size for multi-val bin guolinke (2817) - fix random threshold for categorical features guolinke (2802) - fix bug when nan bin is most freq bin guolinke (2811) - Fix SingleRowPredictor::IsPredictorEqual comparison (invert) AlbertoEAF (2799) - [R-package] Fixed R implementation of upper_bound() and lower_bound() for lgb.Booster jameslamb (2785) - [R-package] fixed R Dataset aliases StrikerRUS (2775) - fix max_depth in CEGB guolinke (2751) - fix subset bug guolinke (2748) - Config static initialization jcipar (2743) - Preventing denormal leaf values jpkoponen (2724) - [python][R-package][docs] fix support of XE_NDCG_MART obj in language wrappers and docs StrikerRUS (2726) - add is_sparse back guolinke (2729) - fix 2696 sh1ng (2700) - [R-package] fixed sorting issues in lgb.cv() when using a model with observation weights (fixes 2572) jameslamb (2573) - [python] fix trees_to_dataframe and enhance test StrikerRUS (2690) - [python] [R-package] Use the same address when updated label/weight/query guolinke (2662) - fix predict with header guolinke (2643) - [python][sklearn] do not modify args in fit function and minor code cleanup StrikerRUS (2619) - [python] Variable Typo: redictor -> predictor duckladydinh (2622) - LightGBM would hang on MPI run if only some nodes have a fatal error. ashok-ponnuswami-msft (2600) 📖 Documentation - [R-package] Add R logo (fixes 3331, 3332) jameslamb (3336) - [docs][python][sklearn] remove excess fit arguments from docstrings StrikerRUS (3330) - [docs] added logo to docs StrikerRUS (3327) - Added winning solution using LightGBM julioasotodv (3314) - [R-package] Add docs on building and using precompiled binaries for the R package jameslamb (3285) - [docs] Fix repetition of `tree_method` hyper-parameter in xgboost_hist Shihab-Shahriar (3296) - [doc] better doc for `keep_training_booster` guolinke (3275) - [docs] improve params docs StrikerRUS (3252) - typo fix guanqun (3174) - [docs] Improve some phrasing in the installation guide Lewington-pitsos (3214) - [docs] document option to build a static library StrikerRUS (3190) - [docs][scikit-learn] removed duplicated docstrings StrikerRUS (3164) - [ci][docs] fix broken links StrikerRUS (3176) - [R-package] [docs] fix warnings in pkgdown site building jameslamb (3086) - [R-package] [docs] Removed outdated language about the R package jameslamb (3070) - [docs] document one more workaround for CMake and MinGW build and fix typos StrikerRUS (3081) - [docs] Document cmake+MinGW (fixes 3060) Laurae2 (3078) - [docs] updated docs about output values StrikerRUS (3037) - [docs] updated bug report template jameslamb (3032) - [R-package] Remove lgbdl from docs until fix Laurae2 (3035) - [R-package] [docs] remove unnecessary build in test coverage jameslamb (3004) - [docs] update link to Julia wrapper StrikerRUS (3021) - [docs] updated core team list StrikerRUS (3001) - [R-package] [docs] Simplified examples to cut example run time (fixes 2988) jameslamb (2989) - [docs] Add LightGBM Tuner by Optuna links to README.md Crissman (2893) - [docs] add link to blog post about Optuna to Parameters-Tuning.rst Crissman (2896) - [docs] update latest benchmark results guolinke (2887) - [R-package] [docs] Added documentation on lgb.dl() and data.table version (fixes 2715) jameslamb (2846) - fixed cpplint issues and updated docs StrikerRUS (2830) - [docs] Added subsections into param list StrikerRUS (2779) - Better documentation for Contributing guolinke (2781) - [docs] fixed metric_freq param description StrikerRUS (2780) - [docs] removed mentions of sparse_threshold StrikerRUS (2758) - [R-package] clarified error messages and documentation for lgb.get.eval.result() jameslamb (2686) - [R-package][docs] made roxygen2 tags explicit and cleaned up documentation jameslamb (2688) - [R-package] Added instructions for generating R test coverage jameslamb (2664) - [R-package] [docs] Added reference to unofficial R extensions (fixes 2640) jameslamb (2670) - warning for init_score in save_binary guolinke (2649) - [docs] provide link to m2cgen from convert_model_language param description StrikerRUS (2591) - [docs] added link to cuML in external repos section of README StrikerRUS (2634) - [docs] added search key words for artifacts StrikerRUS (2631) - [docs] enhanced description of cat features param StrikerRUS (2627) - [docs] updated records of kaggle competitions jameslamb (2621) - [docs] added link to kubeflow fairing and enhanced parallel guide StrikerRUS (2602) 🧰 Maintenance - [ci] fix R CMD check issue 'unable to verify current time' jameslamb (3341) - [R-package] [ci] Reduce manual effort for version updates jameslamb (3335) - [R-package] update roles in DESCRIPTION jameslamb (3333) - Add Logo to readme guolinke (3322) - [ci] bump Xcode version at Travis StrikerRUS (3323) - [ci][docs] update Doxygen link in docs StrikerRUS (3324) - [R-package] remove blank lines and not-really-comments from .Rbuildignore jameslamb (3318) - [ci][docs] explicitly recuire fresh versions of RTD stuff StrikerRUS (3315) - [ci] Test 32-bit builds for R package jameslamb (3311) - fix typo StrikerRUS (3309) - [ci] fix flaky R CMD check test about library size jameslamb (3308) - fix vc project guolinke (3304) - simplify start_iteration param for predict in Python and some code cleanup for start_iteration StrikerRUS (3288) - [python] try to use bundled distutils to setuptools during setup StrikerRUS (3294) - [ci][python] fix sklearn FutureWarning about positional args StrikerRUS (3295) - [ci][docs] fix current master failures for docs test StrikerRUS (3297) - [R-package] suppress warning about empty 'compute' directory and fix Rtools installation jameslamb (3277) - bump version for development guolinke (3281) - [CI] fix R's installation guolinke (3279) - [R-package] move all examples to dontrun() to fix R CMD CHECK notes jameslamb (3270) - [R-package] add some R build files to gitignore jameslamb (3271) - [tests][python][scikit-learn] New unit tests and maintenance a-wozniakowski (3253) - [ci] run Travis and Azure Pipelines only for master branch StrikerRUS (3265) - [R-package] allow R to pick between -fPIC and -fpic for CRAN package jameslamb (3261) - [TYPO] DatasetLoader::ConstructFromSampleData lcsdavid (3258) - remove unnecessary semicolon jameslamb (3260) - [ci] partly remove macOS temp CI fix StrikerRUS (3251) - [R-package] remove duplicated test jameslamb (3250) - update gitignore to ignore files created by clion zhengruifeng (3248) - [R-package] Add tests on lgb.check.eval, lgb.unloader, and lgb.encode.char jameslamb (3235) - [ci] remove unnecessary R_CHECK_FORCE_SUGGESTS in CI scripts jameslamb (3240) - typo fix guolinke (3239) - [SWIG] removed commented code StrikerRUS (3233) - [R-package] add test on importance types jameslamb (3231) - [R-package] factor out {ggplot2} jameslamb (3224) - add rules for tests/ in CODEOWNERS jameslamb (3226) - [ci] bump R 4 version StrikerRUS (3225) - [R-package] remove xlen_t in custom R-to-C++ interface jameslamb (3223) - [R-package] remove unused Suggests dependencies jameslamb (3217) - Remove extra semicolons AIshb (3215) - [ci] [R-package] catch builds that have not updated docs jameslamb (3205) - [ci] bump gcc version for macOS StrikerRUS (3208) - Allow the minimal feature to 1 in column sampling guolinke (3197) - [R-package] [ci] Fix MiKTeX downloads (fixes 3198) jameslamb (3199) - [python][scikit-learn] new stacking tests and make number of features a property a-wozniakowski (3173) - [R-package] fix R CMD check NOTE about leftover files jameslamb (3181) - [ci][docs] added GitHub Actions badge and simplified condition in config StrikerRUS (3179) - [R-package] [ci] cut nrounds in unit tests jameslamb (3169) - [ci] update Boost version StrikerRUS (3175) - [ci] Move R Windows CI to GitHub Actions jameslamb (3168) - [ci] avoid VS warning for R builds StrikerRUS (3162) - [ci][docs] temporarily pin Sphinx version StrikerRUS (3157) - Revert "re-order includes (fixes 3132) (3133)" StrikerRUS (3153) - [ci] make MiKTeX downloads more reliable jameslamb (3124) - [ci] use GitHub Actions for R CI jobs (fixes 2353) jameslamb (3119) - re-order includes (fixes 3132) jameslamb (3133) - [ci] remove unused environment variable in CI setups jameslamb (3125) - [R-package] move R source files into R-package, reduce duplication in build_r.R jameslamb (3087) - [ci] fix add-apt-repository warning jameslamb (3104) - [R-package] characterize all cmake messages jameslamb (3105) - [R-package] [docs] replace build_r_site.R with pkgdown::build_site() jameslamb (3098) - [ci] bump XCode version at Travis StrikerRUS (3097) - [ci] avoid duplicate AppVeyor builds jameslamb (3096) - [R-package] [ci] Fix CI timeouts for Mac builds on Travis (fixes 3091) jameslamb (3092) - [R-package] fix warnings in tests jameslamb (3069) - [R-package] [docs] remove devtools dependency for docs builds (fixes 3036) jameslamb (3072) - [R-package] speed up installation with Visual Studio jameslamb (2965) - Update CODEOWNERS rule about CMakeLists.txt jameslamb (3079) - removed deprecated code StrikerRUS (3073) - [R-package] added tests on LGBM_BoosterResetTrainingData_R jameslamb (3020) - [python-package] Use set for OS check jameslamb (3059) - typo fix guanqun (3055) - [ci] fix flaky test StrikerRUS (3056) - [docs] update ROCm link in docs StrikerRUS (3050) - [R-package] [ci] Add Windows CI for R package (fixes 2335) jameslamb (2936) - [python][tests] unused and missing imports jameslamb (3023) - [R-package] added tests on LGBM_BoosterRollbackOneIter_R jameslamb (3006) - [R-package] Added tests on LGBM_GetLastError_R jameslamb (3005) - [R-package] Added tests on creating a Booster from a Dataset jameslamb (3007) - [ci] minor CI scripts update StrikerRUS (3019) - [R-package] [ci] added echoing of R CMD check logs to CI jameslamb (3009) - [ci][docs] Fix RTD builds StrikerRUS (3015) - [ci][docs] be compatible with Sphinx 3 StrikerRUS (3013) - [ci] Changed use of strcpy to snprintf (fixes 1990) jameslamb (2973) - [R-package] Updated package metadata in DESCRIPTION jameslamb (2993) - [R-package] Removed unused constant in R_object_helper.h jameslamb (2994) - Update CODEOWNERS StrikerRUS (2996) - more cpp lints guolinke (2985) - [python][ci] start to support Python 3.8 StrikerRUS (2713) - [ci] fixed r-lintr version constraint StrikerRUS (2990) - [R-package] Added unit tests on creating Booster from file or string jameslamb (2945) - fix cpp lint in json11 guolinke (2975) - [ci][docs] downgrade breathe StrikerRUS (2982) - [docs] update URL in docs StrikerRUS (2978) - [ci][docs] downdrage sphinx and fix LaTeX error in R-package tests StrikerRUS (2977) - fixed cpplint errors about string& members jameslamb (2929) - fixed cpplint errors StrikerRUS (2971) - [ci] upgrade to R 3.6.3 in CI jameslamb (2969) - replace built-in assert with own CHECK macro StrikerRUS (2938) - Cleanup MissingType enum constants AlbertoEAF (2931) - [ci] reduce duplication in Python Windows CI jameslamb (2962) - [R-package] [ci] Add option to skip installation in build_r.R jameslamb (2957) - [ci][docs] fixed broken link StrikerRUS (2956) - [ci] changed CRAN mirror to fix failing installs jameslamb (2954) - [R-package] [ci] added check on number of R CMD CHECK notes jameslamb (2942) - changed sprintf uses to snprintf jameslamb (2920) - [R-package] fixed some minor issues with testing on Windows jameslamb (2908) - [R-package] added test on uncovered line of lgb.plot.importance() jameslamb (2903) - [ci] fixed cpplint errors about namespace using-directives jameslamb (2927) - [R-package] fixed NOTE about unrecognized global variable jameslamb (2928) - [ci] fix VS project files StrikerRUS (2924) - [R-package] [ci] added more linters jameslamb (2803) - [R-package] removed duplicated code figuring out build_dir in install.libs.R jameslamb (2917) - [R-package] added command to remove build/ dir in install.libs.R jameslamb (2909) - fix release-drafter.yml guolinke (2895) - [R-package] removed unnecessary flag in tests jameslamb (2910) - fixed cpplint errors and disable warning only for VS StrikerRUS (2888) - [R-package] cleaned up formatting in R C/C++ files jameslamb (2844) - [R-package] Introduce R-specific control of lib_lightgbm jameslamb (2837) - add more bots guolinke (2843) - [ci] fixed cpplint warnings about braces jameslamb (2869) - use specific checks in auto config StrikerRUS (2864) - fix warnings in debug mode about that not all control paths return a value StrikerRUS (2866) - fixed cpplint issues StrikerRUS (2863) - [R-package] [ci] added tests on early_stopping jameslamb (2848) - [docs] update link to MS MPI StrikerRUS (2861) - [R-package] removed unused imports from R-specific lib_lightgbm components jameslamb (2845) - [docs] Fix description according to markdownlint daikikatsuragawa (2865) - [ci] fix R tests for macOS on Azure Pipelines StrikerRUS (2856) - [R-package] added test on training with sparse features jameslamb (2847) - introduced specific CHECKs StrikerRUS (2849) - update lockbot StrikerRUS (2842) - fixed cpplint error about namespace using-directives StrikerRUS (2836) - Update BUG_REPORT.md guolinke (2833) - Add lock bot guolinke (2815) - No LinkTimeCodeGeneration in VS guolinke (2812) - [ci] bump Azure image versions StrikerRUS (2822) - [tests][python] fixed pandas deprecation warning in tests StrikerRUS (2819) - replace std::runtime_error with Log::Fatal StrikerRUS (2816) - Make timer thread-safe guolinke (2800) - fixed cpplint issues StrikerRUS (2809) - fix clang warning for GPU guolinke (2807) - [R-package] [docker] Added ability to build LightGBM in an R container with different R versions jameslamb (2787) - [docs] fixed broken links StrikerRUS (2795) - some code refactoring guolinke (2769) - fixed cpplint issues StrikerRUS (2771) - [python] in sklearn wrapper pass cat features to Dataset constructor StrikerRUS (2763) - fixed cpplint issues StrikerRUS (2756) - Refactoring monotone constraints (linked to 2305) CharlesAuguste (2717) - various minor style, docs and cpplint improvements StrikerRUS (2747) - [ci] avoid Appveyor failures StrikerRUS (2753) - warning for testing col-wise and row-wise guolinke (2727) - no omp_set_nested guolinke (2734) - [python][tests] fixed typo StrikerRUS (2732) - removed AVX2 from VS config and reset PlatformToolset values back StrikerRUS (2731) - [ci] swap compilers back for CI services StrikerRUS (2730) - [python][R-package] removed duplicated code from language wrappers StrikerRUS (2606) - [docs] fix RTD builds due to conda's problems StrikerRUS (2725) - [ci] use raw strings in NuGet helper script StrikerRUS (2710) - [R-package] moved parameter validations up earlier in function calls jameslamb (2663) - [R-package] added test that Dataset$setinfo() converts 'group' input to integer jameslamb (2687) - [R-package] added tests on lgb.plot.importance and clarified documentation jameslamb (2692) - check _mm_prefetch in cmake guolinke (2694) - [R-package] added tests on lgb.prepare function jameslamb (2685) - [R-package] [ci] removed TODOs in code jameslamb (2667) - [R-package] simplified lgb.check.eval() jameslamb (2654) - [R-package] removed function lgb.check.params jameslamb (2652) - [R-package] fixed typo for variable valid_contain_train jameslamb (2653) - [ci] bump XCode version for Travis StrikerRUS (2646) - fixed some cpplint issues StrikerRUS (2635) - [R-package][ci] added CI stage for R package (fixes 2335, fixes 2569) jameslamb (2530) - [docs] fixed broken link in docs StrikerRUS (2623) - [python][R-package] warn users about untransformed values in case of custom obj StrikerRUS (2611) - [docs] fixed broken link in docs StrikerRUS (2601) - fix compile warning for HDFS version StrikerRUS (2586) - bump version for development StrikerRUS (2599) ``` ### 3.0.0rc1 ``` Changes 💡 New Features - [python] add return_cvbooster flag to cv func and publish _CVBooster (283,2105,1445) momijiame (3204) - [R-package] make package installable with CRAN toolchain (fixes 2960) jameslamb (3188) - feat: Change locking strategy of Booster, allow for share and unique locks JoanFM (2760) - feature importance type in saved model file guolinke (3220) - [R-package] Interface for interaction constraints btrotta (3136) - adding sparse support to TreeSHAP in lightgbm imatiach-msft (3000) - Adding static library option dpayne (3171) - Interaction constraints btrotta (3126) - [R-package] Add support for R 4.0 (fixes 3064, fixes 3024) jameslamb (3065) - [python][scikit-learn] add new attribute for used number of features a-wozniakowski (3129) - redirect log to python console guolinke (3090) - Path smoothing btrotta (2950) - [SWIG][mmlspark] allow allocating more than int max array imatiach-msft (2859) - Support UTF-8 characters in feature name again henry0312 (2976) - [python] Re-enable scikit-learn 0.22+ support StrikerRUS (2949) - Pr3 monotone constraints splits penalization CharlesAuguste (2939) - [R-package] adding routine registration in R package (fixes 1910) jameslamb (2911) - [R-package] Use Rprintf for logging in the R package (fixes 1440, fixes 1909) jameslamb (2901) - Improving monotone constraints ("Fast" method; linked to 2305, 2717) CharlesAuguste (2770) - [python] handle RandomState object in Scikit-learn Api lpfann (2904) - Debug flags guolinke (2825) - added feature infos to JSON dump StrikerRUS (2660) - Add capability to get possible max and min values for a model JoanFM (2737) - Extremely randomized trees btrotta (2671) - [python] add property: feature_name_ in lgb sklearn api zhangqibot (2740) - Implementation of XE_NDCG_MART for the ranking task sbruch (2620) - [python] Output model to a pandas DataFrame pford221 (2592) - option to disable the shape checking in prediction. guolinke (2669) - added feature importance to JSON dump StrikerRUS (2656) - [python] allow to specify orientation of a tree StrikerRUS (2605) - auc-mu btrotta (2567) - [python] Allow python sklearn interface's fit() to pass init_model to train() aaiyer (2447) - Add more debug logging to show data load progress. ashok-ponnuswami-msft (2587) 🔨 Breaking - [Python] add start_iteration to python predict interface (3058) shiyu1994 (3272) - [R-package] refactor and improvements to lgb.convert() functions (fixes 2678, 2681) jameslamb (3269) - [R-package] deprecate lgb.prepare() and lgb.prepare2() jameslamb (3095) - [R-package] Add version floor of R 3.5 (fixes 3212) jameslamb (3216) - refactor LGBM_DatasetGetFeatureNames StrikerRUS (3022) - Fix SWIG methods that return char** AlbertoEAF (2850) - Code refactoring for ranking objective & Faster ndcg_xendcg guolinke (2801) - decouple bagging with num_threads guolinke (2804) - remove init-score parameter guolinke (2776) - [python] [R-package] refine the parameters for Dataset guolinke (2594) - Support both row-wise and col-wise multi-threading guolinke (2699) - [ci] indicate support only for the last 3 macOS versions in wheel name StrikerRUS (2691) - removed OpenMP ugly fix for Mojave StrikerRUS (2674) - [python] specify the last supported version of scikit-learn StrikerRUS (2637) 🚀 Efficiency Improvement - Feat/optimize single prediction AlbertoEAF (2992) - Optimize the computation of the cross-entropy ranking loss sbruch (3080) - Speed-up "Split" and some code refactorings guolinke (2883) - speed up `FindBestThresholdFromHistogram` guolinke (2867) - speed up for const hessian guolinke (2857) - reduce the overhead of OMP_NUM_THREADS in training guolinke (2852) - speed up multi-val bin subset for bagging guolinke (2827) - speed up sub-feature in row-wise parallelism guolinke (2764) - slightly reduce the cost of multi-val bin construct. guolinke (2728) - more efficient sampling k from n guolinke (2693) - support most frequent bin guolinke (2689) - prefetch hint (1.3x speed-up) guolinke (2677) 🐛 Bug Fixes - create buffer for gradients and hessians with goss and customized objective (fixes 3243) shiyu1994 (3263) - update multi-class objective (softmax) guolinke (3256) - Fast single row predict API v2 AlbertoEAF (3268) - [R-package] fix early_stopping_round <= 0 jameslamb (3259) - fix bug in CEGB when reset training data or config guolinke (3246) - fix possible problem in getting number of columns from libsvm file. guolinke (3242) - set num_threads of share_state (3151) shiyu1994 (3238) - Upcast index to size_t in Refit jtilly (3228) - [python][scikit-learn] Fixes a bug that prevented using multiple eval_metrics in LGBMClassifier gramirezespinoza (3222) - [python] fix early_stopping_round = 0 guolinke (3211) - Fix integer overflow in auc_mu (fixes 3201) btrotta (3209) - Store the true split gain (without subtracting min_split_gain) in tree models (fix Issue 3054) shiyu1994 (3196) - Fix bug with interaction constraints btrotta (3189) - [R-package] [ci] update to R 4.0.2 for Windows CI jobs (fixes 3191) jameslamb (3193) - fix str2double for `leaf_weights` guolinke (3148) - fix error C3861: '_BitScanReverse': identifier not found StrikerRUS (3141) - [R-package] fix best_score using custom evaluation (fixes 3112) jameslamb (3117) - [R-package] Turn matrix to storage mode "double" mayer79 (3140) - memory corruption fix for distributed data parallel version before SyncUpGlobalBestSplit imatiach-msft (3110) - [R-package] fix issue where early stopping thinks higher MAPE is desirable (fixes 3099) jameslamb (3101) - fix a bug when we set the default score guanqun (3114) - fix MSVC warning about control paths (fixes 3067) jameslamb (3068) - Fixed machine list parsing: s/find_first_of/find odimka (3108) - fix refactoring bug in voting parallel guolinke (3089) - fix goss with constant hessian guolinke (3077) - [docs] update link to GitHub anchor conventions jameslamb (3085) - fix goss bug guolinke (3063) - [R-package] add conda dir for LIBR_CORE_LIBRARY (fixes 3045) jameslamb (3046) - [R-package] CMake fixes to support MSVC jameslamb (2963) - Fix loss computation in rank cross-entropy objective sbruch (3031) - [R-package] fixed best_iter and best_score when training data is passed (fixes 2295, 2525) jameslamb (2961) - [R-package] fix R examples and lgb.plot.interpretation() jameslamb (3002) - Revert "Fix Booster read/write locale dependency (2891)" henry0312 (2980) - [SWIG][mmlspark] fix seg fault in LGBM_BoosterGetEvalNamesSWIG imatiach-msft (2958) - fix inf in json model dump StrikerRUS (2940) - [R-package] fixed evaluation on valids in lightgbm() (fixes 2915) jameslamb (2916) - Fix IsZero in tree.h AlbertoEAF (2932) - [R-package] fixed handling of multiple evaluation metrics (fixes 2913) jameslamb (2914) - Fix Booster read/write locale dependency AlbertoEAF (2891) - [python] Fix continued train by reusing the same dataset guolinke (2906) - [python] fix the bug when use different params with reference guolinke (2907) - fix ResetConfig in FeatureHistogram guolinke (2882) - fixed cpplint errors and VS project files StrikerRUS (2873) - fix possible bug related num_threads guolinke (2876) - [python] save all param values into model file StrikerRUS (2589) - shrinkage to internal values guolinke (2853) - fix bug in parallel learning guolinke (2851) - don't save num_thread as possible guolinke (2839) - fix bug for multi-val-bin construction guolinke (2841) - fix forced split guolinke (2838) - avoid most_freq_bin to be 0 in categorical features guolinke (2824) - fix index and remove unused includes StrikerRUS (2829) - support larger element size for multi-val bin guolinke (2817) - fix random threshold for categorical features guolinke (2802) - fix bug when nan bin is most freq bin guolinke (2811) - Fix SingleRowPredictor::IsPredictorEqual comparison (invert) AlbertoEAF (2799) - [R-package] Fixed R implementation of upper_bound() and lower_bound() for lgb.Booster jameslamb (2785) - [R-package] fixed R Dataset aliases StrikerRUS (2775) - fix max_depth in CEGB guolinke (2751) - fix subset bug guolinke (2748) - Config static initialization jcipar (2743) - Preventing denormal leaf values jpkoponen (2724) - [python][R-package][docs] fix support of XE_NDCG_MART obj in language wrappers and docs StrikerRUS (2726) - add is_sparse back guolinke (2729) - fix 2696 sh1ng (2700) - [R-package] fixed sorting issues in lgb.cv() when using a model with observation weights (fixes 2572) jameslamb (2573) - [python] fix trees_to_dataframe and enhance test StrikerRUS (2690) - [python] [R-package] Use the same address when updated label/weight/query guolinke (2662) - fix predict with header guolinke (2643) - [python][sklearn] do not modify args in fit function and minor code cleanup StrikerRUS (2619) - [python] Variable Typo: redictor -> predictor duckladydinh (2622) - LightGBM would hang on MPI run if only some nodes have a fatal error. ashok-ponnuswami-msft (2600) 📖 Documentation - [doc] better doc for `keep_training_booster` guolinke (3275) - [docs] improve params docs StrikerRUS (3252) - typo fix guanqun (3174) - [docs] Improve some phrasing in the installation guide Lewington-pitsos (3214) - [docs] document option to build a static library StrikerRUS (3190) - [docs][scikit-learn] removed duplicated docstrings StrikerRUS (3164) - [ci][docs] fix broken links StrikerRUS (3176) - [R-package] [docs] fix warnings in pkgdown site building jameslamb (3086) - [R-package] [docs] Removed outdated language about the R package jameslamb (3070) - [docs] document one more workaround for CMake and MinGW build and fix typos StrikerRUS (3081) - [docs] Document cmake+MinGW (fixes 3060) Laurae2 (3078) - [docs] updated docs about output values StrikerRUS (3037) - [docs] updated bug report template jameslamb (3032) - [R-package] Remove lgbdl from docs until fix Laurae2 (3035) - [R-package] [docs] remove unnecessary build in test coverage jameslamb (3004) - [docs] update link to Julia wrapper StrikerRUS (3021) - [docs] updated core team list StrikerRUS (3001) - [R-package] [docs] Simplified examples to cut example run time (fixes 2988) jameslamb (2989) - [docs] Add LightGBM Tuner by Optuna links to README.md Crissman (2893) - [docs] add link to blog post about Optuna to Parameters-Tuning.rst Crissman (2896) - [docs] update latest benchmark results guolinke (2887) - [R-package] [docs] Added documentation on lgb.dl() and data.table version (fixes 2715) jameslamb (2846) - fixed cpplint issues and updated docs StrikerRUS (2830) - [docs] Added subsections into param list StrikerRUS (2779) - Better documentation for Contributing guolinke (2781) - [docs] fixed metric_freq param description StrikerRUS (2780) - [docs] removed mentions of sparse_threshold StrikerRUS (2758) - [R-package] clarified error messages and documentation for lgb.get.eval.result() jameslamb (2686) - [R-package][docs] made roxygen2 tags explicit and cleaned up documentation jameslamb (2688) - [R-package] Added instructions for generating R test coverage jameslamb (2664) - [R-package] [docs] Added reference to unofficial R extensions (fixes 2640) jameslamb (2670) - warning for init_score in save_binary guolinke (2649) - [docs] provide link to m2cgen from convert_model_language param description StrikerRUS (2591) - [docs] added link to cuML in external repos section of README StrikerRUS (2634) - [docs] added search key words for artifacts StrikerRUS (2631) - [docs] enhanced description of cat features param StrikerRUS (2627) - [docs] updated records of kaggle competitions jameslamb (2621) - [docs] added link to kubeflow fairing and enhanced parallel guide StrikerRUS (2602) 🧰 Maintenance - [CI] fix R's installation guolinke (3279) - [R-package] move all examples to dontrun() to fix R CMD CHECK notes jameslamb (3270) - [R-package] add some R build files to gitignore jameslamb (3271) - [tests][python][scikit-learn] New unit tests and maintenance a-wozniakowski (3253) - [ci] run Travis and Azure Pipelines only for master branch StrikerRUS (3265) - [R-package] allow R to pick between -fPIC and -fpic for CRAN package jameslamb (3261) - [TYPO] DatasetLoader::ConstructFromSampleData lcsdavid (3258) - remove unnecessary semicolon jameslamb (3260) - [ci] partly remove macOS temp CI fix StrikerRUS (3251) - [R-package] remove duplicated test jameslamb (3250) - update gitignore to ignore files created by clion zhengruifeng (3248) - [R-package] Add tests on lgb.check.eval, lgb.unloader, and lgb.encode.char jameslamb (3235) - [ci] remove unnecessary R_CHECK_FORCE_SUGGESTS in CI scripts jameslamb (3240) - typo fix guolinke (3239) - [SWIG] removed commented code StrikerRUS (3233) - [R-package] add test on importance types jameslamb (3231) - [R-package] factor out {ggplot2} jameslamb (3224) - add rules for tests/ in CODEOWNERS jameslamb (3226) - [ci] bump R 4 version StrikerRUS (3225) - [R-package] remove xlen_t in custom R-to-C++ interface jameslamb (3223) - [R-package] remove unused Suggests dependencies jameslamb (3217) - Remove extra semicolons AIshb (3215) - [ci] [R-package] catch builds that have not updated docs jameslamb (3205) - [ci] bump gcc version for macOS StrikerRUS (3208) - Allow the minimal feature to 1 in column sampling guolinke (3197) - [R-package] [ci] Fix MiKTeX downloads (fixes 3198) jameslamb (3199) - [python][scikit-learn] new stacking tests and make number of features a property a-wozniakowski (3173) - [R-package] fix R CMD check NOTE about leftover files jameslamb (3181) - [ci][docs] added GitHub Actions badge and simplified condition in config StrikerRUS (3179) - [R-package] [ci] cut nrounds in unit tests jameslamb (3169) - [ci] update Boost version StrikerRUS (3175) - [ci] Move R Windows CI to GitHub Actions jameslamb (3168) - [ci] avoid VS warning for R builds StrikerRUS (3162) - [ci][docs] temporarily pin Sphinx version StrikerRUS (3157) - Revert "re-order includes (fixes 3132) (3133)" StrikerRUS (3153) - [ci] make MiKTeX downloads more reliable jameslamb (3124) - [ci] use GitHub Actions for R CI jobs (fixes 2353) jameslamb (3119) - re-order includes (fixes 3132) jameslamb (3133) - [ci] remove unused environment variable in CI setups jameslamb (3125) - [R-package] move R source files into R-package, reduce duplication in build_r.R jameslamb (3087) - [ci] fix add-apt-repository warning jameslamb (3104) - [R-package] characterize all cmake messages jameslamb (3105) - [R-package] [docs] replace build_r_site.R with pkgdown::build_site() jameslamb (3098) - [ci] bump XCode version at Travis StrikerRUS (3097) - [ci] avoid duplicate AppVeyor builds jameslamb (3096) - [R-package] [ci] Fix CI timeouts for Mac builds on Travis (fixes 3091) jameslamb (3092) - [R-package] fix warnings in tests jameslamb (3069) - [R-package] [docs] remove devtools dependency for docs builds (fixes 3036) jameslamb (3072) - [R-package] speed up installation with Visual Studio jameslamb (2965) - Update CODEOWNERS rule about CMakeLists.txt jameslamb (3079) - removed deprecated code StrikerRUS (3073) - [R-package] added tests on LGBM_BoosterResetTrainingData_R jameslamb (3020) - [python-package] Use set for OS check jameslamb (3059) - typo fix guanqun (3055) - [ci] fix flaky test StrikerRUS (3056) - [docs] update ROCm link in docs StrikerRUS (3050) - [R-package] [ci] Add Windows CI for R package (fixes 2335) jameslamb (2936) - [python][tests] unused and missing imports jameslamb (3023) - [R-package] added tests on LGBM_BoosterRollbackOneIter_R jameslamb (3006) - [R-package] Added tests on LGBM_GetLastError_R jameslamb (3005) - [R-package] Added tests on creating a Booster from a Dataset jameslamb (3007) - [ci] minor CI scripts update StrikerRUS (3019) - [R-package] [ci] added echoing of R CMD check logs to CI jameslamb (3009) - [ci][docs] Fix RTD builds StrikerRUS (3015) - [ci][docs] be compatible with Sphinx 3 StrikerRUS (3013) - [ci] Changed use of strcpy to snprintf (fixes 1990) jameslamb (2973) - [R-package] Updated package metadata in DESCRIPTION jameslamb (2993) - [R-package] Removed unused constant in R_object_helper.h jameslamb (2994) - Update CODEOWNERS StrikerRUS (2996) - more cpp lints guolinke (2985) - [python][ci] start to support Python 3.8 StrikerRUS (2713) - [ci] fixed r-lintr version constraint StrikerRUS (2990) - [R-package] Added unit tests on creating Booster from file or string jameslamb (2945) - fix cpp lint in json11 guolinke (2975) - [ci][docs] downgrade breathe StrikerRUS (2982) - [docs] update URL in docs StrikerRUS (2978) - [ci][docs] downdrage sphinx and fix LaTeX error in R-package tests StrikerRUS (2977) - fixed cpplint errors about string& members jameslamb (2929) - fixed cpplint errors StrikerRUS (2971) - [ci] upgrade to R 3.6.3 in CI jameslamb (2969) - replace built-in assert with own CHECK macro StrikerRUS (2938) - Cleanup MissingType enum constants AlbertoEAF (2931) - [ci] reduce duplication in Python Windows CI jameslamb (2962) - [R-package] [ci] Add option to skip installation in build_r.R jameslamb (2957) - [ci][docs] fixed broken link StrikerRUS (2956) - [ci] changed CRAN mirror to fix failing installs jameslamb (2954) - [R-package] [ci] added check on number of R CMD CHECK notes jameslamb (2942) - changed sprintf uses to snprintf jameslamb (2920) - [R-package] fixed some minor issues with testing on Windows jameslamb (2908) - [R-package] added test on uncovered line of lgb.plot.importance() jameslamb (2903) - [ci] fixed cpplint errors about namespace using-directives jameslamb (2927) - [R-package] fixed NOTE about unrecognized global variable jameslamb (2928) - [ci] fix VS project files StrikerRUS (2924) - [R-package] [ci] added more linters jameslamb (2803) - [R-package] removed duplicated code figuring out build_dir in install.libs.R jameslamb (2917) - [R-package] added command to remove build/ dir in install.libs.R jameslamb (2909) - fix release-drafter.yml guolinke (2895) - [R-package] removed unnecessary flag in tests jameslamb (2910) - fixed cpplint errors and disable warning only for VS StrikerRUS (2888) - [R-package] cleaned up formatting in R C/C++ files jameslamb (2844) - [R-package] Introduce R-specific control of lib_lightgbm jameslamb (2837) - add more bots guolinke (2843) - [ci] fixed cpplint warnings about braces jameslamb (2869) - use specific checks in auto config StrikerRUS (2864) - fix warnings in debug mode about that not all control paths return a value StrikerRUS (2866) - fixed cpplint issues StrikerRUS (2863) - [R-package] [ci] added tests on early_stopping jameslamb (2848) - [docs] update link to MS MPI StrikerRUS (2861) - [R-package] removed unused imports from R-specific lib_lightgbm components jameslamb (2845) - [docs] Fix description according to markdownlint daikikatsuragawa (2865) - [ci] fix R tests for macOS on Azure Pipelines StrikerRUS (2856) - [R-package] added test on training with sparse features jameslamb (2847) - introduced specific CHECKs StrikerRUS (2849) - update lockbot StrikerRUS (2842) - fixed cpplint error about namespace using-directives StrikerRUS (2836) - Update BUG_REPORT.md guolinke (2833) - Add lock bot guolinke (2815) - No LinkTimeCodeGeneration in VS guolinke (2812) - [ci] bump Azure image versions StrikerRUS (2822) - [tests][python] fixed pandas deprecation warning in tests StrikerRUS (2819) - replace std::runtime_error with Log::Fatal StrikerRUS (2816) - Make timer thread-safe guolinke (2800) - fixed cpplint issues StrikerRUS (2809) - fix clang warning for GPU guolinke (2807) - [R-package] [docker] Added ability to build LightGBM in an R container with different R versions jameslamb (2787) - [docs] fixed broken links StrikerRUS (2795) - some code refactoring guolinke (2769) - fixed cpplint issues StrikerRUS (2771) - [python] in sklearn wrapper pass cat features to Dataset constructor StrikerRUS (2763) - fixed cpplint issues StrikerRUS (2756) - Refactoring monotone constraints (linked to 2305) CharlesAuguste (2717) - various minor style, docs and cpplint improvements StrikerRUS (2747) - [ci] avoid Appveyor failures StrikerRUS (2753) - warning for testing col-wise and row-wise guolinke (2727) - no omp_set_nested guolinke (2734) - [python][tests] fixed typo StrikerRUS (2732) - removed AVX2 from VS config and reset PlatformToolset values back StrikerRUS (2731) - [ci] swap compilers back for CI services StrikerRUS (2730) - [python][R-package] removed duplicated code from language wrappers StrikerRUS (2606) - [docs] fix RTD builds due to conda's problems StrikerRUS (2725) - [ci] use raw strings in NuGet helper script StrikerRUS (2710) - [R-package] moved parameter validations up earlier in function calls jameslamb (2663) - [R-package] added test that Dataset$setinfo() converts 'group' input to integer jameslamb (2687) - [R-package] added tests on lgb.plot.importance and clarified documentation jameslamb (2692) - check _mm_prefetch in cmake guolinke (2694) - [R-package] added tests on lgb.prepare function jameslamb (2685) - [R-package] [ci] removed TODOs in code jameslamb (2667) - [R-package] simplified lgb.check.eval() jameslamb (2654) - [R-package] removed function lgb.check.params jameslamb (2652) - [R-package] fixed typo for variable valid_contain_train jameslamb (2653) - [ci] bump XCode version for Travis StrikerRUS (2646) - fixed some cpplint issues StrikerRUS (2635) - [R-package][ci] added CI stage for R package (fixes 2335, fixes 2569) jameslamb (2530) - [docs] fixed broken link in docs StrikerRUS (2623) - [python][R-package] warn users about untransformed values in case of custom obj StrikerRUS (2611) - [docs] fixed broken link in docs StrikerRUS (2601) - fix compile warning for HDFS version StrikerRUS (2586) - bump version for development StrikerRUS (2599) ```Links
- PyPI: https://pypi.org/project/lightgbm - Changelog: https://pyup.io/changelogs/lightgbm/ - Repo: https://github.com/microsoft/LightGBM