Releases: canvasxyz/canvas
Releases · canvasxyz/canvas
v0.10.2
v0.10.1
v0.10.0
Changed
- Rewrites networking, Merkle sync is now non-blocking on both browser and server
- Adds experimental WebRTC gossiplog module
- Better support for concurrent mergeable values. Adds tracking of unique branches in GossipLog
- Handle
undefined
in range expressions and action arguments (undefined will be dropped in objects, or replaced with null in arrays) - Renamed export() to getMessages() in GossipLog
- Fixes issues with experimental wallets
v0.8.29
v0.8.28
Changed
- Bug fixes and stability improvements
- Clean up GossipLog instances when closing Canvas core
- Throw errors when writing to a GossipLog that has been closed
- Improve handling of actions with missing sessions
- Patch autoDialPeerRetryThresholdMs in the libp2p connection manager, because it isn't passed to the dialer component. (Default to 1000ms in the browser)
- Upgrade to libp2p 1.5.1
v0.8.27
Changed
- Adds
isUniversalReplication?: boolean
option to the discovery service. By default, replication servers will not auto-start topics that are only signaled by other replication servers. - Adds
bannedTopics?: () => string[]
option to the discovery service. Banned topics will not be signaled over active discovery, and replication servers will refuse to replicate them. - Adds
@canvas-js/probe-server
, which uses a headless Chromium browser to verify that replication servers are online. - Better metrics and monitoring.
v0.9.1
v0.9.0
Changed
- This release introduces new codecs and signed data formats in order to support onchain action/session verification.
- To create actions/sessions that can be verified onchain, use
Eip712Signer
to sign sessions, andSecp256k1DelegateSigner
to sign actions. By default, applications useSIWESigner
andEd25519DelegateSigner
. - Data formats have changed, and are no longer compatible with past versions' data stored on disk. Applications will need to be reset when moving to 0.9.
- To create actions/sessions that can be verified onchain, use
- No further changes are planned for data formats or signatures at this time, so the next release (v0.10) will only be a networking upgrade.
- This release is optimized for server-to-server sync only, so browser-to-server sync applications (e.g. using full Canvas/libp2p nodes in the browser) should stay on v0.8.26 until v0.10 is released.
Added
- Added
packages/ethereum-contracts
with Solidity contracts and examples. - Added Postgres support. Canvas applications, ModelDB databases, and GossipLog instances can now use Postgres v14+ as a backing store.
Signers
- Ethereum EIP712 + Secp256k1
- Ethereum SIWE + Ed25519
- Solana SIWS + Ed25519 (beta)
- Cosmos / Terra / Evmos via Cosmos Wallet / Evmos via Ethereum Wallet (beta)
- Substrate / Polkadot (unstable)
- Bluesky (unstable)
- NEAR (unstable)