Feat/chore: update for 0.6
- Wrote an upgrade guide
- Updated the build guide to be correct for 0.6
Closes #608
Summary by CodeRabbit
- Documentation
- Added a 0.5 → 0.6 upgrade guide, reorganized upgrade pages/navigation, changed manifest examples to a single filesystem "path" approach, overhauled link-retrieval docs to a query-and-strategy model, updated sandbox examples, removed the "hash arbitrary data" subsection, and applied minor content/formatting tweaks.
- Bug Fixes
- Updated the final upgrade redirect to point to the new 0.6 upgrade page.
- Chores
- Prepended a build-time flag to zome builds and added "getrandom" to the spellchecker whitelist.
Walkthrough
Adds a Holochain 0.5→0.6 upgrade guide and navigation entry; updates docs and examples for 0.6 (manifests, path-based zome/hApp locations, dependency versions); replaces link API examples with LinkQuery/GetStrategy and renames get_link_details→get_links_details; updates Netlify link-check config, 11ty diff rendering, infra scripts, and removes a hashing subsection.
Changes
| Cohort / File(s) | Summary |
|---|---|
Netlify / link-check config netlify.toml |
Updated todo/skip patterns and server error patterns; adjusted redirects so “latest” upgrade/compatibility routes point to 0.6 pages. |
Upgrade guides & navigation src/pages/resources/upgrade/index.md, src/pages/resources/upgrade/upgrade-holochain-0.6.md, src/pages/resources/upgrade/upgrade-holochain-0.3.md, src/pages/resources/upgrade/upgrade-holochain-0.4.md, src/pages/resources/upgrade/upgrade-holochain-0.5.md, src/pages/_data/navigation/mainNav.json5 |
Added 0.5→0.6 guide, reordered upgrade list, nested Upgrade Guides in navigation, and added links to the new 0.6 page. |
Manifest & manifest examples src/pages/build/dnas.md, src/pages/build/happs.md, src/pages/resources/howtos/debugging.md |
Changed example manifest_version from '1'→'0'; replaced bundled/Bundled(...) usage with path/Path(...) and updated explanatory text to single-path semantics. |
Link APIs & examples src/pages/build/links-paths-and-anchors.md |
Replaced GetLinksInputBuilder examples with LinkQuery::try_new(...); introduced GetStrategy parameter to get_links and get_links_details (renamed from get_link_details); updated examples and GetOptions guidance. |
How‑tos & infra scripts src/pages/resources/howtos/running-network-infrastructure.md |
Bumped kitsune2 bootstrap server image tag, changed build:zomes script to prepend RUSTFLAGS='--cfg getrandom_backend="custom"', and lowered default npm AGENTS from 3→2. |
Compatibility & resource links src/pages/resources/compatibility/holochain-0.6.md, src/pages/resources/compatibility/holochain-0.5.md, src/pages/resources/compatibility/index.md, src/pages/resources/index.md, src/pages/_data/navigation/footerLinks.json5 |
Added new 0.6 compatibility page, updated compatibility index and resource links to reference 0.6, and adjusted client docs links. |
11ty diff rendering 11ty-extensions/eleventy-transforms.js |
Enhanced diff-applied code block handling: anchored diff language detection, optional target-language highlighting for applied diffs, adjusted class handling and block construction for applied/original diffs. |
Cryptography docs src/pages/build/cryptography-functions.md |
Removed the “Hash arbitrary data” subsection and associated hash algorithm examples and reference entries. |
Build, zome & get-started docs src/pages/build/zomes.md, src/pages/build/identifiers.md, src/pages/get-started/*, src/pages/get-started/install-advanced.md |
Bumped example dependency versions (hdk/hdi/holo_hash), added cdylib crate-type in examples, updated scaffold examples to main-0.6, and Holonix build-info version bumps. |
Capabilities & signals docs src/pages/build/capabilities.md, src/pages/build/signals.md |
Internal examples switched from BTreeSet→HashSet; public signatures unchanged. |
Misc docs & small edits src/pages/build/must-get-host-functions.md, src/pages/build/genesis-self-check-callback.md, src/pages/build/connecting-a-front-end.md, src/pages/resources/upgrade/upgrade-new-holonix.md, ... |
Minor comment/link/text updates, removal of a TODO/info block, and various 0.6 example adjustments. |
Spellcheck .cspell/custom-words.txt |
Added entries: dylib, getrandom, and rlib. |
Estimated code review effort
🎯 4 (Complex) | ⏱️ ~45 minutes
Areas to pay extra attention to:
src/pages/build/links-paths-and-anchors.md— ensure docs reflect actual HDK/HDI API names/signatures and the removal of the builder type.11ty-extensions/eleventy-transforms.js— verify applied-diff highlighting, class conversion, and tab UI behavior across target-language and no-target-language cases.- Manifest examples (
src/pages/build/dnas.md,src/pages/build/happs.md) — confirmmanifest_version: 0andpathsemantics match packager/tooling expectations. src/pages/resources/howtos/running-network-infrastructure.md— validate RUSTFLAGS change and updated bootstrap image tag.
Possibly related PRs
- holochain/docs-pages#600 — overlapping edits to
netlify.tomllink-check configuration and todo patterns. - holochain/docs-pages#614 — related compatibility/navigation/redirect updates for introducing 0.6 compatibility content.
- holochain/docs-pages#617 — related version/dependency bumps in docs (hdk/hdi/holo_hash and examples).
Suggested reviewers
- jost-s
- ThetaSinner
Pre-merge checks and finishing touches
❌ Failed checks (1 warning, 1 inconclusive)
| Check name | Status | Explanation | Resolution |
|---|---|---|---|
| Out of Scope Changes check | ⚠️ Warning | Several changes appear tangential to the core upgrade guide objective, including render transform adjustments, spellcheck additions, internal data structure changes (BTreeSet to HashSet), and unrelated documentation updates. | Consider separating rendering/diff logic changes, spellcheck updates, and internal collection type changes into distinct PRs focused on their specific purposes to keep this PR scoped to upgrade documentation. |
| Title check | ❓ Inconclusive | The title 'Feat/chore: update for 0.6' is vague and generic, providing minimal context about the primary change without clearly conveying what 'update for 0.6' encompasses. | Consider a more descriptive title like 'Add Holochain 0.6 upgrade guide and update docs for 0.6 release' to clarify the main changes and scope. |
✅ Passed checks (3 passed)
| Check name | Status | Explanation |
|---|---|---|
| Description Check | ✅ Passed | Check skipped - CodeRabbit’s high-level summary is enabled. |
| Linked Issues check | ✅ Passed | The PR successfully delivers the core requirement from issue #608: a comprehensive upgrade guide documenting API changes, incompatibilities, and migration instructions across HDI/HDK, conductor, and JavaScript client. |
| Docstring Coverage | ✅ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. |
✨ Finishing touches
🧪 Generate unit tests (beta)
- [ ] Create PR with unit tests
- [ ] Post copyable unit tests in a comment
- [ ] Commit unit tests in branch
feat/upgrade-guide-0.6
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands and usage tips.
build is currently failing because of a broken link to get_links_details which won't exist until hdk 0.6 is published to docs.rs.
Don't merge until we're ready to live with 0.6 -- first, update exact version numbers, then merge.
I could continue reviewing content but the formatting in the first section makes it effectively unreadable. I'm pausing for now.
The other upgrade guides seem to have disappeared
@pdaoust
The guide doesn't seem to mention the API change of GrantedFunctions::List from BTreeSet to HashSet.
Also the API changed a bit for ChainFilter
I've also just noticed the GrantedFunctions::Listed change that we made recently from BTreeSet to HashSet.
@jost-s
The other upgrade guides seem to have disappeared
They were never there in the first place -- this is a new addition, to have the most recent upgrade guide in the menu. Thoughts?
@ddd-mtl @ThetaSinner
ChainFilterstuff: https://github.com/holochain/docs-pages/pull/611/commits/ec5baa18edc787e678c2d37249a9ab03b882e529GrantedFunctions::Listedstuff: https://github.com/holochain/docs-pages/pull/611/commits/474daf69ae5a4f7b4d3ecb8fa4b0397ff331072c (mislabelled commit message, sorry)
Walkthrough
Adds a Holochain 0.5→0.6 upgrade guide and nav entry; switches manifest examples to
pathandmanifest_version: 0; updates link APIs/docs to useLinkQuery/GetStrategyand renamesget_link_details→get_links_details; adjusts build scripts, diff rendering, Netlify config, spellcheck words, and removes a hashing subsection.Changes
Cohort / File(s) Summary Netlify / CI config
netlify.tomlAddedtodoPatternsentries (docs.rs URL and ubuntu.com note) and updated final upgrade redirect to/resources/upgrade/upgrade-holochain-0.6/(302). Upgrade guides & navigationsrc/pages/resources/upgrade/index.md,src/pages/resources/upgrade/upgrade-holochain-0.6.md,src/pages/resources/upgrade/upgrade-holochain-0.3.md,src/pages/resources/upgrade/upgrade-holochain-0.4.md,src/pages/resources/upgrade/upgrade-holochain-0.5.md,src/pages/_data/navigation/mainNav.json5Added new 0.5→0.6 guide, inserted it into upgrades index and navigation, and added onboarding notes to older upgrade pages. Manifest examples (hApp & DNA)src/pages/build/dnas.md,src/pages/build/happs.mdChanged examplemanifest_versionfrom'1'→'0'; replacedbundledlocations withpathfor DNAs and UIs and simplified docs to single-path semantics. Link APIs & examplessrc/pages/build/links-paths-and-anchors.mdReplacedGetLinksInputBuilderexamples withLinkQuery::try_new(...); addedGetStrategyparam toget_linksandget_links_details(renamed fromget_link_details); updated examples and get-options guidance. How‑tos & build scriptssrc/pages/resources/howtos/debugging.md,src/pages/resources/howtos/running-network-infrastructure.mdAppRoleDnaManifestexamples changedBundled(...)→Path(...);build:zomesscript now runs withRUSTFLAGS='--cfg getrandom_backend="custom"'beforecargo build. Spellcheck.cspell/custom-words.txtAddeddylib,getrandom, andrlib. Cryptography docssrc/pages/build/cryptography-functions.mdRemoved the "Hash arbitrary data" subsection includinghash_blake2bexample and algorithm list. Rendering transform11ty-extensions/eleventy-transforms.jsSwitched diff language detection to regex; added optional applied-diff language handling; ensured hljs classes for both blocks; adjusted applied-code construction and tabbed diff UI wiring. Capabilities & signals docssrc/pages/build/capabilities.md,src/pages/build/signals.mdInternal examples switched collections fromBTreeSet→HashSet; public signatures unchanged. Minor docs editssrc/pages/build/must-get-host-functions.mdMinor inline comment update referencingLimitConditions::ToGenesis.Estimated code review effort
🎯 3 (Moderate) | ⏱️ ~25 minutes
Points to review closely:
* `src/pages/build/links-paths-and-anchors.md` — ensure examples and the `get_links` / `get_links_details` rename/signature guidance match the actual HDK/HDI surface. * `11ty-extensions/eleventy-transforms.js` — check language detection/highlighting edge cases and tabbed diff UI behavior. * `src/pages/build/dnas.md` & `src/pages/build/happs.md` — confirm manifest examples align with packager/manifest schema.Possibly related PRs
* [Fix: re-enable external links checks #600](https://github.com/holochain/docs-pages/pull/600) — similar edits to `netlify.toml` (todoPatterns / link-checker behavior).Suggested reviewers
* ThetaSinner * jost-sPre-merge checks and finishing touches
❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (2 passed)
✨ Finishing touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. ❤️ Share
Comment
@coderabbitai helpto get the list of available commands and usage tips.
This looks awesome. Just looking through it, I can't see anywhere that says anything about what versions of Holochain conductor, HDI, HDK, @holochain/client and Rust worked together. This was something that took a while to figure out with 0.5.6 for me and would be great if there was somewhere in the docs that had the version numbers of a working environment.
[!TIP] For best results, initiate chat on the files or code changes.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Read the upgrade guide to see current version information
cat src/pages/resources/upgrade/upgrade-holochain-0.6.md
Length of output: 19058
@solarpunked Great feedback! You're absolutely right that a version compatibility matrix would be incredibly valuable. The guide currently scatters version information throughout different sections, which makes it hard to get a complete picture of which versions work together.
I'd suggest adding a dedicated "Version Compatibility" section early in the guide, perhaps right after the intro or as the first subsection under "Quick instructions". Something like:
## Version Compatibility
The following versions are known to work together for Holochain 0.6:
| Component | Version |
|-----------|---------|
| Holochain Conductor | 0.6.x |
| HDI | 0.7.x |
| HDK | 0.6.x |
| @holochain/client | 0.20.x |
| @holochain/tryorama | 0.19.x |
| Rust | 1.xx.x (minimum) |
| Node.js | 22.x |
| Holonix | main-0.6 |
For the exact recommended versions, check the Cargo.toml and package.json examples below.
This would:
- Give developers a quick reference for compatible versions
- Help address those
TODO: get the right version numberscomments throughout the guide - Save users the trial-and-error you experienced with 0.5.6
- Provide a template for future upgrade guides
Would you like me to open an issue to track adding this version compatibility section to the guide?
🧠 Learnings used
Learnt from: pdaoust
Repo: holochain/docs-pages PR: 597
File: src/pages/resources/glossary.md:933-939
Timestamp: 2025-09-11T13:19:23.020Z
Learning: In the holochain/docs-pages repository, pdaoust prefers glossary definitions to be "future-correct" rather than strictly reflecting current implementation status, to reduce maintenance burden when features are implemented.
Learnt from: pdaoust
Repo: holochain/docs-pages PR: 600
File: src/pages/get-started/install-advanced.md:74-81
Timestamp: 2025-08-28T23:39:06.675Z
Learning: hc-launch may show older Holochain version dependencies (like "holochain 0.5.3") even when other tools show newer versions (like 0.5.5) because hc-launch is only repackaged when necessary for compatibility, not automatically with every Holochain release.
Learnt from: pdaoust
Repo: holochain/docs-pages PR: 607
File: src/pages/resources/glossary.md:312-315
Timestamp: 2025-09-19T17:48:55.462Z
Learning: In the holochain/docs-pages repository, pdaoust's slugification code automatically converts camelCase/PascalCase words to hyphenated format (e.g., "DeepKey" becomes "deep-key"), so explicit anchors are not needed for such headings.
:heavy_check_mark: 82af0cafa6b6f51e5ca5381c0918be3971e3fda6...f78f1b840a99b3f422d0e712efe4e67223c38a2c - Conventional commits check succeeded.