v0.1.13
What's Changed
- chore(deps): svar 0.7.86 -- every quota/credit/budget wall is a hard error (0225257)
- feat(companion): collapse recorded non-image attachments into one disclosure row (9dba616)
- feat(python): read packaging metadata with Python's own parsers, add
python.source_paths(f8ac1d4) - fix(companion): a dead event stream can no longer silently freeze an open session (c229e28)
- feat(python): ruff config discovery,
vis python -m ruff, formatted shims (83082fd) - feat(python): ruff-powered format_code/lint_code for the Python pack (99352e9)
- feat(python): infer more src-layout import roots for vis python (#62) (8a0a475)
- fix(sandbox): stop losing the real Python error on warm contexts (655a658)
- fix(gateway): avoid holding the state lock across session work (3b43634)
- feat(companion): expire superseded TestFlight builds (922f6ca)
- fix(sandbox): always grant the ~/.vis session folder in the engine (edbdb13)
- feat(introspection): gate session self-inspection behind a toggle (38db934)
- docs(companion): TestFlight notes for 0.1.13 (2755) (db43ca2)
- feat(provider-error): classify a too-small output-token budget (8f20677)
- fix(reload): re-hydrate feature toggles from config on /reload (7589381)
- refactor(tools): always respect .gitignore; config-only filesystem + search scope (6f89aaa)
- docs(companion): TestFlight notes for 0.1.13 (2751) (4966f32)
- feat: web-search toggle, typed extension schemas, honest python CLI exits (a9ee2d5)
- refactor(tools): use ranges-only line windows (136c408)
- test(shims): cover deferred shim dependency loading (df5a6b7)
- test(loop): tolerate runner JIT activity after timeout (522367f)
- docs(audit): refresh generated dependency audit (a68962e)
- fix(ci): size macOS heap for Truffle suite (e0da867)
- test(jail): align contract with supported runtime (7218a90)
- fix(ci): probe Linux jail capability before E2E (2df6f11)
- fix(audit): generate inventory date in UTC (3d53adf)
- fix(ci): prepare generated Android project before Gradle (69bfc68)
- docs(audit): refresh dependency inventory (42a8c63)
- docs(companion): TestFlight notes for 0.1.13 (2739) (98d98e7)
- fix(python): link extension shims statically (5d7cf4c)
- docs(companion): TestFlight notes for 0.1.13 (2737) (606941f)
- fix(native): arm AWT headless at runtime, not at image-build time (8bcec2f)
- build(companion): one version everywhere, from the repo-root VERSION (6fc8983)
- feat(queue): cancelled turn returns queued messages to the input (505bb13)
- shims: move every sandbox shim's Python into real .py resources (ce39c55)
- companion: release notes for 1.0.1 (2732) (cbe597b)
- attachments: drop image optimization, keep container conversion only (b8e0e98)
- providers: add OpenRouter and persist auth files in snake_case (3ee3993)
- release: notes for 1.0.1 (2729) (a1152dd)
- companion: native iOS viewport bridge for rotation and resume (ffdb768)
- cli: make
vis updateexplain and recover from diverged history (#53) (f369fda) - companion: clamp the shell to the device when iOS resumes an oversized webview (1b7da42)
- release: notes for 1.0.1 (2725) (2bc67ac)
- companion cold-open cache, justified fold cards, config-driven model pick (80f263b)
- release: notes for 1.0.1 (2723) (1911c58)
- companion: kill rotation layout thrash, restore justified prose (d9c943e)
- release: notes for 1.0.1 (2721) (5340873)
- companion: request/transcription deadlines, durable voice outbox, rotation + typography fixes (f11835f)
- fix(shell): allow host-root descendants outside jail (e226f48)
- companion: coalesced tool-card grids, justified prose, correct live ticker (d8bd17e)
- release: notes for 1.0.1 (2717) (4067564)
- companion: honest live status, one-motion keyboard, resume at the end (445a3b2)
- companion: one-motion iOS keyboard; TUI limits, shims, editing fixes (154a0e3)
- labelled ntr recovery, image optimization at ingest, companion back/paste/perf (f6a109f)
- release: update version files for v0.1.12, bump to next dev version (f07ee49)
Package changes
com.blockether/vis
- chore(deps): svar 0.7.86 -- every quota/credit/budget wall is a hard error (0225257)
- feat(companion): collapse recorded non-image attachments into one disclosure row (9dba616)
- feat(python): read packaging metadata with Python's own parsers, add
python.source_paths(f8ac1d4) - fix(companion): a dead event stream can no longer silently freeze an open session (c229e28)
- feat(python): ruff config discovery,
vis python -m ruff, formatted shims (83082fd) - feat(python): ruff-powered format_code/lint_code for the Python pack (99352e9)
- feat(python): infer more src-layout import roots for vis python (#62) (8a0a475)
- fix(sandbox): stop losing the real Python error on warm contexts (655a658)
- fix(gateway): avoid holding the state lock across session work (3b43634)
- feat(companion): expire superseded TestFlight builds (922f6ca)
- fix(sandbox): always grant the ~/.vis session folder in the engine (edbdb13)
- feat(introspection): gate session self-inspection behind a toggle (38db934)
- docs(companion): TestFlight notes for 0.1.13 (2755) (db43ca2)
- feat(provider-error): classify a too-small output-token budget (8f20677)
- fix(reload): re-hydrate feature toggles from config on /reload (7589381)
- refactor(tools): always respect .gitignore; config-only filesystem + search scope (6f89aaa)
- docs(companion): TestFlight notes for 0.1.13 (2751) (4966f32)
- feat: web-search toggle, typed extension schemas, honest python CLI exits (a9ee2d5)
- refactor(tools): use ranges-only line windows (136c408)
- test(shims): cover deferred shim dependency loading (df5a6b7)
- test(loop): tolerate runner JIT activity after timeout (522367f)
- docs(audit): refresh generated dependency audit (a68962e)
- fix(ci): size macOS heap for Truffle suite (e0da867)
- test(jail): align contract with supported runtime (7218a90)
- fix(ci): probe Linux jail capability before E2E (2df6f11)
- fix(audit): generate inventory date in UTC (3d53adf)
- fix(ci): prepare generated Android project before Gradle (69bfc68)
- docs(audit): refresh dependency inventory (42a8c63)
- docs(companion): TestFlight notes for 0.1.13 (2739) (98d98e7)
- fix(python): link extension shims statically (5d7cf4c)
- docs(companion): TestFlight notes for 0.1.13 (2737) (606941f)
- fix(native): arm AWT headless at runtime, not at image-build time (8bcec2f)
- build(companion): one version everywhere, from the repo-root VERSION (6fc8983)
- feat(queue): cancelled turn returns queued messages to the input (505bb13)
- shims: move every sandbox shim's Python into real .py resources (ce39c55)
- companion: release notes for 1.0.1 (2732) (cbe597b)
- attachments: drop image optimization, keep container conversion only (b8e0e98)
- providers: add OpenRouter and persist auth files in snake_case (3ee3993)
- release: notes for 1.0.1 (2729) (a1152dd)
- companion: native iOS viewport bridge for rotation and resume (ffdb768)
- cli: make
vis updateexplain and recover from diverged history (#53) (f369fda) - companion: clamp the shell to the device when iOS resumes an oversized webview (1b7da42)
- release: notes for 1.0.1 (2725) (2bc67ac)
- companion cold-open cache, justified fold cards, config-driven model pick (80f263b)
- release: notes for 1.0.1 (2723) (1911c58)
- companion: kill rotation layout thrash, restore justified prose (d9c943e)
- release: notes for 1.0.1 (2721) (5340873)
- companion: request/transcription deadlines, durable voice outbox, rotation + typography fixes (f11835f)
- fix(shell): allow host-root descendants outside jail (e226f48)
- companion: coalesced tool-card grids, justified prose, correct live ticker (d8bd17e)
- release: notes for 1.0.1 (2717) (4067564)
- companion: honest live status, one-motion keyboard, resume at the end (445a3b2)
- companion: one-motion iOS keyboard; TUI limits, shims, editing fixes (154a0e3)
- labelled ntr recovery, image optimization at ingest, companion back/paste/perf (f6a109f)
- release: update version files for v0.1.12, bump to next dev version (f07ee49)
com.blockether/vis-channel-tui
- refactor(tools): always respect .gitignore; config-only filesystem + search scope (6f89aaa)
- feat(queue): cancelled turn returns queued messages to the input (505bb13)
- attachments: drop image optimization, keep container conversion only (b8e0e98)
- companion cold-open cache, justified fold cards, config-driven model pick (80f263b)
- companion: one-motion iOS keyboard; TUI limits, shims, editing fixes (154a0e3)
com.blockether/vis-foundation-search
- feat: web-search toggle, typed extension schemas, honest python CLI exits (a9ee2d5)
com.blockether/vis-language-clojure
- feat(queue): cancelled turn returns queued messages to the input (505bb13)
com.blockether/vis-language-python
- feat(python): ruff config discovery,
vis python -m ruff, formatted shims (83082fd) - feat(python): ruff-powered format_code/lint_code for the Python pack (99352e9)
com.blockether/vis-persistance-sqlite
- refactor(tools): always respect .gitignore; config-only filesystem + search scope (6f89aaa)
- companion: request/transcription deadlines, durable voice outbox, rotation + typography fixes (f11835f)
- labelled ntr recovery, image optimization at ingest, companion back/paste/perf (f6a109f)
com.blockether/vis-provider-anthropic
- providers: add OpenRouter and persist auth files in snake_case (3ee3993)
com.blockether/vis-provider-github-copilot
- providers: add OpenRouter and persist auth files in snake_case (3ee3993)
- companion: one-motion iOS keyboard; TUI limits, shims, editing fixes (154a0e3)
- labelled ntr recovery, image optimization at ingest, companion back/paste/perf (f6a109f)
com.blockether/vis-provider-openai-codex
- providers: add OpenRouter and persist auth files in snake_case (3ee3993)
com.blockether/vis-provider-openrouter
- providers: add OpenRouter and persist auth files in snake_case (3ee3993)
com.blockether/vis-provider-zai
- providers: add OpenRouter and persist auth files in snake_case (3ee3993)
Full Changelog: v0.1.12...v0.1.13