# YazSes v2.7.0-dev.2 — Wave K ship-now tier (developer preview)

**Pre-release · not published** (publish workflows are pinned to `v0.x`/`v1.x`; v2 dev tags do
not ship). **v1.4.1 remains the stable release.** Every feature is **OFF by default**.

Continues **Wave K** (`design/vision/v2-research/13-wave-k.md`) with the remaining two
dependency-free ship-now cores, completing the tier:

## New since dev.1 (all off by default)

- **Voice Case & Identifier Transform** (ADR-v2-087, `[casetransform]`) — recase the selection by
  voice: "make this snake_case", "Title Case", "SHOUT", "camelCase". `transform_case` covers nine
  styles (upper/lower/title/sentence/snake/kebab/camel/pascal/constant) and splits camelCase input
  correctly; `detect_style_command` parses the spoken request. Transforms *existing* selected text
  (via the clipboard), distinct from Spoken Code Mode (dictates new).
- **Auto-Pairing & Wrap-Selection** (ADR-v2-088, `[autopair]`) — balances brackets/quotes in
  dictated code (`foo(a, bar[b` → `foo(a, bar[b])`) and wraps a selection ("wrap this in parens").
  `balance_delimiters` tracks quotes in the same stack as brackets so closers nest correctly and
  brackets inside strings are ignored. Prevents the classic voice-coding unbalanced-delimiter
  failure.

`yazses features` now lists **99 capabilities**.

## Wave K remaining
Focus-Class Auto-Profile Switching, Voice Undo/Redo Timeline, Spoken Table→CSV Data Entry, Session
Bookmarks & Resume, Word-Count/Goal Tracker, Local Voice Timer/Break Reminder.

## Quality
1314 tests green across Linux × macOS × Windows on Python 3.11 and 3.12. Both new cores are
unit-tested to 100% with **no new dependency**; this drop also fixed a real delimiter-nesting bug
found by the tests. The default install and the v1 dictation path are unchanged.
