Skip to content

Releases: canvasxyz/canvas

v0.12.0

13 Oct 15:57
Compare
Choose a tag to compare

What's Changed

  • Add typings to model operations inside actions, update Canvas type to be generic over ModelSchema by @raykyri in #369
  • Add experimental Durable Objects backend for ModelDB and GossipLog @raykyri in #350
  • Add getMany function to ModelDB by @rjwebb in #349

Full Changelog: v0.11.0...v0.12.0

v0.11.0

02 Oct 06:48
Compare
Choose a tag to compare

What's Changed

  • Adds a WebSocket API for GossipLog (@joeltg in #339). This includes a new Express-like API for connecting Canvas runtime and GossipLog instances to peers and servers, that uses hub-and spoke sync over browser-to-server WebSockets. Networking has also been rewritten to be more robust for libp2p mesh topologies.
  • Adds ModelDB API support for conditions when calling count (@rjwebb in #341)
  • Adds ModelDB API for clearing tables (@raykyri in #342)
  • Adds support for snapshotting the ModelDB state of an application (@raykyri in #343)

Full Changelog: v0.10.10...v0.11.0

v0.10.10

29 Aug 16:08
Compare
Choose a tag to compare

Changed

  • Add ability to send actions from @canvas-js/cli.
  • Support TypeScript contracts in @canvas-js/cli.
  • Support http:// bootstrap URLs
  • Tune libp2p params to allow more simultaneous connections

v0.10.9

22 Aug 21:33
Compare
Choose a tag to compare

Changed

  • Require Node v20. (Unofficially, you may still use Node v18 by using the --experimental-global-customevent flag when starting Node.js.)
  • Fix bug in ModelDB range expressions for empty filters

v0.10.8

22 Aug 21:31
Compare
Choose a tag to compare

Changed

  • Move @types/react into peerDependencies for @canvas-js/modeldb-idb, to prevent React type conflicts

v0.10.7

22 Aug 21:31
Compare
Choose a tag to compare

Changed

  • Fix protobuf field handling for protons v3 that could cause sync to fail for certain Merkle histories
  • Support undefined NotExpression values in ModelDB
  • Upgrade libp2p dependencies

v0.10.6

22 Aug 21:30
Compare
Choose a tag to compare

Changed

  • Updates to GossipSub configuration based on network testing
  • Upgrade libp2p dependencies
  • Fixes to sync: prevent syncs from terminating early after 3 seconds
  • Fix bug in getSession()
  • Simplify integration with libp2p by moving libp2p creation to GossipLog

v0.10.5

22 Aug 21:27
Compare
Choose a tag to compare

Changed

  • Fix session expiration check when minExpiration is not provided
  • Rename libp2p/browser -> libp2p/browser-webrtc, libp2p/browser-lite -> libp2p/browser; use libp2p/browser by default

v0.10.4

22 Aug 21:25
Compare
Choose a tag to compare

Added

  • Added @canvas-js/modeldb-sqlite-wasm package implementing ModelDB on OPFS SQLite

Changed

  • Added exports for SIWESessionData, Eip712SessionData
  • Upgrade libp2p dependencies
  • Fix sync bugs: End it-pushables after streams close; add clear() to DelayableController
  • Create discovery package for manual direct libp2p peer fetching

v0.10.3

22 Aug 21:23
Compare
Choose a tag to compare

Changed

  • Fixed a race condition with async inserts into GossipLog