# 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](../consumers/configuration-migration.md): - 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: ```sh 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](../formats.md) for current configuration semantics and the [maintained preparation example](../../examples/go-library/prepare/main.go) 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](../consumers/configuration-migration.md#select-and-compose-the-configuration-you-need) 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](../release.md) 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](../development.md#maintainer-validation). [COPYRIGHT](https://forge.maximumdirect.net/base-layer/promptkit/src/tag/v0.17.0/COPYRIGHT) | [LICENSE](https://forge.maximumdirect.net/base-layer/promptkit/src/tag/v0.17.0/LICENSE) | [ATTRIBUTION](https://forge.maximumdirect.net/base-layer/promptkit/src/tag/v0.17.0/docs/oss/attribution.md)