Changelog

What’s new in octet.

RSS feed

octet 0.7.5

What changed in this release. GitHub release

Fixed#

  • Keep the context-compaction and activity shimmer on a monotonic clock rather than letting render cost or event traffic change its speed. Missed animation frames are skipped, not replayed; busy render notifications cannot indefinitely postpone painting.
  • Route terminal diagnostics through the TUI instead of writing over its cursor. Model switches no longer leave stale splash headings or old logo colours, including sessions over SSH.

Changed#

  • The default footer now groups model, reasoning, context percentage/limit and cumulative cost on the left, with the working directory right-aligned. Narrow terminals shorten or omit the path first; estimated context and unknown-cost markers are preserved.

Added#

  • A monochrome octet mark, target version and honest progress for the installer and octet update: measured download bars, named verification stages, and indeterminate activity for work without a known total. Success requires the installed version to match; redirected output remains plain.
  • A quiet startup notice when a newer stable octet release is available. Run octet update to update; the check never installs software automatically or blocks the composer. Offline startup does not check for updates.
Read more

octet 0.7.4

What changed in this release. GitHub release

Highlights#

  • Fix the three medium-severity Vitest dependency alerts, alongside the scoped maintenance changes merged in #411.
  • Overlap independent custom-provider discovery in batches of at most four, preserving registry order, validation and caches.

Verification and availability#

  • Protected PR #413 merged after candidate CI passed; main CI also passed. The tested candidate and canonical merge have identical source trees.
  • The native workflow passed builds, checksum/Sigstore verification and public installation on macOS Apple silicon, macOS Intel and GNU/Linux x86-64.

Known limitations and documentation correction#

The maintainer reported Apple Terminal, Ghostty and Ghostty-to-Ubuntu SSH acceptance before publication. A subsequent Ghostty-to-SSH model-switch report shows stale splash rows and logo colours. The targeted fix is described in 0.7.5; earlier acceptance is not proof that this journey worked.

Read more

octet 0.7.3

A focused release of the streaming, rendering, and colour fixes since 0.7.2. GitHub release

Included changes#

  • Full-TUI 256-colour fallback uses the fixed xterm palette with a lightness constraint to preserve contrast. True-colour, ANSI16, explicit palette colours, and no-colour behavior are preserved.
  • Streaming retains completed work and stabilizes incremental Markdown output. Subagent presentation, picker navigation, and composer chip editing are improved.

Compatibility and distribution#

Product, SDK, Serve, and official executable bundles are version 0.7.3. Bundles require exactly octet 0.7.3; extension API and native-host protocol versions are unchanged. Installation does not enable extensions. Serve remains experimental.

Evidence and remaining limits#

The implementation passed deterministic renderer, coding-agent, startup PTY, colour-mode matrix, and Browse tests; the palette received independent code review. The user reported smoother thinking streaming and stable scroll-up while the model worked on the pre-version-bump candidate. This is observational evidence, not a measured performance comparison or complete terminal acceptance.

Read more

octet 0.7.2

Published with signed Native/Serve assets and independently verified public installation. GitHub release

Included fixes#

  • Startup readiness: the first branded frame waits for resolved model (or model-less setup), workspace, and appearance. Startup animation begins at readiness rather than during asynchronous configuration.
  • Terminal replies: the shared input owner consumes late OSC 11 background replies, including slowly fragmented bodies after header recognition. Explicit appearance overrides skip the query; SSH alone does not imply reduced color support. An opening header fragmented beyond the 250 ms Escape-key ambiguity timeout can still pass through; see terminal reply limits.

Compatibility and publication#

Product, SDK, Serve, and first-party executable distribution versions are 0.7.2; matching bundles require exactly octet 0.7.2. Extension API versions and native-host protocol 1 are unchanged. Installing a bundle does not enable it. Safe mode is not an OS sandbox.

Verification status#

  • Source PR #373 and policy repair PR #374 passed all 14 checks each; final merge ddc997f9d11bf6d281b8eca09c6271ba2e452f23 exactly matches the validated candidate tree.
  • 36 local gates passed: 1,183 coding-library, 499 agent, 142 TUI, all 9 startup PTY and 6 terminal-reply PTY tests; API conformance, extension suites, Clippy/workspace checks, deterministic packaging and installer/Serve smoke.
Read more

octet 0.7.1

A focused patch release for prompt presentation, trusted release downloads, terminal appearance and scrolling, and model-supported auxiliary reasoning. GitHub release

