Conversation
|
Update CHANGELOG.md/release notes? |
Added an edited version of the auto-generated release notes in CHANGELOG.md. |
| This is a minor release, updating rustls to 0.23.37 and updating other dependencies. | ||
|
|
||
| * update semver compat. deps, fix cbindgen CI diff check by @cpu in https://github.com/rustls/rustls-ffi/pull/559 | ||
| * Build artifacts on ubuntu-22 by @ctz in https://github.com/rustls/rustls-ffi/pull/561 |
There was a problem hiding this comment.
I don't love these auto-generated changelog notes compared to the previous ones. For example, changes in CI are not meaningful to end users.
It also doesn't match the format that was used for the previous releases (added, changed, removed, etc)
There was a problem hiding this comment.
I'm happy to review more lines. I kept this in because I thought it was relevant (see discussion in the PR about the minimum usable glibc version), but happy to remove it.
I don't think there's anything remaining in this list that's particularly worth calling out or explaining in more detail?
There was a problem hiding this comment.
Did you verify main has no breaking changes? I think 0b3478c is breaking for example.
In either case, I think we should maintain the added/changed/removed format that was used previously, with auto-generated changelog in the GitHub release for the full set of commits and the top-level release notes and CHANGELOG.md used for curated highlights.
I don't think there's anything remaining in this list that's particularly worth calling out or explaining in more detail?
There were a few functions added in the diff since last release and we've typically listed those explicitly:
I think new error variants were also listed explicitly in 0.15.0 and previous, and there were a couple of those.
This change also feels worth an explicit "changed" mention:
And probably this deprecation:
There was a problem hiding this comment.
Did you verify
mainhas no breaking changes? I think 0b3478c is breaking for example.
Why do you think that's breaking? It doesn't look breaking to me.
There was a problem hiding this comment.
I'm generally conservative in applying a Rust-like understanding of what is/isn't semver breaking to C code. Especially in a case like this where it isn't an opaque struct, I think we have limited ability to mutate the definition in a semver safe way.
I'm fairly confident this is an ABI break (though we document that we don't care about those). On the API compat side I think it would break positional struct initializers at a minimum, and there might be a case for why that would matter for rustls_client_hello_select_certified_key invocations. I suspect the typical path is to get your rustls_client_hello from the rustls_client_hello_callback.
@ctz What do you think?
There was a problem hiding this comment.
Okay, but in the intended usage only the dylib allocates values of this type, right?
There was a problem hiding this comment.
Yep I believe that is correct in this instance.
There was a problem hiding this comment.
So it feels to me like if we move the new field to the end, it won't be practically breaking although it might be technically breaking. That seems like a decent way to get a 0.15.1 out?
There was a problem hiding this comment.
I would be fine with leaving it as-is, calling it 0.15.1, and documenting we made a breaking change in an API that has always been marked experimental. It doesn't feel like we gain much in this case by trying to decide if it's practically breaking or not. Even if we move the field to the end it feels most robust to just document it as a breaking change.
|
Here's a claude-assisted changelog: This is a minor release, updating rustls to 0.23.37 and improving documentation tooling. Added
Changed
|
|
That looks pretty nice -- can you get it to add references to the relevant PRs? |
|
Those Claude auto-gen'd changelog notes look reasonable 👍 I still suspect we either need to call this 0.16 (I think I'd prefer not to do that) or to make a rel-0.15 branch and use that instead because of 0b3478c |
Yeah, I don't think we should release a 0.16.0 (now) that's still based on rustls 0.23. |
Oh, yes, that's dead-on breaking. Hmm |
It's in a part of the API we've called experimental, so I suppose we could just say it's fine...
|
And/or share the prompt? |
Fixes #632.