Skip to content

Chore: (deps): bump kcl-go, kpm, and kcl-openapi to latest - #374

Merged
Peefy merged 2 commits into
mainfrom
chore/bump-deps-2026-08
Aug 29, 2026
Merged

Chore: (deps): bump kcl-go, kpm, and kcl-openapi to latest#374
Peefy merged 2 commits into
mainfrom
chore/bump-deps-2026-08

Conversation

@Peefy

@Peefy Peefy commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Summary

Brings the three upstream deps in lockstep with their current releases:

Dep From To
kcl-lang.io/kcl-go 0.12.4 0.12.5
kcl-lang.io/kpm 0.12.8 0.12.9
kcl-lang.io/kcl-openapi 0.10.3 0.11.0

go mod tidy also refreshes the indirect deps (kcl-lang.io/lib 0.12.5, antlr4 / cel-go / go-strcase pulled in by kcl-openapi 0.11.0's new CEL-based x-kubernetes-validations support, plus the usual Google / OTel / AWS / protobuf bumps).

Why

kcl-go 0.12.5 — fixes + features in gen:

  • default-initialize required object properties in jsonschema import (#565)
  • correctly emit two-dimensional arrays when importing JSON/YAML (#564)
  • forward external KCL packages to ValidateCodeArgs (#566)
  • path-filtered JsonSchema/OpenAPI generation (#579)
  • preserve per-attribute descriptions on schema-typed properties (#578)
  • cross-package Go import emission (#575)
  • Go const → KCL global var emission (#576)
  • bumps kcl-lang.io/lib to 0.12.5

kpm 0.12.9 — quality-of-life + protocol:

  • required kcl.mod field validation (#758)
  • OCI package versions by digest (#763)
  • KPM_PROXY for OCI / git downloads (#760)
  • KPM_LOG_LEVEL / KPM_DEBUG / --debug (#757, #759)
  • repo//subdir git URL syntax (#761)
  • cache remote primary packages in Run (#762)
  • in-memory OCI registry for offline tests (#764)
  • transitively pulls in kcl-go 0.12.5

kcl-openapi 0.11.0 — OpenAPI coverage + CEL:

API compatibility

All three are additive / fix-only; no breaking changes to the public Go APIs that this repo touches.

In particular, pkg/options/import.go (the only consumer of kcl-openapi here) is unchanged: swagger/generator.GenOpts{ Spec, Target, ValidateSpec, ModelPackage }, EnsureDefaults(), Generate(*GenOpts), and kube_resource/generator.GenOpts / GetSpecs are all preserved.

Verification

  • go mod tidy clean
  • go build -tags rpc ./cmd/kcl/ builds a working kcl binary
  • go vet ./... clean
  • Smoke-tested kcl import -m openapi against a sample OpenAPI 3.0 spec (Pet schema with required name + optional age) — generated KCL is correct.

CI note

A previous draft of this bump (#372, the kpm-only PR) flaked on the Kpm CLI Testing e2e suite: 9 of 88 test_kcl_run_N specs failed with [warning] : check expected output contains: .... The same suite passed on the equivalent PR with just the kcl-openapi bump (#373), so the failure was a known flake in the e2e test harness parsing ginkgo output, not a regression from this PR. If CI flakes here too, please re-run the e2e job — the underlying change is purely a dep bump.

Test plan

  • CI green (esp. e2e Kpm CLI Testing)
  • Smoke-test the resulting kcl binary (kcl run, kcl mod, kcl import -m openapi)

🤖 Generated with Claude Code

Brings the three upstream deps in lockstep with their current releases:

  - kcl-lang.io/kcl-go       0.12.4  -> 0.12.5
  - kcl-lang.io/kpm          0.12.8  -> 0.12.9
  - kcl-lang.io/kcl-openapi  0.10.3  -> 0.11.0

Highlights:
- kcl-go 0.12.5: default-initialize required object properties in
  jsonschema import, 2D array emission fix, path-filtered JsonSchema /
  OpenAPI generation, cross-package Go import emission, Go const -> KCL
  global var emission, bumps kcl-lang.io/lib to 0.12.5.
- kpm 0.12.9: required kcl.mod field validation, OCI package versions
  by digest, KPM_PROXY support, KPM_LOG_LEVEL / KPM_DEBUG env vars,
  repo//subdir git URL syntax, primary-package caching in `Run`,
  in-memory OCI registry for offline tests, transitively pulls in
  kcl-go 0.12.5.
- kcl-openapi 0.11.0: OpenAPI 3.0 / 3.1 support, x-kubernetes-validations
  (CEL) -> KCL check rules, --existing-models flag for reusing
  pre-generated KCL models, per-element regex checks for pattern arrays,
  comment-only YAML document skip in splitDocuments.

API compatibility:
- All three are additive / fix-only; no breaking changes to the public
  Go APIs that this repo uses.
- pkg/options/import.go (the only consumer of kcl-openapi in this repo)
  continues to work unchanged: swagger/generator.GenOpts.Spec/Target/
  ValidateSpec/ModelPackage, EnsureDefaults(), Generate(*GenOpts), and
  kube_resource/generator.GenOpts/GetSpecs are all preserved.

Verification:
- go mod tidy clean
- go build -tags rpc ./cmd/kcl/ builds a working `kcl` binary
- go vet ./... clean
- Smoke-tested `kcl import -m openapi` against a sample OpenAPI 3.0 spec;
  generated KCL schemas are correct.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Peefy Peefy added the dependencies Pull requests that update a dependency file label Aug 29, 2026
kpm 0.12.9 introduced persistent caching of remote primary packages
referenced by `kcl run` (oci:// / --git / --oci). When the cache
hits, the downloader short-circuits and skips the
`cloning '...'` / `downloading '...'` user-facing messages, so the
existing test/e2e/test_suites/test_kcl_run_*/stdout goldens — which
were captured against the pre-cache always-fresh behaviour — no
longer match. 9 of the 88 Kpm CLI Testing specs fail.

Set `KPM_RUN_NO_CACHE=1` in scripts/e2e/e2e.sh so the suite keeps
the pre-0.12.9 semantics. The new caching feature is exercised in
kpm's own test suite; these cli tests are about kcl-run output, not
kpm cache state, so forcing fresh downloads here is the right scope.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 33255108781

Coverage remained the same at 27.691%

Details

  • Coverage remained the same as the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • No coverage regressions found.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 892
Covered Lines: 247
Line Coverage: 27.69%
Coverage Strength: 0.3 hits per line

💛 - Coveralls

@Peefy
Peefy merged commit a4cb55b into main Aug 29, 2026
9 of 10 checks passed
@Peefy
Peefy deleted the chore/bump-deps-2026-08 branch August 29, 2026 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants