Skip to content

Releases: ly-solutions/harnessly

v0.16.86

Choose a tag to compare

@github-actions github-actions released this 03 Nov 14:55

Install

Docker: docker pull ghcr.io/ly-solutions/harnessly:0.16.86 (the image is latest too, and with-agents
adds Claude Code and Codex). Binaries: take the archive of your system below, harnessly_0.16.86_<os>_<arch>.tar.gz
(it holds harnessly, runtime and agent). How to run, verify and update:
docs/deploy.md.

Changelog

Features

  • 99f0162 feat(agents): the harnessly CLI, and Claude and Codex get the boards, artifacts and workspace skills out of the box
  • 532eb8c feat(preview): a standalone runtime opens the preview without a gateway
  • 4f57730 feat(web): the agents workspace is the page; English by default with a Russian dictionary, server texts follow RUNTIME_LOCALE
  • 706a97a feat(web): the open web page served by a standalone runtime; English messages with RUNTIME_LOCALE (TCK-3061)
  • d146b3c feat: module github.com/ly-solutions/harnessly, release builds with the page, boards and artifacts in the page, Docker/compose/Helm/Argo CD (TCK-3061)

Bug fixes

  • 228912c fix(docker): copy pnpm-workspace.yaml before install so pnpm 11 knows the skipped native builds
  • bebfe51 fix(docker): whisper-server builds from the Debian 11 archive
  • 978db88 fix(docker): whisper-server takes the updates and security suites of the Debian 11 archive too
  • 28d4752 fix: a message counts as sent only once it left the input line (lost Enters pressed again, never retyped), Enter queues to the end of the turn, question cards answer by chat; design pages, kits by version and releases
  • d611920 fix: answer a new agent's folder trust dialog, terminal tabs show their terminal, Codex code-mode steps, gzip static files
  • 7544169 fix: install path for a public server — Codex works with no extra settings, compose builds and takes public URLs, Codex sandbox off inside the container, deploy docs
  • 3019c16 fix: queued messages are delivered or fail visibly, an open conversation marks its answer as seen (TCK-3143)

Other changes

Verify

cosign verify-blob checksums.txt --bundle checksums.txt.sigstore.json \
  --certificate-identity "https://github.com/ly-solutions/harnessly/.github/workflows/release.yml@refs/tags/v0.16.86" \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com
sha256sum --ignore-missing -c checksums.txt
gh attestation verify harnessly_0.16.86_linux_amd64.tar.gz --repo ly-solutions/harnessly

All changes, including those the notes leave out: CHANGELOG.md.

v0.16.42

Choose a tag to compare

@github-actions github-actions released this 31 Oct 14:29

Install

Docker: docker pull ghcr.io/ly-solutions/harnessly:0.16.42 (the image is latest too, and with-agents
adds Claude Code and Codex). Binaries: take the archive of your system below, harnessly_0.16.42_<os>_<arch>.tar.gz
(it holds harnessly, runtime and agent). How to run, verify and update:
docs/deploy.md.

Changelog

Verify

cosign verify-blob checksums.txt --bundle checksums.txt.sigstore.json \
  --certificate-identity "https://github.com/ly-solutions/harnessly/.github/workflows/release.yml@refs/tags/v0.16.42" \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com
sha256sum --ignore-missing -c checksums.txt
gh attestation verify harnessly_0.16.42_linux_amd64.tar.gz --repo ly-solutions/harnessly

All changes, including those the notes leave out: CHANGELOG.md.

v0.16.25

Choose a tag to compare

@github-actions github-actions released this 29 Oct 21:30

Install

Docker: docker pull ghcr.io/ly-solutions/harnessly:0.16.25 (the image is latest too, and with-agents
adds Claude Code and Codex). Binaries: take the archive of your system below, harnessly_0.16.25_<os>_<arch>.tar.gz
(it holds harnessly, runtime and agent). How to run, verify and update:
docs/deploy.md.

Changelog

Verify

