What's Changed
- fix(win): Cursor on Windows — BOM handling, camelCase events, flat-array hooks.json by @dlavati in #236
- feat(cli): add peon packs rotation subcommands by @bretta-seerist in #235
- Feat/gemini cli by @ralfun11 in #224
- fix(win): make ps1 peon --volume mirror sh version behavior by @dlavati in #237
- feat(cli): add peon packs install-local command by @choutianxius in #238
- fix: guard completions.bash for non-interactive shells by @garysheng in #241
- fix(win): locale-safe config, --volume mirror sh, repair bad config on install by @dlavati in #242
- chore: add Nix flake for development and installation by @andreabadesso in #243
- fix(preview): respect use_sound_effects_device from config by @Sogl in #244
- fix: add missing gemini and openclaw adapters to install.sh by @klava-spark-dev in #245
- feat: add declarative relay service for NixOS and nix-darwin by @andreabadesso in #247
- feat: add MSYS2 / Git Bash platform support by @kvnxiao in #246
- feat: iTerm2 multi-window/tab focus + overlay themes by @hn6pot in #249
- fix: CLI config path now matches hook read path by @garysheng in #253
- feat: add headphones_only mode for macOS, Linux, and WSL by @hugodelahousse in #251
- Fix iTerm2 tab focus detection with multiple windows by @tylergohl in #256
- feat: add Amp adapter (filesystem watcher for ampcode.com) by @MarcelloLins in #257
- Add suppress_sound_when_tab_focused config option by @tylergohl in #258
- fix(security): harden shell-to-Python handoffs, adapter JSON, atomic writes, audio allowlist by @garysheng in #259
- feat: auto-suppress sounds when microphone is active by @alexanderwait in #262
- fix(windows): use SoundPlayer for WAV files in hidden process by @garysheng in #263
- fix(windows): normalize PSCustomObject for session_packs in hook-handle-use.ps1 by @garysheng in #265
- Fix Windows peon packs use/next subcommands by @fabio-andre-rodrigues in #267
- Update README.md with meeting_detect config value explanation by @bobber205 in #268
- fix: Ghostty detection with tmux and case-sensitive process name by @garysheng in #270
- fix: debounce SessionStart greeting spam from multi-workspace IDE startup by @techtoboggan in #271
- Feature/selective sound control by @wangke19 in #272
- Add ability to show custom character icon from openpeon.json schema for desktop notifications by @homich1991 in #273
- fix: handle nested sound dirs and special chars in filenames by @chrisvaillancourt in #281
- fix(windows): harden state parsing and restore reliable hook audio by @nmotlagh in #280
- feat: add Kimi Code CLI adapter by @GigaMax13 in #282
- feat: add bind/unbind/bindings CLI commands for per-directory pack rules by @DanGrund in #277
- feat: configurable notification position, dismiss, labels, and message templates by @jackal092927 in #260
- fix: relay does not apply local notification position/dismiss settings by @kimdwkimdw in #287
- fix(opencode): filter subagent sessions from sound/notification events by @luqs1 in #290
- feat: add native Windows PowerShell adapters for all 11 IDEs by @fabio-andre-rodrigues in #285
New Contributors
- @bretta-seerist made their first contribution in #235
- @choutianxius made their first contribution in #238
- @andreabadesso made their first contribution in #243
- @Sogl made their first contribution in #244
- @klava-spark-dev made their first contribution in #245
- @kvnxiao made their first contribution in #246
- @hn6pot made their first contribution in #249
- @hugodelahousse made their first contribution in #251
- @tylergohl made their first contribution in #256
- @MarcelloLins made their first contribution in #257
- @alexanderwait made their first contribution in #262
- @fabio-andre-rodrigues made their first contribution in #267
- @bobber205 made their first contribution in #268
- @techtoboggan made their first contribution in #271
- @wangke19 made their first contribution in #272
- @homich1991 made their first contribution in #273
- @chrisvaillancourt made their first contribution in #281
- @nmotlagh made their first contribution in #280
- @GigaMax13 made their first contribution in #282
- @DanGrund made their first contribution in #277
- @jackal092927 made their first contribution in #260
- @kimdwkimdw made their first contribution in #287
- @luqs1 made their first contribution in #290
Full Changelog: v2.8.1...v2.12.0