Skip to content

v0.23.0

Choose a tag to compare

@joydev-horst joydev-horst released this 13 Oct 21:38
· 83 commits to main since this release

v0.23.0

Date: 2026-10-13
Previous: v0.22.0

Contributors

Stories

  • JOY-0279-BD The engine's branch verbs for a host that lets a member choose a branch
  • JOY-02C4-53 Member files under .joy/members, project.yaml as head with the member list, migration by the first unlocked human
  • JOY-02C5-CF The name is the id: claude instead of ai:claude@joy, old form accepted and normalised
  • JOY-02C6-25 Two signed layers for an AI member: project maximum and personal grant, verified by Guard on every action
  • JOY-02C7-47 The level reaches the tool at setup, on every chat turn and in jobs
  • JOY-02C8-20 CLI: joy project member edit with space separated capabilities, --level and --project, joy ai add with adapter and model
  • JOY-02C9-70 A job's window ends at until: the one word in the job file, on the command line and in joy show
  • JOY-02CF-EE What joy update changes in a project is committed as one commit
  • JOY-02AC-53 Merging a Joy project on the forge just works

Tasks

  • JOY-02C2-F3 Fixture repos in today's format and a migration test through update sync, login, token redemption and a write
  • JOY-02C3-46 Lane test pinning the session mode per level per turn, guard test pinning today's warn
  • JOY-02B2-65 One authentication gate for every command: session, else passphrase, then a session
  • JOY-02D0-A1 Try the GitLab merge job on a merge request that already conflicts
  • JOY-02CD-3E A forge contact says how long joy itself waited before it went out

Bugs

  • JOY-025E-FA Sealed chats fail silently for a member without a key slot
  • JOY-02AB-F3 bats 'parallel sends never lose a message silently' fails now and then with libgit2 object not found
  • JOY-02BC-C8 A failed chat lane tells the person the docker exec command, cut off before the reason, and that command carries the provider key
  • JOY-02C0-57 A connector is asked about the ssh alias instead of the host behind it
  • JOY-02C1-8B joy update says up to date while the forge connector is missing, and the stale file hints invite deleting it
  • JOY-02C4-1A The GitHub joy merge job cannot push its merge: the merge step gets no token
  • JOY-02CA-EE An older joy drops a job's until: a job written with until raises the project's format to 3
  • JOY-02D3-83 A sync in a repository without a commit writes a first commit that holds only what the sync changed
  • JOY-02D2-42 The sync takes the passphrase sentence out of SECURITY.md: the template does not carry it
  • JOY-02D1-21 Three messages still say an AI member must start with ai:
  • JOY-02CE-55 The joy merge job does not start for a pull request that already conflicts
  • JOY-02CC-C1 Bringing a project over rewrites every item, job, milestone, release and log

Reworks

  • JOY-02B9-3C The CLI asks for what it needs when it needs it: joy auth asks who you are, joy chat ls asks nothing it cannot use, an ended session is said once

27 items