# Changelog All notable changes to this project are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [1.1.1] - 2026-09-04 ### Fixed - Portable Python resolution: the venv path is now derived from `$HOME` (`~/.dsh-sensevoice/venv`, matching `scripts/setup.ps1`) with a `DSHSENSEVOICE_PYTHON` env override, instead of hard-coded author paths. - Dropped the ignored `cache_dir` argument; the model now always lives in the funasr default cache (`~/.cache/modelscope`). ### Changed - README restructured for brevity (install/uninstall front and center, architecture diagram replaced with a one-line flow). - Bundle row id aligned to the package name (`dshtools-sensevoice-input`) and `verify:package` now enforces the id == name convention for marketplace spec compliance; GitHub topics added for catalog discovery. ## [1.1.0] - 2026-09-04 ### Changed - Repository restructured into a standard TypeScript layout: TypeScript source (`src/`), tsdown dual-face build (ESM host + factory-form client bundle), vitest tests, CI/publish workflows, and the usual community files (CONTRIBUTING, SECURITY, issue templates, bilingual README). - Built `lib/` output is committed to git so `dsh plugin add github:...` installs work without a local build step. ## [1.0.1] - 2026-09-04 ### Fixed - Host row now declares `inject: ['webServer', 'subprocess']` instead of non-blocking `ctx.get('webServer')` reads. The desktop mounts its webserver row after profile bundles, so apply() previously ran before the service existed and silently skipped route registration — every request fell through to the SPA static handler (`HTTP 405` on transcribe). ### Added - README troubleshooting table, setup script (`scripts/setup.ps1`), repository metadata and GitHub install instructions. ## [1.0.0] - 2026-09-03 ### Added - First release: mic button in the composer tool row (`conversation.input.left`), recognition status notice (`conversation.input.overlay`), local SenseVoiceSmall (funasr) CPU inference behind `/sensevoice/*` HTTP routes, draft writing via `inputActions.setDraft()`, language/emotion tags, lazy model loading, subprocess self-healing.