Releases: no-human-ai/no_human
Release list
no_human 0.1.4
Fixes nh mcp-serve on every install that resolves dependencies from PyPI — which is every install that is not a git checkout.
The bug (public issue #15). intake/mcp_bridge.py imports mcp.server.fastmcp; the MCP SDK removed that path in 2.0.0, and our requirement was mcp>=1.28.0 with no upper bound. So uvx no-human mcp-serve, nh mcp-serve after uv tool install no-human, and the Claude Code plugin's command all died with ModuleNotFoundError on 0.1.1, 0.1.2 and 0.1.3.
It did not start when 2.0.0 shipped (2026-07-28): claude-agent-sdk carried mcp<2.0.0 until 0.2.140 relaxed it to mcp<3.0.0 on 2026-08-18 — someone else's cap had been holding this package up by accident, and every release of ours postdates that.
The fix
mcp>=1.28.0,<2, with the cause and the raise-it-together rule recorded at the requirement.- CI's wheel job now imports the bridge inside the environment it builds with
uv tool install— the only lane that resolves from PyPI rather thanuv.lock, and the blind spot that let this ship. tests/test_mcp_dependency_bound.pyfails if the declared bound ever admits an SDK without the module the bridge imports.
Verified on the published package: uvx no-human mcp-serve answers initialize and lists task_add + task_status. The MCP Registry entry (io.github.no-human-ai/no_human) is republished at 0.1.4.
Desktop apps were never affected (they bundle the locked SDK). Porting the bridge to the SDK's 2.x API, so the cap can be lifted, is tracked in #16.
Install: uv tool install no-human · pip install no-human · desktop apps below, each with a SHA-256.
no_human 0.1.3
Registry release — the package now carries what the official MCP Registry needs, plus the loop fixes that accumulated since 0.1.2.
MCP
server.json+ the README ownership marker list no_human's MCP bridge on the official MCP Registry as the PyPI packageno-human; a tokenless OIDC workflow publishes it.- New console script
no-human(same entry point asnh), so registry clients can runuvx no-human mcp-serve.
Loop
nh task add --backend claude|codex|localis a real per-task coder switch, validated at intake; reviewer, planner, supervisor and utility stay on Claude (public issue #5).- The review gate gives a FAIL with non-critical findings one bounded refute pass before charging the coder.
- A failed conflict-path enumeration in the wake watcher no longer falls open into a coder round.
- A server stop checkpoints every running attempt and requeues it; a PR whose tests never ran says so.
- The wheel-build refusal without the board now names
uv tool install no-human(public issue #4).
Install: uv tool install no-human · pip install no-human · desktop apps below. SHA-256 alongside each artifact.
no_human 0.1.2
Security and release-infrastructure release. Same product as 0.1.1, patched runtime, and — unlike 0.1.1, which shipped macOS only — an artifact for every platform, all built from one commit (d1d0adc).
Dependency security. Electron moves to 38.8.6 (the last 38.x), clearing every advisory patched within the current major; js-yaml 4.3.1, fast-uri 3.1.5, undici 6.28.0, postcss 8.5.26, mcp 1.29.0 and cryptography 50.0.0 likewise. 21 of the repository's 40 open Dependabot alerts closed by measurement, not estimate; 19 remain, stated plainly rather than left implicit: 5 are high severity (4 in the bundled Electron 38.8.6 runtime this release ships inside the desktop apps, 1 in extract-zip, which has no patched version in existence), 18 of the 19 are fixed only by the Electron 39 major — a bump deliberately deferred to its own release rather than taken hours before this one. Known, tracked, and a deliberate call.
Release infrastructure. The Windows job gains the same on-demand release lane the Linux job has (workflow_dispatch + windows_release): build, verify against the tree that built it, checksum, bounded-retention artifact. Windows bundles now carry the same BUILD_STAMP provenance (commit=/dirty=/board_sha256=) POSIX builds have had since the stale-DMG incident — an absent stamp fails verification rather than passing quietly.
Downloads
- macOS (Apple silicon) —
no_human-0.1.2.dmg. Signed and notarized; drag to Applications. (no_human-0.1.2-arm64-mac.zip+latest-mac.ymlalso attach — they are the in-app update-notification feed, not the download.)SHA256SUMS-macos.txtcovers both. - Windows (x64) —
no_human-0.1.2-UNSIGNED.exe(or the.zip). Not code-signed yet: SmartScreen warns; choose More info → Run anyway.SHA256SUMS-windows.txtcovers both. - Linux (x64) —
no_human-0.1.2-linux-amd64.deb(recommended) or the.AppImage.SHA256SUMS-linux.txtcovers both. - Python wheel —
no_human-0.1.2-py3-none-any.whl(board embedded as package data;pip install <wheel-url>gives a workingnhwith the web UI, no Node needed).
Every artifact's SHA-256 ships alongside it. Built by the repository's public CI (Linux/Windows, run 32370112386) and the documented signing pipeline (macOS); each bundle's BUILD_STAMP names commit d1d0adc862c6, dirty=no.
no_human 0.1.1
Also in this release — reliability, honesty, and cost, measured not asserted
(full suite 8,864/0; funnel 5/5 with every holdout green; reviewer recall
17/19, up from 15/19):
- The eval judge's verdict now survives mid-run emission, a truncated end
marker, and marker drift — six bench tasks per run were being scored as
failures because a verdict could not be parsed, not because work was wrong. - Git lock contention (another process briefly holding
index.lock) is
retried with two short backoffs instead of crashing the task; every other
git failure still fails fast and loud. - Fix pairs: when a task fails on an error this machine has overcome before,
the retry is handed what worked — as evidence, never as an instruction. - A retry that ends byte-identical to its predecessor (same failure, same
diff) stops the loop and escalates honestly instead of buying the most
expensive third attempt. - Judgment-call blockers (ambiguity, novel-unknown, impossible) get exactly
one supervisor-checked challenge before parking; external blockers are
honored untouched, and a park is never converted into a fake "done". - The reviewer carries a maintainability-trajectory lens: does this change
make the NEXT change harder? Concrete findings only, capped below blocking
severity. nh bench harvest: escalated, parked, and failed tasks become bench-spec
candidates for curation.- The intake grill's answering pass pays for what the task needs: probe
budget scales with the question count; prose-only tasks skip filesystem
probes (assumption-grade answers, clearly marked). - Onboarding: two checkouts of the same repository are tellable apart —
colliding names show their full path. (Authored end-to-end by no_human
from its own board, review PASS, 8,847/0.) - The stale-data banner no longer eats clicks while disconnected.
- docs: an operator profile for reviewing untrusted external PRs in a
credential-isolated container. - This release restores auto-update for installed apps: it ships the ZIP and
latest-mac.ymlthatelectron-updaterrequires (0.1.0's release lacked
both).
Added
- CI builds the board-carrying wheel on every run and proves it installs:
uv tool install <wheel>yields annhthat finds its board and the Agent
SDK's bundledclaude— no Node, no separate CLI install. A release build
(workflow_dispatchwithwheel_release) keeps the wheel as an artefact. - A Claude Code plugin at
plugins/no-human/exposing the MCP bridge's two
tools (task_add,task_status). - A
Publish to PyPIworkflow (workflow_dispatchonly, typed confirmation)
that builds the board-carrying wheel and uploads it with PyPI Trusted
Publishing — no API token anywhere in the repository. - Version is 0.1.1 across
pyproject.toml,desktop/package.jsonand
web/package.json(and those lockfiles' root entries), so a built wheel is
no longer labelled with the released 0.1.0's version. CHANGELOG.md(this file) andglama.json.
Changed
- README: download buttons, the site's hero loop under the title, install
leads with the desktop app and names each build's architecture;nh approve
is documented as what it does — it squash-lands the PR as the configured
operator identity (git.approve_identity). CONTRIBUTING.md,docs/adapters.mdand thenh task add --backendhelp no
longer say "a single Claude backend": the coder runs on the Claude Agent SDK
by default with OpenAI Codex as the sanctioned second backend
(worker.backend); reviewer, planner, supervisor and utility tiers stay on
Claude.
Fixed
- The shipped harvest test no longer asserts that the (unshipped) scored corpus
directory exists, so the public repository's CI runs green.
no_human 0.1.0
no_human 0.1.0 — first packaged release
no_human takes a software task end to end — plan, code, test, adversarial
review, and a pull request with proof it works. A human only approves.
macOS
no_human-0.1.0.dmg— signed and notarized (Gatekeeper: "Notarized
Developer ID"). Apple silicon. Drag to Applications; the app bundles the
server and the board, and runs on your own Claude subscription.- Verify:
shasum -a 256 no_human-0.1.0.dmgand compare with the.sha256
asset.
Windows
no_human-0.1.0-UNSIGNED.exe— installer (x64). Unsigned: SmartScreen will
warn ("More info" → "Run anyway"); code signing lands in a later release.
no_human-0.1.0-UNSIGNED.zipis the portable build of the same payload.- Verify:
certutil -hashfile no_human-0.1.0-UNSIGNED.exe SHA256and compare
withSHA256SUMS-windows.txt.
Getting started
See the README's install section and https://getnohuman.com/docs.