Releases: Agent-Field/CodeAF
Release list
codeaf v0.2.1
Added
-
Every release carries THIRD-PARTY-NOTICES.md beside its binaries — #1051 ·
builddocs3 things that are no longer true
- This repository reproduced no third-party licence anywhere, and a release published only
dist/codeaf-*andchecksums.txt.THIRD-PARTY-NOTICES.mdnow sits at the root and is copied intodist/before the checksums are written, so every release on every channel carries it andchecksums.txtcovers it. - A licence notice was nobody's job and was written nowhere.
cmd/codeaf-noticesgenerates the whole file fromgo list -deps ./cmd/codeafplus the two copies this tree carries, so it is regenerated withgo run ./cmd/codeaf-notices generateand never edited by hand. - Adding a dependency used to cost nothing beyond
go.mod. A law incmd/codeaf-noticesnow fails when a module compiled into the binary has no section in the committed notice, so a new dependency means regenerating that file in the same change.
internal/pair/cpaceis BSD-3-Clause and is linked into every build; its clause 2
asks for the notice in the materials that go out with a binary distribution, and
internal/connect/ampcatalog/providers.jsonis an embedded copy of the amp-labs
catalog with the same shape of obligation. The notice covers 57 components — the
55 modules in the build and those two copies — each with its version, its licence
identifier and its licence text word for word. - This repository reproduced no third-party licence anywhere, and a release published only
-
a launch says when a newer codeaf is out, and /update installs it and restarts — #1060 ·
chatbuild7 things that are no longer true
- The chat manual's install section ended
Nothing self-updates: run it again when you want a newer build.That sentence is gone and the opposite is now true:/update(alias/upgrade) downloads the newest stable release, checks its sha256, replaces the running executable and restarts on it with--sessionpointing at the same transcript, andcodeaf updatedoes the same from a shell.running-from-the-terminal.mdhas a new section,Is there a newer version — how do I update codeaf — /update — codeaf update — why does it say this every time I start, which states all of it. - A launch said nothing about newer releases. A build stamped with a stable tag that is behind the newest stable release now draws one dim transcript line naming both versions,
/update, and the curl line. A release candidate gets it once its stable line is published. Adev-*orstaging-*channel build, amake buildsha and an unstamped binary make NO request at all and draw nothing, so a developer's build is never told it is behind. The check is asynchronous with a three-second budget, never delays the first frame, and says nothing when it fails; its answer is cached for a day inupdate-check.jsonbesideconfig.json.CODEAF_NO_UPDATE_CHECK=1turns the launch check off without touching/updateorcodeaf update. - The release-tag grammar lived in
cmd/codeaf-release/version.go. It is nowinternal/update, which the release tool reads; there is one parser.scripts/install.shwas accepting anydev-*orstaging-*tag and semver parts with leading zeroes whereinternal/updateaccepts only the shapes the release workflow publishes — it now uses the same grammar, so the two install roads cannot pick different builds. The publish-time ordering #1056 added is unchanged; only which candidates are eligible. codeaf updateis a new command, and it sits under housekeeping incodeaf --helprather than beside the read-only rows:--checkprints one line and exits 0 when this release is newest, 3 when a newer one exists and 1 when it could not ask, while a plain run installs stable or whatever--rc,--dev,--stagingor--version <tag>names. A binary built from source refuses to replace itself in place and names its path; an unwritable executable is left untouched and offered the curl line; sudo is never attempted.codeaf update --check --rc,--dev,--stagingand--version <tag>were believed to apply the selected channel's rule after selecting its tag. They did not: every answer ran through the stable-only comparison, so a newer rc or disposable channel build could be called newest with exit 0 and the selected tag omitted. Every answer now names that tag; stable and rc compare their semantic versions, dev and staging compare for equality because channel builds are disposable, and an exact tag is equal or different with no invented ordering.- A stable build ahead of the newest published stable was believed to get nothing. That was true only of the launch reminder and
--check: bothcodeaf updateand/updatesilently installed the older release. An implicit update now refuses, names both versions, and points at the deliberate override;--version <tag>and/update <tag>still install exactly what the person named. - A deliberate detach in
internal/remotekept the twenty-second torn-link grace that exists for a terminal killed without warning, so a window that had announced its departure still looked attached for two more call deadlines. It now clears that grace once the last view leaves, which is what lets a freshly installed codeaf take the engine the old process had already let go of. Live turns, tasks, unanswered questions and other views still refuse retirement.
The owner asked for two things that turn out to be one: tell somebody a newer
codeaf exists, and give them the command. A line that only names a version makes
a person go looking, so this one carries/updateand the curl line with it, and
/updatefinishes the job rather than printing homework.Everything else follows from not wanting to be wrong in front of somebody. The
check is silent on failure because a network complaint at launch is noise about a
thing nobody asked for. A developer's own build is never told it is behind. The
restart waits for the door, after the frame is down and the terminal is back, and
carries the transcript so the conversation the person was having is the one that
comes back.The curl line every one of those roads offers is
curl -fsSL https://agentfield.ai/get/codeaf | bash,
the supported address that servesscripts/install.shfrommain, so the launch
line, the refusals and the README hand out one road. - The chat manual's install section ended
-
Anonymous usage counts, on by default with a notice printed once — #1095 ·
docswhy
codeaf now sends anonymous usage counts — version, OS, mode (chat or task), and
banded session and error counts — so the parts people rely on get the work. It
never sends prompts, code, paths, names, or anything that identifies you. The
counts are on by default, and the first session prints a notice naming exactly
what leaves;codeaf telemetry showprints what is waiting to leave right now.
Turn it off withCODEAF_TELEMETRY=off,DO_NOT_TRACK=1,codeaf telemetry off,telemetry = offin a project's.codeaf/config.json, or an empty
CODEAF_TELEMETRY_ENDPOINT. The whole contract isdocs/TELEMETRY.md.
Changed
-
The switcher's foot is one instruction and its name column takes the spare width — #1040 ·
chatdocs3 things that are no longer true
- The card's foot read
▸ 9 more on this machine · → reach them, and← just the open oneswith the fold open. It now reads→ show closedand← hide closed— the key and what it does, no glyph and no count, because the head's3 of 12already carries the figure.hopFoldKeyWordandhopShutKeyWordare those two strings; anything quoting the old ones is stale, including the card drawing ininternal/manual/chat/keys.md. - The card drew a wrapped copy of the SELECTED row's title in a block under the list whenever the subject column had abbreviated it. That block is gone —
hopCardLinesbuilds no preview andTestSwitcherShowsLongSelectedTitleBelowTheListis replaced byTestALongNameTakesTheRoomAndIsNotRepeatedUnderTheList. The rows it used to displace on a short card stay drawn. - The subject column was fixed at 34 cells (
hopSubjectCol) and the clause took every cell left over. It is the other way round: the clause ishopNoteCol(32, narrowing tohopTightNote), and the subject takes what is left up tohopSubjectMax(64), keepinghopGutter(2) cells of air so a name that fills its column does not touch the clause.hopSubjectColno longer exists. The narrowing ladder is project, then the clause's tail, then the clock, then the clause — the name is cut last.
All three asked for by the owner, off the running card: a foot spending a row on a
figure the head already says, a summary under the list that was never more than the
selected row's own title and did not appear for every row, and
Investigate the parsing regres…nothing new— a name cut at thirty-four cells
with forty cells ofnothing newbeside it.The gutter is the part that is not about width. A long enough name fills whatever
column it is given, so without two cells held back at the end of the column the name
and the clause run together into one word however wide the card is.keys.md's switcher section was over its size rule by some way after three changes
landed in it, and the retrieval gate said so — a probe that used to reach it started
reaching four other pages. The layout and the ordering are now two sections of their
own with their own headings, which is what that rule is for. - The card's foot read
-
The switcher card lists conversations in the tab row's order, not by recency — #1040 ·...
codeaf v0.2.1-rc.3
Install this rc build:
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/cfdc29deded955d51ec753113232f99f0a35a402/scripts/install.sh | bash -s -- --rc
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/cfdc29deded955d51ec753113232f99f0a35a402/scripts/install.sh | VERSION=v0.2.1-rc.3 bashcodeaf v0.2.1-rc.2
Install this rc build:
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/98aed8294ff3f890d1241d70a5c13a24826e67fb/scripts/install.sh | bash -s -- --rc
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/98aed8294ff3f890d1241d70a5c13a24826e67fb/scripts/install.sh | VERSION=v0.2.1-rc.2 bashcodeaf v0.2.1-rc.1
Install this rc build:
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/fa252d69d6dca93ce14d24b4ca8d6ba6fbf78dd4/scripts/install.sh | bash -s -- --rc
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/fa252d69d6dca93ce14d24b4ca8d6ba6fbf78dd4/scripts/install.sh | VERSION=v0.2.1-rc.1 bashcodeaf staging-20260917-fa252d69d6dc
Install this staging build:
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/fa252d69d6dca93ce14d24b4ca8d6ba6fbf78dd4/scripts/install.sh | bash -s -- --staging
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/fa252d69d6dca93ce14d24b4ca8d6ba6fbf78dd4/scripts/install.sh | VERSION=staging-20260917-fa252d69d6dc bashcodeaf staging-20260917-cfdc29deded9
Install this staging build:
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/cfdc29deded955d51ec753113232f99f0a35a402/scripts/install.sh | bash -s -- --staging
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/cfdc29deded955d51ec753113232f99f0a35a402/scripts/install.sh | VERSION=staging-20260917-cfdc29deded9 bashcodeaf staging-20260917-98aed8294ff3
Install this staging build:
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/98aed8294ff3f890d1241d70a5c13a24826e67fb/scripts/install.sh | bash -s -- --staging
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/98aed8294ff3f890d1241d70a5c13a24826e67fb/scripts/install.sh | VERSION=staging-20260917-98aed8294ff3 bashcodeaf dev-20260917-fa252d69d6dc
Install this dev build:
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/fa252d69d6dca93ce14d24b4ca8d6ba6fbf78dd4/scripts/install.sh | bash -s -- --dev
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/fa252d69d6dca93ce14d24b4ca8d6ba6fbf78dd4/scripts/install.sh | VERSION=dev-20260917-fa252d69d6dc bashcodeaf dev-20260917-da6e7a0e6626
Install this dev build:
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/da6e7a0e6626abb252a47b689b05e0d64baf8498/scripts/install.sh | bash -s -- --dev
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/da6e7a0e6626abb252a47b689b05e0d64baf8498/scripts/install.sh | VERSION=dev-20260917-da6e7a0e6626 bashcodeaf dev-20260917-cfdc29deded9
Install this dev build:
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/cfdc29deded955d51ec753113232f99f0a35a402/scripts/install.sh | bash -s -- --dev
curl -fsSL https://raw.githubusercontent.com/Agent-Field/CodeAF/cfdc29deded955d51ec753113232f99f0a35a402/scripts/install.sh | VERSION=dev-20260917-cfdc29deded9 bash