v1.0.0
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 aRecord
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 likeSave
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 instanceID
before running a querySkip
is an alternative way to paginate (not as efficient asSeek
, 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 resultsOrderByIDDesc
: Specifies descending ID order for the query results
Core
- Adds
encoding.BinaryMarshaler
andencoding.BinaryUnmarshaler
tothread.Identity
- Adds
Decrypt
tothread.Identity
- Adds
Encrypt
tothread.PubKey
Misc.
- Updates README with more relevant info and a flushed out Getting Started section.
- Updates
go-libp2p
tov0.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!