Skip to content

Update CHANGELOG.md and Release Notes with 2.9's breaking changes #623

@nevans

Description

@nevans

Quoting @anakinj in #616 (comment):

Im going to close this one as we try our best to follow sematic versioning to the documented public apis. If there are some suggestion on how to be better at communicating what are internal interfaces and what public. Please shout out...

So, I'm opening a new ticket for my suggestions. 😉

I'm personally okay with projects that don't strictly adhere to Semantic Versioning. I have issues with the way the standard was written--with a few (significant) tweaks, I'd probably love it. But I'll never commit to using it myself.

Regardless of whether or not the project uses Semantic Versioning or any other compatibility policy, what I really want to see is a list of any "Breaking Changes" in the CHANGELOG.md and Release Notes (for projects that use those). Bonus points (so few projects do this!): update the CHANGELOG and Release Notes with a "Known Issues" list for any significant bugs (aka: accidental breaking changes) that were fixed in a later release.

It's okay to update these docs months after the release was made. It'll be appreciated by someone... it may save them hours of debugging time! These should be living documents.


As for the actual release notes, quickly skimming through #605 and the bugfix since 2.9.0, I see the following:

### Breaking Changes
* `JWT::Verify` has been removed.
  * Replace `JWT::Verify.verify_claims`
    with `JWT::Claims.verify`.
* `JWT::ClaimsVerifier` has been removed.
  * Replace `ClaimsValidator.new(payload).validate!`
    with `Claims::Numeric.new(payload).verify!`.

### Known Issues
* `verify_iss` and `verify_aud` crash when no expected values are passed.
  _Fixed in v2.9.1 by [#619](https://github.com/jwt/ruby-jwt/pull/619)._

If you wanted to add something about "these constants were not intended to be used as part of the public API", that seems reasonable to me. But that's not really necessary, IMO.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions