-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
GOV: adopt EffVer #27702
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GOV: adopt EffVer #27702
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved with some small changes still needed.
810a9d9
to
546902c
Compare
A thought. Given our commitment towards backwards compatibility, we
typically don't have releases that break things for many users or require
significant amounts of effort to update their codes to use newer versions
of matplotlib. Instead, our focus tends to be bugfixes and new features
that complements the existing feature set. The minor version number change
has always indicated to me the growing set of features this library has,
rather than it being an indication of how much work it would be to upgrade
my code to it.
Has there even been indications from our users that they are confused by
our current versioning system?
…On Thu, Jan 25, 2024 at 1:59 PM Thomas A Caswell ***@***.***> wrote:
EffVer very closely articulates what we are already doing.
This was discussed on the developer call last week and was positively
received.
I used git grep to find all '* version' and * release referring to our
releases (I left "minor version" in most places in the minimum dependency
document when referring to other projects, but expanded the definition at
the top).
------------------------------
I would like approval from 2 other steering council members before we
merge.
------------------------------
You can view, comment on, or merge this pull request online at:
#27702
Commit Summary
- 1faa935
<1faa935>
GOV: adopt EffVer
File Changes
(10 files <https://github.com/matplotlib/matplotlib/pull/27702/files>)
- *M* doc/conf.py
<https://github.com/matplotlib/matplotlib/pull/27702/files#diff-e170e9a7d787c21095c6c11bb25f0f1ff0294a42a46d45ba6fb5ed794e457624>
(2)
- *M* doc/devel/MEP/MEP13.rst
<https://github.com/matplotlib/matplotlib/pull/27702/files#diff-5a2bb663ebb0477b4314d302ebcc654a0dbe401cb5c2f7fa36bb961333997f20>
(2)
- *M* doc/devel/api_changes.rst
<https://github.com/matplotlib/matplotlib/pull/27702/files#diff-d3658c3a2a97d8a37fde88708a9bf3208620f7ea8a1128a264c2eb16115ca404>
(4)
- *M* doc/devel/min_dep_policy.rst
<https://github.com/matplotlib/matplotlib/pull/27702/files#diff-a908cd6e87c8e5edf5abe9e5526e47d3517f839541e99bcccc466ee21152cca0>
(9)
- *M* doc/devel/pr_guide.rst
<https://github.com/matplotlib/matplotlib/pull/27702/files#diff-49b0e5f1188e20843061c77284b1610369283c20f25b03edfb7db39825721938>
(18)
- *M* doc/devel/release_guide.rst
<https://github.com/matplotlib/matplotlib/pull/27702/files#diff-4ca57718a84f31a4b2a993ffd096debd80f3c31f72cfc22d8c131a668492ea11>
(73)
- *M* doc/devel/triage.rst
<https://github.com/matplotlib/matplotlib/pull/27702/files#diff-54ab909f213f3bf9cabc13ad7e91351ce9b75722a0df5603f19849ee50c92734>
(2)
- *M* lib/matplotlib/_api/deprecation.py
<https://github.com/matplotlib/matplotlib/pull/27702/files#diff-bd9e804b0bba997a0a496a274e7a0ba9132190d5f5bb23190ef0b890a6a5c66b>
(2)
- *M* src/ft2font_wrapper.cpp
<https://github.com/matplotlib/matplotlib/pull/27702/files#diff-5a4638a8d55cba783f8c2dfea1847d86fb17267bc9cf044afc66a51270dd9879>
(4)
- *M* tools/github_stats.py
<https://github.com/matplotlib/matplotlib/pull/27702/files#diff-284a1b462cd74af2e6791e783037c3c1cd6c141508b2f16716ebb3153aff6b4b>
(2)
Patch Links:
- https://github.com/matplotlib/matplotlib/pull/27702.patch
- https://github.com/matplotlib/matplotlib/pull/27702.diff
—
Reply to this email directly, view it on GitHub
<#27702>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AACHF6C6WJW4PGRSFHN3CNDYQKTQJAVCNFSM6AAAAABCLAQY32VHI2DSMVQWIX3LMV43ASLTON2WKOZSGEYDAOJZGEYDMNY>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
IMHO the point is that we haven't really made any commitment to what our version numbers mean. It's definitively not SemVer because we make breaking changes in minor releases. Even though that happens with a defensive compatibility policy (deprecation periods and not too disruptive changes), these would require a major release in SemVer. You can only encode one kind of information in the version number, not both new features and degree of compatibility. And chosing between these two compatibility is the more helpful one. I think in practice, we'll continue to have both new features and minor API changes in the minor/meso releases. While we could define our own meaning for the version numbers, it's better to use a common semantic. Since SemVer is out and EffVer essentially matches our compatibility policy, it's a good choice. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One typo, and several places where it looks like
"major" should be "macro" for consistency. Otherwise, fine with me.
EffVer very closely articulates what we are already doing. Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>
47f6a2c
to
8c1c618
Compare
8c1c618
to
cce8690
Compare
We have 2 positive SC reviews so I'm going to go ahead and merge this. |
As off matplotlib/matplotlib#27702 Matplotlib follows EffVer
As off matplotlib/matplotlib#27702 Matplotlib follows EffVer
Ever since matplotlib#27702, the removal will always be a version, and not "two minor/meso releases later". This tends to get messed up by people writing custom `message` arguments, and since there's no reason to add the "to" there instead of in the message any more, move it to the message. Also, fix the autogenerated message to follow what the docstring says (Falsy `removal` leaves out the removal date.)
Ever since #27702, the removal will always be a version, and not "two minor/meso releases later". This tends to get messed up by people writing custom `message` arguments, and since there's no reason to add the "to" there instead of in the message any more, move it to the message. Also, fix the autogenerated message to follow what the docstring says (Falsy `removal` leaves out the removal date.)
…otlib#28880) Ever since matplotlib#27702, the removal will always be a version, and not "two minor/meso releases later". This tends to get messed up by people writing custom `message` arguments, and since there's no reason to add the "to" there instead of in the message any more, move it to the message. Also, fix the autogenerated message to follow what the docstring says (Falsy `removal` leaves out the removal date.)
EffVer very closely articulates what we are already doing.
This was discussed on the developer call last week and was positively received.
I used
git grep
to find all '* version' and* release
referring to our releases (I left "minor version" in most places in the minimum dependency document when referring to other projects, but expanded the definition at the top).I would like approval from 2 other steering council members before we merge.