Skip to content

0.0.3 - 2026-09-25

Choose a tag to compare

@github-actions github-actions released this 25 Sep 02:16
ea90ac7

Release Notes

Added

  • A team shares one set of tasks. A git project keeps its tasks in the git ref
    refs/openplan/tasks, apart from the code. The ref is not a branch, so
    GitHub shows no branch for it and offers no pull request. Every daemon syncs
    the ref with the remote every 30 seconds and 2 seconds after each write. Sync
    merges with a merge commit. It never rebases and never force-pushes.
  • Sync merges two changes to one task by field and by line. Tags,
    dependencies, and comments merge as sets. When two people change the same
    field or the same lines differently, the task keeps both versions as a git
    conflict block, and the published version is in force until someone picks:
    • The web UI shows each conflict, with buttons to keep one version, both
      versions, or new text.
    • openplan get warns about conflicts, openplan list marks them, and
      openplan lint reports them.
    • The API gives a field a conflict state and each task a conflicts
      count. POST /api/projects/{project}/tasks/{id}/resolve settles a block
      in the body.
  • Two tasks created at the same time under one number both stay. The later
    one gets the next free number, and the merge revision says so.
  • The daemon finds the problems in the tasks after every change: a reference to
    a task that does not exist, a parent or dependency cycle, a tag that is not
    registered, a field or a comment log that does not parse, a missing or second
    title, and two files with one number. The API gives each task a problems
    list, the web UI shows it, and openplan list, show, and get point the
    problems out.
  • One person can keep the tasks in a local .plan/ directory instead, with a
    history in .plan/.history.sqlite. An edit made by hand becomes a revision
    too.
  • Every write is a revision with an author, an agent, a time, and a message.
    openplan history [key] lists the revisions, and openplan get <key> --revision <id> prints a task as it stood then. The web UI shows the history
    of a task, a task at a revision, and the activity of a project.
  • openplan init --abbreviation <ABC> starts the tasks of a project. In a
    clone, the first openplan command fetches the tasks that a teammate already
    pushed. openplan init without --abbreviation does the same.
  • openplan migrate moves a .plan/ directory beside the code into the tasks
    ref, with its whole history and its authors.
  • openplan write <key> --file <path> replaces a whole task file, as
    openplan get prints it.
  • openplan sync syncs now, and openplan sync --status tells how the last
    sync went. The web UI shows the sync state in its header.
  • A web UI that reconnects gets the changes it missed, not only a full reload.
  • A click on a d2 diagram in the web UI opens it over the whole window. Esc
    or the close button closes it.

Changed

  • The tasks are no longer files in the checkout. Read and write them with the
    openplan CLI or the web UI. A task write needs no worktree and no commit.
  • A write through the daemon carries its author and its agent, so each
    revision names who made it.
  • openplan lint reports the problems that the daemon finds, the conflicts,
    and agent skill files that differ from the binary. It takes task keys, not
    file paths. openplan lint --skills checks only the skill files.
  • A d2 diagram wider than the task column shrinks to fit it. It no longer
    scrolls sideways.

Removed

  • Branch-aware tasks: the task and branch matrix, --branch,
    --all-branches, openplan branches, and the branch badges and switcher in
    the web UI. A task now has one version.
  • Rolling updates and openplan publish. Sync replaces them.
  • openplan merge-driver. Sync merges the tasks itself.
  • openplan lint --fix, the check of links from a task into the source code,
    and the checks of tag files. The write path now keeps references canonical
    and tag files valid.

Install openplan 0.0.3

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/sukovanej/openplan/releases/download/v0.0.3/openplan-installer.sh | sh

Download openplan 0.0.3

File Platform Checksum
openplan-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
openplan-x86_64-apple-darwin.tar.gz Intel macOS checksum
openplan-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux checksum
openplan-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum