[docs] document use of EffVer#6905
Conversation
StrikerRUS
left a comment
There was a problem hiding this comment.
LGTM, I like this clarification about our version schema!
|
|
||
| {major}.{minor}.{patch}.99 | ||
|
|
||
| That ``.99`` is added to ensure that a version built from an unreleased commit is considered "newer" |
There was a problem hiding this comment.
Maybe move paragraph about nightly builds here?
https://github.com/microsoft/LightGBM/blob/f91dcfee8baf5fe329bfddadf38577f6443fdf18/docs/Installation-Guide.rst?plain=1#L44-L46
There was a problem hiding this comment.
Sure, good idea! Moved that in 0338d2c
If you wanted a slightly different placement, it's ok with me if you push directly to this branch.
|
Seems that Azure builds are stuck again (see latest @shiyu1994 Could you please check Azure Linux runner? |
|
@shiyu1994 can you please help us here? All of the
example build link: https://dev.azure.com/lightgbm-ci/lightgbm-ci/_build/results?buildId=17767&view=results |
|
Kindly ping @shiyu1994 |
Hmmm, looks like someone rolled back this repo setting: #6872 (comment) @shiyu1994 Could you please check? |

For a long time now, this project has not been strictly following semantic versioning.
Look through https://github.com/microsoft/LightGBM/releases and you will find entries in the "Breaking" section for release v4.6.0, v4.5.0, v4.4.0, etc.
Without knowing it, for several years we've been following a scheme that my friend @jacobtomlinson calls Intended Effort Versioning ("EffVer"): https://jacobtomlinson.dev/effver/
In that scheme, you use a 3-part version where changes to each part answer the question "how much effort will it take for me to upgrade to this version?".
This PR proposes explicitly documenting that, so we have somewhere to point people who ask questions like "why did you only update the minor version component if this release contains breaking changes?".
Notes for Reviewers
Why put this in the Installation Guide?
I think this type of information is useful in the Installation Guide because it helps users to decide how to create dependency pins on LightGBM.
If we don't like this here, I think it should go in the development docs: https://lightgbm.readthedocs.io/en/latest/Development-Guide.html
I've added this branch (temporarily) to the readthedocs config
Builds: https://app.readthedocs.org/projects/lightgbm/builds/?version__slug=docs-effver