# Changelog

All notable changes to pi-knock will be documented in this file.

The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project uses [Semantic Versioning](https://semver.org/).

## [Unreleased]

## [0.3.2] - 2026-10-05

### Added

- Added a Pi Package Gallery preview using the existing demo GIF.
- Added a concise “Why pi-knock?” section to the English and Chinese READMEs for first-time visitors.

### Changed

- Refreshed tagged Git installation examples to v0.3.2.

## [0.3.1] - 2026-10-05

### Added

- English provider setup documentation and a privacy-safe notification preview.
- CI coverage for Node.js 22 and 24, Dependabot configuration, and a Code of Conduct.

### Changed

- npm packages now use the English README as their registry landing page and keep the Chinese README under `docs/`.
- Lifecycle delivery runs in the background; the most recent non-sensitive delivery report is persisted locally.
- Retry handling honors `Retry-After` and adds bounded jitter to scheduled backoff.
- Duplicate pi-knock runtime loads are ignored within one Pi process.

## [0.3.0] - 2026-10-04

### Added

- Automatic notification delivery retries for transient failures.
- `/knock doctor` diagnostics with last-delivery status and attempt count.
- Notification privacy mode to hide prompt text from lock-screen notifications, with `project-only` as the safe default.
- Session names in notification titles when Pi sessions are named.
- Provider, notifier, and lifecycle test coverage.
- npm package-content verification in CI and release workflows.

### Changed

- Notification delivery failures are silent, including lifecycle notifications and setup/test requests; failure details remain available on demand through `/knock doctor`.
- Pushover requests now allow 10 seconds, with 5-second / 10-second backoff between up to three delivery attempts and clearer timeout errors.
- Duplicate `agent_settled` events are ignored once a run has already settled.
- Notification setup now includes a dedicated preferences screen.
- Documentation files and the Chinese README are included in the npm package.


## [0.2.1] - 2026-10-03

### Changed

- Completion notifications now fire for every completed Pi conversation after `agent_settled`.
- Removed the minimum-duration filter and deprecated `minDurationSeconds` / `PI_KNOCK_MIN_DURATION`.
- Updated documentation to describe deterministic notification content and settle behavior.

## [0.2.0] - 2026-10-03

### Added

- Interactive `/knock setup`, `/knock status`, and `/knock test` commands.
- Split normal settings and credentials into separate files.
- Pushover `userKey` / `appToken` naming.
- Backward-compatible reads for legacy configuration and environment variable names.
- ntfy and generic webhook providers.
- Owner-only credential-file permissions on POSIX systems.

## [0.1.0] - 2026-10-03

### Added

- Initial Pi extension.
- `agent_settled` completion notifications.
- Blocking UI prompt notifications.
- Pushover support for iPhone / Apple Watch.
- Basic tests and CI.

[Unreleased]: https://github.com/Asigers/pi-knock/compare/v0.3.2...HEAD
[0.3.2]: https://github.com/Asigers/pi-knock/releases/tag/v0.3.2
[0.3.1]: https://github.com/Asigers/pi-knock/releases/tag/v0.3.1
[0.3.0]: https://github.com/Asigers/pi-knock/releases/tag/v0.3.0
[0.2.1]: https://github.com/Asigers/pi-knock/releases/tag/v0.2.1
[0.2.0]: https://github.com/Asigers/pi-knock/compare/v0.1.0...v0.2.0
[0.1.0]: https://github.com/Asigers/pi-knock/releases/tag/v0.1.0
