Files
promptkit/docs/releases/v0.17.0.md

3.7 KiB

Promptkit v0.17.0

This release adopts the vanity module path go.maximumdirect.net/promptkit and ConfigKit v1.0.0, standardizes configuration resources as identified lists, and removes descriptive prompt-version metadata. These are intentional breaking changes before v1. The minimum supported Go version increases from 1.26.0 to 1.27.0 for the ConfigKit v1 migration.

Breaking Changes And Upgrade

Consumers upgrading from v0.16.0 should follow the configuration and API migration guide:

  • Change Promptkit imports from gitea.maximumdirect.net/eric/promptkit to go.maximumdirect.net/promptkit. Update packages that exchange Promptkit types together; old-path and vanity-path types are distinct.
  • Change ConfigKit imports to go.maximumdirect.net/configkit at v1.0.0 and adopt its renamed public inspection types and fields where used.
  • Convert root and collection prompts, profiles, and backends from keyed mappings to lists whose records contain an explicit id. Collections remain keyed by namespace. Sibling inheritance now uses extends: {id: parent}; later same-ID records replace lower records in full.
  • Change ProfileSource and BackendSource calls to pass slices of ProfileConfig and BackendConfig, setting each record's ID.
  • Change source-root configkit: controls to config:. Imports are optional unless marked required: true. Optional Promptkit specification headers now use version: 2 or version: "2"; headerless sources remain valid.
  • Remove descriptive prompt version values and code consuming PromptVersion, PromptIdentity.Version, or corresponding prompt_version output members. Collection release_version labels remain available. Prompt hashes may change across this migration.

After adapting Go imports, configuration, and API calls, use Go 1.27.0 or newer:

go get go.maximumdirect.net/promptkit@v0.17.0
go mod tidy

Earlier tags retain their original module declarations. No permanent local replacement is needed for this cutover. See the framework format reference for current configuration semantics and the maintained preparation example for explicit composition, source-relative imports, and scoped discovery.

Configuration Inspection And Execution

Configuration inspection and diffs expose ConfigKit's composed values and provenance, including list-index paths. Promptkit applies domain normalization and execution defaults to owned interpretations without replacing the source origins needed for relative resources. Profile inspection and preparation expose their interpreted or effective settings. See the migration guide for the distinction and inspection-path updates.

Maintainer Tooling

Release tooling now uses the module-selected ReleaseKit v0.8.0 through go tool, with page-only Gitea delivery and saved-publication-attempt recovery. The release procedure describes publication and recovery.

The three maintained offline examples now have ordinary Go workflow tests, included in the standard suite. Their separate Python runner and custom release hook have been removed; Python is no longer a normal release prerequisite. The optional release-wiring diagnostic remains Python. See the development guide.

COPYRIGHT | LICENSE | ATTRIBUTION