Replies: 5 comments 2 replies
-
What I am trying to say is that either the version should have been bumped in the IMO current situation is confusing, because semantic version should apply to code changes, not to build artifacts and artifacts should match the code version, not have their own. |
Beta Was this translation helpful? Give feedback.
-
Every curl release ever done has been shipped in a tarball. The contents of that tarball is the release. A curl release is generated from the source code in git at a specific tag, which is named according to the release.
That's your opinion, not the one we use and stand for in the curl project. This is not a curl bug. This is just your wrong assumptions. |
Beta Was this translation helpful? Give feedback.
-
Shouldn't the version in the git tag name and the version in the source match then? If not, why not?
Not really my opinion, it's defined here : Semantic Versioning 2.0.0. Or at least that's how I understand it, but of course my understanding may be incorrect or incomplete hence the request for clarification.
I never claimed it was a bug, but there's no "Question" issue template to request clarifications. |
Beta Was this translation helpful? Give feedback.
-
It's a pointless exercise. Even if we would update the source to have the exact same version in the code as the tag, the contents in git does not match the release tarball because the release tarballs are generated. They contain files not present in git. Because we don't commit generated files.
It does not say anything like that. We release "patch versions" when we fix the release. We fixed the 8.7.0 release so we made 8.7.1. We bumped the minor version number because it was a bugfix release. Exactly the way semver explains patch versions should work. Nowhere does it say that only a subset of bugfixes may be counted as bugfixes.
Yes there was. And since a few minutes back there are even two mentions on how to ask questions. |
Beta Was this translation helpful? Give feedback.
-
The reason I am even asking is this — I use a script to build my own binary release of curl from GitHub, and I apply a patch to I wanted to know whether to expect discrepancies like this in the future so I can adjust my build process accordingly. Hopefully the information you provided will be helpful to others too so thanks I guess.
It says:
AFAIK, only the actual code / API has behavior, not tarballs so if code hasn't changed then the git tag should not have been incremented either (and that's my opinion).
My apologies for not noticing the Discussions tab, if I did I would have opened a discussion instead of creating the issue. I've noticed you moved it so hopefully no harm done. P.S. My solution to the problem is the exact opposite of what your blog post said — checkout 8.7.0 and pretend that 8.7.1 didn't exist. |
Beta Was this translation helpful? Give feedback.
-
I did this
I expected the following
That the checked out
include/curl/curlver.h
reflects the repository tag version and version in souce tarball name — it doesn't:curl/libcurl version
curl 8.7.0 (Windows) libcurl/8.7.0 Schannel WinIDN
Release-Date: 2024-03-27
Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp
Features: AsynchDNS HSTS HTTPS-proxy IDN IPv6 Kerberos Largefile NTLM SPNEGO SSL SSPI threadsafe Unicode UnixSockets
operating system
Microsoft Windows Version 10.0.22631.3447
Beta Was this translation helpful? Give feedback.
All reactions