Skip to content
SoftwareOfficial source

MicroDuck 0.17.6: Update Lookup Fix and Recovery Checks

Stable daemon 0.17.6 was published October 17 after 0.17.5. It finds the highest published stable version through channel tags instead of downloading a growing release list. The 1 MiB metadata cap remains. Owners seeing a response-too-large error should save the running updater version and transcript; the reviewed 0.17.4 CLI already supports an explicit version that avoids that list. Both new release notes say CI verified the update engine but no robot validation was performed.

Pollen Robotics published daemon 0.17.5 at 10:15 UTC and 0.17.6 at 10:43 UTC on October 17, 2026. Both are non-prerelease releases, but their notes explicitly say they were built without staging promotion and verified through the CI update engine, not validated on a robot. This site reviewed the code and did not run any command below on hardware.

What the two updater releases change

Fixed-version source behavior
VersionLookup strategyMeaning for an owner
0.17.4 and earlierRelease pages of up to 100 entries.Upstream reported a page exceeding the 1 MiB metadata limit; a failed lookup does not mean there is no newer version.
0.17.5Smaller pages of 20 releases, up to 25 pages.A short-term page-size fix; metadata still grows with repository activity.
0.17.6Matching channel tags, sorted by semantic version; checks up to five candidate tags for an eligible published release.Drafts, GitHub prereleases and semantic prerelease versions are excluded from the ordinary stable channel.

The original report names response too large for the releases API. The fixed HTTP code still caps metadata at 1,048,576 bytes; this is not an artifact-download size or a newly raised limit. The repository currently has fewer release entries than in our October 16 snapshot, so an older client may work again after upstream cleanup. Diagnose the error actually seen on your board rather than assuming every older robot is currently blocked. Original updater response-too-large report #421 ↗ Fixed HTTP metadata size limit ↗ Fixed 0.17.6 channel-tag lookup and five-candidate limit ↗ Fixed update-source design and old-client limitation ↗.

Record the updater result before repeating an install

Robot checks and existing update transcript
robotctl version
robotctl update status
robotctl update check daemon
robotctl update log
robotctl update show

check queries availability without installing; log lists attempts and show reads the latest attempt. Keep the version reported for updaterd, the component/channel and exact error. A network failure is not a clean “already latest” result. A published new updater also cannot repair an older running updater until it has actually been installed. The previous 0.17.4 article remains the source snapshot for Beta identity and Vet Book behavior. Fixed status, transcript and rollback instructions ↗.

If latest lookup fails, inspect the existing exact-version route

For an official compatible robot still below 0.17.6 and deliberately targeting this release, the fixed 0.17.4 CLI already accepts --version and --dry-run. Its source resolves that exact release tag directly, bypassing the oversized release-list lookup. It avoids this release-list failure; it does not repair DNS or TLS connectivity. This is a source-supported recovery route, not a robot repair reproduced by this site. Check the installed help first; do not assume every older or third-party image has this CLI:

Inspect the installed command options
robotctl update apply --help

With the robot supported, power stable, enough staging space and a compatible signed release available, a deliberate preview is:

Downloads and writes staging files; does not activate the release
sudo robotctl update apply daemon --version 0.17.6 --dry-run

The dry run downloads, checks signatures/hashes and compatibility, extracts to staging and checks for orphaned services. It returns before pre-install hooks and the live symlink switch. It writes disk and does not test reboot, gait, cameras or hardware health. Do not treat a passed dry run as the robot validation missing from the release notes. If it refuses the artifact or board, preserve the reason; do not disable verification or select a dev/staging build merely to get past the refusal. Existing 0.17.4 explicit-version and dry-run CLI ↗ Existing 0.17.4 direct version lookup ↗ Fixed dry-run staging, verification and stop point ↗.

Install intentionally, then verify the running result

Only after the checks pass and you choose to install 0.17.6 on that compatible official board:

Activate the chosen exact daemon version
sudo robotctl update apply daemon --version 0.17.6

An explicit version states intent and can allow a downgrade. Do not copy this dated command onto a robot already running a newer version. Updating laptop duckctl alone does not update the robot’s updaterd. After installation compare the running versions, status, health and transcript:

Confirm the running release and outcome
robotctl version
robotctl update status
robotctl health
robotctl update log
robotctl update show

If something failed, read the current version and transcript first: the engine may already have rolled back. A manual rollback needs a suitable prior release installed on the board and does not revert the independent policy set:

Only when an installed predecessor exists and rollback is needed
sudo robotctl update rollback daemon
robotctl version
robotctl health

The official policy set, four reference models, simulator and RL revision were unchanged in this review. This is an updater release, not evidence of a new gait or a new complete DIY image. The later provisioning changes on main and the 0.17.7 development tag are outside this 0.17.6 source scope. Official daemon 0.17.5 · October 17 ↗ Official daemon 0.17.6 · October 17 ↗ Published laptop duckctl 0.17.6 ↗.

Where to go next.

CONTINUE THE CONVERSATION

What would you like to understand next?

Keep the source, your environment and your observations together.