# Changelog

## 4.1.38

- Add compact hover explainer overlays, right-click mode/value context menus, and spotlight filtering for repository and model picker screens.

## 4.1.37

- Use `scrin 0.1.84` and stream rendered frame diffs with `Terminal::present_direct_timed` instead of building full intermediate ANSI strings.

## 4.1.36

- Polish Thesa Siteforge progress output with an Aisling TQDM-style in-place loader, colorized phases, width-aware truncation, and cleaner terminal redraws.

## 4.1.35

- Use the local SiteForge path dependency for Thesa development while retaining the published `siteforge` crate version for releases.
- Restore live Siteforge archive progress output in Thesa by consuming SiteForge progress events during TTY runs.

## 4.1.34

- Rename the dataset archive crate and integration from DataForge to BaseForge.
- Use the published `baseforge` crate while preserving dataset archive behavior.

## 4.1.33

- Add DataForge-backed dataset archiving for Hugging Face Datasets and Zenodo.
- Add `--mode datasets`, `--dataset-provider`, and `thesa archive dataset` command flows with dry-run, filtering, skip-existing, concurrency, and thesa manifests.
- Refresh package metadata and docs around `dataforge`, `siteforge`, `modelforge`, and `repoforge`.

## 4.1.32

- Continue modularizing the binary by moving model provider/download logic, Git refresh command helpers, and Siteforge command/archive plumbing out of `main.rs`.

## 4.1.31

- Use `siteforge 0.1.19` for indexed frontier queue lookups during long crawls.

## 4.1.30

- Split the large binary source into focused modules for CLI parsing, constants, domain structs, errors, manifests, selection parsing, target parsing, terminal helpers, and shared types.

## 4.1.29

- Use `modelforge 0.1.10` for separator-tolerant provider slug aliases.

## 4.1.28

- Use `siteforge 0.1.18` for batched frontier updates during crawls.

## 4.1.27

- Rename the repository layout to `Thesa/thesa`.
- Update package homepage and repository metadata to `Tknott95/Thesa`.
- Use `siteforge 0.1.17`, `repoforge 0.1.9`, and `modelforge 0.1.9`.

## 4.1.26

- Replace remaining large TUI render helper argument lists with named view structs and remove local clippy allowances.

## 4.1.25

- Switch thesa's direct HTTP client from native TLS to Rustls for more portable `cargo install` builds.
- Document Windows/Git Bash installation notes and common missing-DLL fixes.

## 4.1.24

- Clean up thesa clippy warnings across command parsing, model sorting, path construction, mouse scrolling, and render helper signatures.

## 4.1.23

- Declare Rust 1.85 as the minimum supported compiler for the 2024 edition crate.
- Polish owner-scoped refresh help output.
- Use `repoforge 0.1.5` and `modelforge 0.1.5`.

## 4.1.22

- Add owner-scoped repository archive refresh with `thesa archive refresh <owner>` and `--owner`.
- Ignore archive output paths at the git level and remove tracked archive output entries from the repository index.
- Use `repoforge 0.1.4`.

## 4.1.21

- Improve crate README structure, forge crate descriptions, package-content notes, and release metadata.
- Use `repoforge 0.1.3` and `modelforge 0.1.4`.

## 4.1.20

- Add package `LICENSE` and changelog.
- Whitelist Cargo package contents to prevent sessions, notes, archive output, and stray markdown from entering releases.
- Refresh package keywords around `siteforge`, `repoforge`, `modelforge`, Scrin, and Aisling.
- Use `repoforge 0.1.2` and `modelforge 0.1.3`.

## 4.1.19

- Switch repository refresh integration from `thesa-gitforge` to `repoforge`.
- Update docs for the forge crate split and Knott Dynamics attribution.
- Use `modelforge 0.1.2`.

## 4.1.18

- Extract repository refresh and model target parsing into forge crates.

## 4.1.17

- Add `thesa archive refresh` / `archive update` / `archive pull` for safe archive updates.
