Skip to content

Modernize Go SDK and add playlist support for 3.0.0 - #7

Merged
wenbinf merged 1 commit into
mainfrom
fix/go-sdk-sync
Sep 24, 2026
Merged

wenbinf merged 1 commit into
mainfrom
fix/go-sdk-sync

Conversation

@wenbinf

@wenbinf wenbinf commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

Prepare version 3.0.0 with all five playlist write methods and generated endpoint wrappers, a contract snapshot, and README reference. Existing exported method names and response data/statistics remain available. The standalone module has no third-party dependencies and builds without the monorepo.

The transport now supports PUT, escapes path identifiers, separates query parameters from form fields, preserves empty notes/descriptions, and isolates each client's configuration. Responses retain HTTP status, headers, and body; API errors support errors.Is and errors.As.

Migration

  • Requires Go 1.26+ and the github.com/ListenNotes/podcast-api-go/v3 import path.
  • Custom HTTPClient implementations must add the five playlist methods.
  • Replace direct sentinel error comparisons with errors.Is; default clients no longer follow redirects.

Validation

  • Offline race tests, vet, build, formatting, and module checks pass on Go 1.26.8 and 1.27.1.
  • All 30 method contracts and compile-only examples pass; 34 public mock requests pass.
  • Standalone source copy and fresh consumer build successfully without dependency downloads.
  • Monorepo generation, documentation tests, snippet tests, and frontend typechecking pass.
  • CI covers the minimum and current stable Go versions, standalone packaging, and an opt-in public mock integration suite. Default tests never call production or the public mock.

Production smoke testing through this SDK covered all 21 GET endpoints: 19 returned HTTP 200, including both playlist reads; spellcheck and related searches returned the expected HTTP 401 PRO/ENTERPRISE plan restriction. Request paths/query encoding, User-Agent, response schema fields, quota/usage/latency/billing headers, and SDK error classification passed. The harness blocked non-GET requests and made no production writes.

All four GitHub CI jobs passed: minimum Go version, stable Go, standalone quality checks, and public mock integration. Publication and website snippet activation are separate release steps.

@wenbinf
wenbinf merged commit c50dc3a into main Sep 24, 2026
4 checks passed
@wenbinf
wenbinf deleted the fix/go-sdk-sync branch September 24, 2026 05:07
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