Repository navigation
weft v0.9.0 — the framework in one module; core is the loop alone (breaking for go.mod)
github.com/weftgo/weft is now the whole framework, one module at one version (ADR 0027). go get github.com/weftgo/weft@v0.9.0 brings every layer: the loop, the OpenAI/Anthropic/Google adapters, MCP, mw, wefttest, thread (+ sqlite), otel, obsdb (+ clickhouse), studio (+ cmd) and runtime. Only the packages you import are compiled in. The loop alone is the new github.com/weftgo/weft/core module (tag core/v0.9.0), whose only dependency is the OpenTelemetry API.
Breaking (go.mod only — Go source compiles unchanged)
- The adapters,
thread,thread/sqlite,otel,obsdb,obsdb/clickhouse,studio,studio/cmdandruntimeare packages of this module, no longer modules of their own. Their import paths are unchanged. Their per-module tags stop at the last ones cut (they keep requiring weft v0.8.0). A go.mod that still requires one of those paths besidegithub.com/weftgo/weft v0.9.0fails with an ambiguous import: drop the line andgo mod tidy. - MIGRATION-0.9.md is the guide — exact rules and commands, with a block you can paste to a coding agent.
Changed
- The root package,
mw,wefttestandwefttest/conformanceare generated facades over theircorecounterparts: every exported name is a type alias, a bound constant or variable, or a one-line wrapper with the original signature and doc.weft.New,wefttest.Script,mw.Retrywork as before;weft.Agentandcore.Agentare one type.go generate ./...regenerates them andTestFacadesAreCompletefails when a facade and its source disagree. - The layers' signatures name
core.Xwhere they namedweft.X; same types, no call-site change. mw.IsContextOverflow(err)is exported; the adapters' error mapping delegates to it.
Fixed
- A tool defined through the facade records the caller's file and line as its definition site, not the facade's; committed manifest golden files do not change.
Release process
Two tags per release, in order: core/vX.Y.Z, then the root tidied against it and tagged vX.Y.Z. The apidiff gate enforces core against its last core/v* tag and reports the root.
Full notes: CHANGELOG.md.