Skip to content

Releases: Agent-Field/CodeAF

codeaf v0.2.1

Choose a tag to compare

@github-actions github-actions released this 17 Sep 21:07
cfdc29d

Added

  • Every release carries THIRD-PARTY-NOTICES.md beside its binaries#1051 · build docs

    3 things that are no longer true
    • This repository reproduced no third-party licence anywhere, and a release published only dist/codeaf-* and checksums.txt. THIRD-PARTY-NOTICES.md now sits at the root and is copied into dist/ before the checksums are written, so every release on every channel carries it and checksums.txt covers it.
    • A licence notice was nobody's job and was written nowhere. cmd/codeaf-notices generates the whole file from go list -deps ./cmd/codeaf plus the two copies this tree carries, so it is regenerated with go run ./cmd/codeaf-notices generate and never edited by hand.
    • Adding a dependency used to cost nothing beyond go.mod. A law in cmd/codeaf-notices now 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/cpace is 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.json is 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.

  • a launch says when a newer codeaf is out, and /update installs it and restarts#1060 · chat build

    7 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 --session pointing at the same transcript, and codeaf update does the same from a shell. running-from-the-terminal.md has 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. A dev-* or staging-* channel build, a make build sha 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 in update-check.json beside config.json. CODEAF_NO_UPDATE_CHECK=1 turns the launch check off without touching /update or codeaf update.
    • The release-tag grammar lived in cmd/codeaf-release/version.go. It is now internal/update, which the release tool reads; there is one parser. scripts/install.sh was accepting any dev-* or staging-* tag and semver parts with leading zeroes where internal/update accepts 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 update is a new command, and it sits under housekeeping in codeaf --help rather than beside the read-only rows: --check prints 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, --staging or --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, --staging and --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: both codeaf update and /update silently 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/remote kept 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 /update and the curl line with it, and
    /update finishes 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 serves scripts/install.sh from main, so the launch
    line, the refusals and the README hand out one road.

  • Anonymous usage counts, on by default with a notice printed once#1095 · docs

    why

    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 show prints what is waiting to leave right now.
    Turn it off with CODEAF_TELEMETRY=off, DO_NOT_TRACK=1, codeaf telemetry off, telemetry = off in a project's .codeaf/config.json, or an empty
    CODEAF_TELEMETRY_ENDPOINT. The whole contract is docs/TELEMETRY.md.

Changed

  • The switcher's foot is one instruction and its name column takes the spare width#1040 · chat docs

    3 things that are no longer true
    • The card's foot read ▸ 9 more on this machine · → reach them, and ← just the open ones with the fold open. It now reads → show closed and ← hide closed — the key and what it does, no glyph and no count, because the head's 3 of 12 already carries the figure. hopFoldKeyWord and hopShutKeyWord are those two strings; anything quoting the old ones is stale, including the card drawing in internal/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 — hopCardLines builds no preview and TestSwitcherShowsLongSelectedTitleBelowTheList is replaced by TestALongNameTakesTheRoomAndIsNotRepeatedUnderTheList. 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 is hopNoteCol (32, narrowing to hopTightNote), and the subject takes what is left up to hopSubjectMax (64), keeping hopGutter (2) cells of air so a name that fills its column does not touch the clause. hopSubjectCol no 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 of nothing new beside 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 switcher card lists conversations in the tab row's order, not by recency#1040 ·...

Read more

codeaf v0.2.1-rc.3

codeaf v0.2.1-rc.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Sep 20:54
cfdc29d

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 bash

codeaf v0.2.1-rc.2

codeaf v0.2.1-rc.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Sep 18:59
98aed82

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 bash

codeaf v0.2.1-rc.1

codeaf v0.2.1-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Sep 18:05
fa252d6

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 bash

codeaf staging-20260917-fa252d69d6dc

Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Sep 15:28
fa252d6

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 bash

codeaf staging-20260917-cfdc29deded9

Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Sep 20:19
cfdc29d

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 bash

codeaf staging-20260917-98aed8294ff3

Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Sep 18:43
98aed82

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 bash

codeaf dev-20260917-fa252d69d6dc

Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Sep 15:09
fa252d6

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 bash

codeaf dev-20260917-da6e7a0e6626

Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Sep 13:31
da6e7a0

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 bash

codeaf dev-20260917-cfdc29deded9

Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Sep 19:53
cfdc29d

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