# Changelog

## 0.2.2 (2026-08-09)

### pygittools

- Add tag support to the official task schema.
- Fix `pgt` worktree removals by using `index.remove` instead of `index.add`.
- Split MCP-related dependencies into a separate `pygittools-mcp` package.

### pygitweb

- Add per-project and per-branch read/write permissions for repository access.
- Display a user’s preferred username (or configured email) instead of a raw user ID.
- Move the `pygitweb_pytesthtml` plugin into a separate project to decouple testing utilities.

### Tests and docs

- Improve OAuth2 coverage in `pygitweb` by mocking an identity provider.

## 0.2.1 (2026-07-26)

### pygittools

- Add a task editor and improve task creation, syncing, and deletion in the TUI.
- Respect terminal color settings, using more reasonable defaults and configured values for colorization.
- Normalize staged file paths and quiet upstream encoding warnings to reduce platform-specific issues.

### pygitweb

- Fix README packaging so it is correctly loaded on the docs page.

### Tests and docs

- Improve OAuth2 test coverage in `pygitweb`.
- Increase `pgt` test coverage, fixing regressions on Windows.
- Add coverage tooling to the development dependencies.

## 0.2.0 (2026-07-12)

### pygittools

- Add `pgt`, a terminal user interface for browsing repos, staging changes, and committing.
- Persist commit message drafts across sessions.
- Add tab navigation on the main page, input context handling to avoid key conflicts, and a basic log page.
- Add `pgt tags sync` to synchronize annotated task tags.
- Add a task MCP server (`pygittools-mcp`) for agent integration.
- Show task IDs on the task board.

### pygitweb

- Implement Git smart HTTP for clone and push over HTTP.
- Add per-project read/write permissions, enabling private repositories.
- Harden board creation and comment modification routes.
- Restrict the `/_internal/notify` hook route to localhost connections only.
- Add a shutdown option on the settings page.
- Add tag and commit search in the task UI.
- Fix merge request opener when not explicitly configured in project settings.

### Tests and docs

- Fix hook listing and OAuth callback tests; mock Git signatures in tests for fresh Git installs.
- Add smart HTTP clone/push test coverage including WebSocket upgrade.

## 0.1.0

Initial PyPI release of pygitweb and pygittools.