Skip to content
This repository was archived by the owner on Jun 3, 2026. It is now read-only.

Update to Holochain 0.6.1#1

Closed
synchwire wants to merge 4 commits into
mainfrom
update-holochain-0.6.1
Closed

Update to Holochain 0.6.1#1
synchwire wants to merge 4 commits into
mainfrom
update-holochain-0.6.1

Conversation

@synchwire

Copy link
Copy Markdown
Collaborator

Updates the project to crates compatible with the Holochain 0.6.1 release (from 0.2.6).

Rust / crate changes

  • Bump holo_hash, holochain_zome_types 0.2.6 → 0.6.1; add holochain_nonce 0.6.1 (Nonce256Bits is no longer re-exported by holochain_zome_types).
  • Bump pyo3 0.19 → 0.28.
  • API renames in 0.6:
    • ZomeCallUnsignedZomeCallParams (the Python class name ZomeCallUnsignedPy is kept, so the Python API is unchanged).
    • HoloHash::from_raw_39 now panics; switched to the fallible try_from_raw_39.
    • data_to_sign() removed → serialize_and_hash() returns (bytes, hash); we return the hash (the value to sign).
  • pyo3 0.28 migration: Bound module API, #[pyclass(from_py_object)], explicit #[pyo3(signature = …)] for the optional cap_secret.

Behaviour changes (reflected in test.py)

  • The signed hash is now sha2_512 (64 bytes) — previously 32 bytes.
  • pyo3 0.28 maps Vec<u8> to Python bytes rather than a list; assertions updated accordingly.

Because the serialization format changed across the release jump, the bytes produced now differ from 0.2.x — expected, but relevant to any downstream signers.

Packaging / env

  • flake.nix switched to holonix?ref=main-0.6 (+ regenerated flake.lock).
  • Declared maturin in [project.dependencies] (was a mislabelled [dependencies] table that no tool read), so the README's pip install . then maturin develop flow works as written.

CI

  • New test job builds (pip install .) and runs test.py, gating the wheel-build jobs.
  • Pinned a stable Rust toolchain for the Holochain 0.6 crate builds.
  • Un-deprecated actions: checkout v3→v4, setup-python v4→v5, upload/download-artifact v3→v4 (v3 was retired).
  • Per-target artifact names + merge-on-download (required by upload-artifact v4, which collides on same-name uploads).
  • Pinned Python 3.10 → 3.12.

Notes / to watch

  • The cross-build matrix targets (x86, aarch64, armv7) may still fail compiling Holochain's native dependencies under manylinux. The test job gives a clean native x86_64 signal; if the cross-builds break, those targets likely need trimming.

synchwire and others added 4 commits June 3, 2026 11:39
Bump holo_hash, holochain_zome_types to 0.6.1 and pyo3 to 0.28.

- ZomeCallUnsigned renamed to ZomeCallParams; data_to_sign() replaced
  by serialize_and_hash() returning (bytes, hash) — return the hash.
- HoloHash::from_raw_39 now panics; use fallible try_from_raw_39.
- Nonce256Bits moved to holochain_nonce (added as dependency).
- pyo3 0.28: Bound module API, #[pyclass(from_py_object)], explicit
  #[pyo3(signature)] for optional cap_secret.
- flake.nix switched to holonix main-0.6.
- test.py expected values regenerated: hash is now sha2_512 (64 bytes)
  and pyo3 returns Vec<u8> as bytes rather than a list.
Move the mislabelled [dependencies] table into [project.dependencies] so
pip install . pulls maturin into the venv, making the README's subsequent
maturin develop step work without a separate install.
- Add a test job that builds (pip install .) and runs test.py, gating the
  wheel-build jobs on it.
- Pin a stable Rust toolchain for the Holochain 0.6 crate builds.
- Bump deprecated actions: checkout v3->v4, setup-python v4->v5,
  upload/download-artifact v3->v4 (v3 was retired).
- Give each build job a unique artifact name and merge them on download,
  as required by upload-artifact v4 (same-name uploads now collide).
- Bump pinned Python 3.10 -> 3.12.
@cocogitto-bot

cocogitto-bot Bot commented Jun 3, 2026

Copy link
Copy Markdown

❌ Found 1 compliant commit and 3 non-compliant commits in d6b3828...123fc7f.

Commit d6b3828 by @synchwire is not conform to the conventional commit specification :

  • message: `Update to Holochain 0.6.1 compatible crates

Bump holo_hash, holochain_zome_types to 0.6.1 and pyo3 to 0.28.

  • ZomeCallUnsigned renamed to ZomeCallParams; data_to_sign() replaced
    by serialize_and_hash() returning (bytes, hash) — return the hash.
  • HoloHash::from_raw_39 now panics; use fallible try_from_raw_39.
  • Nonce256Bits moved to holochain_nonce (added as dependency).
  • pyo3 0.28: Bound module API, #[pyclass(from_py_object)], explicit
    #[pyo3(signature)] for optional cap_secret.
  • flake.nix switched to holonix main-0.6.
  • test.py expected values regenerated: hash is now sha2_512 (64 bytes)
    and pyo3 returns Vec as bytes rather than a list.`
  • cause:
    Missing commit type separator `:`
    
    Caused by:
         --> 1:7
          |
        1 | Update to Holochain 0.6.1 compatible crates
          |       ^---
          |
          = expected scope or type_separator
    

Commit 7676cf6 by @synchwire is not conform to the conventional commit specification :

  • message: `Declare maturin as project dependency

Move the mislabelled [dependencies] table into [project.dependencies] so
pip install . pulls maturin into the venv, making the README's subsequent
maturin develop step work without a separate install.`

  • cause:
    Missing commit type separator `:`
    
    Caused by:
         --> 1:8
          |
        1 | Declare maturin as project dependency
          |        ^---
          |
          = expected scope or type_separator
    

Commit 123fc7f by @synchwire is not conform to the conventional commit specification :

  • message: `Refresh CI workflow

  • Add a test job that builds (pip install .) and runs test.py, gating the
    wheel-build jobs on it.

  • Pin a stable Rust toolchain for the Holochain 0.6 crate builds.

  • Bump deprecated actions: checkout v3->v4, setup-python v4->v5,
    upload/download-artifact v3->v4 (v3 was retired).

  • Give each build job a unique artifact name and merge them on download,
    as required by upload-artifact v4 (same-name uploads now collide).

  • Bump pinned Python 3.10 -> 3.12.`

  • cause:

    Missing commit type separator `:`
    
    Caused by:
         --> 1:8
          |
        1 | Refresh CI workflow
          |        ^---
          |
          = expected scope or type_separator
    

@coderabbitai

coderabbitai Bot commented Jun 3, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@synchwire has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 19 minutes and 59 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: dba53be7-c252-4696-bf9e-e0b46577ec54

📥 Commits

Reviewing files that changed from the base of the PR and between dd271e3 and 123fc7f.

⛔ Files ignored due to path filters (2)
  • Cargo.lock is excluded by !**/*.lock
  • flake.lock is excluded by !**/*.lock
📒 Files selected for processing (6)
  • .github/workflows/CI.yml
  • Cargo.toml
  • flake.nix
  • pyproject.toml
  • src/lib.rs
  • test.py
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch update-holochain-0.6.1

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.

@ThetaSinner ThetaSinner closed this Jun 3, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants