Skip to content

Releases: canvasxyz/canvas

v0.13.3

30 Nov 19:01
Compare
Choose a tag to compare

What's changed

  • Allow json ModelDB fields to accept a null value, whether or not the field is nullable.

v0.13.2

27 Nov 09:59
Compare
Choose a tag to compare

What's changed

  • Added a CanvasLoadable object that provides a synchronously initializable Canvas object.

v0.13.1

27 Nov 09:57
Compare
Choose a tag to compare

What's Changed

  • Action signatures have changed from (db, { ...args }, { ...ctx }) => {} to (db, ...args) => {} to make it easier to construct typed function calls. You can use this to access the context object. Contracts should be updated but applications will continue to be backwards-compatible with previous signed data.
  • Return results of actions by @joeltg in #384
  • Remove IPLD custom action functionality by @joeltg in #383
  • Properly process db operations even if called without await by @raykyri in #382
  • Add db.link() for updating bidirectional relations by @raykyri in #391
  • Add React Native support by @raykyri in #394
  • Add ability to include related models in ModelDB queries, and in useLiveQuery() by @raykyri in #376
  • Explorer improvements: fix router, fix pagination, fix actions endpoint, add more info to API by @rjwebb

Full Changelog: v0.12.0...v0.13.1

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