Last week was a happy week for us at Holochain. It has been a long time coming — years of almost-but-not-quite-ready, of helping the bravest devs succeed with immature tech, of telling more risk-averse projects to wait just a little longer. And now it’s here — Holochain is finally in beta.
The general mood among colleagues and friends has varied from “quiet satisfaction”, in one person’s words, to open celebration. This is a big milestone for us and you, folks!
Of course, there is still lots of work to be done — the core devs are already working hard on the 0.2 beta series, which will bring the ‘immune system’ features that are meant to automate communities’ ability to protect their networks and data from attacks. And of course there are still planned features and the regular boring engineering work of performance tuning and bug discovery. And most of the developer tools haven’t been updated yet, although we’ll see that in the next week or two.
But this is the first point at which we can say, with confidence, that Holochain is ready for most projects (not just bleeding-edge ones) to start building serious apps on. The APIs will not get any breaking changes for the entirety of the 0.1.x release series, and keep our bootstrap and proxy servers running for six months.
In the coming weeks we’ll be publishing a series of blog posts, videos, and updates to the Developer Portal to help you get started building your first hApp.
Does this mean that Holochain is now ready for everyone? Not quite. You will be able to build your hApp without fear of refactoring, you’ll be able to get it into your users’ hands, and they’ll be able to use it long-term without fearing data loss on every upgrade. But it’s important to note that, before the immune system and security audits are completed, your hApp should be considered beta-quality and shouldn’t be used in hostile environments.
Holochain 0.1.0 release notes
Release date: 26 January 2023
HDI compatibility: 0.2.0-beta-rc.1 to 0.2.0
HDK compatibility: 0.1.0-beta-rc.1 to 0.1.0
Breaking changes: app API
This is largely a ceremonial release — you’ll note that we’ve dropped the beta
and rc.x
from the end of all of our packages. There are only two changes:
- Removed (HDI): The unused
validation_package
callback is no longer supported, and all types related to it have been removed. Given that no hApps in the wild used this callback (to my knowledge), you shouldn’t need to update your integrity zome code. (#1739) - Breaking (app API):
FetchQueue
has been renamed toFetchPool
. This shows up in one of the fields of theNetworkInfo
API endpoint’s return value. If you don’t know whether you need to know about this, you probably don’t —NetworkInfo
is generally only used by conductor orchestrators like the Launcher. (#1793)
Dev tools release notes
JavaScript client 0.11.16: Internal refactor
Release date: 25 Jan 2023
Holochain compatibility: 0.1.0-beta-rc.4
This release refactors the way the agent’s public key is retrieved; now it gets it from AppInfo
.
JavaScript client 0.12.0: Version bump
Release date: 25 Jan 2023
Holochain compatibility: 0.1.0-beta-rc.4
This release simply marks a shift to Holochain Beta. Note: A breaking change to the NetworkInfo
app API endpoint, introduced in Holochain 0.1.0, is not yet supported, but will be supported in the next release. (#172) Most hApps don't use this, though, so it should be safe to use this release with Holochain 0.1.0.
Tryorama 0.11.0: Version bump
Release date: 27 Jan 2023
Holochain compatibility: 0.1.0-beta-rc.4
This release bumps the included JavaScript client to 0.12.0.
Rust client 0.3.0: Initial support for Holochain 0.1.x
Release date: 23 Jan 2023
Holochain compatibility: 0.1.0-beta-rc.3
This release brings the supported Holochain version up to 0.1.0-beta-rc.3, which means the following breaking changes:
- All zome calls must be signed.
install_app_bundle
is renamed toinstall_app
.archive_clone_cell
is renamed todisable_clone_cell
.restore_archived_clone_cell
is renamed toenable_clone_cell
.enable_clone_cell
is moved to the app API.delete_clone_cell
can only delete a single disabled clone cell.app_info
returns all cells and DNA modifiers.request_agent_info
is renamed toagent_info
.
There are two non-breaking changes:
- The admin API call
get_dna_definition
has been added. - There’s now a utility crate for authorising credentials and signing zome calls.
Scaffolding 0.1.3: Support for Holochain 0.1.0
Release date: 31 Jan 2023
Holochain compatibility: 0.1.0
This is the first time I’ve included release notes for the scaffolding tool. We’ve shared about it already, and I will be sharing more about it soon, but for now, just know that it lets both newcomers and experienced hApp devs generate a lot of boilerplate DNA and UI code in a short time. Check out the release log if you’ve already been using it.
Second security audit completed
Last week Least Authority published the results of their second security audit of Holochain. The first, which analyzed the Lair keystore, identified only one issue and three further suggestions, all of which were resolved.
This second one analyzed the Holochain Deterministic Integrity (HDI) crate, which is the hApp developer’s interface between their integrity zomes and Holochain itself. The HDI allows the dev to write validation callbacks that check data for correctness. These callbacks, combined with the plumbing of Holochain’s DHT implementation, are what create the ‘immune system’ that keeps honest participants safe.
Because the HDI is so heavily dependent on the foundation of Holochain’s inner workings, they found that their analysis had to go further than just this one library. This gave them an opportunity to assess the correctness of Holochain’s model for arriving at consistency and take a look at how the model is implemented.
The results of this audit were similar to the first, with one issue related to insufficient formal documentation, which they identified as a potential risk for correctly implementing Holochain’s consistency model. We’ve resolved that by writing a formal specification and rewriting the Holochain whitepaper, which we plan to publish soon.
Reminder: Holochain Dev Training in March
Now that Holochain has its first beta and the dev tools are almost ready, Holochain is pretty much ready for prototyping your hApp and getting it into the hands of beta testers. If you want to skill up yourself or your dev team quickly and effectively, the online Dev Training course in March will get you there. Read the details and apply on our website.