Skip to content

immustore

Choose a tag to compare

@mmeloni mmeloni released this 22 Dec 17:19
· 3315 commits to master since this release

Changelog

[v0.9.0-RC1] - 2020-12-22

Bug Fixes

  • cmd/immuclient: print referenced key
  • cmd/immuclient: print referenced key
  • embedded/store: fix race condition
  • embedded/store: fix race condition
  • embedded/store: contemplate bad-formated proof
  • embedded/tbtree: fix issue when initialKey is greater than keys
  • pkg/common: fix leftover in index wrapper
  • pkg/database: lookup for referenced key when atTx is non-zero
  • pkg/database: working scan and zscan without pagination
  • pkg/database: add cyclic references validation during resolution
  • pkg/database: use EncodeReference in ExecAllIOps
  • pkg/database: referenced key lookup when atTx is non-zero
  • pkg/database: adjust execAll method
  • pkg/databse: encoding of reference and zadd

Changes

  • new proto definitions
  • proof proto definition
  • datatype conversion methods
  • inject store reader inside zscan
  • partial fix of scan test
  • remove badger and merkletree dependencies
  • api/schema: removed consistency method
  • cmd: adjusted commandline tools
  • cmd/immuclient: add verified operations
  • cmd/immuclient: add support for safe operations
  • database: implements ByIndex operation
  • database: implements safeByIndex operation
  • database: several fixes and unit testing adaptation
  • database: contemplates the case not previously verified tx
  • database: implements safeSet operation
  • embedded: rename as SnapshotSince
  • embedded/htree: minor changes in proof struct
  • embedded/htree: internal linear proof renaming
  • embedded/store: minor proof renaming
  • embedded/store: return ErrTxNotFound when attemping to read non-existent tx
  • embedded/store: add tx constructor with entries
  • embedded/store: return txMetadata when tx on commit
  • embedded/store: allow empty values and don't attempt to store in vlog
  • embedded/store: adjustments on store reader
  • embedded/store: add snapshotAt and adjust based on it
  • embedded/store: wrap keyNotFound index error
  • embedded/store: change tx proof method signature
  • embedded/store: add method to retrieve tx metadata
  • embedded/store: minor changes in proof struct
  • pkg: rename to ReferenceRequest
  • pkg: rename to CurrentState
  • pkg: several minor changes
  • pkg: rename to sinceTx
  • pkg/api: rename to Entry and ZEntry and embedded Reference
  • pkg/api: several improvements on grpc api
  • pkg/api: add copyright notice
  • pkg/api: new proof messages
  • pkg/api: add vLen property to TxEntry
  • pkg/api: new server proto definition
  • pkg/api: remove digest data type
  • pkg/auth: adjust permissions based on new api
  • pkg/client: minor renaming to improve readability
  • pkg/client: adjusted client providers
  • pkg/client: add safe method alises for backwards familiarity
  • pkg/client: adjusted golang client
  • pkg/database: fixed methods with prefix mgmt, including scan
  • pkg/database: minor adjustments
  • pkg/database: mutex for reusable txs
  • pkg/database: return functionality not yet implemented for VerifiableSetReference
  • pkg/database: remove ambiguity in references
  • pkg/database: zscan order with tx after key
  • pkg/database: wait for indexing on execAll
  • pkg/database: delay locking until indexing is done
  • pkg/database: get from snapshot or directly from store
  • pkg/database: add sinceTx to reference and make it handle key prefixes
  • pkg/database: fix get/set with prefix wrapping/unwrapping
  • pkg/database: implements new DB api using embedded storage
  • pkg/ring: remove ring pkg
  • pkg/server: partial use of embedded storage
  • pkg/server: return number of tx as db size
  • pkg/server: prevent logging request details
  • pkg/server: getBatch operation
  • pkg/server: implements history operation
  • pkg/server: proof construction in safeget operation
  • pkg/server: adjusted state signer
  • pkg/server: adjusted UUID handler
  • pkg/server: remove in-memory option
  • pkg/server: disable proactive corruption checker
  • pkg/server: disable cc
  • pkg/server: adapt implementation to new api
  • pkg/server: adapt to new database implementation
  • pkg/server: comment unimplemented GetReference method
  • pkg/store: moved package
  • pkg/tbree: reader with descOrder
  • server: implements safeGet
  • server/api: minor changes in Item element

Code Refactoring

  • pkg/server: add database interface and inject in server package
  • pkg/server: move database to new package

Features

  • partial implementation of safeGet
  • add store reader, scan and sorted sets
  • embedded: inclusiveSeek point when reading
  • embedded: add Get operation without the need of a snapshot
  • embedded/tbtree: use seek and prefix
  • pkg/client: add GetSince method
  • pkg/client: implements latest server API
  • pkg/database: complete set and get reference methods
  • pkg/database: uniform implementation for set, references, zadd, scan and zscan operations
  • pkg/database: add execAllOps
  • pkg/database: support for seekable scanning
  • pkg/database: consistent reference handling, prevent cyclic references
  • pkg/database: verify reference upon key resolution
  • pkg/server: expose store options

Downloads

Docker image
https://hub.docker.com/r/codenotary/immudb

Immudb Binaries

File SHA256
immudb-v0.9.0-RC1-darwin-amd64 48a6a390553216873b9816f893656d4883523512c135c268e228c13fdbebb903
immudb-v0.9.0-RC1-linux-amd64 078b174d38db1c4228fc945f4ef04ff59f915f0d29069cecfb560731850bdae3
immudb-v0.9.0-RC1-linux-amd64-static dd4f26e5841c6dbae4635ab3dee7911c67afa5e6da86c63d5dd1bec36f36021e
immudb-v0.9.0-RC1-linux-s390x 423dc4ce2d3f92801650fc55e4e9612843b54e9bffb0ca1c0ef09cc25ae78f59
immudb-v0.9.0-RC1-windows-amd64.exe 5348dea14a93f51fcc619c8605ddcf5b9ee4301ad3efe803d8014e477f33cc23

Immuclient Binaries

File SHA256
immuclient-v0.9.0-RC1-darwin-amd64 8342137cb4d2e98da07079be3d1fdbb17d6661027dec6451a936045c4aa1fe38
immuclient-v0.9.0-RC1-linux-amd64 7d6cd8cab0be03e6d8122350a693b66398d996ad9c0b3c19067c867b254e0ce0
immuclient-v0.9.0-RC1-linux-amd64-static 63294e9897b00f65825049ec9c8f981cf4c5a363ac8bf2748416d1225a9fb1f7
immuclient-v0.9.0-RC1-linux-s390x ee2980c4e217aaa9a41ac080e6d33ea563b908d008a4ec7038d4c16cb40c847f
immuclient-v0.9.0-RC1-windows-amd64.exe 8d5d417c8765d903ffbf6357dd6934f27df9572f9821d066caa3eaad6f2a5d73

Immuadmin Binaries

File SHA256
immuadmin-v0.9.0-RC1-darwin-amd64 7cc9d249552ef4de405653576dbb4b4faa0a3e5025f0337ab06cbbb8bcd01a59
immuadmin-v0.9.0-RC1-linux-amd64 6db247fb96b6f25a5d40417e91490aea0bbb9113ae8d6ec0d0d82f94d09c2a66
immuadmin-v0.9.0-RC1-linux-amd64-static 7af831b38bf8bfffe418ef67e2f6db565f719a647f917249deab83e2fd698a07
immuadmin-v0.9.0-RC1-linux-s390x a061a6a04a310d6d5d10ec380f760da4bfdcbd9c0eae9c67bdabc535249730bf
immuadmin-v0.9.0-RC1-windows-amd64.exe 8b1b4706ef0d3ad3cf2f3c8463fe6309ec522d9b77ab78d41e9e43ab038ada6d