Skip to content

Releases: codenotary/immudb

v1.0.1

07 Jun 10:08
@byo byo
Compare
Choose a tag to compare

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)

21 May 11:05
Compare
Choose a tag to compare

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...
Read more

release: v0.9.2

08 Apr 13:56
Compare
Choose a tag to compare

Highlights

The main highlights of this release are:

  • immudb gRPC API now support streams.
    The Go SDK provides the methods Stream* 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, unless NoWait=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

...

Read more

release: v0.9.1

08 Feb 21:03
Compare
Choose a tag to compare

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

07 Jan 17:00
Compare
Choose a tag to compare

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

29 Dec 17:07
Compare
Choose a tag to compare

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

22 Dec 17:19
Compare
Choose a tag to compare

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

15 Sep 13:28
Compare
Choose a tag to compare

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

17 Aug 19:02
Compare
Choose a tag to compare

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

10 Aug 16:26
Compare
Choose a tag to compare

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
...
Read more