cosign verify-blob checksums.txt --bundle checksums.txt.sigstore.json \
  --certificate-identity "https://github.com/ly-solutions/harnessly/.github/workflows/release.yml@refs/tags/v0.16.25" \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com
sha256sum --ignore-missing -c checksums.txt
gh attestation verify harnessly_0.16.25_linux_amd64.tar.gz --repo ly-solutions/harnessly

All changes, including those the notes leave out: CHANGELOG.md.

v0.16.24

Choose a tag to compare

@github-actions github-actions released this 29 Oct 20:46

Install

Docker: docker pull ghcr.io/ly-solutions/harnessly:0.16.24 (the image is latest too, and with-agents
adds Claude Code and Codex). Binaries: take the archive of your system below, harnessly_0.16.24_<os>_<arch>.tar.gz
(it holds harnessly, runtime and agent). How to run, verify and update:
docs/deploy.md.

Changelog

Verify

cosign verify-blob checksums.txt --bundle checksums.txt.sigstore.json \
  --certificate-identity "https://github.com/ly-solutions/harnessly/.github/workflows/release.yml@refs/tags/v0.16.24" \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com
sha256sum --ignore-missing -c checksums.txt
gh attestation verify harnessly_0.16.24_linux_amd64.tar.gz --repo ly-solutions/harnessly

All changes, including those the notes leave out: CHANGELOG.md.

v0.16.16 — machine check, your own speech server

Choose a tag to compare

@github-actions github-actions released this 28 Oct 21:51

New

  • Machine check. Settings → «Machine check» lists only what is not in order on the machine, with the command that fixes it.
  • Your own speech server. Voice input can use an OpenAI-compatible transcription server of your own; its key is kept on the machine (mode 600) and is sent only to the address it was saved for — changing the URL needs the key again.

Install

Docker: docker pull ghcr.io/ly-solutions/harnessly:0.16.16 (the image is latest too, and with-agents
adds Claude Code and Codex). Binaries: take the archive of your system below, harnessly_0.16.16_<os>_<arch>.tar.gz
(it holds harnessly, runtime and agent). How to run, verify and update:
docs/deploy.md.

Changelog

Verify

cosign verify-blob checksums.txt --bundle checksums.txt.sigstore.json \
  --certificate-identity "https://github.com/ly-solutions/harnessly/.github/workflows/release.yml@refs/tags/v0.16.16" \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com
sha256sum --ignore-missing -c checksums.txt
gh attestation verify harnessly_0.16.16_linux_amd64.tar.gz --repo ly-solutions/harnessly

All changes, including those the notes leave out: CHANGELOG.md.

v0.16.15 — self-updating machines, sites, voice settings

Choose a tag to compare

@github-actions github-actions released this 28 Oct 20:46

