# Changelog
## 0.13.0 — 2026-08-07
- Release 0.13.0
## 0.12.0 — 2026-08-07
### Added
- Advanced include links: local includes stay unhashed by default; optional
`sha256` pins verify on load and in `jan validate`.
- Script-file includes (non-`.yaml`/`.yml`) become exec leaves, with optional
`argv` / `passthrough` on the include map; include identity is retained on
the node for `jan show` / bundle closure.
- Local `exec.file` (optional `sha256`), mirroring remote `exec.url`.
- `jan bundle` packs linked script files alongside YAML.
- `packages.uv` for script package deps: inline list, `project:`, or
`requirements:`; hash-keyed venvs under `~/.cache/jan/packages/uv/`.
`packages.pnpm` is reserved (rejected until implemented).
- Release 0.12.0
## 0.11.0 — 2026-08-06
### Added
- Remote jan trees: `jan use https://…/bundle.zip --sha256 <hex>` downloads a
bundle, verifies the zip and `manifest.json` member hashes, unpacks under
`~/.cache/jan/trees/<sha256>/`, and prefers that directory.
- Remote YAML `include:` entries with required `url` + `sha256` (optional `ttl`).
- Remote script leaves via `exec.url` + `exec.sha256` (optional interpreter
`argv` prefix and `ttl`), using the same HTTPS fetch / SHA256 / TTL cache as
wgex-inspired object storage under `~/.cache/jan/objects/`.
- `JAN_ALLOW_HTTP` / `--allow-http` to override HTTPS-only defaults.
### Security
- Remote content still executes with the user's privileges once preferred or
included; hashes provide integrity, not publisher authentication.
- `jan bundle` fails if the tree contains remote includes (bundles stay
self-contained).
## 0.10.0 — 2026-08-06
- Release 0.10.0
## 0.9.0 — 2026-08-06
- Release 0.9.0
## 0.8.0 — 2026-08-06
- Release 0.8.0
Entries describe behavior at the time of each release and are not current usage
instructions. See [README.md](README.md) for the supported interface.
## Unreleased
### Added
- Built-ins `jan list`, `search`, `show`, `validate`, and `audit` for inspecting
the preferred tree and SQLite invocation log (semantic replacement for the
retired `scripts-cli`).
### Changed
- Personal utilities are no longer nested under `jan-cli/generated/scripts/`.
Prefer a flat tree such as `dotfiles/jan`. The old
`generate_scripts_jan_spec.py` helper is retired.
- Removed the incubator `scripts` project dependency (`scripts/source`).
### Breaking
- Spec selection now uses only `jan use <DIR>`. Removed direct spec flags,
spec-selection environment variables, cwd discovery, and well-known-directory
fallback behavior.
- `jan alias` now emits bare `jan` command chains without embedded spec flags.
### Security
- Confined YAML includes to the preferred tree; hardened alias generation and
bundle extraction; resolved executables before applying spec PATH entries.
- Documented that preferred trees are unsandboxed executable code and bundle
manifest hashes do not authenticate publishers.
## 0.7.0 — 2026-08-04
- Release 0.7.0
## 0.6.0 — 2026-08-04
- Release 0.6.0
## 0.5.0 — 2026-08-04
- Release 0.5.0
## 0.4.0 — 2026-08-04
- Release 0.4.0
## 0.3.0 — 2026-08-04
- Release 0.3.0
## 0.2.0 — 2026-06-03
### Breaking
- Removed the bundled embedded default spec (`default.spec.yaml` compiled into
the binary). At the time of this release, `jan` loaded specs from explicit
flags, cwd-local files, or the well-known install directory. Those resolution
modes were removed after 0.7.0; current versions use `jan use`.
### Added
- Added, at that time, a well-known spec directory and related environment
overrides. These interfaces are historical and no longer supported.
- Script `path`, `dependencies`, `requires`, and `env` fields for PATH prepending, transitive script deps, external tool checks, and environment variables.
- `jan bundle` and `jan alias` built-ins for portable spec export and shell alias generation.
### Changed
- Example default command tree moved to `examples/default.spec.yaml` (install manually or via `jan bundle` / `jan-install.sh`).
- Used the now-removed direct flags, environment variables, cwd lookup, and
well-known-directory fallback for spec resolution.
## 0.1.0
- Initial release with embedded default spec, YAML command trees, SQLite audit log, and extra-spec merging.