Skip to content

feat!: regenerate from protocol v237.1.3 and move the module to /v6 - #147

Open
mogita wants to merge 1 commit into
mainfrom
feat/regen-v237-v6
Open

feat!: regenerate from protocol v237.1.3 and move the module to /v6#147
mogita wants to merge 1 commit into
mainfrom
feat/regen-v237-v6

Conversation

@mogita

@mogita mogita commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Problem

getstream-go is generated from protocol openapi-v236.2.0. The current release, openapi-v237.1.3, changes the shape of six generated types, which breaks Go call sites even though nothing was removed from the API.

Solution

Regenerated against openapi-v237.1.3 and moved the module to /v6.

ChannelMemberRequest.UserID   string                -> *string
ChannelMemberRequest.User     *UserResponse         -> *MemberUserRequest   (new type)
Reminder{Created,Updated,Deleted,Notification}Event.Reminder
                              *ReminderResponseData -> ReminderResponseData

No endpoint, type or field was removed, and no field was added. oasdiff between the two specs reports 44 errors, all request-property-type-changed, matching the first two rows.

Go resolves a v2+ module only if go.mod carries the matching suffix, and release-please never rewrites it, so go.mod and all 76 self-imports move to /v6 here. This has to be on main before the major Release PR merges, or the guard in release.yml refuses to tag. CHANGELOG.md and MIGRATION_v4_to_v5.md keep their /v5 references as historical record.

MIGRATION_v5_to_v6.md documents the four call-site changes. The 15 affected lines in the hand-written tests use the existing PtrTo helper.

How to verify

  1. head -1 go.mod shows module github.com/GetStream/getstream-go/v6.
  2. grep -rl "getstream-go/v5" . --exclude-dir=.git lists only CHANGELOG.md and MIGRATION_v4_to_v5.md.
  3. ./generate.sh produces no diff beyond .spec-version if a newer protocol release has landed since.
  4. go build ./... && go vet ./... && go test -short ./... all pass.

Review instructions

Merge order matters. PR #145 is open proposing 5.4.0 from base 5.3.0. If this merges first, release-please recomputes that same PR as 6.0.0 and 5.4.0 never ships. Merge #145 first if you want 5.4.0 to exist.

Expect the Release workflow to go red on the push that lands this PR: main will carry go.mod at /v6 while the manifest still says 5.3.0 or 5.4.0, and the guard fails on that mismatch by design. It blocks only the tagging step, not the Release PR, and it clears once the 6.0.0 Release PR merges.

Six generated types changed shape. Nothing was removed: no endpoint, type or field
disappeared, and no field was added.

  ChannelMemberRequest.UserID          string                -> *string
  ChannelMemberRequest.User            *UserResponse         -> *MemberUserRequest
  Reminder{Created,Updated,Deleted,Notification}Event.Reminder
                                       *ReminderResponseData -> ReminderResponseData

oasdiff reports 44 errors between openapi-v236.2.0 and openapi-v237.1.3, all
request-property-type-changed, which matches the first two rows.

Go resolves a v2+ module only if go.mod carries the matching suffix, and
release-please does not rewrite it, so go.mod and all 76 self-imports move to
/v6 in this commit. That has to land before the major Release PR merges,
otherwise the guard in release.yml refuses to tag. CHANGELOG.md and
MIGRATION_v4_to_v5.md keep their /v5 references as historical record.

MIGRATION_v5_to_v6.md documents the four call-site changes. The 15 affected
lines in the hand-written tests use the existing PtrTo helper.

BREAKING CHANGE: module path is now github.com/GetStream/getstream-go/v6, and
ChannelMemberRequest.UserID, ChannelMemberRequest.User and the Reminder field on
the four reminder events changed type. See MIGRATION_v5_to_v6.md.
@mogita
mogita requested a review from tbarbugli as a code owner August 26, 2026 13:24
@mogita
mogita deployed to feeds-enabled-shard August 26, 2026 13:25 — with GitHub Actions Active
@mogita
mogita deployed to feeds-enabled-shard August 26, 2026 13:25 — with GitHub Actions Active
@mogita
mogita had a problem deploying to feeds-enabled-shard August 26, 2026 13:25 — with GitHub Actions Failure
@mogita
mogita deployed to feeds-enabled-shard August 26, 2026 13:25 — with GitHub Actions Active
@mogita
mogita deployed to feeds-enabled-shard August 26, 2026 13:25 — with GitHub Actions Active
@mogita
mogita deployed to feeds-enabled-shard August 26, 2026 13:25 — with GitHub Actions Active
@mogita
mogita had a problem deploying to feeds-enabled-shard August 26, 2026 13:30 — with GitHub Actions Failure
@mogita
mogita had a problem deploying to feeds-enabled-shard August 26, 2026 16:01 — with GitHub Actions Failure
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.

1 participant