Skip to content

Update misleading 6.0.1 release notes; fix system that allowed them? #138

Description

@claybridges

Update 6.0.1 release notes

The release notes for 6.0.1 should be updated to accurately reflect changes. Something like:

## What's Changed
* `swift-tools-version` lowered 6.3 → 6.0, to widen compatibility
* `StrictConcurrency` flag removed
* Tests migrated from XCTest to Swift Testing by @tgymnich in #134

The bigger problem: lax commit & release discipline?

This 6.0.1 release is sus, and now that I look at it, low-key so was 6.0.0.

At first, based off the release notes, I thought it was a test-only change that somehow warranted a release (and thus, because it was wasting my time, peeved). That was based on this lone version info for 6.0.1:

Migrate all tests from XCTest to Swift Testing framework by @tgymnich in #134

But after digging in, it's worse. The same squashed commit also lowers swift-tools-version 6.3 → 6.0 and removes .enableExperimentalFeature("StrictConcurrency") from the BigInt target. (See my comment here)

So this is actually a stealth manifest change, which:

  • deletes a concurrency-safety setting
  • yet still releases as a patch rather than minor
  • is itself fixing a "not thought out" & "pretty buried" Swift 6.3 bump from BigInt v6.0.0

This was all discussed, and basically planned:

But I, a serious, security-focused consumer of this library, get none of this in the release notes. Should I be counting on the release notes? Right now, no. Which low-key means any version bump implies a full code review for me. Do the maintainers expect things to work this way?

If not, I think some real thought should be given to:

  • improved commit discipline before merge
    • commit message should accurately capture changes
    • disallow commits squashing unrelated stuff together
      - given claude + github stacks, splitting commits into meaningful chunks has never been easier
  • improved release discipline, and more consideration given to impact on library consumers

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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