Skip to content

release v4.7.0#7129

Open
jameslamb wants to merge 10 commits into
mainfrom
release/v4.7.0
Open

release v4.7.0#7129
jameslamb wants to merge 10 commits into
mainfrom
release/v4.7.0

Conversation

@jameslamb

@jameslamb jameslamb commented Jan 17, 2026

Copy link
Copy Markdown
Member

It has been almost 1 year since the last release of LightGBM: https://github.com/microsoft/LightGBM/releases/tag/v4.6.0

Many changes have built up on master since then. Let's use this PR to decide on a list of what else we want to get into a release, then try to put up a release soon.

Release checklist:

Copied from #6796 with a few changes.

deadline

None that I know of yet, though there are WARNINGs on the check results at https://cran.r-project.org/web/checks/check_results_lightgbm.html which might turn into errors or a CRAN threat request.

before merge

after merge

code to update tags (click me)
NEW_VERSION="4.7.0"
git checkout master
git pull upstream master
git fetch upstream --tags
git tag -d stable
git push upstream :refs/tags/stable
git tag stable
git tag "v${NEW_VERSION}"
git push upstream stable "v${NEW_VERSION}"

after the release is created by Azure DevOps job

code to publish to PyPI (summary)
mkdir /tmp/lgb-release
cd /tmp/lgb-release

NEW_VERSION="4.7.0"

# NOTE: requires a GitHub personal access token with "repo" scope
git checkout v${NEW_VERSION}
bash .ci/download-artifacts.sh $(git rev-parse HEAD)

# NOTE: manually downloaded arm64 wheels from CI

# config docs: https://packaging.python.org/en/latest/specifications/pypirc/
twine upload \
    -r testpypi \
    ./release-artifacts/*.whl

twine upload \
    -r testpypi \
    ./release-artifacts/lightgbm-${NEW_VERSION}.tar.gz

(gh is the GitHub CLI, see https://cli.github.com/manual/gh_release_download)

Then confirmed that installing the latest wheel works.

pip install -i https://test.pypi.org/simple/ "lightgbm==${NEW_VERSION}"
python ./examples/python-guide/logistic_regression.py

Then pushed them to real PyPI.

cd /tmp/lgb-release

twine upload \
    ./release-artifacts/*.whl

twin upload \
    ./release-artifacts/lightgbm-${NEW_VERSION}.tar.gz
code to open that dev version PR (click me)
RELEASE_PR_NUMBER="6439"
RELEASE_VERSION=$(cat ./VERSION.txt)
DEV_VERSION="${RELEASE_VERSION}.99"

git checkout -b ci/dev-version

echo "${DEV_VERSION}" > ./VERSION.txt
sed \
    -i .bak \
    "s|${RELEASE_VERSION}|${DEV_VERSION}|g" \
    .appveyor.yml

sed \
    -i .bak \
    "s|version = \"${RELEASE_VERSION}\"|version = \"${DEV_VERSION}\"|g" \
    ./python-package/pyproject.toml

sed \
    -i .bak \
    's|mode\: release|mode\: unreleased|g' \
    ./R-package/pkgdown/_pkgdown.yml

docker run \
    --rm \
    -v $(pwd):/opt/LightGBM \
    -w /opt/LightGBM \
    ubuntu:22.04 \
    ./R-package/recreate-configure.sh

git add \
    ./.appveyor.yml \
    ./R-package/configure \
    ./R-package/pkgdown/_pkgdown.yml \
    ./VERSION.txt \
    ./python-package/pyproject.toml

commit_msg="bump development version to ${DEV_VERSION}"
git commit -m "${commit_msg}"
git push upstream ci/dev-version

gh pr create \
    --repo microsoft/LightGBM \
    --base 'master' \
    --label 'maintenance' \
    --title "${commit_msg}" \
    --body "now that v${RELEASE_VERSION} has been released: #${RELEASE_PR_NUMBER}"

Notes for Reviewers

I believe this should be v4.7.0 instead of v4.6.1 because of some small breaking changes:

See https://github.com/microsoft/LightGBM/releases.

@jameslamb

Copy link
Copy Markdown
Member Author

@StrikerRUS @shiyu1994 @guolinke @borchero @jmoralez please edit the description if you want to add other items for the release.

@shiyu1994 will you be able to help with these soon?

I'm not sure we have other maintainers / contributors who are available to help with them. If you cannot help get them merged, we may have to skip them for the release.

@borchero

Copy link
Copy Markdown
Collaborator

Looks great, thanks for the summary! I would have loved to include proper polars support in the next release but I think this will be a little tight on my end 🙈

@shiyu1994

Copy link
Copy Markdown
Collaborator

@shiyu1994 will you be able to help with these soon?

Thank you for help with the release. Will try to finish these soon.

@jameslamb

Copy link
Copy Markdown
Member Author

I would have loved to include proper polars support in the next release but I think this will be a little tight on my end 🙈

I would have too, but that's ok. If it doesn't make it this release hopefully it can be in the next one.

@shiyu1994

Copy link
Copy Markdown
Collaborator

Given that our Slack workspace has expired due to the termination of Slack service in China, I think we should start a new group for the communication of our maintainers. What do you think is the most proper approach? It can be a new slack workspace, or an alternative like Pumble, or a Wechat group.

@jameslamb @StrikerRUS @borchero @guolinke

@jameslamb

Copy link
Copy Markdown
Member Author

I'm willing to try WeChat!

But I want to be sure it is private to maintainers, so we can discuss private topics like security reports and possible new maintainers. So probably should be different from #5715

Could you create a group and send us email invitations?

@shiyu1994

Copy link
Copy Markdown
Collaborator

I'm willing to try WeChat!

But I want to be sure it is private to maintainers, so we can discuss private topics like security reports and possible new maintainers. So probably should be different from #5715

Could you create a group and send us email invitations?

Sure! Will create a group and send the QR code to you.

@shiyu1994

This comment was marked as resolved.

@jameslamb

This comment was marked as resolved.

@jameslamb

Copy link
Copy Markdown
Member Author

I'm going to try to focus my LightGBM time on the remaining issues listed above, to hopefully get us to release-ready soon. At this point it's been over a year since the last lightgbm release, we should try to get one out soon since so many fixes and improvements have piled up.

@borchero

Copy link
Copy Markdown
Collaborator

@jameslamb now that #7275 exists, I think it would be great to include. At the same time, I think we should prioritize getting this out, so, we might want to postpone some of the longer-standing issues linked in the description for a v4.7.1?

@jameslamb

Copy link
Copy Markdown
Member Author

I agree with you @borchero . I opened this PR in January and it's now May... we need to get a release out.

I've removed these from the checklist:

I hope we can get in fixes for these CUDA bugs in (right now they're waiting for review from me and ideally @shiyu1994), but removed them from the list... we can release without them fixed:

I've added these:

@jameslamb

jameslamb commented Jul 5, 2026

Copy link
Copy Markdown
Member Author

Run the valgrind checks (docs link)

Triggered a run here: https://github.com/lightgbm-org/LightGBM/actions/runs/28752190916

If it succeeds, a comment should be posted here automatically.

Run CUDA CI (https://github.com/lightgbm-org/LightGBM/actions/workflows/cuda.yml)

Triggered a run here: https://github.com/lightgbm-org/LightGBM/actions/runs/28752247832

@github-actions

github-actions Bot commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Workflow R valgrind tests has been triggered! 🚀

https://github.com/lightgbm-org/LightGBM/actions/runs/28752190916

Status: success ✔️

@jameslamb

Copy link
Copy Markdown
Member Author

valgrind checks passed: #7129 (comment)

✅ CUDA CI passed: https://github.com/lightgbm-org/LightGBM/actions/runs/28752247832

⚠️ docs built successfully ...

... but the versionadded directives seem to not all be rendering. Working on that.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants