kakehashi's first stable major release. The configuration surface, the kakehashi/* custom methods, and the bridge protocols shipped through v0.11.0 are now the stable v1 contract. Everything that worked in v0.11.0 keeps working in v1.0.0 — including every deprecated compatibility path.
⚠️ Deprecated features will be removed in v2.0.0
The following compatibility paths, deprecated during v0, remain accepted throughout v1 but are scheduled for removal in v2.0.0. Migrate now:
| Deprecated | Use instead |
|---|---|
languageServers.*.rootMarkers |
languageServers.*.workspaceMarkers |
Top-level autoInstall |
languages._.autoInstall (override per language with languages.<lang>.autoInstall) |
Top-level captureMappings |
features."textDocument/semanticTokens".captureMappings |
languages.*.aliases |
base on each derived language entry |
Unwrapped workspace/didChangeConfiguration settings |
Wrap runtime settings in the notification's settings.kakehashi object |
Each deprecated path emits a once-per-session migration notice naming the v2 deadline, with concrete TOML/JSON migration examples where the rewrite is non-trivial (aliases).
Changes since v0.11.0
- Deprecation removal deadlines are enforced in code (#1019). Every retained compatibility path declares the major it was deprecated in and the major it must be removed in; a kakehashi build at or after the removal major fails to compile until the path is actually removed, making a major-version bump an unavoidable deprecation inventory check. Runtime notices are derived from the same declarations, deprecated keys are exposed (marked
deprecated, hidden from generated docs) in the JSON Schema, and the schema declares the canonical and deprecated marker spellings (workspaceMarkers/rootMarkers) mutually exclusive. Seedocs/architecture-decisions/deprecation-removal-deadlines.md.
Full changelog: v0.11.0...v1.0.0