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

Bump crate version to 0.23.0 #444

Merged
merged 1 commit into from Jun 21, 2022

Conversation

tcharding
Copy link
Member

@tcharding tcharding commented Jun 9, 2022

We just did an MSRV bump, this typically would require bumping our major
version number but since we are pre 1.0 we bump the minor version
number.

In preparation for release, write CHANGELOG release notes and bump the crate version to 0.23.0

Thanks to Kixunil for sifting through the PRs to make the changelog list, I added links to the relevant PRs.

@apoelstra
Copy link
Member

I'd like to see if we can get #435 in first.

@tcharding
Copy link
Member Author

Is this a process thing, we only bump the version once we are ready to release? I just did this PR because we did a bunch of changes that needed it to be done at some stage before release.

@Kixunil
Copy link
Collaborator

Kixunil commented Jun 10, 2022

I think we should also get #406 in to decrease the frequency of breakages. #309 would be also great but it doesn't seem conclusion is near.
Nice to have for MSRV completeness: #409 #446

I feel uneasy about the failing test in #435, so that'd be great to resolve as well.

The remaining open PRs don't seem urgent to add here. (Yep, I went through all of them.)

@apoelstra
Copy link
Member

Is this a process thing, we only bump the version once we are ready to release? I just did this PR because we did a bunch of changes that needed it to be done at some stage before release.

Yes, I like to use "bump Cargo.toml" version PRs as "release tracking issues" and do a release/tag immediately after merging.

@Kixunil thanks for the summary! Regarding #406 I'm not sure if we want to have that PR ... I'm worried about doing the breakage at all and the benefit is not very large. It feels to me like the PR is stalled.

@Kixunil
Copy link
Collaborator

Kixunil commented Jun 10, 2022

Last change is 2 days ago, doesn't look stalled to me. IMO until 1.0 it's fine to do such breakage. (I would love to have 1.0 but that will take shitton of work.)

@tcharding
Copy link
Member Author

I just rebased #406 the other day, I have no idea if it is definitely an improvement. I commented as such on the PR.

@tcharding
Copy link
Member Author

I feel uneasy about the failing test in #435, so that'd be great to resolve as well.

Should be resolved now (assuming the cfg guard on fuzzing is ok).

@tcharding
Copy link
Member Author

#309 is now #449

@tcharding
Copy link
Member Author

Can we have #448 in before release too please - add clippy to CI?

@apoelstra
Copy link
Member

Ok, only #448 is remaining.

1 similar comment
@apoelstra
Copy link
Member

Ok, only #448 is remaining.

@tcharding
Copy link
Member Author

Woop woop, #448 is rebased and ready for review. As Odell would say, "let's f***ing go"!

@Kixunil
Copy link
Collaborator

Kixunil commented Jun 20, 2022

Nothing should block this now, right?

@apoelstra
Copy link
Member

@tcharding could you add a CHANGELOG update to this?

Sorry for letting this PR drop..

@Kixunil
Copy link
Collaborator

Kixunil commented Jun 20, 2022

Since I'm looking forward to this, I decided to help a bit and went through the commits to fill the changelog (ordered by what I believe to be most interesting to least interesting; non-sys crate changes only):

Breaking changes

  • MSRV bumped to 1.41.1 and edition changed to 2018
  • serde impls serialize fixed-width arrays as tuples in binary formats to avoid encoding the length
  • Key tweaking methods renamed and refactored to be more functional-style, they now accept a new Scalar type instead of raw slices.
  • rand updated to 0.8
  • KeyPair::from_secret_key borrows SecretKey

New features/APIs

  • Several convenience/conversion methods between keys (Add convenience methods for keys #430)
  • sign_ecdsa_with_noncedata and sign_ecdsa_recoverable_with_noncedata can be used to add additional entropy to ECDSA signatures
  • Errors now display their sources if std is unavailable, with std they rely on the consumer to use the source() method
  • Implemented TryFrom for Partity
  • alloc feature can be used on targets with allocators without standard library
  • SharedSecret can be created from slice, parsed from hex string, or (de)serialized using serde
  • impl std::hash::Hash for Signature

Other improvements

  • global-context-less-secure automatically activates global-context
  • githooks directory added for contributors
  • Clippy is now used in CI and the code is clippy-compliant
  • Various documentation improvements
  • Various CI/development improvements
  • Various code quality improvements/refactors

@apoelstra
Copy link
Member

Looks good! @tcharding if you could just copy/paste that comment into the changelog file I can ack it and merge/release.

In preparation for release, write CHANGELOG release notes and bump the
crate version  to 0.23.0
@tcharding
Copy link
Member Author

tcharding commented Jun 20, 2022

Changes in force-push: rebased and added changelog. Re-wrote commit log and PR description to mirror this.

Copy link
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 c1d7358

@Kixunil
Copy link
Collaborator

Kixunil commented Jun 21, 2022

Oops, I just noticed we didn't handle documentation well when merging tweak changes. add_tweak and others mention 32-byte slice but there's not slice since it's Scalar. I specifically made sure to remove those mentions in my change but it didn't propagate through rebasing. Not sure if we want to hotfix it or just ignore it.

Opened #453

@apoelstra
Copy link
Member

Thanks! Fortunately I had to step away from my keyboard this morning and didn't haev time to merge this PR before your fix :)

@apoelstra apoelstra merged commit 8ecb75c into rust-bitcoin:master Jun 21, 2022
@apoelstra
Copy link
Member

Oops, we need to also bump secp-sys because #331 added the alloc feature.

@apoelstra
Copy link
Member

#457 needs to be merged before cargo publish will work.

@Kixunil
Copy link
Collaborator

Kixunil commented Jun 21, 2022

Can we remove Default from SerializedSignature? Going to make a PR right now. Also mention in changelog.

#458

@tcharding
Copy link
Member Author

Oops, we need to also bump secp-sys

my bad.

@tcharding tcharding deleted the 06-09-bump-version branch June 23, 2022 03:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants