Skip to content

v0.5.0

Compare
Choose a tag to compare
@github-actions github-actions released this 31 Aug 16:04
· 58 commits to main since this release

Added

  • Dial peers discovered via mDNS #331
  • Simplify network CLI options and configuration #322
  • Introduce autonat and relay network protocols #314
  • Introduce identify and rendezvous network protocols / behaviours #304
  • Introduce libp2p networking service and configuration #282
  • Create and validate abstract queries #302
  • Support paginated, ordered and filtered collection queries #308
  • SQL query for collections #311
  • Add custom validation to GraphQL scalar types #318
  • Introduce property tests for GraphQL query API with proptest #338
  • Introduce initial libp2p network behaviour for replication protocol #365
  • Replication protocol session manager #363
  • Replication message de- / serialization #375
  • Naive protocol replication #380
  • Integrate replication manager with networking stack #387 🥞
  • Reverse lookup for pinned relations in dependency task #434
  • Persist and maintain index of operation's position in document #438
  • Introduce dialer behaviour with retry logic #444
  • Introduce peer sampling to the replication service #463
  • Only replicate and materialize configured "supported schema" #569
  • Parse supported schema ids from config.toml #473
  • Fix relayed connections, add DCUtR Holepunching and reduce CLI args #502
  • Announce supported schema ids in network before replication #515
  • Allow & block lists, direct dial known peers, connect to multiple relays #542

Changed

  • Migrate CLI from structopt to clap #289
  • Rework test runner and test node population patterns and refactor test_utils #277
  • Implement API changes to p2panda-rs storage traits, new and breaking db migration #268
  • Move all test utils into one module #275
  • Use new version of async-graphql for dynamic schema generation #287
  • Restructure graphql module #307
  • Removed replication service for now, preparing for new replication protocol #296
  • Bring back e2e GraphQL API tests #342
  • Move GraphQL types into separate modules #343
  • Set default order for root queries to document id #352
  • Remove property tests again because of concurrency bug #347
  • Incrementally update documents in materializer #280
  • Decouple p2panda's authentication data types from libp2p's #408
  • Make TaskInput an enum and other minor clean ups in materialiser #429
  • Use libp2p 0.52.0 #425
  • Check for duplicate entries arriving to Ingest before consuming #439
  • Replicate entries in their topologically sorted document order #442
  • Remove "quick commit" from materialization service #450
  • Reduce WARN level logging in network and replication services #467
  • mDNS and AutoNAT disabled by default #475
  • By default, nodes support any schema #487
  • Rework networking service #502
  • Deduplicate peer connections when initiating replication sessions #525
  • Improve consistency and documentation of configuration API #528
  • Improve log level config and user interface #539

Fixed

  • Correct use of sqlx transactions #285
  • Fix race-condition of mutably shared static schema store during testing #269
  • Introduce flag to requeue tasks in worker queue, fixes race-condition in materialization logic #286
  • Update breaking API calls for new p2panda-rs 0.7.0 version #293
  • Handle decoding and parsing empty pinned relation lists #336
  • Make value on QueryRow an option #339
  • Fix race conditions in SQLite database test runner #345
  • Remove duplicate Cursor implementation, query code clean up #346
  • Fix SQL ordering to correctly assemble resulting rows to documents #347
  • Fix parsing lists arguments twice in GraphQL #354
  • Sort paginated query field rows by document view id #354
  • Fix missing field when filtering owner #359
  • Bind untrusted user filter arguments in SQL query #358
  • Reintroduce property tests for GraphQL query api #362
  • Fix cursor pagination over ordered queries #412
  • Fix issue where filtered queries fail on updated fields #409
  • Fix insertion of view before document is materialized #413
  • Handle duplicate document view insertions in reduce task #410
  • Fix race condition when check for existing view ids was too early #420
  • Use fork of asynchronous-codec to temporarily fix CBOR decoding bug #440
  • Fix composing of circuit relay address #451
  • Correct selection of comparison field during pagination #471
  • Don't check for affected_rows on task deletion #461
  • Do not critically fail when view does not exist due to race condition #460
  • Do nothing on log insertion conflict #468
  • Don't update or announce an update in schema provider if a schema with this id exists already #472
  • Do nothing on document_view insertion conflicts #474
  • Only over-write http_port when cli arg is passed #489
  • Move deserialization into PeerMessage to distinct variants correctly #538

Open Sauce

  • CI: Temporary workaround for Rust compiler bug #417
  • CI: Update actions #455