OXYGENHUB

Releases 1

oxy 0.10.0 v0.10.0 · ✔ signed by Andy McCall · andymccall ·

Trust and audit
  • Fixed: fetch, pull and clone are far faster with many bookmarks (issue #158). They fetched each bookmark in its own exchange with the hub, and changes that bookmarks share were sent again for each one; a pull with nothing new still asked for a bundle per bookmark. Now every bookmark's heads are fetched in one exchange, and none when nothing is new. On a 47 MB repository with 160 bookmarks: a pull with nothing new 169 s → 3.5 s, a clone 324 s → 26 s. OXY_TIMINGS now also shows the refs, transparency log and per-bookmark checks of a fetch.
  • Added: oxy git colocate, a .git beside .oxy (oxygenhub#355). Your editor's Git features (blame, history, gutter marks) and other Git tools now work on an Oxygen checkout: oxy keeps a .git there with the current bookmark exported after every command, Git's index at its tree so git status shows only your uncommitted work, and .oxy/ excluded. One way: commit with oxy. --off stops it.
  • Changed: .git is never content. oxy no longer picks up a .git directory at a checkout's top, and checkout refuses a path with a .git component at any depth (as Git does), so a change cannot plant Git hooks.
  • Added: a Git export from the change graph (oxygenhub#355). oxy-core's git_export_graph writes every bookmark and tag to a bare Git repository so that the same changes give the same commits wherever it runs: each change a commit whose parents are its dependencies, each bookmark a branch (a merge of its heads when it has several), tags as tags, incrementally. It is what OxygenHub serves to git clone. (oxy git export still follows the checkout's own history.)
  • Added: oxy mcp, Oxygen for AI agents (issue #159). An MCP server over stdio for a repository: an agent calls typed tools (status, diff, log, show, cat, blame, bookmarks, tags, conflicts, op log, identity, commit, amend, describe, fetch, pull, push, tlog verify) and gets each command's JSON back instead of reading a shell. It signs as the identity its environment configures, so started with an agent home every change is sealed via the agent with nothing to forget per command, and says who in its initialize reply. Commits name their paths (or all: true); undo and forced pushes are off unless started with --allow-destructive. The protocol itself is oxy-core's mcp module, for oh mcp to reuse. See docs/mcp.md.
  • Icons for HaikuDepot (issue #157). packaging/haikuports/icons/ has oxy's and oh's icons as HVIF (Haiku's vector format) with 16, 32 and 64 px PNGs, written by make-icons.py: the Oxygen mark on a pale tile for oxy, on OxygenHub's dark tile for oh, the same family as the VS Code extensions.

Assets