The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- 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)
- 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.
- Adds an environment variable HC_SIMPLE_LOGGER_MUTE for use in testing which silences logging output so CI logs won't be too big.
- 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