immudb v0.0.0-20200206 Release Notes
Release Date: 2020-02-06 // about 4 years ago-
๐ Bug Fixes
- client dial retry and health-check retry counting
- missing dependencies
- โ address parsing
- apply badger options in bm
- 0๏ธโฃ client default options
- typo
- ๐ pin go 1.13 for CI
- nil out topic on server shutdown
- get-batch for missing keys
- server re-start
- protobuf codegen
- rpc bm startup
- bm: allow GC
- bm/rpc: await server to be up
- client: missing default options
- db: correct treestore data race
- db: correct cache pre-allocation
- db: workaround for tree indexes when reloading
- db: cannot call treestore flush on empty tree
- db: correct tree cache positions calculation at boostrap
- db: include key as digest input
- db: correct tree width calculation at startup
- db: default option for sync write
- db/treestore: revert debug if condition
- pkg/server: correct nil pointer dereferences
- pkg/server: correct nil pointer dereference on logging
- pkg/store: correct inclusion proof call
- pkg/store: correct key prefix guard
- pkg/store: add miss condition to limit scan result
- server: avoid premature termination
- tools/bm: stop on error and correct max batch size
- tree: benchmark timers
- tree:
at
cannot be equal to width - tree: handle missing node in mem store
- tree: correct root of an empty tree
๐ Changes
- ๐จ server refactoring
- ๐ rename module
- editorconfig
- gitignore
- gitignore immu binaries
- gitignore vendor
- โฌ๏ธ bumps badger to v2.0.1
- โก๏ธ update .gitignore
- โ remove stale files
- โก๏ธ update copyright notice
- gitignore bm binary
- gitignore bm binary
- ๐ change default data dir to "immustore"
- gitignore working db directory
- nicer error reporting on client failure
- immu client cleanup
- client option type
- ๐ณ docker cleanup
- ๐จ server options refactoring
- ๐ท trigger CI on PRs
- ๐ move server options to type
- โฌ๏ธ bump badger to latest v2
- โ remove dead client code
- license headers
- ๐จ server options refactoring
- client connection wording
- license headers
- api cleanup
- ๐ฒ logging cleanup + thresholds
- more load on rpc bm
- ๐ improved logging
- simplified client interface
- extract client health check error
- ๐จ client error refactoring
- missing license headers
- ๐จ refactor rpc bms
- โ add license headers
- ๐จ refactor server logging
- ๐ move client options to type
- strip bm binary
- ๐ make all target
- clean bm binary
- ๐ improved server interface
- rpc bm cleanup
- minor cleanup in bench.py
- ๐ new db constructor with options
- api: add index in hash construction
- bm: fine tuning
- bm/rpc: print error
- client: add ByIndex rpc
- cmd/immu: align commands to new APIs
- db: return item index
- db: correct logging messages
- db: default options
- db: treestore improvements
- db: switch to unbalanced tree test
- db: add default logger
- db: treestore entries discarding and ordering
- db: fine tuning
- immu: improve printing
- immu: improved membership verification
- logger: expose logging level
- pkg/api: add Hash() method for Item
- pkg/api/schema: get new root from proof
- pkg/api/schema: relax Proof verify when no prev root
- pkg/api/schema: refactor bundled proof proto message
- pkg/api/schema: add Root message and CurrentRoot RPC
- pkg/db: split data and tree storage
- pkg/store: code improvements
- pkg/store: add error for invalid root index
- pkg/tree: add verification for RFC 6962 examples
- pkg/tree: improve comment
- schema: add index
- server: add ByIndex rpc
- tools: add nimmu hacking tool
- tools: benchmark
- tools: armonize comparison settings
- tools: no logging needed for nimmu
- tools: add makefile target for comparison
- tools: benchmark
- tools/bm: correct method signature to accomodate indexes
- tools/nimmu: improve input and output
- tree: correct returned value for undefined ranges
- tree: clean up map store
- tree: correct MTH test var naming
- tree: reduce testPaths
- tree: remove unnecessary int conversion
- tree: add map store test
- tree: add print tree helper for debugging
- tree: add map backed mem store for testing
- tree: add IsFrozen helper
๐จ Code Refactoring
- ๐ change APIs according to the new schema
- ๐ฆ reviewed schema package
- rname "membership" to "inclusion"
- ๐ use []byte keys
- "db" pkg renamed to "store"
- ๐ logging prefixes and miscellany renamed according to immustore
- env vars prefix renamed to IMMU_
- ๐ rename module to immustore
- db: new storing strategy
- db: use Item on ByIndex API
- db: use ring buffer for caching
- pkg/tree: improve coverage and clean up
- server: metrics prefix renamed to immud_
- tree: AppendHash with side-effect
- tree: testing code improvement
- tree: switch to unbalanced tree
- tree: reduce lookups
- tree: remove unnecessary Tree struct and correct int sizes
- tree: simplify Storer interface
- tree: trival optimization
๐ Features
- extract rpc bm constructor
- ๐ initial draft for storing the tree alongside the data
- immu client
- ๐ Makefile
- basic protobuf schema
- poc transport format
- poc grpc server
- poc grpc client
- poc server wiring
- poc client wiring
- topic wiring
- poc topic get
- ๐ฆ expose metrics
- server topic get wiring
- poc cli args
- ๐ client-side performance logs
- transport schema cleanup
- ๐ณ docker
- server options
- client options
- server options for dbname
- ๐ป immud command line args
- client cli args
- ๐ฒ logging infrastructure
- ๐ set stdin support
- โ add healtcheck command
- client type
- treestore with caching
- ๐ make bm
- batch-set
- no healthcheck/dial retry wait-period when set to 0
- bm tooling
- ๐ bm improvements (rpc-style and in-process api calls)
- scylla comparison
- immud health-check
- batch get requests
- ๐จ pretty-print client options
- client connect and wait for health-check
- stateful client connection
- return item index for get and set ops
- ๐ฆ expose dial and health-check retry configuration
- apply env options for server
- apply env options for client
- server options from environment
- client options from environment
- client connect with closure
- client errors extracted
- named logger
- bm memstats
- CI action
- server health-check
- db health-check
- set-batch bm
- client set-batch
- key reader
- ๐ initial project skeleton
- api: add item and item list data structure
- api: add membership proof struct
- client: membership command
- client: add history command
- cmd/immu: scan and count commands
- db: add membership proof API
- db: async commit option
- db: add history API to get all versions of the same key
- db: get item by index
- pkg/api/schema: SafeGet
- pkg/api/schema: consistency proof API
- pkg/api/schema: add SafeSet to schema.proto
- pkg/api/schema: ScanOptions
- pkg/api/schema: added Scan and Count RPC
- pkg/client: Scan and Count API
- pkg/client: consistecy proof
- pkg/server: SafeSet RPC
- pkg/server: SafeGet RPC
- pkg/server: consistency proof RPC
- pkg/server: CurrentRoot RPC
- pkg/server: Scan and Count API
- pkg/store: SafeGet API
- pkg/store: count API
- pkg/store: consistency proof
- pkg/store: SafeSet
- pkg/store: CurrentRoot API
- pkg/store: range scan API
- pkg/tree: consistency proof
- pkg/tree: Path to slice conversion
- pkg/tree: consistency proof verification
- pkg/tree: test case for RFC 6962 examples
- ring: ring buffer
- schema: add message for membership proof
- server: add membership rpc
- server: support for history API
- tree: audit path construction
- tree: membership proof verification
- tree: Merkle Consistency Proof reference impl
- tree: Merkle audit path reference impl
- tree: Storer interface
- tree: draft implementation
- tree: MTH reference impl
๐ [Unreleased]: https://github.com/vchain-us/immudb/compare/v1.4.1...HEAD