Repository navigation
agit-v0.2.13
Changed
-
Installations that skip install scripts are counted. An installation whose
installer recorded no install receipt, such as one run throughnpx, with
npm--ignore-scripts, or by a package manager that skips install scripts,
now records one from its first user command, marked
receipt_origin=first_command; installer receipts are marked
receipt_origin=installer. Setup, hooks, MCP, RC, background processes and
commands an installer runs never record it, so a create-agit receipt keeps its
acquisition key. Installations whose statistics state predates this release,
or whoseAGIT_HOMEalready held older state, are never reported this way. See
First-command receipt. -
Session reuse and invitation counts on the Hub. When
agit runcontinues
a session line or forks from a point on one, it sends the Hub one receipt
naming the repository, the source session ID and commit, whether the run
continues or forks, and the per-process operation ID, so the Hub can count
how often sessions are picked up. A continue is reported once the session is
ready to launch, a fork once its branch exists, and a--minefork to the
repository it copied. The receipt is sent in the background only for
checkouts of the configured Hub, only from a settled session, and never with
renewed credentials: an expired sign-in sends nothing. A Hub that is
unreachable or refuses it never changes the run's output or exit code.
agit forkandagit resumestay offline.
agit repo invite <owner/repo>@<branch>also tells the Hub which session its
link opens. The download attribution headers still carry no arguments or
names. See
Session reuse and invitations.
Fixed
-
Remote Control can return a fresh, bounded native history page with watch
admission, avoiding a separate network round trip when opening a conversation.
Native history transfers negotiate compression, preserving complete tool
results and compatibility with older clients and servers. Optional history
reads do not block the daemon or prevent a successful live subscription. -
Device name changes synchronize to Cloud without enrolling another device.
-
Failed session publication retries while the conversation is idle, so a
transient upload failure does not require another user message to recover. -
agit loginchecks that it can save credentials underAGIT_HOMEbefore it
asks the Hub for anything. An agent sandbox that refuses writes there no
longer uses up the human's approval: login stops with the directory to allow
and says no login request was created, andagit login --completeleaves the
approved sign-in unclaimed so the same command finishes it later. If saving
still fails after sign-in, the new Hub session is signed out again. -
Signing in from an agent no longer fails when the agent runtime stops the
waitingagit login. Every browser and device-code request is recorded
privately underAGIT_HOMEwhen the Hub creates it, and
agit login --completewithout a value finishes it from any later process,
including an interruptedagit login --device.--completenow waits for
the approval for up to 90 seconds (--wait <seconds>,0checks once)
instead of checking once, keeps waiting through a failed poll, keeps the
request when the wait runs out, and forgets it when the Hub says it expired
or was already used. Running the printed--completecommand again after
the sign-in finished reports success instead of "no longer valid". A new
agit loginfinishes a request the human already approved instead of
replacing it.agit whoami --check,agit commitand commands that stop
with "not logged in" first claim an approved request once, and otherwise
point toagit login --completeinstead of a new login. Signing out cancels
a sign-in still being claimed: a session approved afteragit logoutis
signed out again instead of saved, and a session a concurrent sign-in saved
whileagit logoutran is revoked with the credentials it removes. A second
agit login --completeor a newagit loginstarted while another process
claims the same sign-in waits for it and reports success instead of "no
longer valid" or a new login link. -
Local state problems read as local problems.
agit whoami --checkreports
an unwritable home or a held credential lock instead of "can't reach" the
Hub,agit doctorchecks thatAGIT_HOMEis writable, and every command
that meets one exits with the precondition code. Messages name the agit lock
another process holds and say that agit's lock files are released when their
process exits and must not be deleted; credential locks give up after a
bounded wait, and session locks say what they are waiting for. -
Re-importing a session describes its claim: a registration is saved by the
import, a saved session says where and how to record later turns, and a
session saved elsewhere says how to move it. The link file path is no longer
offered as a next step, and a failed import restores the session's previous
link, including none. -
A session targeted at
mainis refused before anything is adopted or
created, with the reason and an example branch in the caller's syntax. -
agit pushleaves anoriginthat already points at the destination alone
and writes a changed one under the repository lock, so a manual push and a
hook's auto-push no longer collide on.git/config. Git failures on a held
lock say not to delete it while a git process runs; a refused write says the
checkout is not writable instead. -
agit setuprecognizes its own hooks by their arguments, so installing from
another executable path replaces the old entry instead of adding a second
one.
Full Changelog: agit-v0.2.12...agit-v0.2.13