Releases: canvasxyz/canvas
Releases · canvasxyz/canvas
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)
v0.8.26
v0.8.25
v0.8.22
v0.8.21
v0.8.20
Added
- You can now subscribe to peer presence for other applications sharing the same discovery topic. Use
trackAllPeers
when configuring your application to getpresence:join
andpresence:leave
events for other application topics. - Added
presenceTimeout
configuration option, for applications that want to keep offline presence peers around for longer, instead of flushing them from the cache as soon as they go offline.
Changed
- Improved handling of presence cache and presence:leave events.
- Fixed an issue with the
useCanvas
hook where multiple libp2p instances would be created in development, if React Strict Mode was turned on.