The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Replaces libzmq (zeromq) with websockets for ipc communication to networking module #1055
- Changes
apt-get
dependencies installed for libsodium across linux OS #1105
- Removes bespoke
rust_sodium-sys
crate (using upstream now) #1105
- New network setting via environment variable HC_N3H_LOG_LEVEL #1085
- Ability to sign data via
hdk::sign
using the agent key PR#1080 - Adds PUBLIC_TOKEN global variable for use in hdk::call in calling public functions. PR#895
- Adds an ADR for capabilities
- CrudStatus works over network #1048
- Adds utils submodule of hdk which contains the following helper functions #1006:
- get_links_and_load_type - calls try_from for a given type when getting links
- get_as_type - Similar but for a single entry
- link_entries_bidir - Same as link_entries but creates link in both directions
- commit_and_link - Save a line and commit and link in a single function
- Adds a
call
route to the json rpc for the conductor for making zome calls PR#1090. Please note this route deprecates theinstance_id/zome/function
which will be removed in the future - The
admin/dna/install_from_file
RPC method now takes an optionalexpected_hash
, which performs an integrity check of the DNA file before installing it in the conductor PR#1093 - Moves Crud Status tests to app_spec #1096
- Adds cold build tests + support for debian and ubuntu xenial #1105
- Validation of link entries gets retried now if base or target of the link were not yet accessible on the validating node. This fixes a bug where links have been invalid due to network timing issues PR#1054
- Validation of any entry gets retried now if the validation package could not be retrieved from the source PR#1059
- Scenario tests are more lenient to SyntaxError, TypeError, and other JS errors: buggy tests now merely fail rather than hanging indefinitely #1091
- Fixes docker builds for
holochain/holochain-rust:develop
#1107
- Relaxes Node JS version to 8.x in nix-shell PR#955
- Updates develop docker tag to use nix PR#955
- Updates bash script shebang to be nixos friendly PR#955
- Changes file name for cli packaging PR#1036
bundle.json
&.hcpkg
unified toYOUR_DNA_NAME.dna.json
.build
files renamed to.hcbuild
hc package
now builds todist
directory by default, to match howhc test
works
- Removes legacy docker files PR#955
- Adds a panic handler to HDK-Rust and that reroutes infos about panics happening inside the WASM Ribosome to the instances logger PR#1029
- Adds cmake and qt to mac os x install script PR#955
- Adds the current git-commit hash to the compile code of the core, and checks (with warning) for the same hash that was used to compile the wasm PR#1050
- Futures handling and zome function execution refactored which enables using complex API functions like
commit_entry
in callbacks such asreceive
. This also fixes long standing flaky tests and blocking behaviors we have been experiencing. #991
- Capabilities now separated from function declarations and renamed to
traits
indefine_zome!
and calling zome functions no longer uses capability name parameter #997 & #791 hash
properties forUiBundleConfiguration
andDnaConfiguration
in Conductor config files is now optionalChainHeader::sources()
is nowChainHeader::provenances()
which stores both source address, and signature #932hdk::get_entry_results
supports return of ChainHeaders for all agents who have committed the same entry #932- Renames the term Container and all references to it to Conductor #942
- Renames the
holochain_container
executable to simplyholochain
- Renames the
cmd
crate (which implements thehc
command line tool) tocli
#940 - Encoded values in ribosome function's input/output are u64 (up from u32) #915
- Updated dependencies:
- Rust nightly to
2019-01-24
- futures to
0.3.0-alpha.12
- Rust nightly to
- All chain headers are sent in the validation package, not just those for public entry types. #926
- Adds centralized documentation for environment variables in use by Holochain #990
- Adds command
hc keygen
which creates a new key pair, asks for a passphrase and writes an encrypted key bundle file to~/.holochain/keys
. #974 - Adds an environment variable
NETWORKING_CONFIG_FILE
for specifing the location of the json file containing the network settings used by n3h. #976 - Adds an environment variable
HC_SIMPLE_LOGGER_MUTE
for use in testing which silences logging output so CI logs won't be too big. #960 - Adds Zome API function
hdk::sleep(std::time::Duration)
which works the same asstd::thread::sleep
.#935 - All structs/values to all HDK functions must implement
Into<JsonString>
andTryFrom<JsonString>
(deriveDefaultJson
to do this automatically) - HDK globals
AGENT_ADDRESS
,AGENT_ID_STR
,DNA_NAME
andDNA_ADDRESS
are now set to real, correct values. hc run
now looks for the --interface flag orHC_INTERFACE
env var if you want to specify thehttp
interface [#846]((#846)- NodeJS Conductor added to allow running conductors for testing purposes in JavaScript.
- Scenario API added to enable deterministic scenario tests for zome functions. See the NodeJS Conductor README for details.
hdk::holochain_core_types::time::Iso8601
now supports validation and conversion to DateTime, and is sortable. #917hdk::query_result
API supports return of ChainHeader and/or Entry data for the matched EntryType(s) #868- Admin RPC functions added to container interface. Any (websocket) container interface that is configured with
admin = true
now can call a number of functions to remotely change any aspect of the container config. #840 - Adds a set of functions to the container RPC for managing static UI bundles and HTTP interfaces to these. See rustdoc of
conductor_api::interface::ConductorApiBuilder
for a full description of these functions. #919 - Conductor can now serve static directories called ui_bundles over HTTP that can be configured in the container config toml file. This HTTP server also implements a virtual json file at "/_dna_connections.json" that returns the DNA interface (if any) the UI is configured to connect to. Hc-web-client will use this to automatically connect to the correct DNA interface on page load. #885
- Adds Zome API function
hdk::remove_link(base,target,tag)
for removing links. #780
- build problems because of changes to upstream futures-preview crate
- Networking: beyond mock, using n3h
- Bridging now works and is configurable in the container (no capabilities yet) #779 & #776
- Validation across network #727
- API/HDK:
- Conductor:
- configuration builder and config files
- http interface #823
- hc command-line tool:
- Groundwork for: capabilities & signals #762 & #732
- Improved debug logging with log rules and colorization #819
- This change log!
- API/HDK:
- native return types (JsonStrings)
- many places where we referred to "Hash" we now use the more correct term "Address"
- mock networking
hc run
with support for- multi-instance scenario testing