Skip to content

Releases: tigusigalpa/glassnode-go

Release list

v1.1.1

Choose a tag to compare

@tigusigalpa tigusigalpa released this 02 Sep 18:40

v1.1.1

Fixed

  • Added proper FormatCSV support: Metrics.Get now returns raw CSV bytes without attempting JSON decoding.
  • Fixed URL construction when WithBaseURL is configured with a trailing slash.
  • Updated outdated Macro API paths to the current us_* and euro_* endpoints.
  • Updated Market API paths for price, OHLC, market cap, and realized price to their current USD endpoints.
  • Removed an unused Point-in-Time helper.
  • Resolved golangci-lint findings for unchecked Write and Close return values.

Tests & CI

  • Added regression tests for CSV responses, trailing base URLs, and Macro/Market endpoint paths.
  • Increased test coverage to 90%+.
  • Removed the duplicate Codecov upload from the test workflow.

Documentation

  • Updated the README to match the current API, query types, defaults, and usage examples.
  • Updated endpoint mappings in docs/endpoint-coverage.md.

v1.0.0

Choose a tag to compare

@tigusigalpa tigusigalpa released this 31 Jul 11:03

Release Notes — v1.0.0

🎉 glassnode-go v1.0.0

Initial release of glassnode-go — a dependency-light, idiomatic Go SDK for the Glassnode Basic API.

✨ Highlights

  • Zero external dependencies — pure Go standard library
  • 25 category services covering the full documented endpoint surface: Addresses, Bridges, Blockchain, Breakdowns, DeFi, Derivatives, Distribution, Entities, ETH2, Fees, Global, Indicators, Institutions, Lightning, Macro, Market, Mempool, Mining, Options, PointInTime, Protocols, Signals, Supply, Transactions, Treasuries
  • Generic MetricsServiceGet, GetTimePoints, GetObjectPoints, GetBulk, GetBulkRaw for any current or future metric path
  • Runtime metadata discovery via MetadataService (Assets, Metrics, Metric)
  • Functional options on Client: WithAPIKey, WithAuthMode, WithBaseURL, WithHTTPClient, WithTimeout, WithRetry, WithUserAgent, WithAppID
  • NewClientFromEnv — instant setup from GLASSNODE_API_KEY
  • Header (X-Api-Key) and query-string (api_key) authentication modes
  • Automatic retry on HTTP 429 with x-rate-limit-reset support and exponential backoff
  • Exported, inspectable errorsAPIError, ErrBadRequest, ErrUnauthorized, ErrNotFound, ErrRateLimited, ErrMissingAPIKey, ErrInvalidMetricPath — fully compatible with errors.Is / errors.As
  • ResponseMetadata with rate-limit headers, request ID, duration, and redacted URL for safe logging
  • Typed models: TimePoint, ObjectPoint, PITTimePoint, PITObjectPoint, BulkPoint, BulkResponse, Asset, MetricMetadata, APIUsage
  • MetricQuery / BulkQuery parameter builders with ToValues()
  • 39 tests covering auth, retries, errors, URL encoding, bulk params, context cancellation, and concurrency
  • Full endpoint coverage documented in docs/endpoint-coverage.md

📦 Installation

go get github.com/tigusigalpa/glassnode-go

Note: this is an unofficial SDK, not affiliated with or endorsed by Glassnode.