Prepare Promptkit v0.12.0 release
This commit is contained in:
74
docs/releases/v0.12.0.md
Normal file
74
docs/releases/v0.12.0.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# Promptkit v0.12.0
|
||||
|
||||
This release replaces Promptkit's configuration loader with ConfigKit and
|
||||
migrates maintained catalogs to keyed `/v3` assets. It intentionally changes
|
||||
the public construction API and configuration format.
|
||||
|
||||
## Summary
|
||||
|
||||
Backends, profiles, and versioned prompts now share one layered configuration
|
||||
snapshot built when `NewEngine` is called. ConfigKit supplies composition,
|
||||
inheritance, presence, and source history; Promptkit validates the final
|
||||
effective definitions and captures prompt content and templates. Consumers can
|
||||
inspect the captured configuration explicitly without triggering a reload.
|
||||
|
||||
## Compatibility
|
||||
|
||||
This is an incompatible minor release under Promptkit's pre-1.0
|
||||
[versioning policy](../policy/release.md#versioning-and-compatibility). The
|
||||
former source options, `Config.PromptDir`, `Config.ProfileDir`, and the old
|
||||
profile/backend convenience values have been removed. Configuration documents
|
||||
now use literal keys beneath `backends`, `profiles`, and `prompts`; embedded
|
||||
`id`/`version` fields and `base_profile` are no longer accepted. Source groups
|
||||
compose strictly within a group and overlay in the supplied order. Explicit
|
||||
zero, false, empty, and null values can now differ from omission; maps overlay
|
||||
recursively, and an empty map does not clear an inherited map.
|
||||
|
||||
All final definitions, including unused ones, are validated during engine
|
||||
construction. Prompt text and static templates are captured then; an existing
|
||||
engine does not automatically reload changed configuration or message files.
|
||||
Request artifacts, schemas, credentials, and provider operations retain their
|
||||
runtime boundaries. See the [format reference](../formats.md) for the current
|
||||
configuration contract and the [consumer migration guide](../consumers/pkg-promptkit.md#migrate-from-the-previous-configuration-api)
|
||||
for API and source-selection changes.
|
||||
|
||||
Maintained OpenRouter and Rakestrawhome catalogs are selected as `/v3` modules,
|
||||
both at `v3.20260930.0`. Their asset format changed; consumers that read catalog
|
||||
assets directly must adopt the keyed format. The maintained Promptkit profile
|
||||
IDs remain available under the [catalog compatibility policy](../policy/release.md#catalog-profile-compatibility),
|
||||
which does not promise fixed profile data.
|
||||
|
||||
## Upgrade
|
||||
|
||||
```sh
|
||||
go get gitea.maximumdirect.net/eric/promptkit@v0.12.0
|
||||
```
|
||||
|
||||
Replace removed source and backend registration options with
|
||||
`Config.Sources`, explicitly ordered ConfigKit underlays, and optionally a
|
||||
highest-priority main input. Use `DirectoryInputs` or `FilesystemInputs` for
|
||||
selected directories, `ProfileSource` and `BackendSource` for typed
|
||||
programmatic values, or `configkit.Mapping` for explicit null and combined
|
||||
documents. Move profile `base_profile` to `extends` and embedded identities to
|
||||
mapping keys. Review zero/false/null values and any assumptions that replacing
|
||||
a model or backend discards unrelated explicit settings. Rebuild the engine
|
||||
when definitions or referenced message files change. The
|
||||
[consumer guide](../consumers/pkg-promptkit.md#migrate-from-the-previous-configuration-api)
|
||||
provides the migration details and maintained examples.
|
||||
|
||||
## Changes
|
||||
|
||||
- Add ConfigKit v0.5.0 as the configuration boundary and consume released
|
||||
OpenRouter and Rakestrawhome `/v3` catalog modules.
|
||||
- Add keyed backend, profile, and prompt definitions with final-value domain
|
||||
validation, explicit presence/null behavior, and source-relative content
|
||||
capture.
|
||||
- Add `ConfigurationSources`, directory discovery helpers, programmatic
|
||||
profile/backend source builders, and read-only configuration inspection.
|
||||
- Preserve execution workflows while rendering captured templates, applying
|
||||
backend defaults after inheritance, and honoring explicit suppression of
|
||||
provider settings.
|
||||
- Remove superseded loader, catalog preflight, and inheritance machinery;
|
||||
update examples, format guidance, and internal documentation.
|
||||
|
||||
[COPYRIGHT](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.12.0/COPYRIGHT) | [LICENSE](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.12.0/LICENSE) | [ATTRIBUTION](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.12.0/docs/oss/attribution.md)
|
||||
Reference in New Issue
Block a user