Skip to content

Releases: textileio/go-threads

v1.1.5

02 Mar 03:48
2809336
Compare
Choose a tag to compare

v1.1.4

26 Feb 17:57
9fc2d3d
Compare
Choose a tag to compare
  • Ensure JS VM interrupt is cleared

v1.1.3

25 Feb 23:14
b74267e
Compare
Choose a tag to compare
  • Fixes the JS virtual machine timeout

v1.1.2

05 Jan 03:44
3be6a41
Compare
Choose a tag to compare
  • Publishes darwin arm64 (m1) compatible binaries
  • Adds a flag to skip thread migration
  • Some readme fixes
  • Reduces logging noise

v1.1.1

22 Aug 17:37
a4dbca8
Compare
Choose a tag to compare

v1.1.0

22 Aug 05:19
aeec4dd
Compare
Choose a tag to compare

Net

  • GetRecords improvements (#471)
  • Adds "thread edges" for more efficient log/record exchange (#477)
  • Adds per-log records limit (#481)
  • Extends net protocol with edge exchange
  • Optimizes processing log records
  • Removes unnecessary signature from on-the-wire messages
  • Adds testground tests
  • Adds thread head counters and thread migration logic
  • Adds ability to control thread log pulling with WithNetPulling and WithNoNetPulling
  • Migrates pubsub to https://github.com/textileio/go-libp2p-pubsub-rpc

DB

  • Fix notifee deadlock on listener close (#476)
  • Adds real count support for limit and skip (#478)
  • Fix concurrent access in DB listeners (#490)

Thanks to community contributors!

@dgtony
@mcrakhman
@chad
@bbigras

v1.1.0-rc1

17 Mar 16:09
879fb54
Compare
Choose a tag to compare
v1.1.0-rc1 Pre-release
Pre-release
Fix concurrent access in DB listeners (#490)

Signed-off-by: Anton Dort-Golts <dortgolts@gmail.com>

v1.0.2

01 Dec 22:16
cef186d
Compare
Choose a tag to compare

DB

  • db.WithNewThreadKey -> db.WithNewKey
  • db.WithNewManagedThreadKey -> db.WithNewManagedKey
  • Fixes an issue that allows the creation of a database with a thread key that doesn't contain a read component (#466)

v1.0.1

13 Nov 19:43
c8aace9
Compare
Choose a tag to compare

Net

  • Balanced thread pulling (#451)
  • Record fetching enhancements (#449)
  • Adds a hybrid in-memory+persisted logstore for read-heavy nodes (#463)

DB

  • Local first optimizations for js-threads (#450)
  • Pass all keys through the NewDB API (#460)

Thanks to community contributors!

@dgtony
@dmerrill6

v1.0.0

23 Sep 20:03
8d32b1b
Compare
Choose a tag to compare

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