docs-pages icon indicating copy to clipboard operation
docs-pages copied to clipboard

Feat/chore: update for 0.6

Open pdaoust opened this issue 2 months ago • 8 comments

  • 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.

pdaoust avatar Oct 20 '25 19:10 pdaoust

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 BTreeSetHashSet; 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) — confirm manifest_version: 0 and path semantics 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.toml link-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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

coderabbitai[bot] avatar Oct 20 '25 19:10 coderabbitai[bot]

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.

pdaoust avatar Oct 20 '25 22:10 pdaoust

I could continue reviewing content but the formatting in the first section makes it effectively unreadable. I'm pausing for now.

image

ThetaSinner avatar Oct 24 '25 16:10 ThetaSinner

The other upgrade guides seem to have disappeared image

jost-s avatar Oct 25 '25 12:10 jost-s

@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

ddd-mtl avatar Oct 27 '25 19:10 ddd-mtl

I've also just noticed the GrantedFunctions::Listed change that we made recently from BTreeSet to HashSet.

ThetaSinner avatar Oct 28 '25 10:10 ThetaSinner

@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?

pdaoust avatar Oct 28 '25 19:10 pdaoust

@ddd-mtl @ThetaSinner

  • ChainFilter stuff: https://github.com/holochain/docs-pages/pull/611/commits/ec5baa18edc787e678c2d37249a9ab03b882e529
  • GrantedFunctions::Listed stuff: https://github.com/holochain/docs-pages/pull/611/commits/474daf69ae5a4f7b4d3ecb8fa4b0397ff331072c (mislabelled commit message, sorry)

pdaoust avatar Oct 31 '25 20:10 pdaoust

Walkthrough

Adds a Holochain 0.5→0.6 upgrade guide and nav entry; switches manifest examples to path and manifest_version: 0; updates link APIs/docs to use LinkQuery/GetStrategy and renames get_link_detailsget_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.toml Added todoPatterns entries (docs.rs URL and ubuntu.com note) and updated final upgrade redirect to /resources/upgrade/upgrade-holochain-0.6/ (302). 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 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.md Changed example manifest_version from '1''0'; replaced bundled locations with path for DNAs and UIs and simplified docs to single-path semantics. Link APIs & examples src/pages/build/links-paths-and-anchors.md Replaced GetLinksInputBuilder examples with LinkQuery::try_new(...); added GetStrategy param to get_links and get_links_details (renamed from get_link_details); updated examples and get-options guidance. How‑tos & build scripts src/pages/resources/howtos/debugging.md, src/pages/resources/howtos/running-network-infrastructure.md AppRoleDnaManifest examples changed Bundled(...)Path(...); build:zomes script now runs with RUSTFLAGS='--cfg getrandom_backend="custom"' before cargo build. Spellcheck .cspell/custom-words.txt Added dylib, getrandom, and rlib. Cryptography docs src/pages/build/cryptography-functions.md Removed the "Hash arbitrary data" subsection including hash_blake2b example and algorithm list. Rendering transform 11ty-extensions/eleventy-transforms.js Switched 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 docs src/pages/build/capabilities.md, src/pages/build/signals.md Internal examples switched collections from BTreeSetHashSet; public signatures unchanged. Minor docs edits src/pages/build/must-get-host-functions.md Minor inline comment update referencing LimitConditions::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-s

Pre-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 help to 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.

solarpunked avatar Nov 12 '25 00:11 solarpunked

[!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:

  1. Give developers a quick reference for compatible versions
  2. Help address those TODO: get the right version numbers comments throughout the guide
  3. Save users the trial-and-error you experienced with 0.5.6
  4. 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.

coderabbitai[bot] avatar Nov 12 '25 00:11 coderabbitai[bot]

:heavy_check_mark: 82af0cafa6b6f51e5ca5381c0918be3971e3fda6...f78f1b840a99b3f422d0e712efe4e67223c38a2c - Conventional commits check succeeded.

cocogitto-bot[bot] avatar Nov 25 '25 16:11 cocogitto-bot[bot]