Releases: codenotary/immudb
v1.0.1
Changelog
[v1.0.1] - 2021-06-02
Bug Fixes
- go mod tidy/vendor with statik module (#796)
- cmd/immuclient: remove warnings on sql commands in interactive mode
- cmd/immuclient: improve immuclient tx and safetx error message
- embedded/sql: interprete binary prefix if followed by a quote
- pkg/server: always create system db (even when auth is off)
Changes
- enable webconsole in docker image
- remove mtls evironments var from dockerfile
- enhance Makefile so to automatically download latest webconsole if not already present
- README/doc updates (#791)
- embedded/store: apply synced settings to indexing data
- embedded/store: sync values once all entries are written
- pkg/database: retry database selection after registration
- pkg/database: auto-registration when not present in the catalog
Features
- embedded/sql: support NULL syntax
- pkg/database: enhace table description by adding nullable constraint
- webconsole: default web console page (#786)
Downloads
Docker image
https://hub.docker.com/r/codenotary/immudb
Immudb Binaries
File | SHA256 |
---|---|
immudb-v1.0.1-darwin-amd64 | 6e31ae0bb3272dc1b423db3f8b173e8805768737b0c5b73748cff0f46c8761ce |
immudb-v1.0.1-freebsd-amd64 | 0961a3c522e98228637cb9c708da201a43d549cd40a65a56addb36cc1e992d32 |
immudb-v1.0.1-linux-amd64 | 026723f2f78ddcb978e1621cadf1b907bdd20fa89ce2ed055829add5b1fe3bb3 |
immudb-v1.0.1-linux-amd64-static | c41c1a87d3b6a7f4c0ffdce5536611ec989cc9a92ed6c37c096549178d5186aa |
immudb-v1.0.1-linux-arm64 | 15cd77d6bfe3edae45c815bcb2a620f1ad182661f3cd54a5fa1dbf1babbf00d6 |
immudb-v1.0.1-linux-s390x | 419f14721ce90033040bd395877a7ee9d48ead76e748ff065d48c58207abf596 |
immudb-v1.0.1-windows-amd64.exe | f6c394ab088c1d3c9ad3fc8c9ecc9e34b5533777f4b099aaeca85ff9b7115df2 |
immudb-v1.0.1-zos-s390x | c3337370b3186ec569c9eba1e5111034beaf543f6bb9de619bb96dc46df6e26d |
Immuclient Binaries
File | SHA256 |
---|---|
immuclient-v1.0.1-darwin-amd64 | ee60a2c26bf02f863d94abd78ed5cce7822733981a937634a8f6b19a52a76049 |
immuclient-v1.0.1-freebsd-amd64 | ef86dc8210e506188d92866245e4aba5e3fc1414546976d16a2c5d1d9ce934b9 |
immuclient-v1.0.1-linux-amd64 | d639e29cdf8435e45eb87d6aed89e87f4a6916b6897a6c0de6be9e4a26bd524f |
immuclient-v1.0.1-linux-amd64-static | b1d59a06945a7333db920063bf850d62c91791a2ccd7ece69983784e23f941e4 |
immuclient-v1.0.1-linux-arm64 | 06fc02a57cdc2eb39008d599205c6feb5b03f6d86d3afc896d2adeb615277b7b |
immuclient-v1.0.1-linux-s390x | 32899bb2a9cfa241d9e2aa072f79de2a60fd871fb51b75d7e6e1d13a061f0d5b |
immuclient-v1.0.1-windows-amd64.exe | e9991880454417fd9fc8940836b4944c5ad2168a1692c65b0a70c56427c9ba52 |
immuclient-v1.0.1-zos-s390x | 1d794eca0dd84af118fd6dfb9be82759dbb3d5df575718129192cfc8a7d7ae01 |
Immuadmin Binaries
File | SHA256 |
---|---|
immuadmin-v1.0.1-darwin-amd64 | d1db4636da70fd6abbe72de217db75229b8b16ef1bbaa226a0dcd86d96e2276f |
immuadmin-v1.0.1-freebsd-amd64 | 8e95ce05039481aa1e4a1d0ace808c7575ea37ee6d63d3dad48d933df910673c |
immuadmin-v1.0.1-linux-amd64 | 640d73fc01697a75d41ea8ef78e35f938a6e6fbbfefa7295ff2c708f692b7f4a |
immuadmin-v1.0.1-linux-amd64-static | 37edd3e2829aa40a2aae19a26ad3f3614330e130e177b006c18d34e1b270b22e |
immuadmin-v1.0.1-linux-arm64 | eff637e71c14de3b44a8e3b82fdd95d9a8343427e311215f607bec80f3e96d3a |
immuadmin-v1.0.1-linux-s390x | af02523e082cca45317ea343601ce65743ce0d4f721a647939c961362bdd6a37 |
immuadmin-v1.0.1-windows-amd64.exe | e1a22fb27c0423399cd770939afa42f054127b17b53bbdcc5a6a0d3da30fc38d |
1.0.0 (SQL)
Highlights
Major new features:
- Relational (SQL) Support
immudb can be used both as a key-value store and as a relational database (SQL), making it the first immutable database with relational capabilities. immudb also expands tampering verification capabilities to rows. - TimeTravel(™)
immudb is the first database which allows you to do queries across time. You can pin a table into a point in time inside a query or subquery, allowing for powerful comparisons. - immudb Web Console
immudb includes an embedded web console with administration and query capabilities. Create users, manage databases, and query relational data with no additional downloads or tools. - PostgreSQL wire protocol Compatibility
immudb SQL features can be used with libraries compatible with the pgsql protocol. This means popular database access frameworks already available in Ruby, C, Java JDBC, PHP, etc., can be used to perform operations on immudb.
Changelog
[v1.0.0] - 2021-05-20
Bug Fixes
- fix windows installer service and missing flags
- make prequisites fixes introduced in #726 (#732)
- tlsConfig is always non-nil
- cmd/immuclient/immuclienttest: fix options injection in client test helper (#749)
- embedded: ensure readers get properly closed
- embedded/sql: fix selector aliasing
- embedded/sql: add missing error handling
- embedded/sql: close reader after loading catalog
- embedded/sql: prevent side effects in conditional clauses
- embedded/store: fix issue when resuming indexing
- embedded/store: notified latest committed tx when opening store
- embedded/store: fix indexing data race
- pkg/client: row verification with nullable values
- pkg/client/cache: fix lock file cache issue on windows
- pkg/client/cache: clean state file when re-writing old stetes
- pkg/database: use SQLPrefix when reopening database
- pkg/database: unwrap parameter before calling sqlexec
- pkg/pgsql/server: handle data_row message with text format
- pkg/server: complete error handling
- pkg/server: disable pgsql server by default and fix previous server tests
- pkg/sql: columns resolved with aliases
- pkg/sql: resolve shift/reduce conflict in SELECT stmt
Changes
- blank line needed after tag or interpreted as comment
- improved make dist script
- add pgsql related flags
- increase coverage and minor fix
- README SDK description and links (#717)
- github workflow to run stress_tool (#714)
- make roadmap about pgsql wire more explicit (#723)
- fix immugw support
- dblist interface is moved to database package and extended
- expose missing methods to REST (#725)
- fix rebase leftovers
- fix acronym uppercase
- revert 3114f92 in order to allow insecure connection on grpc server
- bundle webconsole inside dist binaries
- reword wire compatibility
- inject immudb user authentication
- move concrete class dblist to database package
- cmd/immuclient: render raw values
- cmd/immuclient: query result rendering
- cmd/immudb: add debug info env var details
- cmd/immudb/command: restore missing pgsql cmd flag
- cmd/immudb/command: enabled pgsql server only in command package
- cmd/immudb/command: remove parsing path option in unix
- cmd/immudb/command: handle tls configuration errors
- embedded/cache: thread-safe lru-cache
- embedded/sql: set 'x' as blob prefix
- embedded/sql: store non-null values and only col ids on encoded rows
- embedded/sql: case insensitive functions
- embedded/sql: validate table is empty before index creation
- embedded/sql: case insensitive identifiers
- embedded/sql: minor refactoring to expose functionality needed for row verification
- embedded/sql: keep one snapshot open and close when releasing
- embedded/sql: resolve query with current snapshot if readers are still open
- embedded/sql: improved nullables
- embedded/sql: skip tabs
- embedded/sql: move sql engine under embedded package
- embedded/sql: safer support for selected database
- embedded/sql: expose functionality needed for row verification
- embedded/store: pausable indexer
- embedded/store: commitWith callback using KeyIndex interface
- embedded/store: use specified sync mode also for the incremental hash tree
- embedded/store: log during compaction
- embedded/store: use indexer state to terminate indexing goroutine
- embedded/store: index info to return latest indexed tx
- embedded/tbree: postpone reader initialization until first read
- embedded/tbtree: make snapshot thread-safe
- embedded/tbtree: remove dots denoting progress when flushing is not needed
- embedded/tbtree: index compaction if there is not opened snapshot, open snapshot if compaction is not in already in progress
- embedded/watchers: cancellable wait
- pkg/api: render varchar as quoted strings
- pkg/api: render varchar as raw string value
- pkg/api: include data needed for row verification
- pkg/api: sql api spec
- pkg/api: render varchar as quoted string
- pkg/api/schema: Handle tools via modules (#726)
- pkg/auth: add SQL-related permissions
- pkg/auth: perm spec for row verification endpoint
- pkg/client: use to fetch current database name
- pkg/client: remove deprecated operations
- pkg/client: improved sql API
- pkg/client: auto convert numeric values to uint64
- pkg/client/cache: release lock only if locked file is present, and wait for unlock when already present
- pkg/client/clienttest: add VerifiedGetAt mock method
- pkg/database: upgrade wait for indexing api
- pkg/database: use MaxKeyScanLimit to limit query results
- pkg/database: set implicit database using
UseDatabase
method - pkg/database: support for nullable values
- pkg/database: add missing copy
- pkg/database: make use of UseDatabase operation
- pkg/database: improved parameters support
- pkg/database: ensure rowReader get closed upon completion
- pkg/database: typed-value proto conversion
- pkg/database: row verification against kv-entries
- pkg/database: return mapped row values
- pkg/database: upgrade ExecAll to use KeyIndex interface
- pkg/database: use store-level snapshots
- pkg/database: close sql engine when db gets closed
- pkg/database: support multi-selected columns
- pkg/database: towards prepared sql query support
- pkg/database: support index compaction with sql engine in place
- pkg/embedded: introduce Snapshot at Store level
- pkg/pgsql: handle parameter status and terminate messages
- pkg/pgsql: bind immudb sql engine
- pkg/pgsql: fix filename format
- pkg/pgsql: add pgsql server wire protocol stub
- pkg/pgsql: use options flag to determine if pgsql server need to be launched
- pkg/pgsql: handle empty response and command complete message
- pkg/pgsql/client: add jackc/pgx pgsql client for testing purpose
- pkg/pgsql/server: move sysdb in session constructor
- pkg/pgsql/server: handle version statement
- pkg/pgsql/server: handle an ssl connection request if no certificate is present on server
- pkg/pgsql/server: improve error handling when client message is not recognized
- pkg/pgsql/server: minor fixes and leftovers
- pkg/pgsql/server: enforce reserved statements checks
- pkg/pgsql/server: fix connection upgrade pgsql protocol messages
- pkg/pgsql/server: protect simple query flow with a mutex
- pkg/pgsql/server: limit number of total connections and do not stop server in case of errors
- pkg/pgsql/server: add missing copyright
- pkg/pgsql/server: add debug logging messages, split session handling in multiple files
- pkg/pgsql/server: default error in simplequery loop has error severity
- pkg/pgsql/server: remove host parameter
- pkg/server: fix db mock
- pkg/server: remove unused options
- pkg/server: inject sqlserver in main immudb server
- pkg/server: load systemdb before any other db
- pkg/server: use systemdb as a shared catalog store
- pkg/server: renamed server reference
- pkg/server: remove tls configuration in server
- pkg/sql: using new KeyReaderSpec
- pkg/sql: grammar adjustments to support aggregated columns
- pkg/sql: swap LIMIT and ORDER BY parse ordering
- pkg/sql: row reader to support GROUP BY behaviour
- pkg/sql: make row values externally accessible
- pkg/sql: support for SUM aggregations
- pkg/sql: unify augmented and grouped row readers
- pkg/sql: refactored AggregatedValue and TypedValue interfaces
- pkg/sql: column descriptors in row readers
- pkg/sql: improve error handling
- pkg/sql: return ErrNoMoreRows when reading
- pkg/sql: row reader used to close the snapshot once reading is completed
- pkg/sql: remove alter column stmt
- pkg/sql: many internal adjustments related to name binding
- pkg/sql: upgrade to new store commit api
- pkg/sql: joins limited to INNER type and equality comparison against ref table PK
- pkg/sql: add comment about nested joins
- pkg/sql: mapping using ids, ordering and renaming support
- pkg/sql: composite readers
- pkg/sql: wip multiple readers
- pkg/sql: catch store indexing errors
- pkg/sql: add generated sq...
release: v0.9.2
Highlights
The main highlights of this release are:
- immudb gRPC API now support streams.
The Go SDK provides the methodsStream*
to perform streaming operations. Eg.StreamSet
,StreamGet
- In the past, immudb returned by default the last indexed transaction. As the index was asynchronous, it may not be the last insertion, unless
SinceTx
was specified with a value bigger than the current transaction.
immudb now defaults to a more intuitive behavior, where operations will wait until indexing is completed and return the last transaction, unlessNoWait=true
is specified. - immudb now performs index compaction asynchronously, without blocking insertions.
Changelog
[v0.9.2] - 2021-04-07
Bug Fixes
- fix StreamVerifiedSet and Get and add an (integration) test for them
- fix inclusion proofs in StreamVerifiedSet and Get
- password reader 'inappropriate ioctl for device' from stdin (#658)
- include AtTx in StreamZScan response
- embedded: fix data races
- embedded: use mutex to sync ops at tx lru-cache
- embedded/store: sync ReadTx operation
- embedded/store: fix indexing sync and error retrieval
- embedded/store: ensure waitees get notified when store is restarted
- embedded/store: remove checking for closed store when fetching any vlog
- embedded/store: continue indexing once index is replaced with compacted index
- embedded/store: set delay with duration in ms
- embedded/store: ensure watchers get notified when indexing is up-to-date
- embedded/tbtree: release lock when compaction thld was not reached
- embedded/tbtree: insertion delay while compacting not affecting compaction
- embedded/tbtree: set lastSnapshot once flushed is completed
- pkg/auth: add missing stream write methods to permissions
- pkg/client: fix minor leftover
- pkg/client: fix security issue: if client local state became corrupted an error is returned
- pkg/client: ensure dual proof verification is made when there is a previously verified state
- pkg/database: wrap seekKey with prefix only when seekKey is non-empty
- pkg/server: use latest snapshot when listing users
Changes
- add max tx values length guard and remove code duplication
- move stream service to a proper package
- improve serverside stream error handling
- add video streamer command
- renaming stream methods
- updating copyright
- renaming stream methods, add stubs and stream service factory
- fix binary notation
- in server store creation max value entry is fixed to 32Mb
- mocked server uses the inner immudb grpc server and can be gracefully stopped
- set stream supports multiple key values
- fixed minimum chunk size at 4096 bytes
- refactor code quality issues
- increase stream coverage and add a guard if key is present on a stream but no value is found
- remove fake proveSinceTxBs key send in streamVerifiableSet
- polish streams methods and add comments
- embedded: remove unused cbuffer package
- embedded: add logger
- embedded: fix some typos with comments
- embedded: log indexing notifications
- embedded: descriptive logs on indexing and already closed errors
- embedded: add logs into relevant operations
- embedded: compaction and snapshot handling
- embedded/appendable: thread-safe multi-appendable
- embedded/appendable: sync before copying appendable content
- embedded/appendable: multi-appendable fine-grained locking
- embedded/store: remove duplicated logging
- embedded/store: stop indexing while commiting with callback
- embedded/store: leverage fine-grained locking when reading tx data
- embedded/store: general improvements on snapshot management
- embedded/store: log number of transactions yet to be indexed
- embedded/store: use buffered channel instead of a circular buffer
- embedded/store: set a limit on indexing iteration
- embedded/store: set max file size to 2Gb (#649)
- embedded/store: remove conditional locking before dumping index
- embedded/store: lock-less readTx
- embedded/tbtree: terminate reader if prefix won't match any more
- embedded/tbtree: optimize seek position
- embedded/tbtree: revert seek key setting
- embedded/tbtree: sync key-history log during compaction
- embedded/tbtree: sync before dumping
- embedded/tbtree: optimize seek position
- embedded/watchers: broadcasting optimisation
- embedded/watchers: minor renaming
- embedded/watchers: accept non-continuous notification
- pkg/client: add a guard to check for min chunk size
- pkg/client: add stream service factory on client and increase stream coverage
- pkg/client: maps server error on client package
- pkg/client: remove local files tests
- pkg/client: add GetKeyValuesFromFiles helper method
- pkg/client: integration test is skipped if immudb server is not present
- pkg/database: return error while waiting for index to be up to date
- pkg/database: use in-mem current snapshot in execAll operation
- pkg/database: leverage lightweight waiting features of embedded store
- pkg/database: return error while waiting for index to be up to date
- pkg/database: ensure scan runs over fully up-to-date snapshot
- pkg/database: illegal state guard is added to verifiable get and getTx methods
- pkg/server: max recv msg size is set to 32M
- pkg/server: add a guard to check for min chunk size
- pkg/server: revert quit chan exposure
- pkg/server: add server error mapper interceptor
- pkg/server: add small delay for indexing to be completed
- pkg/server: exposes Quit chan
- pkg/stream: remove bufio.reader when not needed
- pkg/stream: remove duplicated code
- pkg/stream: add ErrNotEnoughDataOnStream error and ImmuServiceReceiver_StreamMock
- pkg/stream: renamed stream test package
- pkg/stream: add a guard to detect ErrNotEnoughDataOnStream on client side
- pkg/stream: remove bufio and add ventryreceiver unit test
- pkg/stream: add some comments to mesasge receiver
- pkg/stream: add more corner cases guards
- pkg/stream/streamtest: add dummy file generator
- tools: fix copyright
- tools/stream: get stream content directly from immudb
- tools/stream/benchmark: add stream benchmark command
- tools/stream/benchmark/streamb: add SinceTx value to getStream
Code Refactoring
- stream kvreceiver expose Next method to iterate over key values
- stream receiver implements reader interface
- use of explicit messages for stream request
- pkg/stream: use ParseValue func in zreceiver and remove the redundant readSmallMsg func
- pkg/stream: refactor receiver to increase simplicity
Features
- add flusher to stream data to client
- add Stream Scan and client stream ServiceFactory
- Add StreamVerifiedSet and StreamVerifiedGet
- add client->server stream handler
- increase default store max value length to 32MB
- refactors and implement server->client stream handler
- Remove unnecessary dependencies (#665)
- add support for user, password and database flags in immuclient (#659)
- chunk size is passed as argument in client and server
- embedded/store: expose insertion delay while compacting
- embedded/store: configurable compaction threshold to set the min number of snapshots for a compaction to be done
- embedded/store: integrate watchers to support indexing synchronicity
- embedded/store: tx header cache to speed up indexing
- embedded/tbtree: configurable insertion delay while compaction is in progress
- embedded/tbtree: automatically set seekKey based on prefixKey when it's not set
- embedded/watchers: lightweight watching center
- embedded/watchers: fetchable current state
- pkg/client: handle illegal state error
- pkg/database: non-blocking, no history compaction
- pkg/database: non-blocking index compaction
- pkg/database: default scan parameters using up-to-date snapshot
- pkg/server: add signature on stream verifiable methods and tests
- pkg/stream: add exec all stream
Downloads
Docker image
https://hub.docker.com/r/codenotary/immudb
Immudb Binaries
File | SHA256 |
---|---|
immudb-v0.9.2-darwin-amd64 | 2cd830d7f4d042121348f60b8595c3c9052a2e8d417c1a2dd4001bee40e22490 |
immudb-v0.9.2-linux-amd64 | 7481ae5dfaede6d99849a88e0202bac4ae559db6868ea7499606d9328b110307 |
immudb-v0.9.2-linux-amd64-static | dcbf510939a27ccf0322b0e79348f5761f7cba265f0c5e299f616db78e0aa11e |
immudb-v0.9.2-linux-s390x | 0dcde091392400f5aabd4fae9ff80dd19112d3cd593fa28504e2f2cb84749001 |
immudb-v0.9.2-windows-amd64.exe | 969186c033ebb1cfbc95b9cfc0bc24d1d8d318f42797bf8db204101971544e11 |
immudb-v0.9.2-freebsd-amd64 | c342ebb3784f6845b2250b720390f9f4d25add7927ec55a155751e217326b4c3 |
immudb-v0.9.2-linux-arm64 | 528967d2edcb55d3dfdb8d48e852fbe574e815f6e1911b2ad84250b6bb827906 |
Immuclient Binaries
...
release: v0.9.1
Changelog
[v0.9.1] - 2021-02-08
Bug Fixes
- cmd/sservice: fix group creation linux cross command
- cmd/sservice: fix services management and add permissions guard
- embedded/history: read history log file to set initial offset
- embedded/store: mutex on txlog
- embedded/store: continued indexing
- embedded/store: fix indexing sync (#621)
- embedded/store: copy key inside TxEntry constructor
- embedded/tbtree: use minkey for desc scan
- embedded/tbtree: prevNode nil comparisson
- embedded/tbtree: determine entry by provided seekKey
- embedded/tbtree: fix key history ordering (#619)
- pkg/client: fix verifiedGetAt
- pkg/client/auditor: hide auditor password in logs
- pkg/client/cache: return an error if no state is found
- pkg/database: check key does not exists in latest state
- pkg/server: set default settings within DefaultStoreOptions method
Changes
- update acknowledgments
- cmd/sservice: minor fixes
- embeddded/tbtree: reduce mem allocs
- embedded: expose store opts
- embedded: refactor TxEntry
- embedded/store: validates targetTx is consistent with proof len
- embedded/store: sync access to commit and tx logs
- embedded/store: move TxReader code to its own file
- embedded/store: renamed reader as KeyReader
- embedded/store: minor KeyReader renaming
- embedded/store: adapt after History changes
- embedded/store: use conditional locking in indexing thread
- embedded/store/options.go: increase DefaultMaxKeyLen
- embedded/tbtree: reduce mem consumption
- embedded/tbtree: offset map per branch
- embedded/tbtree: change history file extension
- embedded/tbtree: history log file
- embedded/tbtree: return ErrOffsetOutOfRange if invalid offset was provided
- embedded/tbtree: configurable max key length
- pkg: current db included in signed state
- pkg: unit testing index cleanup, use selected db
- pkg/api: include server uuid and db name into state message
- pkg/api: history limit as int32
- pkg/api: minor changes in TxScan message
- pkg/client: bound reference if atTx is provided in VerifiedSetReferenceAt
- pkg/client: validate returned entries from metadata
- pkg/client: add state service lock and unlock capabilities
- pkg/client: set bound on SetReference and ZAdd
- pkg/client: strip prefix from returned keys in txById and verifiedTxById
- pkg/client: use indexing specified in GetRequest
- pkg/database: return empty list if offset is out of range
- pkg/database: catch NoMoreEntries error and return empty list on scan and zscan operations
- pkg/database: unsafe read tx inside CommitWith callback
- pkg/database: initial implementation of ExecAll with CommitWith
- pkg/server: include uuid and db as result of verifiable operations
- pkg/server: server mock wrapping default server implementation
- pkg/server: change server default options. Max key value to 10kb
- pkg/server: set default max value lenght to 1Mb
- pkg/server: initialize mts options
- pkg/server: expose store opts
- pkg/server: naming conventions
- pkg/server: use server wrapper to enable post processing of results
Features
- cmd/immuadmin: db index cleanup
- embedded: history with offset and limit, key updates counting
- embedded/appendable: check no closed and flush before copying
- embedded/appendable: implements Copy function
- embedded/appendable: flush and seek to start before copying
- embedded/store: index cleanup
- embedded/store: TxScan asc/desc order
- embedded/store: commitWith callback receiving assigned txID
- embedded/store: allow increasing max value size after creation time
- embedded/tbtree: HistoryReader to iterate over key updates
- embedded/tbtree: complete history implementation
- embedded/tbtree: full dump using copy on history log
- embedded/tbtree: full dump of current snapshot
- pkg: index cleanup service
- pkg/client: add verifiedGetSince
- pkg/client: implementation of TxScan operation
- pkg/client: add state file locker
- pkg/database: TxScan implementation
- pkg/database: support for free and bound references
- pkg/database: history with offset and limit
- pkg/database: KeyRequest retrieves key at a specific tx or since a given tx
- pkg/server: sign new state within verifiable operations
- pkg/server: use exposed synced mode
Downloads
Docker image
https://hub.docker.com/r/codenotary/immudb
Immudb Binaries
File | SHA256 |
---|---|
immudb-v0.9.1-darwin-amd64 | c681fdbd52d912fa51cf47cd15bd45f26ca776ab439cecab4cef09a44b5968fa |
immudb-v0.9.1-linux-amd64 | d9e1d609d6a9cd68be7f8b2a8c1140de68b3772c77d4617257b964a2f00f3f73 |
immudb-v0.9.1-linux-amd64-static | 529a9200376cff7093f15adfad1086e6282031aa15783d8c7a851b7789f837a9 |
immudb-v0.9.1-linux-s390x | 3c2f3e60f4f090ff37c17fa417d8096a233f68df270cfe50278d5fea50b0bbe8 |
immudb-v0.9.1-windows-amd64.exe | cdf679879e4fc1bbe653a78b9d7819424421b91c7b758e7b537a37cab3ac1397 |
Immuclient Binaries
File | SHA256 |
---|---|
immuclient-v0.9.1-darwin-amd64 | 20d59dd8d087586b6842897479f59e3f311412b951208a96f8f2e21cb7c0983d |
immuclient-v0.9.1-linux-amd64 | ceafb2f80ff26f8accdb2b49a45c1cd9129187e094807ae9d3c85876c3c4636e |
immuclient-v0.9.1-linux-amd64-static | 29c897a8fde369acea9cce2d9d9730c5e7316881f627445a525aa5e69fa5bd38 |
immuclient-v0.9.1-linux-s390x | ceb9700f519ae9eba02fb2470fcbd86e58730a163aba34d1f24bd64ea5a41c6f |
immuclient-v0.9.1-windows-amd64.exe | 750fb5e0c00c3f191a067a92383e5f5b1bd564594112c95a5947066a0598ae0d |
Immuadmin Binaries
File | SHA256 |
---|---|
immuadmin-v0.9.1-darwin-amd64 | 76a549b6b6e29bd9193a0c75663fee5c766ac412c98f1b57da280befccd0c05b |
immuadmin-v0.9.1-linux-amd64 | 95164fe01012e18f13f78d0371fd7bf59b77988f7b5de27256fc90b29526c1de |
immuadmin-v0.9.1-linux-amd64-static | c974770c94b41e8df0fcd3721d10012706e6f119eff646085cab5c545d1bbfa8 |
immuadmin-v0.9.1-linux-s390x | 47fa8c9ff19e9a4e2cd5ef4f6738dc448085e4c382106836c4b26580eed63d6c |
immuadmin-v0.9.1-windows-amd64.exe | 36122ba55648c84d609c8715c47e370c4738a58b8b36f1e53976b5db751fa16a |
release: v0.9.0
Changelog
[v0.9.0] - 2021-01-07
Bug Fixes
- remove badger metrics and fix stats command
- cmd/immuadmin/command: fix immuadmin stats (#592)
- pkg/database: enable scan on fresh snapshot
- pkg/server: shutdown handlers and metrics server are moved in start method
Changes
- removing audit-signature and add serverSigningPubKey
- remove print tree method
- restore inmemory_cache test
- cmd/immuadmin: temporary disable stats functionality
- pkg/api: upgrade rest endpoints
- pkg/client: implement missing methods in immuclient mock
- pkg/server: temporary remove proactive corruption checker (#595)
Features
- add signature verification with a submitted public key
Downloads
Docker image
https://hub.docker.com/r/codenotary/immudb
Immudb Binaries
File | SHA256 |
---|---|
immudb-v0.9.0-darwin-amd64 | 3e809e30e295218596cfeaccbff46a6e85ced8ec61298c7a3c73eff5c885a9be |
immudb-v0.9.0-linux-amd64 | 887d9ae18216252de2e3cc002ce8cbd03d01aa1663e56af1c720a15274bfabd1 |
immudb-v0.9.0-linux-amd64-static | 2abaef74ca4ecd82e44471f96f49599afb63cc0dd9af6e9233546ea87c5bf44a |
immudb-v0.9.0-linux-s390x | ad65bfb6f25d34ce8576a6e2b10e77f5164248de0e9805d719326f4b3aa6ea0d |
immudb-v0.9.0-windows-amd64.exe | 48ae6028a3e5fcafcc045a461bd89541f795d20e57d0c8b7472ebecceb17c42c |
Immuclient Binaries
File | SHA256 |
---|---|
immuclient-v0.9.0-darwin-amd64 | f644e623050c725ccc6b15d22ff0ca5b7a8c1d67b6bdf37bb4b87c54a5a4be76 |
immuclient-v0.9.0-linux-amd64 | 656756ee29142149ab97d7f7055fc8656e43df6299c338197e7c8476861638f2 |
immuclient-v0.9.0-linux-amd64-static | 90da63aa3c86dd255099bc2afe061b767bc464c26c2e5d15093471cb34a6b7f6 |
immuclient-v0.9.0-linux-s390x | d5731b512ec5d08ac7964e344789da995d009688369807cafde1043a9b17f624 |
immuclient-v0.9.0-windows-amd64.exe | 1eafe1db5b930f3c47a4320aed0300c723acd642d52e028e74ba1826f6662dbc |
Immuadmin Binaries
File | SHA256 |
---|---|
immuadmin-v0.9.0-darwin-amd64 | bb360463bfa2d86a22fa67e1f72161e4b1d0b2dd2ca373e358551331de01fd3d |
immuadmin-v0.9.0-linux-amd64 | 9cfcf0fd86cec1170560c45d7a75dfd1145b740676a2aa070063e3d3301ec152 |
immuadmin-v0.9.0-linux-amd64-static | dce51100141688f40a8b96ee14b5d2766584b14f48777f4673c8a4f5e76e3964 |
immuadmin-v0.9.0-linux-s390x | ad409d6b36c890d3173cabf9e7846ef93d65c031ceb068f39173314fceec77ad |
immuadmin-v0.9.0-windows-amd64.exe | 9ff4361bb92789f2b1df18716be4141cbc5fe8272f3e44480b497551a0bada05 |
release: v0.9.0-RC2
Changelog
[v0.9.0-RC2] - 2020-12-29
Bug Fixes
- cmd/immuadmin/command: fix unit tests
- cmd/immuclient: fix unit tests
- embedded/tbtree: sync GetTs to prevent data races
- pkg/api: change order of validations when checking state signature
Changes
- adapt coverage to the new server implementation
- fix immuserver mock
- cmd/immuadmin: disable stats and removed print tree command
- cmd/immuclient: print verified label when executing safereference
- pkg/client: update service mock to new API
- pkg/database: add input validations during verifiable set
- pkg/database: implements History using lock-based operation
Code Refactoring
- uniform server and client tests
- improving buffconn server with splitting start method in initialization and start
Features
- embedded/store: implements lock-based History without requiring snapshot creation
- pkg/client: update auditor implementation to new server API
- pkg/client: implementation of client-side verifiedZAdd
- pkg/client: implements VerifiedSetReference
- pkg/database: implementation of verifiableZAdd
- pkg/database: implementation of VerifiableSetReference
Downloads
Docker image
https://hub.docker.com/r/codenotary/immudb
Immudb Binaries
File | SHA256 |
---|---|
immudb-v0.9.0-RC2-darwin-amd64 | c16f1a762c7460fe66df2490a5ac5f1e4eb662584b63334eddf78e90fe4147b4 |
immudb-v0.9.0-RC2-linux-amd64 | 45fc2fe6407d63f35dfa7a7d9b864acb9b0fe81e3ca684b20f50be1809830e06 |
immudb-v0.9.0-RC2-linux-amd64-static | 2f5b895d1ca745ec1ff57bb238ba9420891f1c1201c29b8efef1e203d86623ab |
immudb-v0.9.0-RC2-linux-s390x | c2c78756fc701627e46735a2fc7c5c1afbc99e5a26e7b9a60e763ec7115ea422 |
immudb-v0.9.0-RC2-windows-amd64.exe | 26ab5c6d267e9f71d79b3ea2633cfa103084e56d2f5da1987e3dca417f8564e7 |
Immuclient Binaries
File | SHA256 |
---|---|
immuclient-v0.9.0-RC2-darwin-amd64 | 473050e446741a6147ef365192f3599a70e8b4d176e9068be5c6d5895f086110 |
immuclient-v0.9.0-RC2-linux-amd64 | 2d0c18ef6f827ffe0bb28350618f890260997334dc3fba50040af9fdd14f0375 |
immuclient-v0.9.0-RC2-linux-amd64-static | 504365eeb2cec1349f56fe9a64ba4c0bb052a7eaf3574d488fbfb9c0708846bc |
immuclient-v0.9.0-RC2-linux-s390x | 2832f468cf951adf030401f436338b067f8c4d6dab043d4cf7e850d2e74e7b19 |
immuclient-v0.9.0-RC2-windows-amd64.exe | 11c3611410ada6b823759b3fe1ff71e3318901d5d9d903606a62ec5357bf8616 |
Immuadmin Binaries
File | SHA256 |
---|---|
immuadmin-v0.9.0-RC2-darwin-amd64 | 51302ba08a291a384a0b966cd7bcc6dbb29f94546888e105db0771ec1d19389c |
immuadmin-v0.9.0-RC2-linux-amd64 | 223248531930710721933df915821b230bfd1de0f25ff32a3dfbb3259b782095 |
immuadmin-v0.9.0-RC2-linux-amd64-static | 3fb1a05ad1a73e46fa9804ffa541e3d93f8f6beaff485fdb1a7bf3dd53fe1b3a |
immuadmin-v0.9.0-RC2-linux-s390x | 0332f5fc773eb93478facf02641dbfcbf51f0a5a73146288d42fa6f77b7e1d3a |
immuadmin-v0.9.0-RC2-windows-amd64.exe | fac79bad8285e0167a06c2a7a5ae8e5e8543ddd431d75a67179fe2cc1b6cd658 |
immustore
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 |
Multi-key insertion, crypto signature
Changelog
[v0.8.0] - 2020-09-15
Bug Fixes
- fix immudb and immugw version and mangen commands errors Without this change, while immuclient and immuadmin still worked as expected, immudb and immugw version and mangen commands were throwing the following error: ./immugw version Error: flag accessed but not defined: config Usage: immugw version [flags]
- fix immuclient audit-mode
- cmd/immuadmin/command: fix immuadmin dbswitch
- pkg/client: setBatch creates structured values
- pkg/client: token service manages old token format
Changes
- update README file (#487)
- switching README.md end lines to LF
- fix immugw dependency to support new root structure
- update readme, add immudb4j news (#488)
- cmd: add signingKey flag
- cmd: remove error suppression in config loader
- cmd/immutest/command: remove immugw dependency from immutest
- pkg: add kvlist validator (#498)
- pkg/server: log uuid set and get error
- pkg/server: log signer initialization in immudb start
Code Refactoring
- wrap root hash and index in a new structure to support signature
- move immugw in a separate repository
- configs file are loaded in viper preRun method
- pkg/server: inject root signer service inside immudb server
Features
- auditor verifies root signature
- cmd: process launcher check if are present another istances. fixes #168
- pkg: add root signer service
- pkg/signer: add ecdsa signer
Downloads
Docker image
https://hub.docker.com/r/codenotary/immudb
Immudb Binaries
File | SHA256 |
---|---|
immudb-v0.8.0-darwin-amd64 | 4a1e251237f8b51f22015d4e657d7ee5065da6cf8c0c44b6de2c6daf63cce9d2 |
immudb-v0.8.0-linux-amd64 | 4d7639117fcd68949c0a12b0430112d066c1299ef22a409b2fb6e4065bb289b7 |
immudb-v0.8.0-linux-amd64-static | c72a6449d670be24d6233fe80e5e262925d1ebacc887269309f0fe4f34a616d4 |
immudb-v0.8.0-linux-s390x | 9b1b795f7127a20ce94c1aeaf444ef8b6e5438fd623854cb18b6447c77b40c57 |
immudb-v0.8.0-windows-amd64.exe | 74d2000fe3ceea9b78dda45304e4b18070c51218f1d0e593335d67ac3a28d249 |
Immuclient Binaries
File | SHA256 |
---|---|
immuclient-v0.8.0-darwin-amd64 | ba54d3c2fcca4ac12ca4f26e9e6b84e40f5ecd727e2c9a09018495b724faa28a |
immuclient-v0.8.0-linux-amd64 | 0cdd0ec9fe85c411745f37c668c3ccbbeb56dcaa0064cb972f46f2159861950f |
immuclient-v0.8.0-linux-amd64-static | b5fe457535b988077d20ff9bf8ae0df00bcd2b6ec74f3ebffbb79c0165493b16 |
immuclient-v0.8.0-linux-s390x | bd6f0e724154c208f5e84e44381b77c17baec6892baa7729ddb889b26715e878 |
immuclient-v0.8.0-windows-amd64.exe | 1a0346d19bfc17f4c117d0e763a5a38a886c420a89149c8749e077e3319c9aeb |
Immuadmin Binaries
File | SHA256 |
---|---|
immuadmin-v0.8.0-darwin-amd64 | e85c9a5c7b2394383bcefd73a392a9ae6b4c96868adcb57715a0e76775b0cc37 |
immuadmin-v0.8.0-linux-amd64 | dac4af24f9c3fce9cd9da755c9abf45a37a2ebde5d732a5599f84eb8d0f1c183 |
immuadmin-v0.8.0-linux-amd64-static | 443803e46aedba428c21108e567a9481ff7e6b269d6d1b0037f59c507326a53e |
immuadmin-v0.8.0-linux-s390x | 1f713d269986a67abcb9aa74b4f310f467de026faac17976af5450f1dec2b7de |
immuadmin-v0.8.0-windows-amd64.exe | dd2f32c2b490156814a826e8f3c90ff0290a793427af0f2cbee5b8745f71f162 |
Bug Fixes & Enhancements
Changelog
[v0.7.1] - 2020-08-17
Bug Fixes
- fix immudb and immugw version and mangen commands errors
- fix immuclient audit-mode
- fix corruptionchecker datarace
- cmd/immuadmin/command: fix immuadmin dbswitch
- pkg/client: token service manages old token format
Code Refactoring
- configs file are loaded in viper preRun method
Features
- cmd: process launcher check if are present another istances. fixes #168
Downloads
Docker image
https://hub.docker.com/r/codenotary/immudb
immudb Binaries
File | SHA256 |
---|---|
immudb-v0.7.1-darwin-amd64 | 66fd66dc2d29d202a68387b9b9b07b5bc78fa2de78ff09fb3a0796ba4dd50037 |
immudb-v0.7.1-linux-amd64 | 7b545a1fec88378ce5e8d6ca90363bf3c6fe9c12e2abcbea2435e80d29416046 |
immudb-v0.7.1-linux-amd64-static | b98de015430a4c9863d49e8d545c6a634fd34a2694741ee70135a43531f22908 |
immudb-v0.7.1-linux-s390x | 345ffe9bad89e5a286e9bf3bbe2381dd1c688894d5adb0e9183d42292b382b54 |
immudb-v0.7.1-windows-amd64.exe | fa50e75a0fca1d1165c6f1dc3c2de16fd486d2aa09084f121bd7668806e7c052 |
immugw Binaries
File | SHA256 |
---|---|
immugw-v0.7.1-darwin-amd64 | f1de2616c27ec53d28ff4f6bf4131ada0fc8f5653249030c249c2a3fe08bb1ce |
immugw-v0.7.1-linux-amd64 | a865f6ed05e15a83435c327d254760a614ef6e3a74d08f179cbe482b9d607a60 |
immugw-v0.7.1-linux-amd64-static | dfaa9c0d44114b9efb80630a100c5611bf610b6edfd75fd627b621fd8e2cc05a |
immugw-v0.7.1-linux-s390x | e5cf9e2b044b1004544d17c8ae4893ca411ed4e61fa2a36c12069094a0e68d4c |
immugw-v0.7.1-windows-amd64.exe | 91b36e83fa6d15bc42df33d02d6e46b13b9486ab856a23004c3ccbdc13f7f3de |
immuclient Binaries
File | SHA256 |
---|---|
immuclient-v0.7.1-darwin-amd64 | 3d443854db64a37b6ef7c5660e253a7913b23ba4ca37cc36e97c72decfa4c92a |
immuclient-v0.7.1-linux-amd64 | 742c420a55e27c501721e1608f58bffcdd5dc689f2d90aa91d6aa79c8d60dd53 |
immuclient-v0.7.1-linux-amd64-static | d42eca522c3dd3edc179f0b4f71528daaa7d399a944121ed06d9c26ac959e925 |
immuclient-v0.7.1-linux-s390x | da35790b323758e8e1c7f72a7d9a526026827782c08fdaef039bd3413eb464fd |
immuclient-v0.7.1-windows-amd64.exe | 558c0ce954ae5464475928e6a65f7801b0f6ff150acd4da6c227d0ec8642036b |
immuadmin Binaries
File | SHA256 |
---|---|
immuadmin-v0.7.1-darwin-amd64 | ed76f282d93861b82fe62a973b677a2f0cd4ea2baa2a74be82fdaf802aca83ae |
immuadmin-v0.7.1-linux-amd64 | 3426f4eeda3072a5577f58eedb29d8fb3c3cab71182d05e2f7ffe2eefff5b751 |
immuadmin-v0.7.1-linux-amd64-static | 1e8c185c22fbf06665d07acdc0470ea71399b2095250b8a5bc53d3b793b09a7e |
immuadmin-v0.7.1-linux-s390x | 234bfe508c24fb30f378f5ec1249b9853f20b3ab9a925b0d56aafb54263e46a5 |
immuadmin-v0.7.1-windows-amd64.exe | 639d76a732123110c45a84c06cd18fbed69d4b32aa67eb62f8ce568a1dca086d |
Multidatabase
Changelog
[v0.7.0] - 2020-08-10
Bug Fixes
- userlist returns wrong message when logged in as immudb with single database
- use dedicated logger for store
- fix compilation error in corruption checker test
- race condition in token eviction
- chose defaultdb on user create if not in multiple db mode
- user list showing only the superadmin user even when other user exist
- fix multiple services config uninstall
- skip loading databases from disk when in memory is requested
- if custom port is <= 0 use default port for both immudb and immugw
- fix immugw failing to start with nil pointer dereference since gRPC dial options are inherited (bug was introduced in commit a4477e2)
- remove os.Exit(0) from disconnect method
- fix DefaultPasswordReader initialization. fixes #404
- fix travis build sleep time
- use the correct server logger and use a dedicated logger with warning level for the db store
- cmd/immuadmin/command: fix user list output to support multiple databases (with permissions) for the same user
- pkg/auth: if new auth token is found in outgoing context it replaced the old one
- pkg/client: use database set internally database name
- pkg/client: inherit dial options that came from constructor
- pkg/fs: don't overwrite copy error on Close malfunction. Sync seals the operation–not Close.
- pkg/gw: fix client option construction with missing homedirservice
- pkg/server: added os file separator and db root path
- pkg/server: avoid recursion on never ending functionality. Further improvements can be done (#427)
- pkg/server/server: change user pass , old password check
- pkg/service: restore correct config path
- pkg/store: fix count method using a proper NewKeyIterator
Changes
- refactor immuclient test
- fix tokenService typos
- add use database gw handler
- spread token service usage
- enhance immudb server messages during start
- capitalize immudb stop log message for consistency reasons
- remove permission leftovers and useless messages in client server protocol
- log immudb user messages during start to file if a logfile is specified
- use debug instead of info for some log messages that are not relevant to the user
- versioning token filename
- add auditor single run mode
- fix conflicts while rebasing from master
- remove user commands from immuclient
- add unit tests for zip and tar
- fix test
- improve command ux and fix changepassword test. Closes #370
- change insert user to use safeset instead of set
- remove useless quitToStdError and os.exit calls
- remove sleep from tests
- use 0.0.0.0 instead of 127.0.0.1 as default address for both immudb and immugw
- using cobra command std out
- move immuadmin and immuclient service managing to pkg
- add homedir service
- rewrite tests in order to use pkg/server/servertest
- add codecov windows and freebsd ignore paths
- fix typo in UninstallManPages function name
- add coveralls.io stage
- refactor immuadmin service to use immuos abstraction
- add coverall badge
- add filepath abstration, use it in immuadmin backup and enhance coverage for backup test
- add os and filepath abstraction and use it in immuadmin backup command
- fix codecov ignore paths
- remove os wrapper from codecov.yml
- fix go test cover coverall
- fix immuclient tests
- add empty clientTest constructor
- user list client return a printable string
- add unexpectedNotStructuredValue error. fixes #402
- add failfast option in test command
- fix contributing.md styling
- remove tests from windows CI
- add go-acc to calculate code coverage and fix go version to 1.13
- refactor immuclient test, place duplicated code in one place
- add an explicit data source on terminal reader
- TestHealthCheckFails if grpc is no fully closed
- add options to tuning corruption checking frequency, iteration and single iteration
- cmd: immugw and immudb use process launcher for detach mode
- cmd: token is managed as a string. fixes #453
- cmd: fix typo in command messages
- cmd: enhance PrintTable function to support custom table captions and use such captions in immuadmin user and database list commands
- cmd: restore error handling in main method
- cmd/helper: add doc comment for the PrintTable function
- cmd/immuadmin: immuadmin user sub-commands use cobra, tests
- cmd/immuadmin/command: remove useless auth check in print tree command
- cmd/immuadmin/command: fix text alignment and case
- cmd/immuadmin/command: move command line and his command helper method in a single file
- cmd/immuadmin/command: automatically login the immuadmin user after forced password change is completed
- cmd/immuadmin/command: remove silent errors in immuadmin
- cmd/immuadmin/command: move options as dependency of commandline struct
- cmd/immuadmin/command: user and database list use table printer
- cmd/immuclient/command: remove useless comment
- cmd/immuclient/immuc: inject homedir service as dependency
- cmd/immugw/command: use general viper.BindPFlags binding instead of a verbose bindFlags solution
- cmd/immutest/command: inject homedir service as dependency
- pkg/client/options: add options fields and test
- pkg/client/timestamp: removed unused ntp timestamp
- pkg/fs: utilise filepath directory walk for copy
- pkg/fs: traceable copy errors
- pkg/fs: create file copy with flags from the start, in write-only mode
- pkg/server: add corruption checker random indexes generator missing dependency
- pkg/server: improve tests
- pkg/server: mtls test certificates system db as immuserver property improve tests
- pkg/server: make DevMode default false and cleanup call to action message shwon right after immudb start
- pkg/server: immudb struct implements immudbIf interface, fixes previous tests
- pkg/server: add corruption checker random indexes generator dependency
- pkg/store/sysstore: remove useless method
Code Refactoring
- add immuadmin services interfaces and terminal helper
- remove custom errors inside useDatabase and createDatabase services. Fixes #367
- handle in idiomatic way errors in changePermission grpc service. Fixes #368
- decoupled client options from server gateway constructor
- refactor detach() method in a process launcher service
- decouple manpage methods in a dedicated service
- cmd: move database management commands from immuclient to immuadmin. Fixes #440
- cmd/immuadmin/command: using c.PrintfColorW instead c.PrintfColor to increase cobra.cmd integration for tests
- cmd/immuadmin/command: move checkLoggedInAndConnect, connect, disconnect from server to login file
- cmd/immuadmin/command: remove useless argument in Init and improve naming conventions
Features
- add multiple databases support
- cmd/helper: add table printer
- cmd/helper: add PrintfColorW to decouple writer capabilities
- cmd/immutest: allow immutest to run on remote server
- pkg/client: add token service
Downloads
Docker image
https://hub.docker.com/r/codenotary/immudb
Immudb Binaries
File | SHA256 |
---|---|
immudb-v0.7.0-darwin-amd64 | 53a2b89781be7a83a3ae4a22156c62cc144413cba601cd9ab54fbede936c0abd |
immudb-v0.7.0-linux-amd64 | fa94dd6518dc9d4fa1e8ff11c3143cdfdc43476299925f3421ac487530246d92 |
immudb-v0.7.0-linux-amd64-static | ec86c9d2c34e0bc8a5bfcd4e5072fefcfd3da0891dfc6d84a872eddf6a667945 |
immudb-v0.7.0-linux-s390x | 0c7fbe33bc616182bbbc59b77e370d4295904b94f52e3147572547b54fafae2b |
immudb-v0.7.0-windows-amd64.exe | 2b8db025ef1afffb12426761cf34a41f4ead059fb51efccec7560868bb99690b |
Immugw Binaries
File | SHA256 |
---|---|
immugw-v0.7.0-darwin-amd64 | 8952cb9c4a9a7631553cb04b59646eb1b18ff5dbf098625cef35754f0e71a215 |
immugw-v0.7.0-linux-amd64 | f15e869af91817c4df2efe5bca4ec4a93b7a88929446c55c3bf8a55e14399750 |
immugw-v0.7.0-linux-amd64-static | 1c3daf1ef395e1114187624d11a574294614dd9befcc1afa50b647e35f7ee9d1 |
immugw-v0.7.0-linux-s390x | 5ea29b72cadcc75dbb18f7a06f225155c324197154a175f2c59ace1ad1d6fdc3 |
immugw-v0.7.0-windows-amd64.exe | 4212c741f4a094e75fe5b6e05e02dead451277527de65d423bf66fd8ea1fc25a |
Immuclient Binaries
File | SHA256 |
---|---|
immuclient-v0.7.0-darwin-amd64 | 678f8cedb21d35259ae449ec949c1d5b7b8d6fa77f3db40fecbddba0d5bab19a |
... |