The format is based on Keep a Changelog. This project adheres to Semantic Versioning.
- Update to Holochain 0.5.0-dev.7
- Updates to new zome call signing logic
- Uses the new
roles_settings
field in theInstallAppPayload
.
- Update to Holochain v0.5.0-dev.0
- Update to Holochain 0.4.0-dev.27
- Update to Holochain 0.4.0-dev.25
- Method to connect an admin websocket with a custom websocket configuration.
- Admin calls
AgentInfo
,AddAgentInfo
andListCellIds
.
- Admin Websocket call
revoke_agent_key
which revokes an agent key for an app and makes the source chains of the app read-only.
- Listening for signals on the app websocket will now include system signals. These are only used for countersigning currently, so you can safely ignore them if you are not using countersigning.
- Uninstall app now has a
force
parameter. Please check Holochain documentation before setting this field totrue
!
- New value
NotStartedAfterProvidingMemproofs
for typeDisabledAppReason
which effectively allows a new app status, corresponding to the specific state where a UI has just called AppRequest::ProvideMemproofs, but the app has not yet been enabled for the first time. - New
AppWebsocket
callEnableAfterMemproofsProvided
, which allows enabling an app only if the app is in theAppStatus::Disabled(DisabledAppReason::NotStartedAfterProvidingMemproofs)
state. Attempting to enable the app from other states (other than Running) will fail. - New field
lineage
to the DNA manifest, which declares forward compatibility for any hash in that list with this DNA. - New
AdminWebsocket
callGetCompatibleCells
, which returnsCellId
for all installed cells which use a DNA that is forward-compatible with a given DNA hash. This can be used to find a compatible cell for use with the UseExisting cell provisioning method.
- The
ClientAgentSigner
functionadd_credentials
no longer takesself
as mutable. This wasn't required by the function implementation. - Updated to use Holochain 0.4.0-dev.11, which includes updates to several dependencies. Namely
holochain_serialized_bytes
has been updated to 0.0.55 which will force you to update your dependencies if you depend on other Holochain crates.
- New call
AppRequest::ProvideMemproofs
. An app can be installed with deferred membrane proofs, which can later be provided through this call.
- Remove unnecessary use of
&mut self
in the app and admin clients. These used to be needed when the internalsend
mutated state, but it no longer does that so we can drop the requirement for the clients to be mutable.
- Dropping admin or app connections will now close the connection.
- New admin call
issue_app_auth_token
which allows you to issue an app auth token. This is now required when creating an app websocket connection. See the example forAppWebsocket::connect
for how to use this. - Missing app interface function
list_wasm_host_functions
has been added.
- BREAKING: The admin call
list_app_interfaces
now returns aVec<AppInterfaceInfo>
instead of aVec<u16>
. You can map the response to aVec<u16>
to get the previous result. - BREAKING: The admin call
attach_app_interface
now takes an additional parameter of typeInstalledAppId
which allows you to restrict an app interface to a single app. - BREAKING: The app call
app_info
no longer takes aninstalled_app_id
parameter. The conductor uses the app that you have authenticated with.
- BREAKING: The old
AppWebsocket
is gone, its functionality was merged into theAppAgentWebsocket
which has been renamed toAppWebsocket
.
- BREAKING: The underlying package
holochain_websocket
changed. All websockets in this client follow the newconnect
function and take a socket address that implementsToSocketAddr
instead of a URLString
. Examples for the new parameter are"localhost:30000"
and([127.0.0.1], 30000)
. See traitToSocketAddr
. - BREAKING: The
attach_app_interface
method of theAdminWebsocket
now takes an additional parameter of typeAllowedOrigins
which specifies what origins are allowed to connect to the created app interface.
- BREAKING: The underlying package
holochain_websocket
changed. All websockets in this client follow the newconnect
function and take a socket address that implementsToSocketAddr
instead of a URLString
. Examples for the new parameter are"localhost:30000"
and([127.0.0.1], 30000)
. See traitToSocketAddr
.
- BREAKING: The utilities crate, it is now replaced by signing built into the client. Please see the updated tests for examples of how to use this.
- BREAKING:
sign_zome_call_with_client
which was used internally but also exposed in the public interface. You probably don't need to call this but if you wish to for some reason then use one of the two new*Signer
types, and convert them to aArc<Box<dyn AgentSigner>>
, then use thesign
method to compute a signature. The logic to prepare the data to be signed is no longer public so you would have to set this up yourself following thesign_zome_call
function in thesigner
module.
- Capability to create zome call signing credentials with the
AdminWebsocket
usingauthorize_signing_credentials
. ClientAgentSigner
type which can store (in memory) signing credentials created withauthorize_signing_credentials
.LairAgentSigner
which is analagous to theClientAgentSigner
but is a wrapper around a Lair client instead so that private keys are stored in Lair.from_existing
method to theAppAgentWebsocket
which allows it to wrap an existingAppWebsocket
instead of having to open a new connection. This is useful if you already have anAppWebsocket
but otherwise you should just use theconnect
method of theAppAgentWebsocket
rather than two steps.
- BREAKING:
AppAgentWebsocket::connect
now takes anArc<Box<dyn AgentSigner>>
instead of aLairClient
. TheArc<Box<dyn AgentSigner>>
can be created from a.into()
on either aClientAgentSigner
or aLairAgentSigner
. Use the latter to restore the previous behaviour. - BREAKING:
AppAgentWebsocket::call_zome
used to take aRoleName
as its first parameter. This is now aZomeCallTarget
. There is a.into()
which restores the previous behaviour. Now you can also pass aCloneCellId
or aCellId
, also using a.into()
. UsingCellId
is stronly recommended for now. Please see the doc comments onZomeCallTarget
if you intend to use the other options.
- Export
AdminWebsocket::EnableAppResponse
to be available downstream.
- Added the
update_coordinators
call in theAdminWebsocket
.
AppAgentWebsocket
as an app websocket tied to a specific app and agent. Recommended for most applications.on_signal
: event handler for reacting to app signals; implemented onAppWebsocket
andAppAgentWebsocket
.
- Bump deps to holochain-0.3.0-beta-dev.26
- Bump deps to holochain-0.3.0-beta-dev.25
- Bump deps to holochain-0.3.0-beta-dev.24
- Bump deps to holochain-0.3.0-beta-dev.23
- Bump deps to holochain-0.3.0-beta-dev.22
- Remove unreachable code in
AppWebsocket::send
. - Bump deps to holochain-0.2.3-beta-rc.0
- Upgrade to security patched version of
webpki
.
- Pin serde to max v1.0.166 properly.
- Pin serde to v1.0.166
- Upgrade holochain_serialized_bytes to v0.0.53
- Upgrade to Holochain v0.2.2.
- Upgrade to Holochain v0.2.2-beta-rc.3.
- Upgrade to Holochain v0.2.2-beta-rc.0.
- Admin API call
graft_records
.
- Upgrade to Holochain v0.2.1.
- Add
storage_info
to the admin websocket. - Add
network_info
to the app websocket.
- BREAKING CHANGE: Upgrade to Holochain 0.2 release candidate ahead of the holochain 0.2 release.
- Upgrade to latest Holochain dependencies.
- Switch to Nix flake for develop environment. Run
nix develop
from now on instead ofnix-shell
. Pass on--extra-experimental-features nix-command --extra-experimental-features flakes
or enable these features for your user in~/.config/nix/nix.conf
.
- Admin API call
get_dna_definition
- Utility crate for authorizing credentials and signing zome calls
- BREAKING CHANGE: Upgrade to Holochain 0.1.0-beta-rc.3
- BREAKING CHANGE: Require all zome calls to be signed.
- BREAKING CHANGE: Rename
install_app_bundle
toinstall_app
. - BREAKING CHANGE: Rename
archive_clone_cell
todisable_clone_cell
. - BREAKING CHANGE: Rename
restore_archived_clone_cell
toenable_clone_cell
. - BREAKING CHANGE: Move
enable_clone_cell
to App API. - BREAKING CHANGE: Refactor
delete_clone_cell
to delete a single disabled clone cell. - BREAKING CHANGE: Refactor
app_info
to return all cells and DNA modifiers. - BREAKING CHANGE: Rename
request_agent_info
toagent_info
.
Compatible with Holochain >= v0.0.165
- Added calls for clone cell management:
- App API: create clone cell
- App API: archive clone cell
- Admin API: restore clone cell
- Admin API: delete archived clone cells
- Added test fixture and tests for clone cells calls
- Upgrade to Holochain v0.0.165
- Upgrade to Holochain v0.0.154
- Upgrade to latest Holochain v0.0.147
- Initial release & publication as a crate