Releases
v0.6.0-RC1
Compare
Sorry, something went wrong.
No results found
Changelog
[v0.6.0-RC1] - 2020-05-11
Bug Fixes
change user message when new password is identical to the old one
remove common package
use grpc interceptors for authentication
place password input on the same line with the password input label
store auth tokens in user home dir by default and other auth-related enhancements
fix structured values integration
disabling CGO to removes the need for the cross-compile dependencies
remove useless error. dgraph-io/badger@c6c1e5e
return correct error in safeZAdd handler
upadating takama/daemon to fix freebsd compilation. closes #160
split main fails in separate folders
fix immugw immud services in windows os
improving config management on linux and improved usage message
add immugw exec to docker image
wrap root_service with mutex to avoid dirty read
fix env vars. Switch to toml
prevent immuadmin users other than immu to login
env vars names for immudb port and address in CLIs help
enhance authentication and user management
environment variables
fix bug related to retrieve a versioned element by index
use arguments instead of flags for user create, change-password and deleted
fix reading user input for passwords
return verified item on safeset
code format for multiple files to comply with Go coding standards
/pkg/gw: manage 0 index value in history
/pkg/gw: manage 0 index value in safeget
/pkg/gw: fix guard
cmd: get and safeget error for non-existing key
cmd: remove short alias for tokenfile flag
cmd/immu: fix backup file opening during restore
cmd/immu: Fix newline at the end of restore/backup success message
cmd/immu: set auth header correctly
cmd/immuadmin: generate admin user if not exists also at 1st login attempt with user immu
cmd/immuadmin: verify old password immediately during change-password flow
cmd/immuadmin: fix uninstall automatic stop
cmd/immuadmin/command/service: fix windows helper import
cmd/immuadmin/command/service: fix group creation
cmd/immuadmin/command/service: fix config files in windows
immuclient: do not connect to immudb server for version or mangen commands
immudb/command: fix command test config file path
immupopulate: do not connect to immudb server for version or mangen commands
pkg/api/schema: fix typos
pkg/client: fix stream closing to complete restore
pkg/client: fix cleaning on client tests
pkg/client: fix root file management
pkg/client/cache: manage concurrent read and write ops
pkg/gw: fix hash calc for reference item
pkg/gw: fix lock release in case of errors
pkg/gw: ensure computed item's matches the proof one for safeset
pkg/gw: fix error handling in safe method overwrite
pkg/gw: manage concurrent safeset and get requests
pkg/gw: improve immugw logging
pkg/gw: use leaf computed from the item
pkg/gw: fix gw stop method
pkg/gw: refactor overwrite safe set and get request in order to use dependencies
pkg/server: correct error checking
pkg/server: improve immudb logging
pkg/store: correct health check error comparison
pkg/store: correct gRPC code for key not found error
pkg/store: badger's errors mapping
pkg/store: truncate set to true for windows
pkg/store: fix #60 .
Changes
get rid of password generating library
update .gitignore
linux services are managed by immu user
add missing dep
update deps
simplify error during first admin login attempt
marshal options to JSON in String implementations
grpc-gateway code generation
Add swagger generation command
switch to 2.0.3 go_package patched badger version
simplify .gitignore
import badger protobuffer schema
rename immutestapp to immutest
Update makefile in order to use badeger on codenotary fork
fix compilation on OS X
Switch services default ports
improve configuration features on services management
prefix version-related variable holding common ldflags so that it matches the convention used for the other version-related variables
add pid params in config
fix typo in dump command help
remove default version value from immu* commands
change default output folder for man pages generation
rename immupopulate to immutestapp
remove app names from ldflags in Makefile, update immudb description in help
Switch config format to toml
Fix namings conventions on immud command config properties
Remove man pages
Fix coding style
move token file name into options and some cleanup
Print immud running infos properly
merge code changes related to histograms and detached server options
refactor immuadmin and stats command to allow dependency injection of immu client
change label from "latency" to "duration" in immuadmin statistics
remove types.go from immuadmin statistics cmd
rename functions that update metrics
integrate latest changes from master branch
update termui transitive dependencies
move immuadmin metrics struct to dedicated file
rewrite immuadmin client to align it with latest refactorings
fix project name in CONTRIBUTING.md
Suppression of ErrObsoleteDataFormat in order to reduce breaking changes
fix typo in raw command usage help
rename backup to dump, and disable restore
info if starting server with empty database
use exact number of args 2 for set and safeset
Set correct data folder and show usage in config. closes #37
instructions after make
update default dbname in server config
remove immuclient from default make target
protect default data folder from being inserted in repo
change config path in server default options
change default immudb data folder name from "immudb" to "immudata"
rename binaries and configs
rename test config file
remove codenotary badger fork requirement
rename command "consistency" to "verify"
remove codenotary badger fork requirement
change auth header to string
rename command "verify" to "check-consistency"
simplify auth options in immu client
improve login help and cleanup irelevant TODO comment
add host and version to swagger json
move server password generation to server start
get rid of locks on immuclient during login and user during set password
use all lowercase for immudb everywhere it is mentioned to the user
Switch config format to ini
cmd: add env vars to commands help and man
cmd: addutility to manage a y/n dialog
cmd: enhance unauthenticated message
cmd/immu: Add reference in command line
cmd/immuadmin: set titles to green and use grid width instead of terminal width to determine plots data length
cmd/immuadmin: remove duplicate dependency
cmd/immuadmin: remove log files in uninstall
cmd/immuadmin: improve code organization and help messages
cmd/immuadmin: remove unused varialble in user command
cmd/immuadmin: extract to functions the init and update of plots in visual stats
cmd/immuadmin: fix examples alignment in user help
cmd/immuadmin: remove ValidArgsFunction from user sub-command
cmd/immuadmin: improved immuadmin service ux
cmd/immuadmin: fix build on freebsd
cmd/immuadmin/commands: fix typo in error message and remove useless options
cmd/immuadmin/commands: fix empty imput and improve immugw install ux
cmd/immugw: overwrite safeZAdd default handler
cmd/immugw: Use default options values
cmd/immugw: overwrite safeReference default handler
immuclient: move pre and post run callbacks to sub-commands
pkg/auth: improve local client detection
pkg/client: add reference client command
pkg/client: add ZAdd and ZScan client methods
pkg/gw: fix default config path for immugw
pkg/gw: refactor handlers in order to use cache adapters
pkg/gw: remove useless check on path
pkg/gw: manage panic into http error
pkg/server: return descriptive error if login gets called when auth is disabled
pkg/server: keep generated keys (used to sign auth token) only in memory
pkg/store: switch to gRPC errors with codes
Code Refactoring
refactor packages to expose commands
remove immuclient initialization from root level command
Removed needless allocations and function calls, Rewrote Immuclient package layout
config is managed properly with cobra and viper combo. closes #44
Structured immugw and handling SIGTERM. closes #33
pkg/tree got ported over to its own external repo codenotary/merkletree
pkg/store: prefix errors with Err
Features
add safeget, safeset, safereference and safezadd to the CLI client
add mtls to immud
add version to all commands
Add config file. Closes #36 closes #37
add mtls to immugw
add mtls certificates generation script
always use the default bcrypt cost when hashing passwords
implement user management
Add capabilities to run commands in background. Closes #136 closes #106
hide some of the widgets in immuadmin statistics view if the server does not provide histograms
add --no-histograms option to server
complete implementation of visual statistics in immuadmin
change client "last query at" label
add "client last active at" metric
add uptime to metrics
add immuadmin-related rules to makefile
create a new build process #41
add text and visual display options to immuadmin statistics
Add multiroot management, Add client mtls, client refactor. closes #50 closes #80
Add config file to immu
improve metrics
add immuadmin client (WiP)
add Prometheus-based metrics
Add raw safeset and safeget method
Add IScan and improve ScanByIndex command. Closes #91
add insertion order index and tests. closes #39
add current command. Closes #88
Add structured values components
structured value
close immuadmin visual statistics also on
add config item to toggle token-based auth on or off
add token based authentication
add number of RCs per client metric
Add config and pid file to immugw
cmd: make unauthenticated message user-friendly
cmd/immu: fix CLI output of safe commands
cmd/immu: add backup and restore commands
cmd/immu: Add ZAdd and ZScan command line methods
cmd/immu: add safeget, safeset, safereference and safezadd commands to immu CLI
cmd/immu: enhance backup and restore commands by writing/reading proto message size to/from the backup file
cmd/immuadmin: add configuration management in service command
cmd/immuadmin: add services management subcommand
cmd/immud: Add pid file parameter
cmd/immugw: add immugw command
cmd/immugw: add logger
cmd/immupopulate: add immupopulate command
immuadmin: show line charts instead of piecharts
immuadmin: add dump command
pkg/api/schema: add autogenerated grpc gw code
pkg/api/schema: add backup and restore protobuffer objects
pkg/api/schema: add safeget set patterns export
pkg/api/schema: add reference and safeReference grpc messages
pkg/api/schema: add zadd, safezadd and zscan grpc messages
pkg/client: add backup and restore and automated tests for them
pkg/client: move keys reading outside ImmuClient and also pass it context from outside
pkg/client: use dedicated structs VerifiedItem and VerifiedIndex as safe functions return type
pkg/client: add root cache service
pkg/client: add new RootService field to ImmuClient, initialize it in connectWithRetry and use it in Safe* functions
pkg/client/cache: add cache file adapter
pkg/gw: add safeset get overwrites
pkg/gw: add safeZAdd overwrite
pkg/gw: add reference and safeReference rest endpoint
pkg/logger: Add file logger
pkg/server: Add backup and restore handlers
pkg/server: add reference and safeReference handlers
pkg/server: Add pid file management
pkg/server: add ZAdd, safeZAdd and zscan handlers
pkg/store: add ZAdd, safeZAdd and ZScan methods and tests
pkg/store: add reference and safeReference methods and tests
pkg/store: Add store backup and restore methods and tests
v0.0.0-20200206 - 2020-02-06
Bug Fixes
client dial retry and health-check retry counting
missing dependencies
address parsing
apply badger options in bm
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
You can’t perform that action at this time.