New

  • Machines update themselves. Machines of a hub take a new release on their own, and the harnessly command comes with them. Settings → Updates shows the version and how to update a standalone install.
  • Publish a site. A hub can serve static sites (harnessly site deploy|list|versions|rollback, a «Publish» button in a design's header), each owned by its creator, files kept per space.
  • Voice input settings. Settings → Voice input: the machine's recognition model, this browser's microphone and dictation language.
  • One sidebar for all machines. Chats, folders and favorites are the same through any machine; a new chat's machine is picked in the model menu.
  • Board leases for designs. Two chats editing one board no longer overwrite each other; a lost edit says so and offers a re-read or a variant.
  • Delete a design project from the library, with a confirmation; only its owner can, and the folder goes to .trash/.
  • Fixes: a background agent's permission prompt gets its card after the turn ended; «Send now» sends the whole queue as one message; a chat whose transcript is missing no longer stalls the runtime; agents start in any login shell, fish too; an open sign-in menu or model picker in the agent's terminal is closed before a message.

Install

Docker: docker pull ghcr.io/ly-solutions/harnessly:0.16.15 (the image is latest too, and with-agents
adds Claude Code and Codex). Binaries: take the archive of your system below, harnessly_0.16.15_<os>_<arch>.tar.gz
(it holds harnessly, runtime and agent). How to run, verify and update:
docs/deploy.md.

Changelog

Verify

cosign verify-blob checksums.txt --bundle checksums.txt.sigstore.json \
  --certificate-identity "https://github.com/ly-solutions/harnessly/.github/workflows/release.yml@refs/tags/v0.16.15" \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com
sha256sum --ignore-missing -c checksums.txt
gh attestation verify harnessly_0.16.15_linux_amd64.tar.gz --repo ly-solutions/harnessly

All changes, including those the notes leave out: CHANGELOG.md.

v0.16.5 — Sinopia Design, voice input, ask a human, signed releases

Choose a tag to compare

@github-actions github-actions released this 28 Oct 05:18

New

  • Update notice for self-hosted runtimes. A standalone runtime built from a release checks the project's GitHub
    releases at start and every 12 hours, and shows a quiet "new version" notice with a link to the notes. It sends
    nothing but standard request headers. Turn it off with RUNTIME_UPDATE_CHECK=0.
  • Signed GitHub releases and a multi-arch image. A vX.Y.Z tag publishes archives for linux and macOS (amd64,
    arm64) with checksums.txt signed keyless with cosign (checksums.txt.sigstore.json) and a build provenance
    attestation, plus ghcr.io/ly-solutions/harnessly for linux/amd64 and linux/arm64 (X.Y.Z, X.Y, latest, and
    the -with-agents variants), signed and attested. Verification commands are in docs/deploy.md.
  • Sinopia Design. A design space for prototypes, sites and presentations, kept as plain folders on your machine.
    The board engine is bring-your-own: run harnessly design engine fetch on a machine with Claude Code logged in to
    your own account. See docs/design-engine.md.
  • Voice input. A microphone in the message field with built-in recognition (whisper.cpp). The model downloads on
    first use; audio stays on the machine. Needs ffmpeg (included in the Docker images). See docs/voice.md.
  • Ask a human. harnessly ask and harnessly ask approve put a question or an approval in a Telegram chat with
    buttons; the person answers in Telegram or on the page. Contacts and approvers are set in the People section of
    Settings, Notifications.

Changed

  • The Docker quick start is now docker run ... ghcr.io/ly-solutions/harnessly:latest (no local build). The README
    and docs/deploy.md start with Docker, release binary and source quick starts.
  • The hub is documented for self-hosting: spaces, invitations, sign-in by email code, passkey, GitHub, Yandex ID or
    OIDC, and machines opened at <id>.<machines domain> when HUB_RUNTIME_DOMAIN is set. The hub and its machine
    image are still built locally from this repository (docker compose -f compose.hub.yaml up -d --build).

Upgrade notes

Nothing updates itself; how you update is how you installed (docs/deploy.md).

  • Docker: pull the new image and recreate the container. The home volume keeps your password, workspaces and logins.

    docker pull ghcr.io/ly-solutions/harnessly:latest
    docker rm -f harnessly
    docker run -d --name harnessly -p 127.0.0.1:8022:8022 -v harnessly-home:/home/agent ghcr.io/ly-solutions/harnessly:latest

    With a pinned tag, put the new version in both places. With compose: docker compose pull && docker compose up -d.

  • Binary: download and verify the new archive, replace runtime (and agent, harnessly if you use them) and
    restart. The data in ~/.harnessly is kept. Under systemd the restart keeps tmux and the agents running.

  • From source: git pull && make run (or make install and restart the service).

/api/health reports the running version. Machines carried by a hub are updated through the hub.

Install

Docker: docker pull ghcr.io/ly-solutions/harnessly:0.16.5 (the image is latest too, and with-agents
adds Claude Code and Codex). Binaries: take the archive of your system below, harnessly_0.16.5_<os>_<arch>.tar.gz
(it holds harnessly, runtime and agent). How to run, verify and update:
docs/deploy.md.

whisper-server-v1.9.5-r1

Pre-release

Choose a tag to compare

whisper.cpp (MIT) whisper-server, built from the commit pinned in the Dockerfile.

v0.15.46

Choose a tag to compare

@github-actions github-actions released this 26 Oct 19:01

Changelog

Features

  • 99f0162 feat(agents): the harnessly CLI, and Claude and Codex get the boards, artifacts and workspace skills out of the box
  • d1ce4ed feat(preview): a standalone runtime opens the preview without a gateway
  • 4f57730 feat(web): the agents workspace is the page; English by default with a Russian dictionary, server texts follow RUNTIME_LOCALE
  • 706a97a feat(web): the open web page served by a standalone runtime; English messages with RUNTIME_LOCALE (TCK-3061)
  • d146b3c feat: module github.com/ly-solutions/harnessly, release builds with the page, boards and artifacts in the page, Docker/compose/Helm/Argo CD (TCK-3061)

Bug fixes

  • 228912c fix(docker): copy pnpm-workspace.yaml before install so pnpm 11 knows the skipped native builds
  • e3df112 fix: a message counts as sent only once it left the input line (lost Enters pressed again, never retyped), Enter queues to the end of the turn, question cards answer by chat; design pages, kits by version and releases
  • d611920 fix: answer a new agent's folder trust dialog, terminal tabs show their terminal, Codex code-mode steps, gzip static files
  • 7544169 fix: install path for a public server — Codex works with no extra settings, compose builds and takes public URLs, Codex sandbox off inside the container, deploy docs
  • e076f48 fix: queued messages are delivered or fail visibly, an open conversation marks its answer as seen (TCK-3143)

Other changes

  • 938c21f Initial public release
  • 08c931c chore(deps): bump github.com/andybalholm/brotli from 1.2.0 to 1.2.6 in the go-modules group (#4)
  • 2caebd3 chore(deps): bump goldmark to 1.8.6 and golang.org/x/text to 0.43.0 (#1)
  • 359cfa0 ci: area labels, Conventional Commit titles, Dependabot auto-merge, stale bot; fix the expired preview golden (#3)
  • 3c89193 docs: README, docs/, community files, lint, CodeQL, Scorecard, GoReleaser and brand (TCK-3061)
  • 7876abf sync: internal main 03bdc2194cbef3a624797acd0aa938fd8ac84ce5
  • 086a24c sync: internal main 10b18620b89492af63ebce1b5f39251bfd23fdfa
  • d43eece sync: internal main 1a670bc050181eea7fba1b6f1cc0dcf72dade84c
  • 0f0f6a4 sync: internal main 2e0217e9bbbf77ad8632020d38c99d4d667aa6e7
  • 3bc5128 sync: internal main 89b719f1c8a18ea64420d739874b744aa1182d2f
  • 86c9aed sync: internal main 92b8464ecbd4bec376a1f3f4f065a219f73fca07
  • 8efdc15 sync: internal main c6e456e5f7cca6029f1eafbecc611a9db2ddbbbc
  • 9ef086b sync: internal main e2458c455b7fb3486e757d352ce805fbefe9c098
  • d08a748 test(voice): the closing fake service ends its side cleanly (TCK-3061)
  • 0f6c78e test: goldens run under the umask they were taken with; the standalone run waits for its panes (TCK-3061)

v0.15.40

Choose a tag to compare

@github-actions github-actions released this 25 Oct 22:17

Changelog

Other changes

  • 08c931c chore(deps): bump github.com/andybalholm/brotli from 1.2.0 to 1.2.6 in the go-modules group (#4)
  • 2caebd3 chore(deps): bump goldmark to 1.8.6 and golang.org/x/text to 0.43.0 (#1)
  • 359cfa0 ci: area labels, Conventional Commit titles, Dependabot auto-merge, stale bot; fix the expired preview golden (#3)
  • 3bc5128 sync: internal main 89b719f1c8a18ea64420d739874b744aa1182d2f