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