Fixes#

  • Terminal appearance: fresh capable interactive installations offer Auto/Light/Dark with preview and persistence. /theme changes the selection later; existing configured installations and non-TUI modes do not open onboarding. See themes for detection and override behavior.
  • Startup presentation (#367): narrow, ASCII and no-color terminals retain a bounded startup surface. Welcome-card prefix invalidation handles animation, overlays, appearance/model changes and redraws without stale startup rows; no-color startup stays static.

Installation and channels#

Install signed native assets from v0.7.1 for macOS Apple silicon/Intel or GNU/Linux x86-64:

Compatibility#

  • Product, SDK and first-party extension distribution versions are 0.7.1; installed first-party packages require exactly octet 0.7.1. Extension APIs 0.1/0.2/0.3 and native-host protocol 1 are unchanged. The four executable bundles still declare API 0.2; generated 0.3 types do not establish a complete Python 0.3 runtime.
  • The canonical repository is skaft-software/octet following #366. The immutable v0.7.0 assets and signing identity are unchanged; v0.7.1 uses the new repository identity.
Read more

octet 0.7.0

The first octet release brings the renamed native coding agent, provider and media fixes, and bounded Pi compatibility. GitHub release

Added#

  • Native Google Gemini/Vertex and Amazon Bedrock integrations, Azure OpenAI support, and additional Mistral/Cloudflare provider declarations. Provider routes and supported subsets are explicit; declared routes do not establish live-service or complete Pi-provider acceptance.
  • Transactional custom-provider onboarding and opt-in cold-start feedback for endpoints that implement the corresponding readiness contract.

Changed#

  • Adopted the lowercase octet name, octet and octet-host binaries, octet-* packages, OCTET_* settings and .octet directories. Packaged documentation uses share/octet.
  • Thinking choices now retain endpoint-specific exact values, gaps, defaults, binary controls and always-on behavior. Explicit false and manual metadata remain authoritative; malformed assertions fail closed. Genuine provider model labels are preserved without fabricating overrides from raw IDs.

Fixed#

  • Provider-start WebSocket fallback distinguishes a safe pre-acceptance failure from an ambiguous request that must not be replayed automatically.
  • Google replay repairs missing tool results in the documented lossy conversion.
Read more

octet 0.6.7

GitHub-only follow-up hardening from pre-user dogfood validation of v0.6.6. GitHub release

Fixed#

  • Serve repository refresh now enumerates Git clean/process filters from the effective repository, worktree, and included configuration before running status commands.
  • Filter names that cannot be represented safely as Git command overrides, including delimiter-bearing or non-UTF-8 names, fail closed without running repository status.

Installation and updates#

Install the signed binary for GNU/Linux x86-64, macOS Intel, or macOS Apple silicon:

Compatibility and known limits#

  • Core crates and first-party extension manifests target Ygg 0.6.7 exactly.
  • Executable-extension API 0.2 remains unchanged.
Read more

octet 0.6.6

GitHub-only pre-user validation build for the v0.6 daily-driver closure. GitHub release

Validation follow-up#

Pre-user dogfood validation found that Serve repository refresh in v0.6.6 did not fully neutralize Git clean/process filters configured through .git/config.worktree. v0.6.7 corrected the boundary before external adoption; anyone using the archived v0.6.6 build should update before opening affected repositories in Serve. Tracked in #88.

Highlights#

  • Bound environment and credential reads, repaired tool arguments against their selected schemas, and retry transient remote reads with bounded backoff.
  • Isolated ordinary repository-local Git clean filters, strengthened durable goal locking across processes, bounded web session resync and selection races, and reconciled TUI inline scrollback.

Installation and updates#

The canonical binary release provides the version-pinned installer for GNU/Linux x86-64, macOS Intel, and macOS Apple silicon:

Read more

octet 0.6.5

v0.6.5 is a tool-loop performance, context-accounting, provider-correctness, and model-aware terminal-controls release. GitHub release

Highlights#

  • Responses Lite keeps its explicit serial wire contract while the host overlaps only explicitly parallel-safe pure or workspace-read calls. Shell and mutation effects remain ordered.
  • Codex routes can use provider-advertised tool-call batching without weakening host-side effect ordering, reducing avoidable tool-loop latency.

Updating#

Installer-channel users can update in place:

Packages and compatibility#

  • Core crates and first-party packages target Ygg 0.6.5 exactly.
  • Executable-extension API 0.2 remains the wire contract; matching ygg-browse, ygg-mcp, ygg-subagents, ygg-web-search, and Ygg Serve archives are published with the release.
Read more

octet 0.6.4

v0.6.4 is a daily-usability, context-efficiency, and correctness release. GitHub release

Highlights#

  • Ygg now estimates the complete provider-visible request before each model turn.
  • The default compaction.threshold_fraction is 1.0: autonomous compaction keeps a fixed 16K coding-turn reserve, or the larger reasoning floor advertised by the active model, instead of reserving an additional percentage of every context window.

Updating#

Installer-channel users can update in place:

Packages and compatibility#

  • Core crates and first-party packages target Ygg 0.6.4 exactly.
  • Executable-extension API 0.2 remains the wire contract; runtime_commands is optional and negotiated, so extensions that do not request it retain the manifest-authoritative command behavior.
Read more

octet 0.6.3

v0.6.3 is a focused reliability, observability, and evidence release. GitHub release

Highlights#

  • Every accepted interactive run opens with a model-adaptive shimmering Working state.
  • Thinking appears only after a real reasoning delta. Its fixed bold header shimmers while the latest explicit heading and plain Ctrl+O hint remain on the subdued detail row.

Install#

The version-pinned installer supports GNU/Linux x86-64, macOS x86-64, and macOS Apple silicon:

Packages and compatibility#

  • Core crates and first-party packages target Ygg 0.6.3.
  • Executable extension bundles use API 0.2 and require exact Ygg 0.6.3.
Read more

octet 0.6.2

What changed in this release. GitHub release

Hotfixes#

  • Subagent terminal summaries, fatal errors, usage, and sibling rows remain inspectable when owning-run cleanup removes the live host tree; missing active workers become explicit orphaned diagnostic records instead of vanishing.
  • Apple Foundation Models discovery quietly skips GET /v1/models when the optional local fm serve health endpoint is unavailable.

Compatibility#

  • Core crates and first-party packages target Ygg 0.6.2.
  • Executable extension bundles require API 0.2 and an exact Ygg version.

Installation#

Requires macOS (Apple silicon or x86-64) or GNU/Linux x86-64, plus ripgrep.

Read more

octet 0.6.1

What changed in this release. GitHub release

Highlights#

  • Added the zero-token Pi migration inventory and the trusted local Pi compatibility bridge.
  • Removed dead API and TUI surfaces, flattened the internal tool trait stack, and moved duplicated protocol helpers into ygg-ai.

Compatibility#

  • Core crates and first-party packages target Ygg 0.6.1.
  • Executable extension bundles require API 0.2 and an exact Ygg version.

Installation#

Requires macOS (Apple silicon or x86-64) or GNU/Linux x86-64, plus ripgrep.

Read more

octet 0.6.0

What changed in this release. GitHub release

Highlights#

  • Subagent overhaul — extension-routed child sessions with raised limits (eight concurrent workers), opt-in edit/write/bash mutation grants, continue/resume across sessions, live worker telemetry while root tools run, a native /subagents browser, and styled subagent transcripts in the TUI.
  • First-party extension bundles ship for the first time — checksum-verified, atomically installed, inert until enabled and trusted: ygg-browse, ygg-web-search, ygg-mcp, ygg-subagents, plus the version-matched loopback-only ygg-serve.

Compatibility#

  • Extension bundles require executable-extension API 0.2 and Ygg = 0.6.0 for the version-matched Serve package.
  • Prompt templates remain Pi-compatible; skills follow the Agent Skills spec.

Installation#

Requires macOS (Apple silicon or x86-64) or GNU/Linux x86-64, plus ripgrep.

Read more

octet 0.5.0

Ygg v0.5.0 expands the executable-extension contract, adds supervised extension lifecycle support and bounded task delegation, and hardens the default terminal and graphical execution paths. GitHub release

Install Ygg#

Ygg requires rg (ripgrep). The version-pinned installer selects and verifies a prebuilt binary for GNU/Linux x86-64, macOS x86-64, or macOS Apple silicon:

Upgrade from v0.4.0 or earlier#

Re-run the pinned installer command above, using the same YGG_INSTALL_DIR if an earlier installer used a custom location. Releases through v0.4.0 do not have the ygg update command; the v0.5.0 installer replaces both binaries and the packaged documentation while leaving ~/.ygg configuration, credentials, sessions, and other user data untouched. Restart the shell, or run hash -r, then confirm ygg --version reports 0.5.0.

Install Ygg Serve#

The graphical interface remains an optional application extension:

Read more