Skip to content

Version 0.8.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 17 Mar 06:09
· 409 commits to main since this release
v0.8.0
49ec7bd

This release changes the journal.Store and journal.Journal interfaces to be generic types, parameterized over records of type T, and the kv.Store and kv.Keyspace to be parameterized over types K and V, thereby making the typedjournal and typedkv packages obsolete.

This eliminates the need for duplicating all of the generic algorithms (such as Search(), LastRecord(), etc) for both binary and typed implementations.

Added

  • Added journal.BinaryStore, BinaryJournal and BinaryRangeFunc aliases, equivalent to prior (non-generic) definitions of Store, Journal and RangeFunc, respectively.
  • Added kv.BinaryStore, BinaryKeyspace and BinaryRangeFunc aliases, equivalent to prior (non-generic) definitions of Store, Keyspace and RangeFunc, respectively.
  • Added marshaler.ProtocolBuffers marshaler.
  • Added marshaler.Bool marshaler.
  • Added journal.NewMarshalingStore() and kv.NewMarshalingStore(), which wrap binary implementations with a marshaler.Marshaler, serving as a replacement for the typedjournal and typedkv packages, respectively.
  • Added journal.Scan() and ScanFromSearchResult()

Changed

  • [BC] Changed journal and kv interfaces to be generic.
  • [BC] Moved typedmarshaler package to marshaler at the root of the module.

Removed

  • [BC] Removed typedjournal, typedkv and typedmarshaler packages.