Modernize Go SDK and add playlist support for 3.0.0 - #7
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.Isanderrors.As.Migration
github.com/ListenNotes/podcast-api-go/v3import path.HTTPClientimplementations must add the five playlist methods.errors.Is; default clients no longer follow redirects.Validation
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.