-
Promptkit v0.19.0 Stable
released this
2026-11-06 01:22:07 +00:00 | 0 commits to main since this releasePromptkit v0.19.0
This release completes two rounds of audit remediation, correcting error and
diagnostic reporting and simplifying configuration, validation, and value
ownership. It includes intentional compatibility changes for custom artifact
readers, programmatic configuration sources, and schemas. The minimum supported
Go version remains 1.27.0; ConfigKit remains at v1.1.0.Compatibility And Upgrade
Consumers upgrading from v0.18.0 should review these changes:
- A successful
ArtifactReader.Readtransfers ownership of the returned
artifact and its mutable body storage to Promptkit. Custom readers must stop
mutating returned values through retained aliases. Readers that reuse scratch
buffers must return independent storage. Promptkit retains its defensive
body copy, but that copy does not make concurrent buffer reuse safe. See the
extension guidance. - Provider maps passed through
ProfileSourceandBackendSourcenow use
ConfigKit's native Mapping input forms directly: built-in scalars,[]any,
andmap[string]anyrecursively. Convertjson.Numberand typed containers
explicitly to supported values, choosing numeric precision appropriate to
the application. The former recursive compatibility conversion is removed.
Runtime execution overrides retain their separate accepted-value behavior. - Schemas used for local validation and native structured output must be
self-contained. Move externally referenced definitions into the root document
and use internal references or explicit schema IDs. References requiring
another file or network resource, or relying on the source filename as a base,
fail during preparation. Promptkit does not bundle external schemas. See the
schema reference.
Prepared schemas no longer inherit the depth and node limits used when copying
runtime provider values. Schemas previously rejected solely by those incidental
limits may now be accepted; decoder/compiler checks and the self-contained
schema requirement still apply.No configuration-format migration is required from v0.18.0. After addressing
any affected integrations:go get go.maximumdirect.net/promptkit@v0.19.0Errors And Diagnostics
Public errors and terminal observations now preserve the category of the
operation that failed even when an injected collaborator returns an error from
another Promptkit operation. Underlying causes remain available through
errors.Isanderrors.As, without repeatedly duplicating nested cause trees.Built-in generation preserves response-body read failures separately from
malformed response content, and failures during request preparation are
distinguished from dispatched attempts.OpenRouter authentication diagnostics bound response recognition to 1 MiB.
An oversized HTTP 200 response reports
SmokeTestReasonAuthenticationResponseLimitExceeded, leaving credential
acceptance unknown. Cancellation during the read remains an interruption.
Consumers that enumerate diagnostic reasons should handle the new reason;
see the diagnostic integration contract.Internal Simplification And Ownership
Prompt lookup and rendering now consistently use captured configuration, and
smoke syntax and schema checks share the prepared output-validation lifecycle.
Unused routing defaults, alternate private workflows, and duplicate wire
representations have been removed.Provider-setting resolution, inspection, prepared details, and smoke reports
avoid redundant validation and copying of already accepted values. Prepared
execution shares one private redacted metadata snapshot while preserving
independent caller-visible values. Provider values are detached before custom
JSON encoders run, protecting retained metadata from encoder-side mutation.Requirement analysis, namespace-filtered listings, and repair-feedback
construction also avoid unnecessary traversal and temporary allocation. These
changes preserve existing request isolation and execution behavior without
introducing new performance guarantees.Downloads
- A successful