v1.53.0
π§ Go 1.25 & Internal Consolidation
This release bumps the minimum Go version to 1.25 and consolidates internal utilities β reducing code duplication, surfacing previously silent depth-limit warnings, and centralizing file permission constants.
Go 1.25 Minimum
oastools now requires Go 1.25+. This unlocks several improvements:
synctest.Test(GA API): Migrated from the experimentalsynctest.Runto the stablesynctest.Test(t, func(t *testing.T))API, which ships withoutGOEXPERIMENT- Deprecated API cleanup: Replaced
goparser.ParseDir(deprecated in 1.25) withos.ReadDir+goparser.ParseFile - SDK pinning: Updated from
go1.24.13togo1.25.8
Silent Depth-Limit Warnings Now Surfaced
Two internal depth-limit guards previously truncated data silently. They now emit warnings:
RefCollector.Warnings(fixer/refs.go): The ref collector populates a newWarnings []stringfield when recursive ref collection is truncated at depth limits β consumers can inspect this to detect incomplete ref graphs in deeply nested specs- JSONPath evaluator (
internal/jsonpath): Recursive descent now logsslog.Warnwhen hitting the 500-level recursion cap, instead of silently returning partial results
Internal Utility Consolidation
internal/equalutil: Extracted a genericEqualPtr[T comparable]helper, replacing 5 type-specific pointer-equality functions that were duplicated acrossparser/andjoiner/internal/fileutil: Centralized file permission constants (OwnerReadWrite 0o600,ReadableByAll 0o644), replacing hardcodedos.FileModeliterals across 12 production files in 7 packages
π User Impact
- Go version: Users on Go 1.24 or earlier must upgrade to Go 1.25+ to build
- No breaking changes to the public Go API
- No breaking changes to CLI behavior or MCP tools
RefCollector.Warningsis a new exported field (additive, non-breaking)
π Quality Metrics
- β All tests passing (8,501 unit tests across 27 packages)
- β
Zero vulnerabilities (
govulncheckclean) - β All benchmarks passing with no regressions
- β Documentation verified accurate
What's Changed
- refactor: consolidate equality helpers, fix silent limits, centralize file permissions by @erraggy in #348
- chore: bump minimum Go from 1.24 to 1.25 by @erraggy in #354
- chore: prepare v1.53.0 release by @erraggy in #356
Full Changelog: v1.52.2...v1.53.0