immudb v0.9.0-RC1 Release Notes

Release Date: 2020-12-22 // over 3 years ago
  • ๐Ÿ› 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