# Changelog
All notable changes to **primate** will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.3.1](https://github.com/valtyr/primate/compare/v0.3.0...v0.3.1) - 2026-05-04
### Added
- *(zed)* cross-target navigation via sourcemap
### Other
- Bake text into logo
## [0.3.0](https://github.com/valtyr/primate/compare/v0.2.0...v0.3.0) - 2026-05-04
### Added
- derive primate.toml JSON schema from Config + ship it
- *(init)* drop hardcoded path defaults
- *(init)* drop redundant style prompts, theme prompts, hint missing paths, show logo
- *(init)* rebuild around proper UX
- *(cli)* add `primate init`
### Fixed
- gate gen_schema bin behind `schema-gen` feature
### Other
- roll gen-schema into the main CLI as a hidden subcommand
- reference `primate init` from README and the book
## [0.2.0](https://github.com/valtyr/primate/compare/v0.1.4...v0.2.0) - 2026-05-04
### Added
- *(tui)* quit on Ctrl-C and Ctrl-D
- *(tui)* float the logo top-right, hide on narrow terminals
- *(tui)* source-first layout with inline diagnostics
- *(skill)* default to AGENTS.md, add Claude target with frontmatter
- `primate skill` command + watch-mode TUI
### Fixed
- *(tui)* use ANSI Magenta for the header so it works on both themes
### Other
- cargo fmt
- Bake font into logo
- pass over the book — install instructions, generator outputs, tone
## [0.1.4](https://github.com/valtyr/primate/compare/v0.1.3...v0.1.4) - 2026-04-30
### Added
- *(lsp)* pin bare-number completion above unit suffixes
### Other
- link editor list to marketplaces; rewrite vscode install guide
- add vertical space between logo and heading in READMEs
## [0.1.3](https://github.com/valtyr/primate/compare/v0.1.2...v0.1.3) - 2026-04-30
### Added
- use PNG logo for extension READMEs
- add project logo to READMEs
## [0.1.2](https://github.com/valtyr/primate/compare/v0.1.1...v0.1.2) - 2026-04-30
### Other
- reuse COMMITTER_TOKEN for release-plz
- use a PAT for release-plz, sequence release before release-pr
## [0.1.1](https://github.com/valtyr/primate/compare/v0.1.0...v0.1.1) - 2026-04-29
### Other
- drop Open VSX from the release-flow blurb
- drop Open VSX publish for now
- auto-sync editor manifest versions on release PRs
- wire release automation (release-plz + extension publishes)
- Document type fidelity across generators
- rustfmt
## [0.1.0] — 2026-04-29
Initial public release.
### Added
- **Language**: type-first declarations, primitive types (`i8`–`i64`,
`u8`–`u64`, `f32`/`f64`, `bool`, `string`, `duration`, `regex`, `url`),
containers (`array<T>`, `array<T, N>`, `optional<T>`, `tuple<...>`,
`map<K, V>`), `type` aliases, integer- and string-tagged `enum`s.
- **Unit suffixes** on numeric literals: durations (`ns`, `us`, `ms`, `s`,
`min`/`m`, `h`, `d`, `w`), byte sizes on integers (`B`, `KB`/`MB`/`GB`/`TB`,
`KiB`/`MiB`/`GiB`/`TiB`), and percentage on floats (`%`). Bounds-checked
against the declared type.
- **Cross-namespace types.** `use` imports, qualified paths
(`logging::LogLevel`), and namespace overrides.
- **Generators** for Rust (`pub mod` per namespace), TypeScript (per-
namespace `.ts` files + `index.ts`), and Python (per-namespace `.py` files
+ `__init__.py`). Cross-namespace references emit the right idiomatic
import or path qualifier in each target.
- **`primate fmt`** — single canonical formatter; no flags.
- **`primate lsp`** — LSP server with diagnostics, hover, go-to-definition,
find-references, and contextual completion (enum variants, unit suffixes).
- **Plugin protocol** — JSON over stdin/stdout for third-party generators.
- **Editor integrations** — Zed and VS Code; vim syntax/ftdetect files.
- **Documentation** — mdBook in `docs/`.