Releases: Alakazam-211/K2
v0.40.5
v0.40.4
0.40.4 — The .k2/ workspace rename + access fixes
-
Your workspace's
.k2so/folder is now.k2/. The K2 rebrand
finally reaches the per-workspace directory. The first time the updated
daemon starts, K2 renames each registered workspace's.k2so/to
.k2/automatically, re-points the harness symlinks (CLAUDE.md,
GEMINI.md, and the.claude//.opencode//.pi/files), and updates
.gitignoreso the previously-ignoredinbox/sessions/logsstay
ignored. Nothing is lost — git sees it as a clean set of renames, so
your history follows; just commit the rename in each repo when it's
convenient. Workspaces still on.k2so/keep working — K2 reads either
name. This is the last structural rename; everything from here is
additive. -
Disabling or removing a K2 Connect user now ends their live session
immediately. Previously a revoked user's already-open terminal stream
kept flowing until they happened to disconnect. Now disabling,
removing, or changing a user's role drops their token and tears down
any live terminal/events socket within seconds. -
CLI version no longer shows "v?" after the rename. If you updated
in place, thek2command-line tool could still point at the old
K2SO.apppath and report its version asv?. K2 now self-heals the
/usr/local/bin/k2link on startup — whether your app is named
K2.appor the olderK2SO.app. -
The "Canonical Agent" harness fan-out toggle stays checked. Turning
it on no longer silently reverts — a leftover "skip harness management"
flag was overriding it, and that's now cleared when you enable fan-out.
v0.40.3
0.40.3 — Honest message-delivery status
-
k2 msgstops crying wolf. Live messages between agents sometimes
reported as failed (no_submit, exit code 2) even though they
delivered fine — a false alarm from the after-send screen check racing
the recipient's redraw, which could push agents into re-sending and
stacking duplicate text. Delivery itself was already solid (the paste
framing and insurance Enter from the comms-reliability release keep it
that way); now the status reflects reality: a message handed to a
live agent session with its submit keystroke is reported as sent.
Genuine failures — a crashed recipient session — still surface loudly. -
Updated from K2SO and want the app file itself named "K2"? An
in-place update keeps the oldK2SO.appfilename on disk (its name and
icon already display as K2, so this is purely cosmetic — updates
keep flowing to it either way). For a cleanK2.app, download the
latest from k2.dev and drag it into your
Applications folder, replacing the old one. Optional, not required. -
Remote access is "K2 Connect" in Settings again. The remote-access
tab briefly carried an internal codename; it's back to the clear,
familiar K2 Connect label.
v0.40.2
0.40.2 — Clearer permission prompts after the rename
The K2SO → K2 rename means macOS sees a brand-new app, so a few system
permission prompts can appear once after updating. This release makes
them clearer and reduces how often you'll see them:
- The CLI-install password prompt now explains itself. Instead of the
generic "osascript wants to make changes," it reads "K2 needs to
install the k2 command-line tool…" so you know exactly what you're
approving. - Your K2 Connect sign-in carries over without opening Settings. If
you had a tunnel running, K2 now moves your saved session to its new
home at startup — your tunnel keeps working without you having to visit
the K2 Connect page first. - The keychain prompt is friendlier. When macOS asks to unlock your
K2 Connect credentials, it now names them "K2 Connect sign-in" instead
of a cryptic identifier. (macOS controls the rest of that dialog's
wording — the lock icon and title are the system's, not ours.)
v0.40.1
0.40.1 — CLI upgrade heals itself
- If you had the CLI installed, K2 now finishes the upgrade for you.
On first launch, K2 detects a pre-0.40 CLI install and offers to set up
the newk2command (one admin prompt) — keepingk2soworking as an
alias. No trip to Settings needed. - The
k2socompatibility alias works again from/usr/local/bin.
On machines that had the CLI installed, the 0.40.0 alias resolved its
newk2sibling next to the symlink instead of next to the real
script, and failed. It now finds the bundled CLI no matter how it's
invoked. k2 daemon statusstops saying "Running: no" while the daemon is
running — a long-standing parse bug on macOS, now fixed (it shows
the PID and port again).- Last few "K2SO" mentions in CLI messages updated to K2.
Updating remote / headless macOS servers
The rename is a once-per-product-lifetime identity change, and most of it self-heals — but a few things on a macOS server need someone at the machine once:
Fully automatic (no hands needed): the update itself, the ~/.k2so → ~/.k2 data migration, launchd agent migration (dev.k2.daemon), daemon reconnection, and headless daemon-only installs (the standalone k2-daemon self-update has no prompts at all). The k2so CLI alias keeps working without any approval.
Needs one screen visit: macOS keys permissions to the app's bundle ID, and K2's is new (dev.k2.app). Re-grant Accessibility / microphone / notifications where the old app had them, approve the keychain access dialog if it appears on first K2 Connect use, and (optionally) approve the one-time admin prompt that puts the new k2 command on your PATH.
Every future update rides the new identity — this does not happen again.
v0.40.0
0.40.0 — Welcome to K2 by Alakazam Labs
K2SO is now K2. New name, new icon, new home — same product, and
everything you had is exactly where you left it.
What this update did on your machine (automatically):
- Your app is now K2.app with the new K2 icon.
- All workspaces, sessions, agents, schedules, settings, and your
K2 Connect sign-in carried over. The daemon, heartbeat, and credential
refresher re-registered themselves under their new names and
reconnected on their own — if you can read this, it worked. - The CLI is now
k2(tryk2 activity). Your existingk2so
commands and scripts still work —k2sostays as an alias through
the 0.x series, and prints a gentle reminder to switch. - Your data folder moved from
~/.k2soto~/.k2, with a
compatibility link left behind so older scripts keep working. - Updates now come from K2's new home:
github.com/Alakazam-211/K2.
Licensing, as announced in 0.39.48: K2 is now Fair Source
(FSL-1.1-Apache-2.0). Free to use for individuals and businesses, source
visible, each version converts to Apache 2.0 after two years. Details:
LICENSE.md, COMMERCIAL_HOSTING_GRANT.md, and TRADEMARKS.md in the new
repository.
Thanks for riding along since the K2SO days. Onward.
Updating remote / headless macOS servers
The rename is a once-per-product-lifetime identity change, and most of it self-heals — but a few things on a macOS server need someone at the machine once:
Fully automatic (no hands needed): the update itself, the ~/.k2so → ~/.k2 data migration, launchd agent migration (dev.k2.daemon), daemon reconnection, and headless daemon-only installs (the standalone k2-daemon self-update has no prompts at all). The k2so CLI alias keeps working without any approval.
Needs one screen visit: macOS keys permissions to the app's bundle ID, and K2's is new (dev.k2.app). Re-grant Accessibility / microphone / notifications where the old app had them, approve the keychain access dialog if it appears on first K2 Connect use, and (optionally) approve the one-time admin prompt that puts the new k2 command on your PATH.
Every future update rides the new identity — this does not happen again.