Repository navigation
Releases: massive-com/client-go
Release list
v3.7.0
What's Changed
- [bot] Sync client-go with OpenAPI spec (2026-10-27) by @massive-client-library-automation[bot] in #617
Full Changelog: v3.6.0...v3.7.0
v3.6.0
What's Changed
- [bot] Sync client-go with OpenAPI spec (2026-10-23) by @massive-client-library-automation[bot] in #616
Full Changelog: v3.5.0...v3.6.0
v3.5.0
What's Changed
- [PRO-444] Add support for missing websocket fields by @justinpolygon in #588
- [DEVREL-191] Fix the OpenAPI sync workflow by @justinpolygon in #589
- [PRO-2007] Add AGENTS.md and AI tools section to README by @justinpolygon in #606
- [PRO-1724] Add the skills plugin to the AI tools section of the README by @justinpolygon in #607
- [bot] Sync client-go with OpenAPI spec (2026-10-20) by @massive-client-library-automation[bot] in #614
Fixes to previous day bar and daily open/close responses now decode
Six REST methods in v3.0.0 through v3.4.0 returned a nil response and a JSON unmarshal error on nearly every call, so the response body could not be read:
| Method | Error |
|---|---|
GetPreviousStocksAggregatesWithResponse |
cannot unmarshal string into Go struct field .results.t of type int |
GetPreviousOptionsAggregatesWithResponse |
same |
GetPreviousIndicesAggregatesWithResponse |
same |
GetStocksOpenCloseWithResponse |
cannot unmarshal number ... into Go struct field .preMarket of type int |
GetOptionsOpenCloseWithResponse |
same |
GetIndicesOpenCloseWithResponse |
same |
The API responses were correct. The OpenAPI spec that this client is generated from had two errors, and both are now fixed:
- Previous day bar results were missing
T(ticker). The API returns bothT(ticker string) andt(timestamp). With no field forT, Go's case-insensitive JSON matching tried to decode the ticker into thettimestamp. Results now have aTicker stringfield (json:"T"). Crypto and forex previous day bar were not affected. preMarketwas typed as an integer. It is a price and is fractional in about 95% of responses. It is now*float64, matchingAfterHours.
Breaking change: PreMarket is now *float64
PreMarket changes from *int to *float64 on the stocks, options, and indices open/close responses. Code that references the field needs a type update:
// Before
var pm *int = resp.JSON200.PreMarket
// After
var pm *float64 = resp.JSON200.PreMarketThis field could not be decoded from real API data in earlier v3 releases, so we're shipping the type change as a fix and not a major version.
Full Changelog: v3.4.0...v3.5.0
v3.4.0
What's Changed
- Add backoff for post-handshake reconnects. by @polygon-derek in #587
- Sync client-go with OpenAPI spec (2026-07-08) by @massive-client-library-automation[bot] in #585
New Contributors
- @massive-client-library-automation[bot] made their first contribution in #585
- @polygon-derek made their first contribution in #587
Full Changelog: v3.3.0...v3.4.0
v3.3.0
What's Changed
- Sync client-go with OpenAPI spec by @justinpolygon in #578
Full Changelog: v3.2.0...v3.3.0
v3.2.0
What's Changed
- Sync client-go with OpenAPI spec by @justinpolygon in #574
Full Changelog: v3.1.0...v3.2.0
v3.1.0
What's Changed
- Sync client-go with OpenAPI spec (added
/stocks/filings/8-K/vX/textendpoint) by @justinpolygon in #570 - Correct parameter handling in Go example generation script by @justinpolygon in #566
- Bump github.com/sirupsen/logrus from 1.9.3 to 1.9.4 by @dependabot[bot] in #567
- Bump github.com/oapi-codegen/runtime from 1.1.2 to 1.2.0 by @dependabot[bot] in #568
Full Changelog: v3.0.0...v3.1.0
v3.0.0
v3.0.0 - Breaking Change: REST Client Now Fully Auto-Generated
This is a breaking release (v3.0.0). The entire REST client has been completely rewritten as a fully auto-generated client using oapi-codegen. Because the client is now generated directly from the official OpenAPI spec, all function signatures have changed.
Only the REST client is affected, the WebSocket client (/websocket) remains completely unchanged and continues to work exactly as before.
Migration Guide
To upgrade from v2 to v3:
go get github.com/massive-com/client-go/v3@v3.0.0Then update your imports:
import (
"github.com/massive-com/client-go/v3/rest"
"github.com/massive-com/client-go/v3/rest/gen" // new generated types
)Here's an example of a working code example:
package main
import (
"context"
"fmt"
"log"
"github.com/massive-com/client-go/v3/rest"
"github.com/massive-com/client-go/v3/rest/gen"
)
func main() {
c := rest.NewWithOptions("YOUR_API_KEY",
rest.WithTrace(false),
rest.WithPagination(true),
)
ctx := context.Background()
params := &gen.GetStocksAggregatesParams{
Adjusted: rest.Ptr(true),
Sort: "asc",
Limit: rest.Ptr(120),
}
resp, err := c.GetStocksAggregatesWithResponse(
ctx,
"AAPL",
1,
"day",
"2026-02-16",
"2026-02-20",
params,
)
if err != nil {
log.Fatal(err)
}
if err := rest.CheckResponse(resp); err != nil {
log.Fatal(err)
}
iter := rest.NewIteratorFromResponse(c, resp)
for iter.Next() {
item := iter.Item()
fmt.Printf("%+v\n", item)
}
if err := iter.Err(); err != nil {
log.Fatal(err)
}
}Please see https://massive.com/docs for code examples.
Full Changelog: v2.0.0...v3.0.0
v2.0.0
Release Notes - Massive Go Client v2.0.0 (breaking changes)
This is a major breaking release of the Go client as part of our company rebrand from Polygon.io to Massive.com. Polygon.io has rebranded as Massive.com effective October 30, 2025.
Existing API keys, accounts, and integrations continue to work exactly as before.
This release introduces a new module path for v2:
module github.com/massive-com/client-go/v2
The client continues to provide identical APIs, methods, and data models, with only the import paths and default API domains updated to reflect the new brand.
Breaking Changes
- The module path has changed to
github.com/massive-com/client-go/v2. - Default REST base URL updated from
https://api.polygon.io→https://api.massive.com. - Default WebSocket base URL updated from
wss://socket.polygon.io→wss://socket.massive.com. - All internal package references now use the new
massive-comorganization path.
No functional or behavioral changes are introduced. All client interfaces and method signatures remain identical.
Migration Guide
To upgrade, update your go.mod to import the new v2 module:
go get github.com/massive-com/client-go/v2@v2.0.0Then update your imports:
import "github.com/massive-com/client-go/v2/rest"All API keys, accounts, and integrations continue to function without modification.
If you continue using the legacy github.com/polygon-io/client-go module, it will remain supported for an extended transition period.
Additional Information
- No changes to client interfaces, request/response types, or models.
- Both API domains (
polygon.ioandmassive.com) are fully operational in parallel. - For background, see our blog post: Polygon.io is Now Massive.
- For support, open an issue or contact support@massive.com.
What's Changed
- Rebrand massive by @justinpolygon in #554
Full Changelog: v1.16.18...v2.0.0
v1.16.18
client-go v1.16.18 Release Notes
This minor patch release adds a deprecation notice to align with our rebrand from Polygon.io to Massive.com. No other functional changes, your existing code continues to work exactly as before. Polygon.io has rebranded as Massive.com effective October 30, 2025. Existing API keys, accounts, and integrations continue to work exactly as before. The only upcoming change will be in v2.0.0, where the SDK defaults to the new API base at api.massive.com, while api.polygon.io remains supported for an extended period.
What's Changed
- Update go.mod with deprecated notice by @justinpolygon in #552
- Bump github.com/stretchr/testify from 1.10.0 to 1.11.0 by @dependabot[bot] in #544
- feat(snapshots): add fmv_last_updated by @DanStough in #545
- refactor: route websocket data by market first for overlapping event types by @justinpolygon in #551
Full Changelog: v1.16.16...v1.16.18