Holochain v0.0.46-alpha1 has been released. This is the first new ‘blessed’ release in about two months!
What’s new in this release?
-
hc hash
now takes a --uuid
parameter so you can get the hash of a DNA as it would be if a UUID were passed to it via conductor config. #2161
- Some log messages have been moved to the ‘debug’ log level, which should make the log quieter.
- The new scaffolding tool command
hc-happ-create
is included in this release!
Bug fixes
- Lots of performance improvements all round!
- Fixes to consistency, particularly links, CRUD, and validation #2148 #2153 #2159 #2169 #2170
- The HDK now targets a few third-party dependencies’ versions (notably serde) in a more relaxed way; this should make your life a bit easier.
Breaking changes
- The communication protocol between the conductor and sim2h_server has changed again, so if you’re running any sim2h servers in the wild you’ll need to update both sim2h_server and your (and your end-users’) conductors at the same time.
Known issues
- None to report at this time.
How to upgrade
This is a ‘blessed’ release, so all you have to do is exit any Holonix shells you’ve got open, and re-enter them via this command:
nix-shell https://holochain.love
It’ll automatically download the updated packages.
Updating existing DNA
You’ll need to update all your zomes to use the new HDK; open the Cargo.toml
files for each of your zomes and update these lines:
[dependencies]
serde = "1.0"
serde_json = { version = "1.0", features = ["preserve_order"] }
serde_derive = "1.0"
hdk = "=0.0.46-alpha1"
hdk_proc_macros = "=0.0.46-alpha1"
holochain_wasm_utils = "=0.0.46-alpha1"
holochain_json_derive = "0.0"
(Note: if your zome uses the older define_zome!
style HDK, you don’t need the hdk_proc_macros
line.)
2 Likes
I have been busy elsewhere lately and not following the developments closely. Have I missed some update on changes to get_links
? I know support for pagination and sorting have been introduced, but besides from that?
My super simple zome that used to work is now returning empty results when calling get_links
but I can’t find any hints as to how or what needs to be changed.
Below used to work.
Linking:
hdk::link_entries(&agent_address, &address, "author_text", "")?;
Getting links:
hdk::api::get_links(
&agent_address,
LinkMatch::Exactly("author_text"),
LinkMatch::Any
)
How would the above need to change to work with the current situation?
Or does the links def need to be upgraded somehow?
links: [
from!(
"%agent_id",
link_type: "author_text",
validation_package: || {
hdk::ValidationPackageDefinition::Entry
},
validation: |_validation_data: hdk::LinkValidationData| {
Ok(())
})
]
1 Like
No, this should work… Maybe some connection issue, like nodes not being able to talk to one another with sim2h? There have been major changes on that. Also maybe some race condition?
Otherwise @pauldaoust might be able to point to changes, but this kind of calls has always worked for me.
1 Like
I also have this problem. Has anyone tried latest develop branch to see if it was fixed?
Yes, 0.0.47 fixes the issue.
Quoting @lucksus:
All that’s needed to fix this is to recompile DNAs with the new version, i.e. upgrading the Cargo.toml
files of the zomes to point to v0.0.47-alpha
and then rebuild.
I also had to do some additional cleanup before compile went through as expected. These are the four things I did, not sure unfortunately what step made the actual change.
- Deleted the
.cargo
folder
- Deleted the
target
folder
- Ran
rustup update
- Generated a new
.hcbuild
using hc generate
1 Like
0.0.47 fixes the issue, thanks.
Nice. Thanks for sharing!