-
# Promptkit v0.11.0
released this
2026-09-23 18:04:59 +00:00 | 199 commits to main since this releaseThis release adds reliable, observable model execution and changes Promptkit's
license to LGPL-3.0-or-later.Summary
- Built-in model calls can recover from selected transient HTTP failures.
- Optional execution observations report attempts, timing, outcomes, and known
token usage, including work completed before a run fails. - Public errors distinguish transport failures, malformed responses, and retry
exhaustion without parsing diagnostic text.
Compatibility
The built-in client now defaults to two additional transient attempts. This can
increase latency, request counts, and cost; retries do not guarantee exactly-once
generation. InjectedLLMClientimplementations retain their own retry policy
and are not automatically replayed. Existing generation timeouts apply per
attempt, while the caller context governs the complete operation. See the
provider integration contract.Public retry and observation controls are additive. Existing successful-result
usage semantics remain unchanged, and operational failures still return no
partialRunResult. Observations distinguish unknown usage from reported zero;
they are not a complete billing ledger. See the
consumer guide and
observation GoDoc.Promptkit is now licensed under LGPL-3.0-or-later. Review the
license summary, LGPL text, and
accompanying GPL text before adoption or distribution.
Previously published releases and dependency licenses are unchanged.Upgrade
Update the dependency:
go get gitea.maximumdirect.net/eric/promptkit@v0.11.0To retain single-attempt behavior for built-in generation, set
Config.TransientRetriesto a pointer to zero.RunRequest.TransientRetries
can override the engine choice per request. Review any existing application or
HTTP-transport retry loops to avoid unintentionally multiplying attempts.
Transient retries and structural repairs have separate budgets; provide a
caller deadline when a total execution time limit is needed.Observation is opt-in through
RunRequest.Observer, including for prepared
execution. Callbacks are synchronous; shared observers must support concurrent
runs. Injected clients can supplyGenerateResponse.UsagePresenceto explicitly
report known zero counts. No observer or usage-presence changes are required
for existing consumers. See the consumer guide
for adoption and the offline example
for a structured proposal-and-assessment workflow.Changes
- Centralized built-in retry coordination with cancellable backoff and provider
retry timing. Retries and structural repair share existing backend capacity;
backoff releases active permits without releasing logical run admission. - Added
ErrTransport,ErrMalformedResponse,ErrRetriesExhausted, and
RetryExhaustedError, retaining applicable underlying error identities. - Added request-scoped lifecycle observations and presence-aware token accounting
for ordinary and prepared execution, without recording prompt/response bodies. - Isolated delegated operations' observation state and made injected-client
attempt classifications consistent with terminal classifications. - Added an offline observation example and regression coverage for retry,
repair, capacity, error, and observation interactions. - Adopted LGPL-3.0-or-later and streamlined the documented local release process.
Backend catalog selections are unchanged from v0.10.0: OpenRouter
v2.20260922.1and Rakestrawhomev2.20260922.0. See the
catalog compatibility policy
and profile inventories.Validated commit:
db05b56166Downloads