Skip to content

Bump MSRV to 1.63#3100

Merged
apoelstra merged 1 commit intorust-bitcoin:masterfrom
Kixunil:msrv-1.63
Jul 28, 2024
Merged

Bump MSRV to 1.63#3100
apoelstra merged 1 commit intorust-bitcoin:masterfrom
Kixunil:msrv-1.63

Conversation

@Kixunil
Copy link
Copy Markdown
Collaborator

@Kixunil Kixunil commented Jul 24, 2024

The version 1.63 satisfies our requirements for MSRV and provides significant benefits so this commit bumps it. This commit also starts using some advantages of the new MSRV, namely namespaced features, weak dependencies and the ability to use trait bounds in const context.

This however does not yet migrade the rand-std feature because that requires a release of secp256k1 with the same kind of change - bumping MSRV to 1.63 and removing rand-std in favor of weak dependency. (Accompanying PR to secp256k1: rust-bitcoin/rust-secp256k1#709 )

Suggested plan:

  • merge both PRs
  • at some point release hashes and secp256k
  • remove rand-std from bitcoin
  • release the rest of the crates

@Kixunil Kixunil added API break This PR requires a version bump for the next release 1.0 Issues and PRs required or helping to stabilize the API labels Jul 24, 2024
@github-actions github-actions bot added ci C-bitcoin PRs modifying the bitcoin crate C-hashes PRs modifying the hashes crate C-units PRs modifying the units crate C-internals PRs modifying the internals crate C-io PRs modifying the io crate test C-primitives C-base58 PRs modifying the base58 crate C-addresses PRs modifying the addresses crate labels Jul 24, 2024
@coveralls
Copy link
Copy Markdown

coveralls commented Jul 24, 2024

Pull Request Test Coverage Report for Build 10121172375

Details

  • 4 of 4 (100.0%) changed or added relevant lines in 2 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.008%) to 83.234%

Totals Coverage Status
Change from base Build 10118254116: -0.008%
Covered Lines: 19659
Relevant Lines: 23619

💛 - Coveralls

@Kixunil Kixunil mentioned this pull request Jul 24, 2024
@Kixunil Kixunil requested review from apoelstra and tcharding July 24, 2024 13:32
@Kixunil Kixunil added the P-medium Medium priority label Jul 24, 2024
@Kixunil Kixunil added this to the Release `v0.33.0` milestone Jul 24, 2024
tcharding
tcharding previously approved these changes Jul 24, 2024
Copy link
Copy Markdown
Member

@tcharding tcharding left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a really nice improvement from a maintenance perspective, I'm excited about not writing foo-std features constantly. I only reviewed lightly but ACK from me.

ACK 966b2b5501044bc2f0e7fcf394e1970b2c0c951f

@yancyribbens
Copy link
Copy Markdown
Contributor

Looks good. However README.md needs updating also.

@Kixunil
Copy link
Copy Markdown
Collaborator Author

Kixunil commented Jul 24, 2024

@yancyribbens OMG, rg output was so large they got lost. Thanks!

@Kixunil
Copy link
Copy Markdown
Collaborator Author

Kixunil commented Jul 24, 2024

nice improvement from a maintenance perspective

It also helps crates avoid weird bugs - users will get better API.

tcharding
tcharding previously approved these changes Jul 25, 2024
Copy link
Copy Markdown
Member

@tcharding tcharding left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 7107e6edeb58d16afaee4d901e868b77ad638804

@apoelstra
Copy link
Copy Markdown
Member

Needs rebase.

The version 1.63 satisfies our requirements for MSRV and provides
significant benefits so this commit bumps it. This commit also starts
using some advantages of the new MSRV, namely namespaced features, weak
dependencies and the ability to use trait bounds in `const` context.

This however does not yet migrade the `rand-std` feature because that
requires a release of `secp256k1` with the same kind of change - bumping
MSRV to 1.63 and removing `rand-std` in favor of weak dependency.
@Kixunil
Copy link
Copy Markdown
Collaborator Author

Kixunil commented Jul 27, 2024

I wonder if I should try to do the secp256k1 without release by using git-based [patch]. Possibly as a separate PR.

@apoelstra
Copy link
Copy Markdown
Member

Yeah, let's do it in a separate PR. But ACK doing it because we don't have a clear schedule for doing a rust-secp update. Nobody is pushing for one and we haven't done very much to the API over there.

Copy link
Copy Markdown
Member

@apoelstra apoelstra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK c72069e

Copy link
Copy Markdown
Member

@tcharding tcharding left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK c72069e

@apoelstra apoelstra merged commit 15b8760 into rust-bitcoin:master Jul 28, 2024
@Kixunil Kixunil deleted the msrv-1.63 branch July 29, 2024 06:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1.0 Issues and PRs required or helping to stabilize the API API break This PR requires a version bump for the next release C-addresses PRs modifying the addresses crate C-base58 PRs modifying the base58 crate C-bitcoin PRs modifying the bitcoin crate C-hashes PRs modifying the hashes crate C-internals PRs modifying the internals crate C-io PRs modifying the io crate C-primitives C-units PRs modifying the units crate ci doc P-medium Medium priority test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants