This Dev Pulse brings a new release for the 0.1.x branch of Holochain. We’re still recommending that you stick with this branch for now, as we’re still troubleshooting performance issues in the 0.2.x branch.
Meanwhile, a goodly number of our team and community are en route or at DWeb Camp, where we’ll be involved in all sorts of ways — including being a sponsor!
Holochain 0.1.5: Backwards compatibility fixes
As you may have read in the last Dev Pulse, I recommended that you not upgrade your hApp and userbase to Holochain 0.1.4, and instead wait for 0.1.5. Well here’s 0.1.5, with a bugfix for the broken dev environment (#2252) as well as:
- There’s a compatibility path for a change to the database schema introduced in 0.1.4, so you can use 0.1.5 on databases created by older conductors (#2253).
- Some housekeeping tasks backported from 0.2: removal of the testing framework from the default build of the conductor (#2312), and repair of a remote signals test (#2318).
- Breaking (sort of): 0.1.4 fixed a bug whereby a DNA’s name was mistakenly included when hashing the DNA. This broke some apps in the wild, so it’s been reverted (#2312) and the correct functionality will appear in 0.2 onwards. This is not a breaking change if you’re updating your hApp from Holochain 0.1.3 to 0.1.5; it’s only breaking if you’re updating from 0.1.4.
Additionally, you may want to read all the changes in 0.1.4 (with the exception that the last bullet point above reverts a change introduced in 0.1.4). Read the full changelog since 0.1.3.
- In large-scale stress tests (around 200+ highly active nodes per conductor) we’re noticing some performance issues. These show up as zome call timeouts, high virtual memory usage, and dropped WebSocket connections — in short, the conductor gradually becomes unresponsive and needs to be restarted. We’re all-hands-on-deck troubleshooting this issue right now, and we believe it might also be present in 0.2.x and 0.3.x.
- An out-of-bounds memory error is occasionally happening; depending on the circumstances, this can cause subsequent zome calls to fail. We’re putting in more tracing throughout the codebase to diagnose issues like this.
- There’s a rounding error in the sharding algorithm that causes mismatches in the region of data being synced. (You can find out about regions in this Dev Pulse from last year.) As we’re nearing the end of the six-month support promise for 0.1, the fix for that will land in 0.2.1.
Launcher release notes
0.9.4: UX improvements, bugfixes
This version has a few fixes, including better App Library download feedback, improved German translation, better error handling, and a bugfix for web forms on Linux.
0.10.0: Holochain 0.1.5 support, more UX improvements
This version comes with Holochain 0.1.5. And it continues to get UX polish thanks to our friend Tibet Sprague from Terran Collective. He’s been redesigning various parts of the UI to make things more accessible for everyone.
The most important UX change is mostly invisible — the hApp store no longer requires you to be part of the DevHub DNA and sync all the data. Instead, your node will look for a DevHub host and request the download from them. This means you don’t have to wait until you’re a full peer in the DevHub network before you can download hApp packages, which speeds up the first-run experience.
There are a lot of changes; too many to list here. Just download the Launcher and see for yourself. And this is just a start — you’ll see more UX work in future releases!
This version is a breaking change, in that hApps that you installed in previous versions of the Launcher won’t show up in this version.
Launcher is built on a Rust library called Tauri, which is similar to Electron but of course Rust-based. It uses the operating system’s default web view library to display UIs. As such, we inherit any bugs that exist upstream in Tauri. Here are the ones we know about:
- Downloading files from a hApp that supports it is not supported on macOS.
- App windows don’t have their own menu on macOS.
- Trying to open a hApp UI that’s already open but minimised will not bring it to the front on some Linux distros.
- Because of the dependency on the system web view, your hApp UI should target the built-in browser of the oldest desktop OS that your userbase is using.
- As an example of this from the Launcher UI itself, on macOS Monterey the toggle switch for the new ‘developer mode’ (which allows you to become a DevHub host and upload packages to the hApp store) doesn’t toggle on.
- hApp UIs that use WebRTC aren’t supported on Linux.
- Launcher can freeze on macOS when an app is opened in full-screen view.
Quick update on Holochain 0.2.1 progress
We were planning to release a new version quick on the heels of Holochain 0.2.0 to repair both a peer discovery issue and some network performance issues. The peer discovery issue is fixed, but we’re still troubleshooting the performance issues where there is less to no gossip between peers until one of them publishes a new piece of data. In doing so, we're also building more robust testing tooling to get finer-grained insight into them. We expect to release 0.2.1 soon given what we've recently learned.
At this point, we recommend that you stick with 0.1.5. You’re still welcome to try out the 0.2.x series releases (and dev candidates in the 0.3.x series — in fact Acorn is in the process of upgrading to 0.3 already); just be prepared for the aforementioned bottlenecks. We’re also planning to roll some of the work already done on 0.3 into 0.2.1, giving it features we didn’t expect the 0.2.x series to have. Stay tuned!
Getting ready for DWeb Camp
We’re really looking forward to DWeb Camp in Navarro, CA, USA, which started on Wednesday, 21 June. A good number of us from the Holochain community and team from across the world are attending, volunteering, giving talks, hosting discussions, and taking care of meeting spaces. Not only that, but we’ll be a camp sponsor for the first time this year.
DWeb Camp will be a time for connecting, making new relationships with devs who don’t yet know that Holochain is the thing they’re looking for, and of course showing the DWeb community what Holochain can do. The theme this year is ‘Discovering Flows’, which is a lovely description of what happens there. I really enjoyed last year. We’ll be sharing how this year went when we get back!