Releases: canvasxyz/canvas
Releases · canvasxyz/canvas
v0.2.0
What's Changed
- Preliminary support for custom actions!
Core.applyAction
andCore.applySession
have been replaced withCore.apply
, which can be called with either sessions, actions, or custom actions.- Upgraded QuickJS to add native BigInt support within contracts.
- The libp2p node has been moved inside the
Core
class. Each app now runs its own libp2p node, with its own persistent PeerId. - The RPC protocol no longer depends on communicating the types of messages, and just references them by hash. The libp2p protocol string has been upgraded from
/x/canvas/sync/v1/{cid}
to/x/canvas/sync/v2/{cid}
. - The
canvas daemon
,canvas start
, andcanvas stop
CLI commands have been removed. - The
@canvas-js/next
package has been deprecated.
Full Changelog: v0.1.3...v0.2.0
v0.1.3
v0.1.2
v0.1.1
v0.1 is the first release candidate for Canvas, and reflects a basic level of stability that makes it possible to build chat, social, and other interactive applications, that sync and persist without blockchain consensus.
- CLI: Deploy single-page apps using the
canvas run
command to serve an API. Use the--static
flag to serve an included frontend. - React Hooks: We include React hooks for interacting with Canvas applications from the frontend. The hooks currently support Ethereum-compatible chains only, and can optionally be used with wagmi, ConnectKit, and/or RainbowKit.
- On-chain integration: Read from on-chain using contract hooks.
- Upgradeability: Contracts can be upgraded by using sources.
- Examples: We include example Canvas applications in Webpack and Next.js, which deploy to Fly.io.