diff --git a/CHANGELOG.md b/CHANGELOG.md index fcdae69d..89fbd5ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,82 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.5.0](https://github.com/symposium-dev/symposium/compare/symposium-v0.4.0...symposium-v0.5.0) - 2026-06-12 + +### Added + +- *(hook)* suggest `cargo agents --help` at session start +- *(help)* audience-grouped --help listing plugin-vended subcommands. +- *(plugins)* add subcommand manifest schema +- move skill layout to [package.metadata.symposium] in crate Cargo.toml + +### Fixed + +- add `self-update` to reserved subcommand names and fix typo +- make crate_metadata module pub(crate) +- address review nits on source.crate + +### Other + +- Make WorkspaceCrate and LoadedWorkspace non-exhaustive +- Address PR review feedback +- Use symposium-sdk types directly instead of re-exporting +- Require SymposiumDirs when constructing WorkspaceDeps +- Add SymposiumDirs to symposium-sdk for shared path resolution +- Add WorkspaceDeps with in-process and disk caching +- Introduce symposium-sdk crate and refactor main crate to use it +- Make sync debounce configurable; add change-detection test +- change debounce to 5sec +- Update tests and docs for sync_skill_dir changes +- Unify skill installation into sync_skill_dir +- Document that custom predicates are globally available across plugins +- Introduce CustomPredicateRegistry newtype +- Add integration tests for argument passing and witness-driven crate source +- Document and test that empty/whitespace args are not passed +- Fail predicate on any malformed witness entry +- Fail predicate when stdout is non-empty but not valid witness JSON +- Add integration tests for argument passing and witness-driven crate source +- Fix CI: replace /bin/true with script-based test helpers +- Add tests for field syntax boundary enforcement +- Reject function-call syntax in the `crates` field +- Consolidate predicate name validation and fix CrateList comma parsing +- Integrate custom predicate evaluator into PredicateContext +- Add custom predicate extensions via [[predicate]] +- Validate skills with negated crate +- Add crate predicate and lower crates field to it +- Change from shell predicates to more general predicates +- Add shell_predicates field +- Merge pull request #234 from nikomatsakis/cargo-agents-sync-verbose +- Add a sentence about global use case +- Add global install option for cargo and add env vars +- pacify the merciless fmt +- add Plugin::get_installation, capture subcommand output, snapshot tests +- pacify the merciless cargo fmt +- *(help)* hoist section headings into shared constants +- Agent help guidance: +- add the built-in dispatch step to hook-flow.md, an "Agent +- document the --help renderer and reclassify crate-info +- dispatch external `cargo agents ` via clap catch-all +- *(plugins)* pass empty source_name to scan_source_dir +- *(installation)* lift hook resolver into shared module +- Merge pull request #236 from nikomatsakis/skills-from-specific-crate +- make init and sync modules pub(crate) +- redesign source.crate as a nested table +- apply fmt +- improve docs +- Add `source.crate` field to decouple skill fetch target from activation predicates +- pacify the merciless fmt +- fix macOS CI test failure (symlink canonicalization) +- Also watch battery-pack.toml for sync staleness +- pacify the merciless fmt +- Skip auto-sync when Cargo.lock is unchanged +- pacify the merciless fmt +- Add user-facing hook documentation and SDK guide +- Add design tenets and hook architecture docs +- Implement per-plugin hook format selection +- Introduce symposium-hook SDK crate +- Change default crate skills path from `.symposium/skills` to `skills` + ## [0.4.0](https://github.com/symposium-dev/symposium/compare/symposium-v0.3.0...symposium-v0.4.0) - 2026-05-14 ### Added diff --git a/Cargo.lock b/Cargo.lock index da7b8be8..b9779a7d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2424,7 +2424,7 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "symposium" -version = "0.4.0" +version = "0.5.0" dependencies = [ "anyhow", "assert_matches", diff --git a/Cargo.toml b/Cargo.toml index 42b2e4d8..c9112f42 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "symposium" -version = "0.4.0" +version = "0.5.0" edition = "2024" license = "MIT OR Apache-2.0" description = "AI the Rust Way" diff --git a/symposium-install/CHANGELOG.md b/symposium-install/CHANGELOG.md new file mode 100644 index 00000000..8d9314ce --- /dev/null +++ b/symposium-install/CHANGELOG.md @@ -0,0 +1,17 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.1.0](https://github.com/symposium-dev/symposium/releases/tag/symposium-install-v0.1.0) - 2026-06-12 + +### Other + +- Add custom predicate extensions via [[predicate]] +- Add global install option for cargo and add env vars +- introduce GitSource enum and reduce git API surface +- extract symposium-install crate and make symposium-hook async diff --git a/symposium-sdk/CHANGELOG.md b/symposium-sdk/CHANGELOG.md new file mode 100644 index 00000000..055f8dc9 --- /dev/null +++ b/symposium-sdk/CHANGELOG.md @@ -0,0 +1,21 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.1.0](https://github.com/symposium-dev/symposium/releases/tag/symposium-sdk-v0.1.0) - 2026-06-12 + +### Other + +- Make WorkspaceCrate and LoadedWorkspace non-exhaustive +- Address PR review feedback +- Use symposium-sdk types directly instead of re-exporting +- Require SymposiumDirs when constructing WorkspaceDeps +- Replace ad-hoc WorkspaceDeps fields with SymposiumDirs +- Add SymposiumDirs to symposium-sdk for shared path resolution +- Add WorkspaceDeps with in-process and disk caching +- Introduce symposium-sdk crate and refactor main crate to use it