Release 1.85.0 of the Boost C++ Libraries is now available. These open-source libraries work well with the C++ Standard Library, and are usable across a broad spectrum of applications. The Boost license encourages both commercial and non-commercial use. This release contains two new libraries: * Boost.Charconv: A high quality implementation of <charconv> in C++11, from Matt Borland. * Boost.Scope: A collection of scope guard utilities and a unique_resource wrapper, from Andrey Semashev. The release also contains numerous enhancements and bug fixes for existing libraries. For details, including download links, see http://www.boost.org/users/news/version_1.85.0 You can also download directly from: https://boostorg.jfrog.io/artifactory/main/release/1.85.0/ To install this release on your system, see http://www.boost.org/doc/libs/release/more/getting_started/index.html Thanks to everyone who participated in this release. -- The Boost Release Team Marshall Clow, Glen Fernandes
On Mon, Apr 15, 2024 at 11:02 AM Marshall Clow via Boost < boost@lists.boost.org> wrote:
Release 1.85.0 of the Boost C++ Libraries is now available.
Can we please make "tweeting the release" a part of the workflow? I don't see anything posted here: https://twitter.com/Boost_Libraries Thanks
Marshall Clow wrote:
Release 1.85.0 of the Boost C++ Libraries is now available.
These open-source libraries work well with the C++ Standard Library, and are usable across a broad spectrum of applications. The Boost license encourages both commercial and non-commercial use.
This release contains two new libraries: * Boost.Charconv: A high quality implementation of <charconv> in C++11, from Matt Borland. * Boost.Scope: A collection of scope guard utilities and a unique_resource wrapper, from Andrey Semashev.
The release also contains numerous enhancements and bug fixes for existing libraries.
For details, including download links, see http://www.boost.org/users/news/version_1.85.0
You can also download directly from: https://boostorg.jfrog.io/artifactory/main/release/1.85.0/
Alternative archives for CI purposes (without documentation) are also available at https://github.com/boostorg/boost/releases/tag/boost-1.85.0.
On Apr 15, 2024, at 11:17 AM, Peter Dimov via Boost
Marshall Clow wrote:
Release 1.85.0 of the Boost C++ Libraries is now available.
Charconv and Scope seem again to be missing the boost-1.85.0 tag.
(They do have a boost-1.85.0.beta1 tag though.)
Well, crud. Thanks, Peter. — Marshall
On 4/15/24 21:02, Marshall Clow via Boost wrote:
Release 1.85.0 of the Boost C++ Libraries is now available.
These open-source libraries work well with the C++ Standard Library, and are usable across a broad spectrum of applications. The Boost license encourages both commercial and non-commercial use.
This release contains two new libraries: * Boost.Charconv: A high quality implementation of <charconv> in C++11, from Matt Borland. * Boost.Scope: A collection of scope guard utilities and a unique_resource wrapper, from Andrey Semashev.
The release also contains numerous enhancements and bug fixes for existing libraries.
For details, including download links, see http://www.boost.org/users/news/version_1.85.0
You can also download directly from: https://boostorg.jfrog.io/artifactory/main/release/1.85.0/
To install this release on your system, see http://www.boost.org/doc/libs/release/more/getting_started/index.html
Thanks to everyone who participated in this release.
Is the master branch open now?
On 4/15/24 21:02, Marshall Clow via Boost wrote:
Release 1.85.0 of the Boost C++ Libraries is now available.
These open-source libraries work well with the C++ Standard Library, and are usable across a broad spectrum of applications. The Boost license encourages both commercial and non-commercial use.
This release contains two new libraries: * Boost.Charconv: A high quality implementation of <charconv> in C++11, from Matt Borland. * Boost.Scope: A collection of scope guard utilities and a unique_resource wrapper, from Andrey Semashev.
The release also contains numerous enhancements and bug fixes for existing libraries.
For details, including download links, see http://www.boost.org/users/news/version_1.85.0
You can also download directly from: https://boostorg.jfrog.io/artifactory/main/release/1.85.0/
To install this release on your system, see http://www.boost.org/doc/libs/release/more/getting_started/index.html
Thanks to everyone who participated in this release.
For Boost.Log, the boost-1.85.0 tag is pointing to the wrong commit: e79cfd841f90e4f0d7f4729440e7ef92ef7495da It should point to: 2d932ddcb5b05a9b2cc0a9df2d8a6ff88883f2b3 which is the last commit in the series that were merged to master (with permission) right before the release. I can see the changes in that commit are present in the 1.85.0 .tar.bz2 archive from jfrog, and are also present on the website.
On 5/21/24 10:08, Andrey Semashev wrote:
On 4/15/24 21:02, Marshall Clow via Boost wrote:
Release 1.85.0 of the Boost C++ Libraries is now available.
These open-source libraries work well with the C++ Standard Library, and are usable across a broad spectrum of applications. The Boost license encourages both commercial and non-commercial use.
This release contains two new libraries: * Boost.Charconv: A high quality implementation of <charconv> in C++11, from Matt Borland. * Boost.Scope: A collection of scope guard utilities and a unique_resource wrapper, from Andrey Semashev.
The release also contains numerous enhancements and bug fixes for existing libraries.
For details, including download links, see http://www.boost.org/users/news/version_1.85.0
You can also download directly from: https://boostorg.jfrog.io/artifactory/main/release/1.85.0/
To install this release on your system, see http://www.boost.org/doc/libs/release/more/getting_started/index.html
Thanks to everyone who participated in this release.
For Boost.Log, the boost-1.85.0 tag is pointing to the wrong commit:
e79cfd841f90e4f0d7f4729440e7ef92ef7495da
It should point to:
2d932ddcb5b05a9b2cc0a9df2d8a6ff88883f2b3
which is the last commit in the series that were merged to master (with permission) right before the release. I can see the changes in that commit are present in the 1.85.0 .tar.bz2 archive from jfrog, and are also present on the website.
Ping? Should I fix the tag myself?
On May 23, 2024, at 3:04 PM, Andrey Semashev via Boost
On 5/21/24 10:08, Andrey Semashev wrote:
On 4/15/24 21:02, Marshall Clow via Boost wrote:
Release 1.85.0 of the Boost C++ Libraries is now available.
These open-source libraries work well with the C++ Standard Library, and are usable across a broad spectrum of applications. The Boost license encourages both commercial and non-commercial use.
This release contains two new libraries: * Boost.Charconv: A high quality implementation of <charconv> in C++11, from Matt Borland. * Boost.Scope: A collection of scope guard utilities and a unique_resource wrapper, from Andrey Semashev.
The release also contains numerous enhancements and bug fixes for existing libraries.
For details, including download links, see http://www.boost.org/users/news/version_1.85.0
You can also download directly from: https://boostorg.jfrog.io/artifactory/main/release/1.85.0/
To install this release on your system, see http://www.boost.org/doc/libs/release/more/getting_started/index.html
Thanks to everyone who participated in this release.
For Boost.Log, the boost-1.85.0 tag is pointing to the wrong commit:
e79cfd841f90e4f0d7f4729440e7ef92ef7495da
It should point to:
2d932ddcb5b05a9b2cc0a9df2d8a6ff88883f2b3
which is the last commit in the series that were merged to master (with permission) right before the release. I can see the changes in that commit are present in the 1.85.0 .tar.bz2 archive from jfrog, and are also present on the website.
Ping? Should I fix the tag myself?
Sorry - I've been head down in some other stuff. But I’ve been reading the git-tag documentation on https://git-scm.com/docs/git-tag#:~:text=If%20you%20got%20the%20wrong,you%20.... Where it talks about “fixing” a tag. Have you read that?
# On Re-tagging What should you do when you tag a wrong commit and you would want to re-tag?
If you never pushed anything out, just re-tag it. Use "-f" to replace the old one. And you’re done.
But if you have pushed things out (or others could just read your repository directly), then others will have already seen the old tag. In that case you can do one of two things:
The sane thing. Just admit you screwed up, and use a different name. Others have already seen one tag-name, and if you keep the same name, you may be in the situation that two people both have "version X", but they actually have different "X"'s. So just call it "X.1" and be done with it.
The insane thing. You really want to call the new version "X" too, even though others have already seen the old one. So just use git tag -f again, as if you hadn’t already published the old one.
— Marshall
On 5/24/24 02:12, Marshall Clow wrote:
On May 23, 2024, at 3:04 PM, Andrey Semashev via Boost
wrote: On 5/21/24 10:08, Andrey Semashev wrote:
For Boost.Log, the boost-1.85.0 tag is pointing to the wrong commit:
e79cfd841f90e4f0d7f4729440e7ef92ef7495da
It should point to:
2d932ddcb5b05a9b2cc0a9df2d8a6ff88883f2b3
which is the last commit in the series that were merged to master (with permission) right before the release. I can see the changes in that commit are present in the 1.85.0 .tar.bz2 archive from jfrog, and are also present on the website.
Ping? Should I fix the tag myself?
Sorry - I've been head down in some other stuff.
But I’ve been reading the git-tag documentation on https://git-scm.com/docs/git-tag#:~:text=If%20you%20got%20the%20wrong,you%20.... https://git-scm.com/docs/git-tag#:~:text=If%20you%20got%20the%20wrong,you%20...
Where it talks about “fixing” a tag. Have you read that?
# On Re-tagging What should you do when you tag a wrong commit and you would want to re-tag?
If you never pushed anything out, just re-tag it. Use "-f" to replace the old one. And you’re done.
But if you have pushed things out (or others could just read your repository directly), then others will have already seen the old tag. In that case you can do one of two things:
The sane thing. Just admit you screwed up, and use a different name. Others have already seen one tag-name, and if you keep the same name, you may be in the situation that two people both have "version X", but they actually have different "X"'s. So just call it "X.1" and be done with it.
The insane thing. You really want to call the new version "X" too, even though others have already seen the old one. So just use git tag -f again, as if you hadn’t already published the old one.
I did read it now, and I think it still makes sense to fix it. By the way, checking out boost-1.85.0 of the superproject, I can see it references Boost.Log commit 2d932ddcb5b05a9b2cc0a9df2d8a6ff88883f2b3 (the correct one). The superproject was updated to reference this commit in 45b56569ecf9e256bc4e0cc01846ecadcacb91c1. So, currently, the superproject's tag boost-1.85.0 does not reference Boost.Log's boost-1.85.0. Which is another reason to fix the tag in Boost.Log.
Andrey Semashev wrote:
By the way, checking out boost-1.85.0 of the superproject, I can see it references Boost.Log commit 2d932ddcb5b05a9b2cc0a9df2d8a6ff88883f2b3 (the correct one). The superproject was updated to reference this commit in 45b56569ecf9e256bc4e0cc01846ecadcacb91c1.
So, currently, the superproject's tag boost-1.85.0 does not reference Boost.Log's boost-1.85.0. Which is another reason to fix the tag in Boost.Log.
It's been reported that the Boost.Wave tag is also wrong. Someone should write a quick script to check all the tags. These are probably not the only ones.
On Fri, 24 May 2024 at 03:23, Peter Dimov via Boost
Andrey Semashev wrote:
By the way, checking out boost-1.85.0 of the superproject, I can see it references Boost.Log commit 2d932ddcb5b05a9b2cc0a9df2d8a6ff88883f2b3 (the correct one). The superproject was updated to reference this commit in 45b56569ecf9e256bc4e0cc01846ecadcacb91c1.
So, currently, the superproject's tag boost-1.85.0 does not reference Boost.Log's boost-1.85.0. Which is another reason to fix the tag in Boost.Log.
It's been reported that the Boost.Wave tag is also wrong.
Someone should write a quick script to check all the tags. These are probably not the only ones.
Boost.Geometry has also a wrong tag, 1.85 tag points to the same commit as the 1.84 tag.
On 5/24/24 03:22, Peter Dimov via Boost wrote:
Andrey Semashev wrote:
By the way, checking out boost-1.85.0 of the superproject, I can see it references Boost.Log commit 2d932ddcb5b05a9b2cc0a9df2d8a6ff88883f2b3 (the correct one). The superproject was updated to reference this commit in 45b56569ecf9e256bc4e0cc01846ecadcacb91c1.
So, currently, the superproject's tag boost-1.85.0 does not reference Boost.Log's boost-1.85.0. Which is another reason to fix the tag in Boost.Log.
It's been reported that the Boost.Wave tag is also wrong.
Someone should write a quick script to check all the tags. These are probably not the only ones.
Here's the script: cd <boost-root> git checkout boost-1.85.0 git submodule foreach git checkout boost-1.85.0 git submodule status --cached | grep -E '^\+' This will show the list of submodules, for which the currently checked out commit (i.e. the submodule's boost-1.85.0 tag) doesn't match the commit referenced by the superproject. The commit SHA it'll show is the commit referenced by the superproject. The output on my machine is: +e65367991cb5fbdb8a7cf218ae38f69ca9a0a9f5 libs/asio (asio-1.10.9-1298-ge6536799) +98b8be489fa7a74753a724d8d0772d90bcbed0fc libs/beast (boost-1.85.0-12-g98b8be48) +6865e94cc56a33bb8b162bf8d62cfe620b06d2b6 libs/bimap (boost-1.82.0-8-g6865e94) +0b813affb41e0dd2a42c3c34033f4ae68431b3e9 libs/cobalt (boost-1.84.0-7-g0b813af) +bba8d5f1011afc61b9fbaf0e96417d72cb09f8ec libs/compat (boost-1.84.0-5-gbba8d5f) +083b41c17e34f1fc9b43ab796b40d0d8bece685c libs/core (boost-1.85.0-2-g083b41c) +50719b212349f3d1268285c586331584d3dbfeb5 libs/describe (boost-1.85.0-2-g50719b2) +a0c8edba38a4d31b449fcf7b7ada455977342596 libs/filesystem (filesystem-2014-07-23-813-ga0c8edb) +f82eb32da79641697583a43be9988d7517d8553c libs/geometry (geometry-1.56.0-5991-gf82eb32da) +07ba0e376177409c396c109807c13b7181a98ebe libs/intrusive (boost-1.85.0-4-g07ba0e3) +9f85ed6d62ff91c6dc4fc30e3a20e9049ec67585 libs/json (boost-1.85.0-7-g9f85ed6) +5edb7eb4f4848546d3d285598374b5d37daae387 libs/locale (boost-1.85.0-2-g5edb7eb) +2d932ddcb5b05a9b2cc0a9df2d8a6ff88883f2b3 libs/log (boost-1.85.0-3-g2d932dd) +434a017db4c7abc115d8a8ae08a446b70feb34f2 libs/math (boost-1.85.0-8-g434a017db) +f607d5154df4a5cc7f5ae014f0796f0b21b8bfc4 libs/msm (boost-1.85.0-6-gf607d51) +d702a48363997f65fb717346f6694e0703902f8a libs/multi_index (boost-1.84.0-2-gd702a48) +51e01210078bae160ebc9fc4ede9281928d5b3c1 libs/multiprecision (boost-1.85.0-2-g51e01210) +6397d04ff55741a29ca2c93975e26226cf773a7d libs/mysql (boost-1.85.0-3-g6397d04f) +72429c3f48a1e70c08b5bd922ddebf7acddcbfb4 libs/nowide (v10.0.2-315-g72429c3) +1e3270d8106a59ac0b9c6e317fbfc836d2c66427 libs/outcome (boost-1.85.0-28-g1e3270d8) +449bf360f7d7a945639710b0fbb670ffde70e772 libs/pfr (before_precise-542-g449bf36) +406cd3ecf36c19b94b4376241a4b3b43d1eae308 libs/process (boost-1.84.0-12-g406cd3e) +27f927694547277f845ae855e80b96be252f826c libs/program_options (boost-1.85.0-1-g27f9276) +b6e1280075fa0f2c71af3c7b89ef2717aa922557 libs/redis (boost-1.85.0-2-gb6e1280) +351b03d5220510a1b6738cc378659b6d85c8a4da libs/stacktrace (boost_review_2-281-g351b03d) +a701cafb6be0021cf8e154cab5fc5d680c863f06 libs/timer (boost-1.85.0-1-ga701caf) +5e6b9291deb55567d41416af1e77c2516dc1250f libs/unordered (boost-1.85.0-2-g5e6b9291) +ff36c3aa1f82d1d9a55fd006dd47cf380fc517c0 libs/variant2 (boost-1.85.0-4-gff36c3a) +c11757decf393f6f1cf46f3f70b0bf892cdda5ee libs/wave (boost-1.84.0-9-gc11757d) +efbf6ce59b4023f7adc9be2fc3875d371c7f52c6 tools/build (converted-master-7425-gefbf6ce59) Something's really wrong with release tagging.
On 5/25/24 01:16, Andrey Semashev wrote:
On 5/24/24 03:22, Peter Dimov via Boost wrote:
Andrey Semashev wrote:
By the way, checking out boost-1.85.0 of the superproject, I can see it references Boost.Log commit 2d932ddcb5b05a9b2cc0a9df2d8a6ff88883f2b3 (the correct one). The superproject was updated to reference this commit in 45b56569ecf9e256bc4e0cc01846ecadcacb91c1.
So, currently, the superproject's tag boost-1.85.0 does not reference Boost.Log's boost-1.85.0. Which is another reason to fix the tag in Boost.Log.
It's been reported that the Boost.Wave tag is also wrong.
Someone should write a quick script to check all the tags. These are probably not the only ones.
Here's the script:
cd <boost-root> git checkout boost-1.85.0 git submodule foreach git checkout boost-1.85.0 git submodule status --cached | grep -E '^\+'
This will show the list of submodules, for which the currently checked out commit (i.e. the submodule's boost-1.85.0 tag) doesn't match the commit referenced by the superproject. The commit SHA it'll show is the commit referenced by the superproject.
The output on my machine is:
+e65367991cb5fbdb8a7cf218ae38f69ca9a0a9f5 libs/asio (asio-1.10.9-1298-ge6536799) +98b8be489fa7a74753a724d8d0772d90bcbed0fc libs/beast (boost-1.85.0-12-g98b8be48) +6865e94cc56a33bb8b162bf8d62cfe620b06d2b6 libs/bimap (boost-1.82.0-8-g6865e94) +0b813affb41e0dd2a42c3c34033f4ae68431b3e9 libs/cobalt (boost-1.84.0-7-g0b813af) +bba8d5f1011afc61b9fbaf0e96417d72cb09f8ec libs/compat (boost-1.84.0-5-gbba8d5f) +083b41c17e34f1fc9b43ab796b40d0d8bece685c libs/core (boost-1.85.0-2-g083b41c) +50719b212349f3d1268285c586331584d3dbfeb5 libs/describe (boost-1.85.0-2-g50719b2) +a0c8edba38a4d31b449fcf7b7ada455977342596 libs/filesystem (filesystem-2014-07-23-813-ga0c8edb) +f82eb32da79641697583a43be9988d7517d8553c libs/geometry (geometry-1.56.0-5991-gf82eb32da) +07ba0e376177409c396c109807c13b7181a98ebe libs/intrusive (boost-1.85.0-4-g07ba0e3) +9f85ed6d62ff91c6dc4fc30e3a20e9049ec67585 libs/json (boost-1.85.0-7-g9f85ed6) +5edb7eb4f4848546d3d285598374b5d37daae387 libs/locale (boost-1.85.0-2-g5edb7eb) +2d932ddcb5b05a9b2cc0a9df2d8a6ff88883f2b3 libs/log (boost-1.85.0-3-g2d932dd) +434a017db4c7abc115d8a8ae08a446b70feb34f2 libs/math (boost-1.85.0-8-g434a017db) +f607d5154df4a5cc7f5ae014f0796f0b21b8bfc4 libs/msm (boost-1.85.0-6-gf607d51) +d702a48363997f65fb717346f6694e0703902f8a libs/multi_index (boost-1.84.0-2-gd702a48) +51e01210078bae160ebc9fc4ede9281928d5b3c1 libs/multiprecision (boost-1.85.0-2-g51e01210) +6397d04ff55741a29ca2c93975e26226cf773a7d libs/mysql (boost-1.85.0-3-g6397d04f) +72429c3f48a1e70c08b5bd922ddebf7acddcbfb4 libs/nowide (v10.0.2-315-g72429c3) +1e3270d8106a59ac0b9c6e317fbfc836d2c66427 libs/outcome (boost-1.85.0-28-g1e3270d8) +449bf360f7d7a945639710b0fbb670ffde70e772 libs/pfr (before_precise-542-g449bf36) +406cd3ecf36c19b94b4376241a4b3b43d1eae308 libs/process (boost-1.84.0-12-g406cd3e) +27f927694547277f845ae855e80b96be252f826c libs/program_options (boost-1.85.0-1-g27f9276) +b6e1280075fa0f2c71af3c7b89ef2717aa922557 libs/redis (boost-1.85.0-2-gb6e1280) +351b03d5220510a1b6738cc378659b6d85c8a4da libs/stacktrace (boost_review_2-281-g351b03d) +a701cafb6be0021cf8e154cab5fc5d680c863f06 libs/timer (boost-1.85.0-1-ga701caf) +5e6b9291deb55567d41416af1e77c2516dc1250f libs/unordered (boost-1.85.0-2-g5e6b9291) +ff36c3aa1f82d1d9a55fd006dd47cf380fc517c0 libs/variant2 (boost-1.85.0-4-gff36c3a) +c11757decf393f6f1cf46f3f70b0bf892cdda5ee libs/wave (boost-1.84.0-9-gc11757d) +efbf6ce59b4023f7adc9be2fc3875d371c7f52c6 tools/build (converted-master-7425-gefbf6ce59)
Something's really wrong with release tagging.
I've created an issue: https://github.com/boostorg/release-tools/issues/64 So what's the way forward? Do I have the permission to fix the tags in my libraries?
Andrey Semashev wrote:
Something's really wrong with release tagging.
I've looked at a few of these at random and I believe that the common theme is that the boost-1.85.0 tag is always the same as the boost-1.85.0.beta1 tag, even when the library has changes between beta and release.
On 5/27/24 18:06, Peter Dimov via Boost wrote:
Andrey Semashev wrote:
Something's really wrong with release tagging.
I've looked at a few of these at random and I believe that the common theme is that the boost-1.85.0 tag is always the same as the boost-1.85.0.beta1 tag, even when the library has changes between beta and release.
Do you know where tags for submodules are created? I found this: https://github.com/boostorg/release-tools/blob/38ed0545ff2e0cd1f27a3aa6fbd05... but it looks like it only creates the tag for the superproject. I suspect, git submodules aren't synchronized with the superproject when tags are created.
On May 27, 2024, at 8:39 AM, Andrey Semashev via Boost
On 5/27/24 18:06, Peter Dimov via Boost wrote:
Andrey Semashev wrote:
Something's really wrong with release tagging.
I've looked at a few of these at random and I believe that the common theme is that the boost-1.85.0 tag is always the same as the boost-1.85.0.beta1 tag, even when the library has changes between beta and release.
Do you know where tags for submodules are created? I found this:
https://github.com/boostorg/release-tools/blob/38ed0545ff2e0cd1f27a3aa6fbd05...
but it looks like it only creates the tag for the superproject.
I suspect, git submodules aren't synchronized with the superproject when tags are created.
Here’s how the tags are created (From https://github.com/boostorg/wiki/wiki/Releases%3A-Preparing)
Tag the release in git. Make sure the correct versions of the super project and submodules are checked out, and then do something like:
git tag boost-1.78.0 git submodule foreach 'git tag boost-1.78.0' git push origin boost-1.78.0 git submodule foreach 'git push origin boost-1.78.0’
— Marshall
On 5/27/24 20:17, Marshall Clow wrote:
On May 27, 2024, at 8:39 AM, Andrey Semashev via Boost
wrote: On 5/27/24 18:06, Peter Dimov via Boost wrote:
Andrey Semashev wrote:
Something's really wrong with release tagging.
I've looked at a few of these at random and I believe that the common theme is that the boost-1.85.0 tag is always the same as the boost-1.85.0.beta1 tag, even when the library has changes between beta and release.
Do you know where tags for submodules are created? I found this:
https://github.com/boostorg/release-tools/blob/38ed0545ff2e0cd1f27a3aa6fbd05...
but it looks like it only creates the tag for the superproject.
I suspect, git submodules aren't synchronized with the superproject when tags are created.
Here’s how the tags are created (From https://github.com/boostorg/wiki/wiki/Releases%3A-Preparing https://github.com/boostorg/wiki/wiki/Releases%3A-Preparing)
Tag the release in git. Make sure the correct versions of the super project and submodules are checked out, and then do something like:
git tag boost-1.78.0>> git submodule foreach 'git tag boost-1.78.0' git push origin boost-1.78.0>> git submodule foreach 'git push origin boost-1.78.0'
I think, you need to prepend those commands with something like this: git submodule update --init --recursive --checkout so that the checked out submodules are on the commits referenced by the superproject.
On 5/27/24 20:46, Andrey Semashev wrote:
On 5/27/24 20:17, Marshall Clow wrote:
On May 27, 2024, at 8:39 AM, Andrey Semashev via Boost
wrote: On 5/27/24 18:06, Peter Dimov via Boost wrote:
Andrey Semashev wrote:
Something's really wrong with release tagging.
I've looked at a few of these at random and I believe that the common theme is that the boost-1.85.0 tag is always the same as the boost-1.85.0.beta1 tag, even when the library has changes between beta and release.
Do you know where tags for submodules are created? I found this:
https://github.com/boostorg/release-tools/blob/38ed0545ff2e0cd1f27a3aa6fbd05...
but it looks like it only creates the tag for the superproject.
I suspect, git submodules aren't synchronized with the superproject when tags are created.
Here’s how the tags are created (From https://github.com/boostorg/wiki/wiki/Releases%3A-Preparing https://github.com/boostorg/wiki/wiki/Releases%3A-Preparing)
Tag the release in git. Make sure the correct versions of the super project and submodules are checked out, and then do something like:
git tag boost-1.78.0>> git submodule foreach 'git tag boost-1.78.0' git push origin boost-1.78.0>> git submodule foreach 'git push origin boost-1.78.0'
I think, you need to prepend those commands with something like this:
git submodule update --init --recursive --checkout
so that the checked out submodules are on the commits referenced by the superproject.
I.e. this command should "Make sure the correct versions of the super project and submodules are checked out". :) Also, the tagging should probably be a part of some CI script and not done manually.
On Mon, May 27, 2024 at 10:47 AM Andrey Semashev wrote:
Here's the script:
cd <boost-root> git checkout boost-1.85.0 git submodule foreach git checkout boost-1.85.0 git submodule status --cached | grep -E '^\+'
This will show the list of submodules, for which the currently checked out commit (i.e. the submodule's boost-1.85.0 tag) doesn't match the commit referenced by the superproject. The commit SHA it'll show is the commit referenced by the superproject.
The output on my machine is:
+e65367991cb5fbdb8a7cf218ae38f69ca9a0a9f5 libs/asio (asio-1.10.9-1298-ge6536799) +98b8be489fa7a74753a724d8d0772d90bcbed0fc libs/beast (boost-1.85.0-12-g98b8be48) +6865e94cc56a33bb8b162bf8d62cfe620b06d2b6 libs/bimap (boost-1.82.0-8-g6865e94) +0b813affb41e0dd2a42c3c34033f4ae68431b3e9 libs/cobalt (boost-1.84.0-7-g0b813af) +bba8d5f1011afc61b9fbaf0e96417d72cb09f8ec libs/compat (boost-1.84.0-5-gbba8d5f) +083b41c17e34f1fc9b43ab796b40d0d8bece685c libs/core (boost-1.85.0-2-g083b41c) +50719b212349f3d1268285c586331584d3dbfeb5 libs/describe (boost-1.85.0-2-g50719b2) +a0c8edba38a4d31b449fcf7b7ada455977342596 libs/filesystem (filesystem-2014-07-23-813-ga0c8edb) +f82eb32da79641697583a43be9988d7517d8553c libs/geometry (geometry-1.56.0-5991-gf82eb32da) +07ba0e376177409c396c109807c13b7181a98ebe libs/intrusive (boost-1.85.0-4-g07ba0e3) +9f85ed6d62ff91c6dc4fc30e3a20e9049ec67585 libs/json (boost-1.85.0-7-g9f85ed6) +5edb7eb4f4848546d3d285598374b5d37daae387 libs/locale (boost-1.85.0-2-g5edb7eb) +2d932ddcb5b05a9b2cc0a9df2d8a6ff88883f2b3 libs/log (boost-1.85.0-3-g2d932dd) +434a017db4c7abc115d8a8ae08a446b70feb34f2 libs/math (boost-1.85.0-8-g434a017db) +f607d5154df4a5cc7f5ae014f0796f0b21b8bfc4 libs/msm (boost-1.85.0-6-gf607d51) +d702a48363997f65fb717346f6694e0703902f8a libs/multi_index (boost-1.84.0-2-gd702a48) +51e01210078bae160ebc9fc4ede9281928d5b3c1 libs/multiprecision (boost-1.85.0-2-g51e01210) +6397d04ff55741a29ca2c93975e26226cf773a7d libs/mysql (boost-1.85.0-3-g6397d04f) +72429c3f48a1e70c08b5bd922ddebf7acddcbfb4 libs/nowide (v10.0.2-315-g72429c3) +1e3270d8106a59ac0b9c6e317fbfc836d2c66427 libs/outcome (boost-1.85.0-28-g1e3270d8) +449bf360f7d7a945639710b0fbb670ffde70e772 libs/pfr (before_precise-542-g449bf36) +406cd3ecf36c19b94b4376241a4b3b43d1eae308 libs/process (boost-1.84.0-12-g406cd3e) +27f927694547277f845ae855e80b96be252f826c libs/program_options (boost-1.85.0-1-g27f9276) +b6e1280075fa0f2c71af3c7b89ef2717aa922557 libs/redis (boost-1.85.0-2-gb6e1280) +351b03d5220510a1b6738cc378659b6d85c8a4da libs/stacktrace (boost_review_2-281-g351b03d) +a701cafb6be0021cf8e154cab5fc5d680c863f06 libs/timer (boost-1.85.0-1-ga701caf) +5e6b9291deb55567d41416af1e77c2516dc1250f libs/unordered (boost-1.85.0-2-g5e6b9291) +ff36c3aa1f82d1d9a55fd006dd47cf380fc517c0 libs/variant2 (boost-1.85.0-4-gff36c3a) +c11757decf393f6f1cf46f3f70b0bf892cdda5ee libs/wave (boost-1.84.0-9-gc11757d) +efbf6ce59b4023f7adc9be2fc3875d371c7f52c6 tools/build (converted-master-7425-gefbf6ce59)
Thanks Andrey. I'll try and fix the above tags in the corresponding libraries manually by tomorrow night. Until we can release through the system being developed for the new website, I will discuss with Sam what we can do to prevent this from happening in future releases. Glen
On 5/28/24 05:40, Glen Fernandes wrote:
On Mon, May 27, 2024 at 11:38 AM Glen Fernandes wrote:
Thanks Andrey. I'll try and fix the above tags in the corresponding libraries manually by tomorrow night.
Done. (All 30 libraries' boost-1.85.0 tags updated)
Thank you. Could you also update the wiki with the command I suggested to Marshall?
On Tue, May 28, 2024 at 3:19 AM Andrey Semashev wrote:
On 5/28/24 05:40, Glen Fernandes wrote:
On Mon, May 27, 2024 at 11:38 AM Glen Fernandes wrote:
Thanks Andrey. I'll try and fix the above tags in the corresponding libraries manually by tomorrow night.
Done. (All 30 libraries' boost-1.85.0 tags updated)
Thank you.
Could you also update the wiki with the command I suggested to Marshall?
Yes, also done.
Glen Fernandes wrote:
On Mon, May 27, 2024 at 11:38 AM Glen Fernandes wrote:
Thanks Andrey. I'll try and fix the above tags in the corresponding libraries manually by tomorrow night.
Done. (All 30 libraries' boost-1.85.0 tags updated)
Thanks. This is creating problems for vcpkg https://github.com/microsoft/vcpkg/issues/38974#issuecomment-2134491489 so we need to make sure it doesn't happen again.
Glen Fernandes wrote:
On Mon, May 27, 2024 at 11:38 AM Glen Fernandes wrote:
Thanks Andrey. I'll try and fix the above tags in the corresponding libraries manually by tomorrow night.
Done. (All 30 libraries' boost-1.85.0 tags updated)
Thanks.
This is creating problems for vcpkg
https://github.com/microsoft/vcpkg/issues/38974#issuecomment-2134491489
so we need to make sure it doesn't happen again.
For everyone who has the superproject checked out, the command to update the tags in the working copy is git submodule foreach git fetch --tags -f
On 5/28/24 18:19, Peter Dimov via Boost wrote:
Glen Fernandes wrote:
On Mon, May 27, 2024 at 11:38 AM Glen Fernandes wrote:
Thanks Andrey. I'll try and fix the above tags in the corresponding libraries manually by tomorrow night.
Done. (All 30 libraries' boost-1.85.0 tags updated)
Thanks.
This is creating problems for vcpkg
https://github.com/microsoft/vcpkg/issues/38974#issuecomment-2134491489
so we need to make sure it doesn't happen again.
For everyone who has the superproject checked out, the command to update the tags in the working copy is
git submodule foreach git fetch --tags -f
Better to update the superproject, too. I used: git fetch --recurse-submodules --jobs 8 --prune --tags --force in Boost root. It did update a few old tags in the superproject for me.
participants (6)
-
Andrey Semashev
-
Glen Fernandes
-
Marshall Clow
-
Peter Dimov
-
Vinnie Falco
-
Vissarion Fisikopoulos