Skip to content

v1.0.0

Compare
Choose a tag to compare
@sanderpick sanderpick released this 23 Sep 20:03
· 171 commits to master since this release
8d32b1b

Net

  • Allows a single thread host to maintain multiple logs for a given thread authored by different identities.
  • Provides a mechanism to allow an App to validate a Record before it's committed to a log.
  • Improved semaphore contention during log orchestration (#435)
  • Makes libp2p pubsub of thread records optional (off by default) (#415)
  • Exposes all gRPC dial-options (#427)

DB

  • Adds a Verify method that function much like Save but does not commit the generated actions. This is useful in a transaction to know if a future action will be permitted.
  • Collections can now take a JS function that validates collection writes. This opens the door to a lot of complex use cases, e.g., Buckets uses this feature to implement file-level access control.
  • Collections can now take a JS function that filters collection reads. This opens the door to a lot of complex use cases, e.g., Buckets uses this feature to implement file-level access control.
  • Transactions now returns errors without ending the transaction (#438)
  • The internal transaction Discard method is now part of the gRPC API (#437)
  • Adds more options to ds.Query:
    • Seek to an instance ID before running a query
    • Skip is an alternative way to paginate (not as efficient as Seek, but a better fit in cases where the IDs aren't dictating result order)
    • Limit the number of query results
  • Adds a couple ds.Query helpers:
    • OrderByID: Specifies ascending ID order for the query results
    • OrderByIDDesc: Specifies descending ID order for the query results

Core

  • Adds encoding.BinaryMarshaler and encoding.BinaryUnmarshaler to thread.Identity
  • Adds Decrypt to thread.Identity
  • Adds Encrypt to thread.PubKey

Misc.

  • Updates README with more relevant info and a flushed out Getting Started section.
  • Updates go-libp2p to v0.10.3
  • Removes the replace directives in go.mod, which are cumbersome for downstream projects.
  • Cleans up old / unused things:
    • Android client (not maintained)
    • threads shell (to be replaced with the NodeJS REPL)
    • examples (they are dated and will be superseded by the README examples)

Closes #418
Closes #406
Closes #401
Closes #423
Closes #174

Thanks to community contributors!

@dgtony
@requilence