Skip to content
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

[RFC] Bump minimum required Boost version to 1.57.0 #1682

Closed
Fuzzbawls opened this issue Jun 14, 2020 · 3 comments
Closed

[RFC] Bump minimum required Boost version to 1.57.0 #1682

Fuzzbawls opened this issue Jun 14, 2020 · 3 comments
Assignees
Milestone

Comments

@Fuzzbawls
Copy link
Collaborator

Currently, our minimum required Boost version is 1.47.0 in order to continue support primarily for Ubuntu Trusty, which reached the end of it's standard support April 2019.

In our upcoming sapling implementation, we rely on a boost::optional method that doesn't exist until Boost 1.57.0. This issue proposes to bump up our minimum required Boost version to 1.57.0 rather than create a workaround.

This will effectively end our support for the following distros unless compiling with the depends system:

Distro and Version Supplied Boost Version Standard Support Ended Date End of Life Date
Ubuntu Trusty 14.04 1.55.0 April 2019 April 2022
Debian Jessie 1.55.0 June 2018 June 2020 (LTS)
Fedora 21 1.55.0 Dec 2015
CentOS 7* 1.53.0 June 2024

* This is probably the most controversial, as CentOS 7 is still in wide use; CentOS 8 was only released in Sept 2019.

@Fuzzbawls Fuzzbawls added this to the 5.0.0 milestone Jun 14, 2020
@random-zebra
Copy link

ACK on bumping the minimum required boost version to 1.57

@furszy
Copy link

furszy commented Jun 14, 2020

ACK on bumping the min version to 1.57 too.

Another good discussion would be the upgrade to c++17 to be able to use std::optional instead of boost::optional (as well as many others objects/functions like the variant, visitor pattern, etc).

random-zebra added a commit that referenced this issue Jul 15, 2020
44c13ee Travis: Remove trusty test target (Fuzzbawls)
9c6cb1b Doccument the minimum boost version bump (Fuzzbawls)
e0d5271 Enforce that no deprecated boost filesystem methods can be re-introduced (Fuzzbawls)
c9f53b5 Stop using deprecated boost filesystem methods (Fuzzbawls)
85210ec Build: Remove redundant configure-time boost fallbacks (Fuzzbawls)
35748bb Build: Remove old boost version precompiler fallbacks (Fuzzbawls)
249c442 Build: Set minimum Boost version to 1.57.0 (Fuzzbawls)

Pull request description:

  This implements a minimum required boost version bump, pursuant to #1682

  The configure script has been updated to require a detected version of at least 1.57.0, and now-redundant sub-checks have been removed. Precompiler macros that offered version or feature fallbacks have also been largely removed as they are unnecessary.

  Finally, this also updates some Boost Filesystem Path codebase that was using deprecated methods, and sets the `BOOST_FILESYSTEM_NO_DEPRECATED` macro so that such methods do not get re-added to the codebase in the future.

  Ready for review, but should not be merged until after the `4.2` branch-off.

ACKs for top commit:
  furszy:
    utACK 44c13ee
  random-zebra:
    utACK 44c13ee and merging...

Tree-SHA512: 2491625f21f488bcec025f75eebfd50a571a6c896892f6c902febf1ed2262e453ed71c4c1f5ae2901e30c5f4a2f58c404851995b31008d66b40fd59b98fb82c5
@furszy
Copy link

furszy commented Aug 5, 2020

PR merged, closing issue

@furszy furszy closed this as completed Aug 5, 2020
@random-zebra random-zebra modified the milestones: 5.0.0, 4.3.0 Sep 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants