Skip to content

Go SDK Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

  • Added the WithFS option to load atlas.json and config files from an fs.FS.
  • Rebuilt the integration tests on the self-contained SDK test data, and now verify every XRef binding after each golden scenario.
  • Added WithVariant(key, variant) option for non-default variant selection.
  • Added Duration support to MinMax[T], including the Sample method.
  • Renamed the single/multiple mapping strategies to variant/many in atlas.json.
  • Added SampleWith and SampleIndexWith methods to WeightedPool[T].
  • Added WeightedPool[T] for weighted random sampling.
  • Added MinMax[T] struct for representing a numeric range with Min and Max values, including a Sample method supporting all numeric types.
  • Changed vector (Vec2[T]/Vec3[T]/Vec4[T]) types to use object-based JSON serialization instead of arrays.
  • RGBA struct with hex string parsing (#RRGGBB / #RRGGBBAA) and JSON marshaling; alpha is omitted from output when A == 0xFF.
  • Renamed XRef.RawValue to XRef.CfgID.
  • Config tables now include id in JSON serialization output.
  • Initial release
  • Atlas loading system with layered overrides and whitelist/blacklist filtering
  • JSON serialization via encoding/json/v2
  • Duration type with nanosecond precision
  • Vec2[T], Vec3[T], Vec4[T] typed vectors
  • Tuple1–Tuple7 heterogeneous tuples
  • XRef[V, T] type for cross-table references
  • I18n internationalization with language fallback