Holochain 0.6.3 and Holochain 0.6.2 have just been released, close on the heels of 0.6.1. Read on to see what’s new.
Holochain 0.6.2: init properties and sweettest documentation
This release contains one new feature: init properties. This lets you inject arbitrary data when a cell spins up — like DNA properties, but they’re per-agent and aren’t part of the DNA bundle. Or, alternatively, like a membrane proof, but it can be much bigger and it doesn’t automatically appear on the source chain.
Init properties is just an opaque blob that the conductor makes available to the cell, for retrieval in the init lifecycle hook. You get the data through a new host API call, get_init_properties. The returned InitProperties struct is a wrapper around serialised bytes, which you then deserialise and use however you need to.
The most obvious use case for this is DNA migration. Your app user has a bunch of data that they want to take to the next version of a DNA — perhaps across incompatible Holochain versions — and all of the existing mechanisms for doing this are fiddly and breakable, especially across conductor upgrades.
It’s up to you to decide what you bring from your old DNA and what you do with it in the new DNA. It could just be the hash of some data from the old DHT (if you’re doing an app update on the same conductor and can do a bridge call), an account balance rollup signed by a trusted notary, the user’s top five blog posts, or the whole source chain. It depends on your app’s needs.
Init properties are injected through the InstallApp conductor admin API endpoint, and yes, it’s a breaking change — the individual cell role settings in InstallAppPayload#roles_settings now have an init_properties field.
I need to warn you that the developer experience is incomplete with this feature. Your hApp distribution method (e.g., the Kangaroo Electron template) may not give easy access to the conductor admin API, and if your migration depends on continuity of agent ID from the old hApp to the new, it’s not easy to get the private key out of the Lair keystore. We’re shipping this feature now because Unyt needs it.
We’ll be writing some developer documentation when it’s more mature. In the meantime, you can read the design document or look at Holochain’s test suite (specifically the initial and new DNAs in the migration tests) for a usage example.
Other than the change to InstallApp, there are no breaking changes, although you may need to recompile your zomes against the 0.6.2 hdi/hdk libraries.
One more thing — we’re now publishing sweettest Rust documentation as of the 0.6.2 release! This is important, as our scaffolding tool has retired the JS-based Tryorama test framework in favour of Sweettest. (Note that Tryorama is still available from holochain-open-dev/tryorama but is a community-supported project.)
Holochain 0.6.2 is now available for all scaffolded hApps in the usual way — if you’re new to this, follow the quick start guide on the Holochain Developer Portal and come to the DEV.HC Discord with your ideas, creations, and bug reports. See you there!
Holochain 0.6.3: dependency maintenance
Okay, one more thing — 0.6.3 is out too, so you may as well jump right to that. There are no breaking changes compared to 0.6.2; it just drops a dependency which required a vendored OpenSSL. This makes it easier for devs to build for NixOS environments.
Livestream 30 July!
The Holochain Foundation, Holo Hosting, and Unyt are hosting a livestream to talk about what we’ve completed in 2026, what we’ll be completing soon, and what that unlocks in the near future.
You probably already know that Holo will be announcing the HoloFuel migration date during this livestream. A lot of people have been waiting for this moment, and while it is the culmination of a lot of work, we think it’s really just the first chapter in a new story.
Register for the livestream on YouTube, and we’ll see you there!
