diff --git a/.appveyor.yml b/.appveyor.yml
index aae1c3a07..23b8a0a40 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -1,4 +1,4 @@
-version: 4.4.0.99.{build}
+version: 4.5.0.{build}
image: Visual Studio 2015
platform: x64
diff --git a/R-package/configure b/R-package/configure
index d3fdcbbb3..060077f42 100755
--- a/R-package/configure
+++ b/R-package/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for lightgbm 4.4.0.99.
+# Generated by GNU Autoconf 2.71 for lightgbm 4.5.0.
#
#
# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
@@ -607,8 +607,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='lightgbm'
PACKAGE_TARNAME='lightgbm'
-PACKAGE_VERSION='4.4.0.99'
-PACKAGE_STRING='lightgbm 4.4.0.99'
+PACKAGE_VERSION='4.5.0'
+PACKAGE_STRING='lightgbm 4.5.0'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1211,7 +1211,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures lightgbm 4.4.0.99 to adapt to many kinds of systems.
+\`configure' configures lightgbm 4.5.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1273,7 +1273,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of lightgbm 4.4.0.99:";;
+ short | recursive ) echo "Configuration of lightgbm 4.5.0:";;
esac
cat <<\_ACEOF
@@ -1341,7 +1341,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-lightgbm configure 4.4.0.99
+lightgbm configure 4.5.0
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1378,7 +1378,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by lightgbm $as_me 4.4.0.99, which was
+It was created by lightgbm $as_me 4.5.0, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -2454,7 +2454,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by lightgbm $as_me 4.4.0.99, which was
+This file was extended by lightgbm $as_me 4.5.0, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -2509,7 +2509,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-lightgbm config.status 4.4.0.99
+lightgbm config.status 4.5.0
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
diff --git a/R-package/cran-comments.md b/R-package/cran-comments.md
index 32916a0c8..5771889b3 100644
--- a/R-package/cran-comments.md
+++ b/R-package/cran-comments.md
@@ -1,5 +1,28 @@
# CRAN Submission History
+## v4.5.0 - Submission 1 - (TBD)
+
+### CRAN response
+
+TBD
+
+### Maintainer Notes
+
+This release was a response to a request from CRAN.
+On July 4, 2024, CRAN notified us that the following compiler warnings raised by `gcc` 14 needed to be fixed by August 3, 2024.
+
+```text
+Result: WARN
+ Found the following significant warnings:
+ io/dense_bin.hpp:617:27: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
+ io/multi_val_dense_bin.hpp:346:26: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
+ io/multi_val_sparse_bin.hpp:433:36: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
+ io/sparse_bin.hpp:785:19: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
+ See ‘/data/gannet/ripley/R/packages/tests-devel/lightgbm.Rcheck/00install.out’ for details.
+```
+
+This release contains fixes for those issues.
+
## v4.4.0 - Submission 1 - (June 14, 2024)
### CRAN response
diff --git a/R-package/pkgdown/_pkgdown.yml b/R-package/pkgdown/_pkgdown.yml
index c2d6718a2..be3563210 100644
--- a/R-package/pkgdown/_pkgdown.yml
+++ b/R-package/pkgdown/_pkgdown.yml
@@ -14,7 +14,7 @@ repo:
user: https://github.com/
development:
- mode: unreleased
+ mode: release
authors:
Yu Shi:
diff --git a/VERSION.txt b/VERSION.txt
index 50e035a51..a84947d6f 100644
--- a/VERSION.txt
+++ b/VERSION.txt
@@ -1 +1 @@
-4.4.0.99
+4.5.0
diff --git a/docs/Parameters.rst b/docs/Parameters.rst
index bd74bba46..de2bc5472 100644
--- a/docs/Parameters.rst
+++ b/docs/Parameters.rst
@@ -149,7 +149,7 @@ Core Parameters
- ``goss``, Gradient-based One-Side Sampling
- - *New in 4.0.0*
+ - *New in version 4.0.0*
- ``data`` :raw-html:`🔗︎`, default = ``""``, type = string, aliases: ``train``, ``train_data``, ``train_data_file``, ``data_filename``
@@ -414,7 +414,7 @@ Learning Control Parameters
- when early stopping is used (i.e. ``early_stopping_round > 0``), require the early stopping metric to improve by at least this delta to be considered an improvement
- - *New in 4.4.0*
+ - *New in version 4.4.0*
- ``first_metric_only`` :raw-html:`🔗︎`, default = ``false``, type = bool
@@ -692,7 +692,7 @@ Learning Control Parameters
- **Note**: can be used only with ``device_type = cpu`` and ``device_type=cuda``
- - *New in 4.0.0*
+ - *New in version 4.0.0*
- ``quant_train_renew_leaf`` :raw-html:`🔗︎`, default = ``false``, type = bool
@@ -702,7 +702,7 @@ Learning Control Parameters
- **Note**: can be used only with ``device_type = cpu`` and ``device_type=cuda``
- - *New in 4.0.0*
+ - *New in version 4.0.0*
- ``stochastic_rounding`` :raw-html:`🔗︎`, default = ``true``, type = bool
@@ -710,7 +710,7 @@ Learning Control Parameters
- **Note**: can be used only with ``device_type = cpu`` and ``device_type=cuda``
- - *New in 4.0.0*
+ - *New in version 4.0.0*
IO Parameters
-------------
@@ -930,7 +930,7 @@ Dataset Parameters
- **Note**: ``lightgbm-transform`` is not maintained by LightGBM's maintainers. Bug reports or feature requests should go to `issues page `__
- - *New in 4.0.0*
+ - *New in version 4.0.0*
Predict Parameters
~~~~~~~~~~~~~~~~~~
diff --git a/include/LightGBM/config.h b/include/LightGBM/config.h
index ed3dd1226..a682c47d3 100644
--- a/include/LightGBM/config.h
+++ b/include/LightGBM/config.h
@@ -181,7 +181,7 @@ struct Config {
// desc = ``bagging``, Randomly Bagging Sampling
// descl2 = **Note**: ``bagging`` is only effective when ``bagging_freq > 0`` and ``bagging_fraction < 1.0``
// desc = ``goss``, Gradient-based One-Side Sampling
- // desc = *New in 4.0.0*
+ // desc = *New in version 4.0.0*
std::string data_sample_strategy = "bagging";
// alias = train, train_data, train_data_file, data_filename
@@ -396,7 +396,7 @@ struct Config {
// check = >=0.0
// desc = when early stopping is used (i.e. ``early_stopping_round > 0``), require the early stopping metric to improve by at least this delta to be considered an improvement
- // desc = *New in 4.4.0*
+ // desc = *New in version 4.4.0*
double early_stopping_min_delta = 0.0;
// desc = LightGBM allows you to provide multiple evaluation metrics. Set this to ``true``, if you want to use only the first metric for early stopping
@@ -626,18 +626,18 @@ struct Config {
// desc = number of bins to quantization gradients and hessians
// desc = with more bins, the quantized training will be closer to full precision training
// desc = **Note**: can be used only with ``device_type = cpu`` and ``device_type=cuda``
- // desc = *New in 4.0.0*
+ // desc = *New in version 4.0.0*
int num_grad_quant_bins = 4;
// desc = whether to renew the leaf values with original gradients when quantized training
// desc = renewing is very helpful for good quantized training accuracy for ranking objectives
// desc = **Note**: can be used only with ``device_type = cpu`` and ``device_type=cuda``
- // desc = *New in 4.0.0*
+ // desc = *New in version 4.0.0*
bool quant_train_renew_leaf = false;
// desc = whether to use stochastic rounding in gradient quantization
// desc = **Note**: can be used only with ``device_type = cpu`` and ``device_type=cuda``
- // desc = *New in 4.0.0*
+ // desc = *New in version 4.0.0*
bool stochastic_rounding = true;
#ifndef __NVCC__
@@ -801,7 +801,7 @@ struct Config {
// desc = path to a ``.json`` file that specifies customized parser initialized configuration
// desc = see `lightgbm-transform `__ for usage examples
// desc = **Note**: ``lightgbm-transform`` is not maintained by LightGBM's maintainers. Bug reports or feature requests should go to `issues page `__
- // desc = *New in 4.0.0*
+ // desc = *New in version 4.0.0*
std::string parser_config_file = "";
#ifndef __NVCC__
diff --git a/python-package/lightgbm/sklearn.py b/python-package/lightgbm/sklearn.py
index 3c8d970e7..ad805eef7 100644
--- a/python-package/lightgbm/sklearn.py
+++ b/python-package/lightgbm/sklearn.py
@@ -1157,7 +1157,10 @@ class LGBMModel(_LGBMModelBase):
@property
def feature_names_in_(self) -> np.ndarray:
- """:obj:`array` of shape = [n_features]: scikit-learn compatible version of ``.feature_name_``."""
+ """:obj:`array` of shape = [n_features]: scikit-learn compatible version of ``.feature_name_``.
+
+ .. versionadded:: 4.5.0
+ """
if not self.__sklearn_is_fitted__():
raise LGBMNotFittedError("No feature_names_in_ found. Need to call fit beforehand.")
return np.array(self.feature_name_)
diff --git a/python-package/pyproject.toml b/python-package/pyproject.toml
index 39fc6d8f0..62344641c 100644
--- a/python-package/pyproject.toml
+++ b/python-package/pyproject.toml
@@ -30,7 +30,7 @@ maintainers = [
name = "lightgbm"
readme = "README.rst"
requires-python = ">=3.7"
-version = "4.4.0.99"
+version = "4.5.0"
[project.optional-dependencies]
arrow = [