Skip to content
This repository was archived by the owner on Apr 14, 2026. It is now read-only.
This repository was archived by the owner on Apr 14, 2026. It is now read-only.

Lower SDK minimum Go version after transport decoupling #161

@zeevdr

Description

@zeevdr

Description

After the transport interface (#160) decouples the SDK from gRPC, lower the minimum Go version for the core SDK modules to Go 1.22.

Currently the SDK requires Go 1.24 because gRPC v1.79.3 does. Once gRPC moves to an optional transport sub-module, the core SDK can target Go 1.22 — widely used in production and the common floor for popular Go libraries.

Why Go 1.22

  • Go supports the two most recent releases (currently 1.25 + 1.26), but libraries typically target 3-4 back for broad adoption
  • Go 1.22 is the practical floor — still widely deployed, and 1.21 gains nothing useful
  • Only one Go 1.22+ feature in SDK production code: range-over-int in retry.go (rewrite to classic for loop)

Prerequisites

Acceptance criteria

  • Core SDK modules (configclient, adminclient, configwatcher) set go 1.22 in go.mod
  • gRPC transport adapter in a separate sub-module with its own go.mod (can require Go 1.24+)
  • Rewrite range-over-int in retry.go to classic for loop
  • CI tests against Go 1.22, 1.25, 1.26
  • Document supported Go versions in README

Metadata

Metadata

Assignees

No one assigned

    Labels

    size: SQuick win — a few hours or less

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions