Skip to main content
Product updates, organized newest first. For deeper details on each release, see the StackKits, SpeechKit, and Techstack release notes on GitHub.
Week of Aug 22 – Aug 28

SpeechKit meeting notes and LAN discovery, StackKits public addresses and compute tiers

SpeechKit rolled from v0.59.0 to v0.64.0: meeting notes that start from what you wrote down, LAN discovery so devices find your homelab server without typing an address, and tap-to-interrupt on every client. StackKits shipped v0.21.10 through v0.22.0: managed public service addresses with automatic TLS on Cloud Kit, and compute tiers that match a kit to the hardware you actually have.

New features

  • Meeting notes that start from your own notes. SpeechKit v0.59.0 adds a meeting notepad: your notes lead, the transcript fills in the rest, and the write-up cites the words it came from. Microphone and system audio stay on separate tracks, so speaker labels come for free and the audio is never kept. SpeechKit notices when a calling app takes the microphone and offers to take notes; nothing is recorded until you accept. The write-up lands in the dashboard as soon as the meeting ends. See SpeechKit modes.
  • Find your SpeechKit server on the home network. v0.60.0 lets a homelab server announce itself over mDNS/DNS-SD, so the desktop app, the Android app, and speechkitctl discover find it without typing an address. Discovery is opt-in and off by default, so a hosted instance stays silent, and the announcement only says where to knock: devices still sign in after they connect. See SpeechKit overview.
  • Managed public addresses with automatic TLS on Cloud Kit. StackKits v0.21.20 through v0.21.24 give Cloud Kit services managed public kombify.me addresses: a secret-free address plan, routes rendered from your validated subdomain prefix, and certificates issued with ACME HTTP-01 so the Cloudflare gateway can validate origin TLS while service traffic stays HTTPS. See Cloud Kit.
  • Compute tiers match the kit to your hardware. StackKits v0.22.0 adds low, standard, and high compute tiers per kit. Apply attests local CPU, RAM, and disk before resolving, and blocks with a clear reason instead of deploying onto an undersized host. See Choosing a kit and Review, plan, and apply.
  • Interrupt the assistant from any client. SpeechKit v0.62.0 brings tap-to-stop for a spoken answer to the web and Android clients, not only the desktop app. Transcripts on web and Android carry speaker labels when speaker recognition is on, and each client shows which speech backend is serving the session. See SpeechKit modes.
  • Voice-note transcription and summaries on Android. v0.60.0 transcribes voice notes and summarizes WhatsApp and Telegram voice messages from the SpeechKit app.
  • Add secrets custody to an existing homelab. StackKits v0.21.11 adds an explicit, idempotent stackkit secrets materialize command so a standalone homelab can establish owner-bound custody after selecting a new workload, without re-running its initial StackSpec. See Day 2 operations.

Updates

  • Words and Replacements are manageable. SpeechKit v0.62.0 makes custom Words and Replacements searchable, paged, and deletable in Settings. Several spoken forms can rewrite to one term, and aliases apply in Dictation, Assist, and Voice Agent.
  • Pick your dictation engine in one control. v0.62.0 switches Deepgram Nova-3 and AssemblyAI Universal 3.5 in one Dictation setting, and AssemblyAI’s LLM Gateway is a native backend using the same API key as speech-to-text.
  • The overlay is the control strip. v0.59.0 lets you choose which actions sit on the Windows overlay, rotate the speech language, and start a meeting from it. See SpeechKit framework.
  • One Go package per speech provider. v0.64.0 splits every speech and realtime voice provider into its own SDK package, so an app that talks to one backend stops compiling the rest. Old names still work through v0.64 with a migration table and are removed in v0.65.0. The model catalog is now single-sourced, and entries carry a modality field.
  • Owner-approved removal targets one node. StackKits v0.21.11 through v0.21.13 let owner-approved workload removal select one exact node placement from a verified multi-node Apply result, with absence evidence still correlated to the same Apply.
  • Richer access manifest. v0.21.16 extends the native access manifest to v3 with application grouping, display names, lifecycle impact, and secret-free internal addresses for running services.

Bug fixes

  • Cloud hardening can no longer lock you out. StackKits v0.21.10 preserves a non-root key-authenticated account before Cloud host-security disables root login, and v0.21.17 makes the hardened sshd policy win over provider and cloud-init defaults, so root key login stays disabled.
  • Re-running Apply on ports 80 and 443 is safe. v0.21.18 lets an idempotent Apply reuse ports 80 and 443 only when Docker proves they belong to the current workspace’s Cloud core. Foreign or stale listeners still block.
  • Workloads without a placement block just work. v0.21.11 applies the governed placement defaults when a StackSpec author selects a workload without a placement block. See Configure a stack spec.
  • A failed Apply tells you what to do next. v0.22.0 ends a failed Product Apply with retry, status, and logs guidance plus the Run-ID, and the installers resume an existing workspace instead of dying.
  • A refused voice session explains itself. SpeechKit v0.62.0 makes a refused Voice Agent session name the one thing to change, and every error carries the id support needs to find the request.
  • Spoken numbers come out as digits. v0.61.0 writes spoken numbers as digits and strips German filler words like äh and ähm, including when the language is set to all languages.
  • The assistant stops interrupting itself. v0.61.0 rejects the agent’s own voice as barge-in, stops a hung provider close from leaving a session stuck ending, and plays the reply at the correct 24 kHz rate.
  • Windows shows the real version after an update. v0.61.0 makes Install and restart display the published version instead of the previous one.
  • Full-capture Dictation respects your engine choice. v0.62.0 uses the selected speech engine instead of always trying Deepgram first.
  • The keyboard behaves on Android. v0.60.0 puts SpeechKit on the Gboard suggestion strip and restores the provider buttons on the keyboard, and v0.61.0 keeps a tester connection working until you explicitly switch to kombify Cloud.
Week of Aug 15 – Aug 21

Techstack open-source Alpha, SpeechKit on the Android keyboard, StackKits Cloud core

Techstack is now public: an unsigned Windows Alpha and an open-source client you can install on your own machine to operate a local server without a hosted kombify account. SpeechKit ships its own Android keyboard so dictation and the Voice Agent are one tap above the keys, with a choice of on-device, SpeechKit server, Deepgram, AssemblyAI, or GPT. StackKits v0.21.1 rounds out ten first-class use cases and lands the provider-neutral Cloud core runtime, followed by a series of Cloud Apply and Verify fixes through v0.21.9.

New features

  • Techstack Windows Alpha, open source. The Techstack open-core client is now published under AGPL-3.0 at kombifyio/TechStack, and the unsigned Windows Alpha is available for local-server feedback. Techstack is the optional orchestration and operator experience on top of StackKits, and this Alpha supports the account-free local path. See Techstack overview, availability, and Install Techstack Alpha on Windows.
  • Dictation and Voice Agent, one tap above the keys. SpeechKit v0.58.0 adds a row above the Android keyboard to dictate on device or through your SpeechKit server, or talk to Deepgram, AssemblyAI, or GPT. Actions that need a server say so instead of failing when pressed. See SpeechKit modes.
  • SpeechKit ships its own Android keyboard. v0.57.1 replaces the borrowed IME with a SpeechKit-branded keyboard (a HeliBoard fork). Tap the voice key and the dictation panel opens inside the keyboard, where you were typing, without an app switch or a lost cursor. The complete corresponding source is published alongside the release.
  • Ten first-class use cases in StackKits. v0.21.1 completes the CUE authorities for all ten use cases, including Vault, Media, and draft AI/Dev/Remote, plus post-1.0 draft Mail and Game. Existing Basement and Cloud Kit roles are bound to them. See Choosing a kit.
  • Provider-neutral Cloud core runtime. v0.21.1 implements the provider-neutral Cloud core runtime with a guarded local Product Apply, live Verify observation, and the exact access-manifest v2 projection for base, auth, id, and coolify. Provider and credential custody stay in Techstack. See Cloud Kit.
  • Configure a SpeechKit mode before you turn it on. v0.57.1 keeps Transcribe, Assist, and Voice Agent settings open and editable while the mode is switched off, and no longer throws you out of the page when you toggle a mode off. See SpeechKit framework.

Updates

  • Desktop shell branded “SpeechKit UI”. v0.57.1 gives the desktop window the SpeechKit mark and title so it no longer identifies itself as a generic shell.
  • foundation replaces the base schema package. StackKits v0.18.22 renames the shared CUE schema package from base to foundation and requires foundation/stackkit.cue in published archives. Product kits are unchanged and still extend #FoundationStackKit.
  • Retired the base-kit installer argument. v0.18.22 rejects the retired base-kit slug instead of silently rewriting it to basement-kit. Use basement-kit. See Choose a kit.

Bug fixes

  • Cloud Apply reaches the posture it declares on a stock Ubuntu host. StackKits v0.21.9 installs the packages backing Cloud host-security units and its ruleset instead of failing on absent nft and fail2ban, and only reloads a running sshd while ensuring the privilege-separation directory on socket-activated hosts.
  • Cloud host-security failures now name the failing unit. v0.21.8 retains the bounded command and process output when Cloud host-security reconciliation fails, so a live target reports the exact failing unit.
  • Exact Cloud core Verify handles the socket proxy and health-checked services. v0.21.6 accepts the not-configured observation for the intentionally healthcheck-less socket proxy, and v0.21.7 retains exact runtime-owned public-route health outcomes after validating them against Cloud core module probes.
  • Cloud Kit Apply stops failing closed on dispatcher metadata. v0.21.4 accepts dispatcher plan-class metadata on Cloud Kit owners and host-admission so Product Apply no longer fails with health:stackkits-host-admission=executor-failed. v0.21.5 executes all-local Cloud Kit owners through their exact local router. See Review, plan, and apply.
  • Verify and Status reject stale Cloud service projections. v0.21.1 rejects stale, foreign, or mutated Cloud service projections during Verify and Status readback.
  • No more duplicate SpeechKit launcher icons on Android. v0.58.0 stops the keyboard fork from adding a second launcher that opened the keyboard’s settings instead of the app.
  • The voice key is there when you install SpeechKit. v0.58.0 makes the voice key visible without enabling a second input method, and the dictation panel now opens over the keys instead of at the top of the screen.
  • Voice Agent status is truthful on Android. v0.57.1 stops advertising the Voice Agent as unreleased and lets the SpeechKit keyboard actually appear, with the dictation panel mounted inside its input view.
Week of Aug 10 – Aug 14

StackKits v0.15.0 – v0.18.1: guided installer, service-controllable rollouts, and a provider-neutral Cloud core

StackKits rolled from v0.14.28 to v0.18.1 this week. A new guided installer takes an unprepared machine to a running homelab in three modes. Cloud Kit gained a provider-neutral Cloud core, public TLS route ownership, and opt-in offsite backup. apply, status, verify, and logs are fully machine-readable on every outcome, and a new stackkit service command controls individual services between full applies.

SpeechKit v0.53.0 – v0.57.0: one voice assistant everywhere, Android Voice Agent, hosted web assistant

SpeechKit shipped v0.57.0. The Android app now holds a real spoken conversation and reaches the assistant straight from the SpeechKit keyboard. Every SpeechKit server exposes a ready-to-use /assistant web page. The same animated assistant renders identically on Android, in the Windows overlay, and on the web, driven by a single shared library. Deepgram Flux v2 is now selectable across realtime, speech-to-text, and text-to-speech.

New features

  • Guided installer to a running homelab. StackKits v0.17.0 ships a full guided installation with three modes and a v2 init flow that accepts --use-case, --platform, and --enable. The installer bootstraps Docker and storage roots directly, works safely under sudo, and prints truthful native credentials. See Quickstart and Choosing a kit.
  • Provider-neutral Cloud core with public TLS routes. StackKits v0.15.0 resolves a required cloud-core workload for base, auth, id, and coolify, renders one digest-pinned Compose project, and executes it through a closed local runtime owner on an externally supplied host. v0.18.0 makes Cloud Kit own and materialize public TLS routes end to end. Cloud runtime custody stores only service-scoped PocketID, TinyAuth, and Coolify material. Provider credentials, server credentials, leases, and inventory stay outside StackKits. See Cloud Kit.
  • stackkit service command for post-rollout control. v0.16.0 adds stackkit service start|stop|restart <service-key> and stackkit service logs <service-key> for StackKits-managed Cloud core services. Mutations require --owner-approve, and --json returns a versioned action result. Use it to bounce or inspect one service between full applies. See Day 2 operations.
  • Full machine-readable output on apply, status, verify, and logs. v0.15.8 keeps stackkit apply --json, stackkit status --json, and stackkit verify --json parseable on success, denial, and failure. stackkit logs returns redacted, bounded pages with digest-bound cursors and explicit truncation metadata. The MCP connector exposes the same structured evidence. See MCP connector and Monitoring.
  • Architecture v2 runtime listeners for product-owned application delivery. v0.15.3 exposes runtime listeners on Architecture v2 catalog projections so applications can drive their own delivery without moving lifecycle authority out of StackKits. See Application delivery.
  • Android Voice Agent client. SpeechKit v0.57.0 adds a real-time Voice Agent to the Android app. Press to talk, hear the answer, and watch the transcript build as you speak. The SpeechKit keyboard opens the assistant in place, so a conversation stays out of the text field while dictation still writes into it. See SpeechKit modes.
  • Hosted /assistant web page on every SpeechKit server. v0.55.0 serves a ready-to-use Voice Assistant page. Open it in any browser, connect, and start talking. See SpeechKit overview.
  • Voice Assistant appearance settings and one visual language everywhere. v0.55.0 adds Settings to pick the animation (Aura orb or Waveform), the centre logo, and whether the live transcript shows by default, with a live preview. v0.57.0 publishes the shared orb so the Android app, Windows overlay, and hosted web page draw the same assistant from a single source. See SpeechKit framework.
  • Deepgram Flux v2 across all voice paths. v0.54.10 makes Deepgram Flux v2 available for realtime Voice Agent, speech-to-text, and text-to-speech.
  • Local Box media lifecycle. v0.54.0 plays media through the local device agent on a paired Kombify Box, so the audio path stays on your own network.

Updates

  • Cloud Kit offsite backup is now opt-in. v0.16.1 makes offsite backup an explicit choice on Cloud Kit. See Back up and restore.
  • Traefik admin API stays localhost-only on Cloud Kit. v0.18.1 keeps the Traefik admin API bound to localhost in both product and public release contracts.
  • Rebuilt Windows Voice Agent overlay. SpeechKit v0.56.0 turns the overlay into one dark, readable panel centred on the animation and the conversation. Controls appear only when you reach for them. Quick Note moved to the overlay, and every overlay icon has a tooltip.
  • Silent updater with a distinct verification phase. v0.52.11 installs updates silently, v0.52.12 has SpeechKit relaunch itself after install, and v0.54.10 shows a distinct verification phase instead of appearing to stall at 100%.
  • Numeric pre-1.0 releases are back on the public surfaces. v0.52.9 publishes numeric v0.x releases as normal GitHub releases and advances the canonical latest alias so the website, installer mirror, and in-app updater agree on the newest build. v0.52.10 restores the missing public release notes for v0.51.37 through v0.52.9.

Bug fixes

  • Apply binds mutation to the expected plan hash. StackKits v0.17.0 prevents apply from running against a plan that changed underneath it. See Review, plan, and apply.
  • Authenticated public runtime image pulls. v0.16.8 authenticates the public runtime image pulls that a fresh install performs.
  • Held-to-talk release ends the conversation. SpeechKit v0.56.0 closes the dialog when hold-to-talk is released. A short window still lets an immediate second press pick up where you left off.
  • Launching SpeechKit opens SpeechKit. v0.56.0 brings up the window from the taskbar or Start menu and returns to the running app on a repeat click.
  • Android keyboard setup detects our own keyboard. v0.57.0 stops the setup flow from claiming a step is done before it is.
  • Transcripts keep their own language. v0.54.0 no longer labels transcripts as German regardless of what was spoken, so custom vocabulary and replacements apply to the language you actually used. Silent-recording drops also stop: when a recording produces no text because the spoken language did not match the configured one, SpeechKit says so instead of dropping it.
  • Server keeps running through a transient probe failure. v0.54.1 stops a single failed probe from killing the SpeechKit server, and unlatches the local Whisper ready flag when it recovers.
  • Model setup retries transient Whisper downloads. v0.54.10 retries instead of failing the install on a transient network error.