|
2 | 2 |
|
3 | 3 | ## [Unreleased] |
4 | 4 |
|
| 5 | +## [0.8.2] - 2026-04-09 |
| 6 | + |
| 7 | +### Added |
| 8 | +- Ralph as a dependency type — manage ralphs (project-scoped agents) via `agr add`, `remove`, and `sync` |
| 9 | +- Configurable `default_repo` option — set once, use short handles everywhere |
| 10 | +- Ralph documentation across all doc surfaces (tutorial, concepts, troubleshooting, creating ralphs guide) |
| 11 | +- Lockfile documentation in the tutorial |
| 12 | +- `installed_name` property on Dependency to avoid repeated handle parsing |
| 13 | +- `is_ralph` and `is_skill` properties on Dependency for clearer type checks |
| 14 | + |
| 15 | +### Changed |
| 16 | +- Rebranded agr as "the package manager for AI agents, built for teams" |
| 17 | +- Split `fetcher.py` into focused modules for maintainability |
| 18 | +- Renamed `LockedSkill` to `LockedEntry` and `read_skill_metadata` to `read_resource_metadata` for resource-generic naming |
| 19 | +- Extensive complexity reduction across CLI commands (`run_add`, `run_remove`, `run_sync`, `run_init`, `run_config_set`, `migrate_flat_installed_names`) |
| 20 | +- Removed dead code: `print_deprecation`, `detect_instruction_files`, `list_remote_repo_ralphs`, unused `ResourceType` module, fetcher re-export shim |
| 21 | + |
| 22 | +### Fixed |
| 23 | +- Token leak to lookalike GitHub domains in `_apply_github_token` |
| 24 | +- Lockfile not updating on partial `add` failure |
| 25 | +- Empty `installed_name` for handles with trailing slashes |
| 26 | +- YAML quoting artifacts in frontmatter description extraction |
| 27 | +- Working tree not populated in `fetch_and_checkout_commit` for partial clones |
| 28 | +- Local path validation now rejects `.` and `..` as handles |
| 29 | +- Handles with empty path segments (e.g. `user//skill`) now rejected |
| 30 | +- `_sanitize_path_component` no longer accepts `.` which collapsed cache paths |
| 31 | +- Ralph deps no longer incorrectly block skill name migration |
| 32 | +- Local name-conflict detection no longer skips occupied destination paths |
| 33 | +- Errored local deps no longer written to lockfile |
| 34 | +- Duplicate local skills with the same name but different paths now rejected |
| 35 | +- `sync_dependencies_to_tools` no longer erroneously installs ralphs as skills |
| 36 | +- Overly broad path traversal check no longer rejects valid filenames containing `..` |
| 37 | +- Overly aggressive skill discovery exclusion for excluded directory names |
| 38 | +- Invalid `canonical_instructions` example in saved config |
| 39 | +- Rich console no longer wraps detail messages in CLI output |
| 40 | +- Lockfile path mismatch for global local skill installs |
| 41 | +- `_extract_description` now correctly reads frontmatter description field |
| 42 | +- Overly broad exception catch narrowed from `Exception` to `AgrError` in sync |
| 43 | + |
| 44 | +### Docs |
| 45 | +- Split "Creating Ralphs" into its own page |
| 46 | +- Updated architecture page to reflect ralph support and new module structure |
| 47 | +- Updated Configuration and Handles pages to use resource-generic language |
| 48 | +- Added SEO frontmatter to contributing pages |
| 49 | +- Switched to sidebar navigation layout with light mode default |
| 50 | + |
5 | 51 | ## [0.8.1] - 2026-03-31 |
6 | 52 |
|
7 | 53 | ### Added |
|
0 commit comments