This repository was archived by the owner on Jan 28, 2026. It is now read-only.
Releases: p2panda/aquadoggo
Releases · p2panda/aquadoggo
v0.8.0
Added
- Node API to subscribe to peer connection events #625
- Support private network secured by pre-shared key #635
Changed
- Update
libp2pto version0.53.2and apply API changes #631 - Move relay registration into main network service event loop #632
- Adjust level of replication and materialization logs #639
Fixed
v0.7.4
v0.7.3
v0.7.2
v0.7.1
v0.7.0
v0.6.0
Added
- Serve static files from
blobsdirectory #480 🥞 - Add method to store for pruning document views #491
- Introduce
BlobStore#484 - Task for automatic garbage collection of unused documents and views #500 🥞
- Blobs directory configuration #549
- Integrate
Bytesoperation value #554 - Implement dependency replication for
blob_v1andblob_piece_v1documents #514 - Remove deleted/unused blobs from the file system #571
Changed
- HTTP routes to serve files with correct content type headers #544
- Build a byte buffer over paginated pieces when assembling blobs #547
- Stream blob data in chunks to files to not occupy too much memory #551
- Remove unused methods from
EntryStore#560 - Updates for new hash serialization in p2panda-rs #569
- Use
libp2p0.5.3#570 - Optimize test data generation methods #572
- Use
SocketAddrin network config instead ofMultiAddr#576 - Update
p2panda-rsto0.8.0#585 - Update
libp2pto0.52.4#596
Fixed
- Make sure temporary directory does not run out of scope #557
- Deduplicate generated schema field by key in proptests #558
- Do not panic when blob does not have all pieces yet #563
- Fix
blobtasks being triggered too often #578 - Fix
schematasks being triggered too often #581 - Fix blobs getting corrupted when written to the file system #587
- Fix pagination bug when only one field is selected and sorted at the same time #593
- Fix SQLite in-memory database overwrite by giving them each a random name #595
v0.5.0
Added
- Dial peers discovered via mDNS #331
- Simplify network CLI options and configuration #322
- Introduce
autonatandrelaynetwork protocols #314 - Introduce
identifyandrendezvousnetwork 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
dialerbehaviour 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
structopttoclap#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-graphqlfor dynamic schema generation #287 - Restructure
graphqlmodule #307 - Removed replication service for now, preparing for new replication protocol #296
- Bring back e2e GraphQL API tests #342
- Move GraphQL
typesinto 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
TaskInputan enum and other minor clean ups in materialiser #429 - Use
libp2p0.52.0#425 - Check for duplicate entries arriving to
Ingestbefore 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
sqlxtransactions #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-rs0.7.0 version #293 - Handle decoding and parsing empty pinned relation lists #336
- Make
valueonQueryRowan option #339 - Fix race conditions in SQLite database test runner #345
- Remove duplicate
Cursorimplementation, 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-codecto 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_rowson 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_portwhen cli arg is passed #489 - Move deserialization into PeerMessage to distinct variants correctly #538
Open Sauce
v0.4.0
Added
- GraphQL replication service gets and verifies new entries and inserts them into the db #137
- Dynamically generated GraphQL types and query fields for accessing materialised documents #141 🥞
validationanddomainmodules used for publish and next args API #204 🥞- Schema task and schema provider that update when new schema views are materialised #166 🥞
- Service ready signal #218
- Validate operations against their claimed schema #245
Changed
- Refactor scalars and replication API, replace
graphql-clientwithgql_client#184 - Give error types of worker a string for better debugging #194
- Bump
p2panda-rswhich now supports log id's starting from0#207 - Removed unused field
entry_hashfrom operation data model #221 - Detach test helpers from test storage provider implementation #237
- Remove
Scalarsuffix from scalar types in GraphQL schema #231 - Implement new API for untagged operations #245
- Use
DocumentStoretrait fromp2panda_rs#249 - Increase broadcast channel sizes #257
- Use transaction in
insert_document()#259 - Use
Humandisplay strings in info logging #251 - Implement
p2panda-rsAPI changes forPublicKeyandprevious()#262
Fixed
- Don't return errors from
SchemaStorewhen a schema could not be constructed #192 - Filter out deleted documents in
get_documents_by_schemaSQL query #193 - Resolve implicit
__typenamefield on dynamically generated GraphQL objects #236 - Allow
Content-Typeheader #236 - Do not forget to register
DocumentIdScalar#252 - Fix pagination during replication #199
- Load
DocumentIdto be able to resolve it in meta field query #258
Mushroom Time
- Write a lib-level doc string #263
v0.3.0
Added
- Introduce GraphQL endpoint #81
- Generic task queue with worker pool #82
- Service manager #90
- Service error handling, refactor runtime #92
- Refactor module structure, propagate errors in worker to service manager #97
- Restructure storage modules and remove JSON RPC #101
- Implement new methods required for replication defined by
EntryStoretrait #102 - Implement SQL
OperationStore#103 - GraphQL client API with endpoint for retrieving next entry arguments #119
- GraphQL endpoint for publishing entries #123
- Implement SQL
DocumentStore#118 - Implement SQL
SchemaStore#130 - Reduce and dependency tasks #144
- GraphQL endpoints for replication #100
- Inform materialization service about new operations #161
- e2e publish entry tests #167
- Reschedule pending tasks on startup #168
- Debug logging in reduce task #175
Changed
- Move to
tokioasync runtime #75 - Implement SQL storage using
p2panda_rsstorage provider traits #80 - Improve
Signalefficiency inServiceManager#95 EntryStoreimprovements #123- Improvements for log and entry table layout #124
- Update
StorageProviderAPI afterp2panda-rschanges #129 - Move
SqlStorageinto sharedContext#135 - Refactor tests to use fixtures exported from
p2panda-rs#147 - Use
DocumentViewIdfor previous operations #147 - Use
VerifiedOperation#158 - Refactor
test_dbhelper method #176 - Update
publishEntryparams andnextEntryArgsresponse fields #181