Skip to content

v3.0.0 (superseded)

Choose a tag to compare

@cmilesio cmilesio released this 23 Aug 20:29
· 10 commits to main since this release
c3bb2d0

Superseded: Use v4.0.0 for new integrations. The v3.0.0 module archive contains a repository-only test that fails when the nested examples module is absent. The tag remains immutable; v4 is the corrected release line.

Collection v3 is the Go 1.27-native release of collection, rebuilt around a slice-backed API.

Highlights

  • Slice[T] is a named slice, so len, indexing, slicing, range, standard-library helpers, and iterator adapters work directly.
  • Generic methods keep type-changing transformations fluent.
  • Pure operations have consistent ownership semantics.
  • Transform and Retain preserve explicit, zero-allocation mutation for hot paths.
  • Every exported function and method has an executable example.
  • The benchmark suite includes direct lo comparisons and permanent v2/v3 regression coverage.

Upgrade

v3 requires Go 1.27 and uses the major-version module path:

import "github.com/goforj/collection/v3"

This is a deliberate major-version boundary. v2 remains available for existing consumers.

See the v3 migration guide for method-by-method before-and-after examples, removed APIs, and ownership changes.