Skip to content

Releases: codenotary/immudb

v1.9DOM.2

29 Dec 16:48
d422d9f
Compare
Choose a tag to compare

What's Changed

Fixes:

Changes:

Full Changelog: v1.9DOM.1...v1.9DOM.2

Downloads

Docker image
https://hub.docker.com/r/codenotary/immudb

immudb Binaries

File SHA256
immudb-v1.9DOM.2-darwin-amd64 443cad5a177b5f35ddc377bcd3a67bfbc8c1a60385aee9c5f30ead5d83809505
immudb-v1.9DOM.2-darwin-arm64 6f1227cffd777abc4452763c5a4987c42465c68b6e4b2effd7c03bbd9bb2972e
immudb-v1.9DOM.2-freebsd-amd64 9b1100c1948ac23f19426d816566b6886db2ce473a00d6c51b6bd22fb81ce627
immudb-v1.9DOM.2-linux-amd64 3e675fa8a6f6cbe72c529343e94a5440172800825db022e9f61686e6e23e3623
immudb-v1.9DOM.2-linux-amd64-static d06db1641d968c6ba3dd891373e51f29d20052fd2cd67c63d86b48e43a966a32
immudb-v1.9DOM.2-linux-arm64 1d99fb69519c1119dfd23deb6487d703cc2965289c1064fe534b973c5942228a
immudb-v1.9DOM.2-linux-s390x fafac16fc8e4c922f2a53fb97f6b5dd280a28cdf13ffa09f8895d94a3b18ce6d
immudb-v1.9DOM.2-windows-amd64.exe 9892b795e0f54207e5e847a8319708c09e1aeb8c67d7a254e1ea1f72248795b6

immuclient Binaries

File SHA256
immuclient-v1.9DOM.2-darwin-amd64 56ab0ce11d2951dc74fd84970bceba5f03473434fa1238f9d1aa5672bc276e3c
immuclient-v1.9DOM.2-darwin-arm64 cb34c3c9dd529d4c17d20b8ae74029d8550b7fe8ad230aba26f70e783beaec68
immuclient-v1.9DOM.2-freebsd-amd64 231c4d7660f6a2ab18e788b5d38cba288cfc3013e4f4f4913e6cc3d1640dbb45
immuclient-v1.9DOM.2-linux-amd64 5445b4a41590e630d5d416f82ff0315e7f579b27e216820a972ea5d1b8617102
immuclient-v1.9DOM.2-linux-amd64-static ff30fed639ad137b50c4eb29be78c3cfbadd994914bbb2d510d1d3900edb19fa
immuclient-v1.9DOM.2-linux-arm64 8ccc615cf2d906981081fa012dbcd443f9928c36e81144b5c8174b95cc1ba4be
immuclient-v1.9DOM.2-linux-s390x 5a647b6e7b3af4f0acd91a23b0b9045b56cde830ae1af9961762aa4217d07d25
immuclient-v1.9DOM.2-windows-amd64.exe 9453aeea10ff1fe8df943fac726f4fc258b7427390c5308fc878b71fa9c830d0

immuadmin Binaries

File SHA256
immuadmin-v1.9DOM.2-darwin-amd64 7feb1415ba0d3c8a2f61b0da0fc85c212b63dd3d0a6ac5ecb0177b6d867371e4
immuadmin-v1.9DOM.2-darwin-arm64 e274ebe58b68179b4d9f7c8b2f54e2e3b8a23ffbb75641fbe55b70975710d636
immuadmin-v1.9DOM.2-freebsd-amd64 afc72d4ad49af90829dcab9c81d26c0c36fe29892276b97c24ae0c57138a0e62
immuadmin-v1.9DOM.2-linux-amd64 0c1c188644d751d9b485baf522fb65e93a3e791a01a29bfc4b80990d29feb86a
immuadmin-v1.9DOM.2-linux-amd64-static faa227cfcef270db6f0908d3ee4823e0f9c4e3d65caef255fffefe81a51b9fe8
immuadmin-v1.9DOM.2-linux-arm64 d59290dd1037cebc05a2b89a119361772375e5bff94fc5fdfb2fd7799c914820
immuadmin-v1.9DOM.2-linux-s390x 22d3e7b5c6f446ed4cfb9d2d1f166b2e9c027c89df3f1a58c38ae1ec9c2138f1
immuadmin-v1.9DOM.2-windows-amd64.exe 26e61484ab2714700d2e95aa4fadf78011d2c931e17c0b12eb0433da43b99130

v1.9DOM.2-RC1

21 Dec 16:00
e090cc0
Compare
Choose a tag to compare
v1.9DOM.2-RC1 Pre-release
Pre-release

What's Changed

Full Changelog: v1.9DOM.1...v1.9DOM.2-RC1

v1.9DOM.1

16 Nov 13:45
d5f425e
Compare
Choose a tag to compare

Release notes

Even though this is a minor release, there are still some really useful features that have been incorporated into it.

ODBC

ODBC support via PostgreSQL driver.

More SQL statements

User management is now possible using SQL statements

CREATE USER user1 WITH PASSWORD "user1Password!" READWRITE;
ALTER USER user1 WITH PASSWORD "newUser1Password!" READ;
DROP USER user1;

Changelog

[v1.9DOM.1] - 2023-11-16

Changes

  • pkg/pgsql: handle odbc help
  • pkg/server: change permission automatically revokes existing ones

[v1.9DOM.1-RC1] - 2023-11-14

Bug Fixes

  • lower databasename in OpenSession
  • embedded/sql: fix data-race when mapping keys
  • embedded/sql: fix data-race when mapping keys
  • embedded/store: handle key mapping in ongoing txs
  • embedded/store: handle key mapping in ongoing txs
  • embedded/store: handle key mapping in ongoing txs
  • pkg/database: ensure proper tx validation
  • pkg/server: user creation with multidbs

Changes

  • docker image with swagger ui (for AWS Marketplace)
  • cmd/immudb: upgrade to new pgsql changes
  • deps: bump github.com/google/uuid from 1.3.1 to 1.4.0
  • embedded/sql: user pwd
  • embedded/sql: show users stmt
  • embedded/sql: wip emulate pg_type system table
  • embedded/sql: continue to support databases and tables datasources
  • embedded/store: indexer source and target prefixes
  • pkg/client: possibility to retrieve session id
  • pkg/pgsql: decouple error from ready to query messages
  • pkg/pgsql: uuid and float types conversion
  • pkg/pgsql: comment describing pgsql wire protocol constraints
  • pkg/pgsql: support multiple-statements in simple-query mode
  • pkg/pgsql: protocol enhancements
  • pkg/pgsql: handle deallocate prepared stmt
  • pkg/pgsql: tls support
  • pkg/pgsql: single command complete message
  • pkg/pgsql: transactional query machine
  • pkg/pgsql: pgsql write protocol improvements
  • pkg/pgsql: proper handling of queries with empty resultsets
  • pkg/pgsql: show table/s
  • pkg/server: upgrade to transactional pgsql server
  • pkg/server: set dynamic immudb server port in pgsql server
  • pkg/server: pgsql server creation only when enabled
  • pkg/server: list users from multidb handler
  • pkg/server: require proper permissions at multidb handler

Features

  • embedded/sql: show table stmt
  • embedded/sql: wip user mgmt
  • embedded/sql: show users stmt
  • embedded/sql: show databases/tables stmt
  • pkg/server: add support of underscore in db name Signed-off-by: Martin Jirku <martin@jirku.sk>

Downloads

Docker image
https://hub.docker.com/r/codenotary/immudb

immudb Binaries

File SHA256
immudb-v1.9DOM.1-darwin-amd64 289b31a3eb7f310e2cfd7ada84355e0e75d7dac984be77c1cd96efa806c84616
immudb-v1.9DOM.1-darwin-arm64 e119898f2a6e02c432acba30d4b53a71b9982ef17210c8799d115f3b8a149248
immudb-v1.9DOM.1-freebsd-amd64 713d42f31b7a403e1ecc3c8db77d93cfe86587e1ba9f58cb6a6eefcb71c88582
immudb-v1.9DOM.1-linux-amd64 0e757237b57141dad72144d436c6892be1f84b7253c2fcad4af503b5e849d4a4
immudb-v1.9DOM.1-linux-amd64-fips 57e6cc45544ea3356d2cd535422a2e290a9f709191a673cf376e032555fdaf67
immudb-v1.9DOM.1-linux-amd64-static 2ab1dceb1cc564e9dd9b74a4d51ead92c65f62292805add4bd5f2a1fdbe7ac5e
immudb-v1.9DOM.1-linux-arm64 d8eba29f41983c5041f8840eb170b952e21ac4cdbe1573d3640b63e29daffc25
immudb-v1.9DOM.1-linux-s390x e13ffb9aaf57fbf4bb5b9d59827e952374d2e8bcf8f11fa44d5b7160b02397f9
immudb-v1.9DOM.1-windows-amd64.exe 31317d4c48d27519ff61e4201a9599b80cbcb915e5d753d6f5ec390846ed06a1

immuclient Binaries

File SHA256
immuclient-v1.9DOM.1-darwin-amd64 e01339011dfc7fa7b4354d47540324d4aff17d5617a2693710e6acb149db136e
immuclient-v1.9DOM.1-darwin-arm64 4a6033fb3677243d8780f6c8a1e520e55684b933b4c4eaa3301b55b383bcd813
immuclient-v1.9DOM.1-freebsd-amd64 7cc0eed1ec81e96a1e81a215312ff383ace512ac8c5e1a038d9bcd26e4f5cde6
immuclient-v1.9DOM.1-linux-amd64 adace1b3df1f6928b80b6d1fa4d6ab2e51611e824a3c91fb2084dd09919a9b6c
immuclient-v1.9DOM.1-linux-amd64-fips 0da327a58967c260dfabf083aca3773a1f8b8a1f45c426e9e89e2030acab1460
immuclient-v1.9DOM.1-linux-amd64-static c0ea92322cdb2ba03deda3f5cc4ef46b0bdaeef769067431c3a3cb5e3e17992c
immuclient-v1.9DOM.1-linux-arm64 73f90d4ebf184b29fa256ae29590326ac74c00f60d3b2e85f2e737ca23744c0e
immuclient-v1.9DOM.1-linux-s390x fb1c5b442535aab7a0a67333f79c87bf4756c1d8493df16f23740c58d764078a
immuclient-v1.9DOM.1-windows-amd64.exe 4f459251a2c829e3f5a62802402d41dec18421dba76dc0190e11960e41dff414

immuadmin Binaries

File SHA256
immuadmin-v1.9DOM.1-darwin-amd64 c288e930b9617deb926d4bdbb39507986c36724c176ba2b728196bd75b9823aa
immuadmin-v1.9DOM.1-darwin-arm64 59253740a3874ad6fbb44c715cf6c4d191723519d751817ae9a3a4f20eea2e63
immuadmin-v1.9DOM.1-freebsd-amd64 ffaa408e0fbfd63fcdd93e3c6609be1359cc869efd657883acad3c90edc84810
immuadmin-v1.9DOM.1-linux-amd64 bfd7cc994319f3b08d300c94ff866f8e7df247fd3635ec2643faf346bdfa1ac7
immuadmin-v1.9DOM.1-linux-amd64-fips 6cd3b033417196035a9bf7976405e985941d0abab3b2d4a3bec581c35253a86c
immuadmin-v1.9DOM.1-linux-amd64-static 28e3db3699ff564ab99181ff76f2fbe9ea02b21b5ee2559811a9646f71bab8a5
immuadmin-v1.9DOM.1-linux-arm64 de468a18c40bd5c37c0a16695bdd715b5878d942078aac55afdc117975671dcc
immuadmin-v1.9DOM.1-linux-s390x f3f95588484d3951b7a638538b6c855ead46144c643c4a4abc21980b94767ce4
immuadmin-v1.9DOM.1-windows-amd64.exe 8f0b35ea2627011e764f3060cce452e93fbe874f505139e8c5e22b06dfa7f223

v1.9DOM.1-RC1

14 Nov 12:48
11088eb
Compare
Choose a tag to compare
v1.9DOM.1-RC1 Pre-release
Pre-release

Release notes

Even though this is a minor release, there are still some really useful features that have been incorporated into it.

ODBC

ODBC support via PostgreSQL driver.

More SQL statements

User management is now possible using SQL statements

CREATE USER user1 WITH PASSWORD "user1Password!" READWRITE;
ALTER USER user1 WITH PASSWORD "newUser1Password!" READ;
DROP USER user1;

Changelog

[v1.9DOM.1-RC1] - 2023-11-13

Bug Fixes

  • lower databasename in OpenSession
  • embedded/sql: fix data-race when mapping keys
  • embedded/sql: fix data-race when mapping keys
  • embedded/store: handle key mapping in ongoing txs
  • embedded/store: handle key mapping in ongoing txs
  • embedded/store: handle key mapping in ongoing txs
  • pkg/database: ensure proper tx validation
  • pkg/server: user creation with multidbs

Changes

  • docker image with swagger ui (for AWS Marketplace)
  • cmd/immudb: upgrade to new pgsql changes
  • deps: bump github.com/google/uuid from 1.3.1 to 1.4.0
  • embedded/sql: user pwd
  • embedded/sql: show users stmt
  • embedded/sql: wip emulate pg_type system table
  • embedded/sql: continue to support databases and tables datasources
  • embedded/store: indexer source and target prefixes
  • pkg/client: possibility to retrieve session id
  • pkg/pgsql: decouple error from ready to query messages
  • pkg/pgsql: uuid and float types conversion
  • pkg/pgsql: comment describing pgsql wire protocol constraints
  • pkg/pgsql: support multiple-statements in simple-query mode
  • pkg/pgsql: protocol enhancements
  • pkg/pgsql: handle deallocate prepared stmt
  • pkg/pgsql: tls support
  • pkg/pgsql: single command complete message
  • pkg/pgsql: transactional query machine
  • pkg/pgsql: pgsql write protocol improvements
  • pkg/pgsql: proper handling of queries with empty resultsets
  • pkg/pgsql: show table/s
  • pkg/server: upgrade to transactional pgsql server
  • pkg/server: set dynamic immudb server port in pgsql server
  • pkg/server: pgsql server creation only when enabled
  • pkg/server: list users from multidb handler
  • pkg/server: require proper permissions at multidb handler

Features

  • embedded/sql: show table stmt
  • embedded/sql: wip user mgmt
  • embedded/sql: show users stmt
  • embedded/sql: show databases/tables stmt
  • pkg/server: add support of underscore in db name Signed-off-by: Martin Jirku <martin@jirku.sk>

Downloads

Docker image
https://hub.docker.com/r/codenotary/immudb

immudb Binaries

File SHA256
immudb-v1.9DOM.1-RC1-darwin-amd64 551ad297c9c46d92836cadc4b3e6fa94651a2636ec0fc6e8346554893feb64f9
immudb-v1.9DOM.1-RC1-darwin-arm64 a6ddcd29ec9d3b225fc028b43bbbbd3f0e63a2389f5b4fa474224d00d1b607ba
immudb-v1.9DOM.1-RC1-freebsd-amd64 0e366a53098d70a56c630d6fe94380a10242a02ae8faaa02aa6882f4bb973112
immudb-v1.9DOM.1-RC1-linux-amd64 555e080d37a844bc6af6916d65d32b50e252000f2ca8f20c9a5c16f6983100e1
immudb-v1.9DOM.1-RC1-linux-amd64-fips 3c529fef49055ef4e8c96525ef715320c37b607917ed69e5e5e35ec09a9873bc
immudb-v1.9DOM.1-RC1-linux-amd64-static a0f457e761622878450e5df54a143accdebea74513dfe872d43af9551cb1f702
immudb-v1.9DOM.1-RC1-linux-arm64 978014ca24f3dd3020837d77f46d6419b46ca6a8c741d6287a028128c7a1c018
immudb-v1.9DOM.1-RC1-linux-s390x 94796078c81f4a130c80cf078b504b2c7fcf8cd7d84c67015e911cde510db7c2
immudb-v1.9DOM.1-RC1-windows-amd64.exe 3f6c454bb61ce93f6087fccf8a11e60041b1df8732b05557342c0a0b1a8e2e6d

immuclient Binaries

File SHA256
immuclient-v1.9DOM.1-RC1-darwin-amd64 f0ea94cce62cc9ca01a79605c1a066ba0db94359e65de90b9ae6ff604f526cfe
immuclient-v1.9DOM.1-RC1-darwin-arm64 b9aaa99db111f8c63b5e4a1a3cc6e5732bcc43d51a644a4a11fe19640b6e53a7
immuclient-v1.9DOM.1-RC1-freebsd-amd64 24d9bf7cdb3faa137044948cfdc96787e00b7ed05797286102c6faad4608f7ee
immuclient-v1.9DOM.1-RC1-linux-amd64 f02ce12520550bb0672312504de5280f59a25e41a66151f0839eb1b27b8da087
immuclient-v1.9DOM.1-RC1-linux-amd64-fips 29be7ee77a2b522450582f94ba9ddd2008b80b01858a42b6328884c2ba38b3ad
immuclient-v1.9DOM.1-RC1-linux-amd64-static ffc7ae18c15caa425327eb4f33fa3c05a71d4fe0aa46558632563dca222bccca
immuclient-v1.9DOM.1-RC1-linux-arm64 1a7fab36d05a40a56b1f070769b362ff602c049ab69450d9abf9bb112afe5cb0
immuclient-v1.9DOM.1-RC1-linux-s390x 74186ae4f2b5f62f835892e5bfcc8a209fc573bcd1f8ce898f0eac8e2e966a3b
immuclient-v1.9DOM.1-RC1-windows-amd64.exe 88a5148e2d78ea94e11381fe618ed67bc8b15bfdf0d49f45d305e78005dd178d

immuadmin Binaries

File SHA256
immuadmin-v1.9DOM.1-RC1-darwin-amd64 a854dd089b35bbbaa88a04feed0815bce6cf2b0ed3f2202823ad7d93cc9c9139
immuadmin-v1.9DOM.1-RC1-darwin-arm64 448c2fb6285d91d0dc5acee0ff2c861cb8e44e287bb0b1acf7a8bbdcc4ffeb22
immuadmin-v1.9DOM.1-RC1-freebsd-amd64 8b9743e28e73dbc09f1d7e784f6463c6a98b4d4a78b4df956862c8cc401df502
immuadmin-v1.9DOM.1-RC1-linux-amd64 92906e31ff62177bd2969eb95ec3c45367011b28866727761e361b00ef39a057
immuadmin-v1.9DOM.1-RC1-linux-amd64-fips 7bdfde00d1e27ecce92706908059c6a7021d2e0914a71ce39d345a2eae406f10
immuadmin-v1.9DOM.1-RC1-linux-amd64-static 3faab4ddc9e4f175df766827b5cc11a238d13c1c8deeed9031cc01712970e883
immuadmin-v1.9DOM.1-RC1-linux-arm64 524e9e97a6080b4aa41ff817c0fa61f7123e872fdc901afbe0e8d12dc7ebd32d
immuadmin-v1.9DOM.1-RC1-linux-s390x 094eacf8aee5a00fd22df17e08b878612290805ea5003e85f545f523384ed70f
immuadmin-v1.9DOM.1-RC1-windows-amd64.exe 9e94ba577618b68b1ee25274bbf091ed873acedb147eccf0dfc8208380c1ffbd

v1.9DOM

19 Oct 10:10
Compare
Choose a tag to compare

immudb version 1.9DOM marks the final release in the 1.x series. We are working on the new v2.x series with a whole new db engine and some very interesting new features.

Release notes

Introducing immudb 1.9DOM, a new release with several new features, which we are very excited about!

Swagger UI

Document Data Model can be accessed through a Swagger UI. Providing the API to interact with the document data-model API in a simple and intuitive way.

UUID datatype

Both the SQL data model as well as the Document data model now support this useful datatype. (#1796)

Historical SQL queries

Row history can be queried using SQL. (#1804)

Improved Document Audit endpoint

The Document Audit endpoint now displays the timestamp and the username associated with each change made to a document during revisions..

Furthermore, it is also possible to audit revisions of documents without retrieving the actual documents themselves (omitPayloads parameter)

Index Management

Prior to this release, index creation at the SQL and Document Data Model levels was only possible at the point of initialization, i.e. when a table or collection was empty. Since this release, this limitation has been overcome and non-unique indexes can now be created at any time, and they can also be physically deleted at any time.

More SQL statements

The addition of SQL statements for renaming tables and removing them from the database has been made. In addition, it is possible to add and remove columns from a table at any time.

Changelog

[v1.9DOM] - 2023-10-18

Changes

  • cmd/immuadmin: add indexing related flags

Features

  • embedded/sql: table renaming

[v1.9.0-RC2] - 2023-10-16

Bug Fixes

  • standard syntax for drop index
  • embedded/sql: fix sql temporal range evaluation

Changes

  • embedded/document: count with limit in subquery
  • embedded/sql: expose subquery creation
  • pkg/api: set optional parameters
  • pkg/api: set optional parameters

[v1.9.0-RC1] - 2023-10-11

Bug Fixes

  • correct immudb name in readme
  • allow the local id to be used if present even if remote flag is on
  • apply fixes discussed in PR
  • insertion ts for key-values should not be equal to the current root ts
  • Makefile: remove webconsole tag from immuclient/immuadmin builds
  • embedded/appendable: explicit freebsd build clauses
  • embedded/document: ensure multi-indexing is enabled
  • embedded/document: avoid waiting for tx to be committed
  • embedded/sql: advance position when decoding value at deleted column
  • embedded/store: use correct index path
  • embedded/store: handle transient key update
  • embedded/store: read lock when fetching indexer
  • embedded/store: precommitted transaction discarding recedes durable state
  • embedded/store: read lock when pausing indexers
  • embedded/tbtree: snapshot validation
  • embedded/tbtree: consider offset for history count calculation
  • embedded/tbtree: proper _rev calculation
  • pkg/server: buffer reuse

Changes

  • build with swaggerui
  • unnecessary use of fmt.Sprintf
  • use copy instead of a loop
  • align covered packages when pulling and merging
  • unnecessary use of fmt.Sprintf
  • cmd/immuclient: display raw column selector in table header
  • deps: bump golang.org/x/net from 0.10.0 to 0.12.0
  • deps: bump golang.org/x/crypto from 0.10.0 to 0.11.0
  • deps: bump golang.org/x/crypto from 0.13.0 to 0.14.0
  • deps: bump golang.org/x/crypto from 0.12.0 to 0.13.0
  • deps: bump golang.org/x/sys from 0.9.0 to 0.10.0
  • deps: bump golang.org/x/net from 0.14.0 to 0.15.0
  • deps: bump google.golang.org/grpc
  • deps: bump golang.org/x/sys from 0.11.0 to 0.12.0
  • deps: bump google.golang.org/grpc in /test/e2e/truncation
  • deps: bump google.golang.org/grpc
  • deps: bump golang.org/x/net from 0.15.0 to 0.17.0
  • deps: bump github.com/grpc-ecosystem/grpc-gateway/v2
  • deps: bump securego/gosec from 2.15.0 to 2.17.0
  • deps: bump golang.org/x/sys from 0.10.0 to 0.11.0
  • deps: bump golang.org/x/crypto from 0.7.0 to 0.10.0
  • deps: bump golang.org/x/net from 0.12.0 to 0.13.0
  • deps: bump google.golang.org/grpc from 1.55.0 to 1.56.2
  • deps: bump golang.org/x/net from 0.13.0 to 0.14.0
  • embedded/document: register username when applying a change
  • embedded/document: enable multi-indexing in doc engine tests
  • embedded/document: encoded document using valRef
  • embedded/document: attach username when auditing document
  • embedded/sql: post-commit physical index deletion
  • embedded/sql: uuid decoding
  • embedded/sql: improve internal index naming
  • embedded/sql: use declared constant for fixed ids
  • embedded/sql: insertion benchmark
  • embedded/sql: historical queries over primary index
  • embedded/sql: dynamic indexing
  • embedded/sql: deletion of primary index path
  • embedded/sql: multi-snapshop mvvc
  • embedded/sql: temporal queries with multi-indexing
  • embedded/sql: transactional drops
  • embedded/sql: unique index creation supported on empty tables
  • embedded/sql: support parenthesis as datatype constraint delimiter
  • embedded/store: multi-indexing
  • embedded/store: ensure index is erased from disk
  • embedded/store: wip multi-indexing
  • embedded/store: history returning value refs
  • embedded/store: indexer alloc its tx
  • embedded/store: remove metastate
  • embedded/store: history with rev count
  • embedded/store: injective index mapper
  • embedded/store: ensure snapshot up to date
  • embedded/store: indexing callbacks
  • embedded/store: key reader including historical entries
  • embedded/store: indexing prefix
  • embedded/store: entry mapper
  • embedded/tbtree: value-preserving history
  • embedded/tbtree: hcount serialization
  • embedded/tbtree: fetching historical values
  • embedded/tbtree: wip value-preserving history
  • embedded/tbtree: value-preserving history
  • embedded/tbtree: context propagation
  • pkg/api: adjust doc serializations to match verification
  • pkg/api: endpoint improvements
  • pkg/client: add setAll to immuclient mock
  • pkg/client: use buf for msg exchange
  • pkg/database: context propagation
  • pkg/database: context propagation
  • pkg/database: fix remote storage paths
  • pkg/database: increase delay when tx is not present
  • pkg/database: keept reading from specific tx
  • pkg/database: multi-indexing database
  • pkg/database: doc audit without retrieving payloads
  • pkg/database: register username when applying a change
  • pkg/database: fix remote storage paths
  • pkg/database: mandatory wait with async replication
  • pkg/database: kv count
  • pkg/server: register username when applying a change in doc apis
  • pkg/server: minor code adjustment
  • pkg/stdlib: non transactional ddl stmts
  • pkg/truncator: use embedded/logger package
  • pkg/verification: minor doc verification improvements
  • swagger: use embedded logger package
  • tests: Tests cleanup

Code Refactoring

  • pkg/logger: move logger from pkg to embedded

Features

  • update readme
  • prevent identifier from creation when use external id option
  • pass logger to heartbeater
  • add flag for using external id as a main one
  • embedded/document: register user when creating collection
  • embedded/document: doc audit without retrieving payloads
  • embedded/document: remove field from collection
  • embedded/document: add field to collection
  • embedded/sql: async multi-indexing
  • embedded/sql: extra metadata when creating tx
  • embedded/sql: include _rev column in historical queries
  • embedded/sql: drop index and table stmts
  • embedded/sql: table history
  • embedded/sql: query including historical rows
  • embedded/sql: dynamic multi-indexing
  • embedded/sql: wip uuid datatype support
  • embedded/sql: drop column stmt
  • embedded/store: use index attribute in kv metadata
  • embedded/store: getBetween
  • embedded/store: extra tx metadata
  • embedded/store: transactionaless multi-indexing
  • embedded/tbtree: getBetween
  • embedded/tbtree: key reader supporting historical values
  • pkg/api: docAudit returning timestamp and possibility to omit payloads
  • pkg/api: re-enable swagger ui
  • pkg/api: include username in document audit response
  • pkg/api: add field and remove field endpoints
  • pkg/database: add user when creating collection
  • pkg/server: add user when creating collection

Reverts

  • chore: remove initial swagger support

Downloads

Docker image
https://hub.docker.com/r/codenotary/immudb

immudb Binaries

File SHA256
immudb-v1.9DOM.0-darwin-amd64 1b75ef452b7e54fb6b0146c7fa09c7e8a102e9c414233aee21f0543dd1f1381d
immudb-v1.9DOM.0-darwin-arm64 b0d881a9852b345e440140da4219c3dc392c2da8664e034175af53f6e0088bb0
immudb-v1.9DOM.0-freebsd-amd64 058888bac55dc1116a46fd6100a4091713d583216d5475dcbf152274759aae52
immudb-v1.9DOM.0-linux-amd64 f468c2f38f8f17083a19ab45d7a7399fb4d04[12](https://github.com/codenotary/...
Read more

v1.9.0-RC2

16 Oct 10:51
aaa9efd
Compare
Choose a tag to compare
v1.9.0-RC2 Pre-release
Pre-release

immudb version 1.9DOM marks the final release in the 1.x series. We are working on the new v2.x series with a whole new db engine and some very interesting new features.

Release notes

Introducing immudb 1.9.0, a new release with several new features, which we are very excited about!

Swagger UI

Document Data Model can be accessed through a Swagger UI. Providing the API to interact with the document data-model API in a simple and intuitive way.

UUID datatype

Both the SQL data model as well as the Document data model now support this useful datatype. (#1796)

Historical SQL queries

Row history can be queried using SQL. (#1804)

Improved Document Audit endpoint

The Document Audit endpoint now displays the timestamp and the username associated with each change made to a document during revisions..

Furthermore, it is also possible to audit revisions of documents without retrieving the actual documents themselves (omitPayloads parameter)

Index Management

Prior to this release, index creation at the SQL and Document Data Model levels was only possible at the point of initialization, i.e. when a table or collection was empty. Since this release, this limitation has been overcome and non-unique indexes can now be created at any time, and they can also be physically deleted at any time.

More SQL statements

The addition of SQL statements for renaming tables and removing them from the database has been made. In addition, it is possible to add and remove columns from a table at any time.

Changelog

[v1.9.0-RC2] - 2023-10-16

Bug Fixes

  • standard syntax for drop index
  • embedded/sql: fix sql temporal range evaluation

Changes

  • embedded/document: count with limit in subquery
  • embedded/sql: expose subquery creation
  • pkg/api: set optional parameters
  • pkg/api: set optional parameters

[v1.9.0-RC1] - 2023-10-11

Bug Fixes

  • correct immudb name in readme
  • allow the local id to be used if present even if remote flag is on
  • apply fixes discussed in PR
  • insertion ts for key-values should not be equal to the current root ts
  • Makefile: remove webconsole tag from immuclient/immuadmin builds
  • embedded/appendable: explicit freebsd build clauses
  • embedded/document: ensure multi-indexing is enabled
  • embedded/document: avoid waiting for tx to be committed
  • embedded/sql: advance position when decoding value at deleted column
  • embedded/store: use correct index path
  • embedded/store: handle transient key update
  • embedded/store: read lock when fetching indexer
  • embedded/store: precommitted transaction discarding recedes durable state
  • embedded/store: read lock when pausing indexers
  • embedded/tbtree: snapshot validation
  • embedded/tbtree: consider offset for history count calculation
  • embedded/tbtree: proper _rev calculation
  • pkg/server: buffer reuse

Changes

  • build with swaggerui
  • unnecessary use of fmt.Sprintf
  • use copy instead of a loop
  • align covered packages when pulling and merging
  • unnecessary use of fmt.Sprintf
  • cmd/immuclient: display raw column selector in table header
  • deps: bump golang.org/x/net from 0.10.0 to 0.12.0
  • deps: bump golang.org/x/crypto from 0.10.0 to 0.11.0
  • deps: bump golang.org/x/crypto from 0.13.0 to 0.14.0
  • deps: bump golang.org/x/crypto from 0.12.0 to 0.13.0
  • deps: bump golang.org/x/sys from 0.9.0 to 0.10.0
  • deps: bump golang.org/x/net from 0.14.0 to 0.15.0
  • deps: bump google.golang.org/grpc
  • deps: bump golang.org/x/sys from 0.11.0 to 0.12.0
  • deps: bump google.golang.org/grpc in /test/e2e/truncation
  • deps: bump google.golang.org/grpc
  • deps: bump golang.org/x/net from 0.15.0 to 0.17.0
  • deps: bump github.com/grpc-ecosystem/grpc-gateway/v2
  • deps: bump securego/gosec from 2.15.0 to 2.17.0
  • deps: bump golang.org/x/sys from 0.10.0 to 0.11.0
  • deps: bump golang.org/x/crypto from 0.7.0 to 0.10.0
  • deps: bump golang.org/x/net from 0.12.0 to 0.13.0
  • deps: bump google.golang.org/grpc from 1.55.0 to 1.56.2
  • deps: bump golang.org/x/net from 0.13.0 to 0.14.0
  • embedded/document: register username when applying a change
  • embedded/document: enable multi-indexing in doc engine tests
  • embedded/document: encoded document using valRef
  • embedded/document: attach username when auditing document
  • embedded/sql: post-commit physical index deletion
  • embedded/sql: uuid decoding
  • embedded/sql: improve internal index naming
  • embedded/sql: use declared constant for fixed ids
  • embedded/sql: insertion benchmark
  • embedded/sql: historical queries over primary index
  • embedded/sql: dynamic indexing
  • embedded/sql: deletion of primary index path
  • embedded/sql: multi-snapshop mvvc
  • embedded/sql: temporal queries with multi-indexing
  • embedded/sql: transactional drops
  • embedded/sql: unique index creation supported on empty tables
  • embedded/sql: support parenthesis as datatype constraint delimiter
  • embedded/store: multi-indexing
  • embedded/store: ensure index is erased from disk
  • embedded/store: wip multi-indexing
  • embedded/store: history returning value refs
  • embedded/store: indexer alloc its tx
  • embedded/store: remove metastate
  • embedded/store: history with rev count
  • embedded/store: injective index mapper
  • embedded/store: ensure snapshot up to date
  • embedded/store: indexing callbacks
  • embedded/store: key reader including historical entries
  • embedded/store: indexing prefix
  • embedded/store: entry mapper
  • embedded/tbtree: value-preserving history
  • embedded/tbtree: hcount serialization
  • embedded/tbtree: fetching historical values
  • embedded/tbtree: wip value-preserving history
  • embedded/tbtree: value-preserving history
  • embedded/tbtree: context propagation
  • pkg/api: adjust doc serializations to match verification
  • pkg/api: endpoint improvements
  • pkg/client: add setAll to immuclient mock
  • pkg/client: use buf for msg exchange
  • pkg/database: context propagation
  • pkg/database: context propagation
  • pkg/database: fix remote storage paths
  • pkg/database: increase delay when tx is not present
  • pkg/database: keept reading from specific tx
  • pkg/database: multi-indexing database
  • pkg/database: doc audit without retrieving payloads
  • pkg/database: register username when applying a change
  • pkg/database: fix remote storage paths
  • pkg/database: mandatory wait with async replication
  • pkg/database: kv count
  • pkg/server: register username when applying a change in doc apis
  • pkg/server: minor code adjustment
  • pkg/stdlib: non transactional ddl stmts
  • pkg/truncator: use embedded/logger package
  • pkg/verification: minor doc verification improvements
  • swagger: use embedded logger package
  • tests: Tests cleanup

Code Refactoring

  • pkg/logger: move logger from pkg to embedded

Features

  • update readme
  • prevent identifier from creation when use external id option
  • pass logger to heartbeater
  • add flag for using external id as a main one
  • embedded/document: register user when creating collection
  • embedded/document: doc audit without retrieving payloads
  • embedded/document: remove field from collection
  • embedded/document: add field to collection
  • embedded/sql: async multi-indexing
  • embedded/sql: extra metadata when creating tx
  • embedded/sql: include _rev column in historical queries
  • embedded/sql: drop index and table stmts
  • embedded/sql: table history
  • embedded/sql: query including historical rows
  • embedded/sql: dynamic multi-indexing
  • embedded/sql: wip uuid datatype support
  • embedded/sql: drop column stmt
  • embedded/store: use index attribute in kv metadata
  • embedded/store: getBetween
  • embedded/store: extra tx metadata
  • embedded/store: transactionaless multi-indexing
  • embedded/tbtree: getBetween
  • embedded/tbtree: key reader supporting historical values
  • pkg/api: docAudit returning timestamp and possibility to omit payloads
  • pkg/api: re-enable swagger ui
  • pkg/api: include username in document audit response
  • pkg/api: add field and remove field endpoints
  • pkg/database: add user when creating collection
  • pkg/server: add user when creating collection

Reverts

  • chore: remove initial swagger support

Downloads

Docker image
https://hub.docker.com/r/codenotary/immudb

immudb Binaries

File SHA256
immudb-v1.9.0-RC2-darwin-amd64 95f20d6a9110bfcdee8a59932d66afb87d0d3f7a3dbf330cd1e51a9fb92eb1bc
immudb-v1.9.0-RC2-darwin-arm64 2ebcfd49b93ef38700f99aee2a7395c72ee286401bd623f1d0f32685df06da7c
immudb-v1.9.0-RC2-freebsd-amd64 8e7061bc1cc7482112f3919b0e16480dd72a46f4ac68522a687d789ecddc641c
immudb-v1.9.0-RC2-linux-amd64 17c9e8fb326dbcd458ea769bebd3c57a1fd9377a78e941500a0eeb7954390a6d
[immudb-v1.9.0-RC2-linux-amd64-fips](https://github.com/codenotary/immu...
Read more

v1.9.0-RC1

11 Oct 14:17
0a2992d
Compare
Choose a tag to compare
v1.9.0-RC1 Pre-release
Pre-release

Release notes

Introducing immudb 1.9.0, a new release with several new features, which we are very excited about!

Swagger UI

Document Data Model can be accessed through a Swagger UI. Providing the API to interact with the document data-model API in a simple and intuitive way.

UUID datatype

Both the SQL data model as well as the Document data model now support this useful datatype. (#1796)

Historical SQL queries

Row history can be queried using SQL. (#1804)

Improved Document Audit endpoint

The Document Audit endpoint now displays the timestamp and the username associated with each change made to a document during revisions..

Furthermore, it is also possible to audit revisions of documents without retrieving the actual documents themselves (omitPayloads parameter)

Index Management

Prior to this release, index creation at the SQL and Document Data Model levels was only possible at the point of initialization, i.e. when a table or collection was empty. Since this release, this limitation has been overcome and non-unique indexes can now be created at any time, and they can also be physically deleted at any time.

More SQL statements

The addition of SQL statements for renaming tables and removing them from the database has been made. In addition, it is possible to add and remove columns from a table at any time.

Changelog

[v1.9.0-RC1] - 2023-10-11

Bug Fixes

  • correct immudb name in readme
  • allow the local id to be used if present even if remote flag is on
  • apply fixes discussed in PR
  • insertion ts for key-values should not be equal to the current root ts
  • Makefile: remove webconsole tag from immuclient/immuadmin builds
  • embedded/appendable: explicit freebsd build clauses
  • embedded/document: ensure multi-indexing is enabled
  • embedded/document: avoid waiting for tx to be committed
  • embedded/sql: advance position when decoding value at deleted column
  • embedded/store: use correct index path
  • embedded/store: handle transient key update
  • embedded/store: read lock when fetching indexer
  • embedded/store: precommitted transaction discarding recedes durable state
  • embedded/store: read lock when pausing indexers
  • embedded/tbtree: snapshot validation
  • embedded/tbtree: consider offset for history count calculation
  • embedded/tbtree: proper _rev calculation
  • pkg/server: buffer reuse

Changes

  • build with swaggerui
  • unnecessary use of fmt.Sprintf
  • use copy instead of a loop
  • align covered packages when pulling and merging
  • unnecessary use of fmt.Sprintf
  • cmd/immuclient: display raw column selector in table header
  • deps: bump golang.org/x/net from 0.10.0 to 0.12.0
  • deps: bump golang.org/x/crypto from 0.10.0 to 0.11.0
  • deps: bump golang.org/x/crypto from 0.13.0 to 0.14.0
  • deps: bump golang.org/x/crypto from 0.12.0 to 0.13.0
  • deps: bump golang.org/x/sys from 0.9.0 to 0.10.0
  • deps: bump golang.org/x/net from 0.14.0 to 0.15.0
  • deps: bump google.golang.org/grpc
  • deps: bump golang.org/x/sys from 0.11.0 to 0.12.0
  • deps: bump google.golang.org/grpc in /test/e2e/truncation
  • deps: bump google.golang.org/grpc
  • deps: bump golang.org/x/net from 0.15.0 to 0.17.0
  • deps: bump github.com/grpc-ecosystem/grpc-gateway/v2
  • deps: bump securego/gosec from 2.15.0 to 2.17.0
  • deps: bump golang.org/x/sys from 0.10.0 to 0.11.0
  • deps: bump golang.org/x/crypto from 0.7.0 to 0.10.0
  • deps: bump golang.org/x/net from 0.12.0 to 0.13.0
  • deps: bump google.golang.org/grpc from 1.55.0 to 1.56.2
  • deps: bump golang.org/x/net from 0.13.0 to 0.14.0
  • embedded/document: register username when applying a change
  • embedded/document: enable multi-indexing in doc engine tests
  • embedded/document: encoded document using valRef
  • embedded/document: attach username when auditing document
  • embedded/sql: post-commit physical index deletion
  • embedded/sql: uuid decoding
  • embedded/sql: improve internal index naming
  • embedded/sql: use declared constant for fixed ids
  • embedded/sql: insertion benchmark
  • embedded/sql: historical queries over primary index
  • embedded/sql: dynamic indexing
  • embedded/sql: deletion of primary index path
  • embedded/sql: multi-snapshop mvvc
  • embedded/sql: temporal queries with multi-indexing
  • embedded/sql: transactional drops
  • embedded/sql: unique index creation supported on empty tables
  • embedded/sql: support parenthesis as datatype constraint delimiter
  • embedded/store: multi-indexing
  • embedded/store: ensure index is erased from disk
  • embedded/store: wip multi-indexing
  • embedded/store: history returning value refs
  • embedded/store: indexer alloc its tx
  • embedded/store: remove metastate
  • embedded/store: history with rev count
  • embedded/store: injective index mapper
  • embedded/store: ensure snapshot up to date
  • embedded/store: indexing callbacks
  • embedded/store: key reader including historical entries
  • embedded/store: indexing prefix
  • embedded/store: entry mapper
  • embedded/tbtree: value-preserving history
  • embedded/tbtree: hcount serialization
  • embedded/tbtree: fetching historical values
  • embedded/tbtree: wip value-preserving history
  • embedded/tbtree: value-preserving history
  • embedded/tbtree: context propagation
  • pkg/api: adjust doc serializations to match verification
  • pkg/api: endpoint improvements
  • pkg/client: add setAll to immuclient mock
  • pkg/client: use buf for msg exchange
  • pkg/database: context propagation
  • pkg/database: context propagation
  • pkg/database: fix remote storage paths
  • pkg/database: increase delay when tx is not present
  • pkg/database: keept reading from specific tx
  • pkg/database: multi-indexing database
  • pkg/database: doc audit without retrieving payloads
  • pkg/database: register username when applying a change
  • pkg/database: fix remote storage paths
  • pkg/database: mandatory wait with async replication
  • pkg/database: kv count
  • pkg/server: register username when applying a change in doc apis
  • pkg/server: minor code adjustment
  • pkg/stdlib: non transactional ddl stmts
  • pkg/truncator: use embedded/logger package
  • pkg/verification: minor doc verification improvements
  • swagger: use embedded logger package
  • tests: Tests cleanup

Code Refactoring

  • pkg/logger: move logger from pkg to embedded

Features

  • update readme
  • prevent identifier from creation when use external id option
  • pass logger to heartbeater
  • add flag for using external id as a main one
  • embedded/document: register user when creating collection
  • embedded/document: doc audit without retrieving payloads
  • embedded/document: remove field from collection
  • embedded/document: add field to collection
  • embedded/sql: async multi-indexing
  • embedded/sql: extra metadata when creating tx
  • embedded/sql: include _rev column in historical queries
  • embedded/sql: drop index and table stmts
  • embedded/sql: table history
  • embedded/sql: query including historical rows
  • embedded/sql: dynamic multi-indexing
  • embedded/sql: wip uuid datatype support
  • embedded/sql: drop column stmt
  • embedded/store: use index attribute in kv metadata
  • embedded/store: getBetween
  • embedded/store: extra tx metadata
  • embedded/store: transactionaless multi-indexing
  • embedded/tbtree: getBetween
  • embedded/tbtree: key reader supporting historical values
  • pkg/api: docAudit returning timestamp and possibility to omit payloads
  • pkg/api: re-enable swagger ui
  • pkg/api: include username in document audit response
  • pkg/api: add field and remove field endpoints
  • pkg/database: add user when creating collection
  • pkg/server: add user when creating collection

Reverts

  • chore: remove initial swagger support

Downloads

Docker image
https://hub.docker.com/r/codenotary/immudb

immudb Binaries

File SHA256
immudb-v1.9.0-RC1-darwin-amd64 0de7525bcb60f7859f4944bd33469251292799c79282fae9b38d701ab1f6a960
immudb-v1.9.0-RC1-darwin-arm64 ea33b9c98de5421356b7bbfae90913125a78d6fae7665e3a29952d65529fbbde
immudb-v1.9.0-RC1-freebsd-amd64 9c8e2a3c8c54bce68f56a85b7d0adfe1b4e9624ace2513e6b7b119c9ffbb0c08
immudb-v1.9.0-RC1-linux-amd64 d4d6217ece830105f0e57a0ae1b756b522d6afc024eada5535d18f6e35b86003
immudb-v1.9.0-RC1-linux-amd64-fips 18288be1987b9095831bf54018cb1e82829a9a9e1f4316180fbad37f5710d700
immudb-v1.9.0-RC1-linux-amd64-static 2ef738f413a9ef3d3af5f53cb343155ec69c79d81feb329dd32c84ce5eff12ca
immudb-v1.9.0-RC1-linux-arm64 de4910464b103e932355f02e267834ed8d2e338eb2ca81f0f1b2ca1be543bdf4
[immudb-v1.9.0-RC1-linux-s390...
Read more

v1.5.0

21 Jun 16:19
6103e9a
Compare
Choose a tag to compare

Release notes

We are excited to introduce immudb 1.5, which has several new features: MVCC: Multi-Version Concurrency Control, Data Retention, Performance Improvements, Float64 data-type and Document Data Model APIs. In addition to fixing bugs, we enhanced the overall experience.

MVCC: Multi-Version Concurrency Control

Detection of conflicts is automatic when multiple transactions are processed concurrently. MVCC in conjunction with snapshots provides a lock-free and optimistic approach to ensuring data consistency.

Data Retention

Data retention refers to the practice of keeping data for a specific period of time before deleting it. This practice is commonly used in various industries and organizations to comply with legal and regulatory requirements, as well as to manage storage space and maintain data integrity.

One of the primary benefits of data retention is its ability to help maintain disk space. By setting a retention period, organizations can automatically delete data that is no longer needed, freeing up disk space for new data. This can be particularly useful for organizations that deal with large amounts of data, such as those in the financial or healthcare industries, where storing vast amounts of data can be costly.

To get more information about data retention please refer to the documentation on docs.immudb.io.

Performance Improvements

Indexing

Concurrent bulk indexing makes indexing faster than ever. It simultaneously indexes all entries within a single transaction. Moreover, multiple transactions can be indexed at once.

Transaction logs

As of this release, values can be stored in the same transactions logs as headers. When this mode is enabled, transaction commits may be speed up by up to 60%, but data retention will not be supported. The setting can only be set at the time of database creation, but a replica can have a different setting.

To further speed up transaction processing, file preallocation can also be enabled. On Linux, fdata_sync will be used when this setting is enabled. As a result of enabling file preallocation and embedded values mode in our initial evaluations, transaction throughput was increased by up to 100% (in comparison with the previous immudb release v1.4.1).

Float64 data-type

It is now possible to use double-precision floating-point data types with SQL according to IEEE-754 64-bit floating-point specification.

Document Data Model API

The document-data model provides simple yet powerful storage. It is possible to store and retrieve documents represented as JSON documents based on conditions that relate to indexed fields.

Changelog

[v1.5.0] - 2023-06-20

Bug Fixes

  • embedded/store: handle replication of empty values

Changes

  • embedded/document: naming validations
  • embedded/document: allow hyphen in doc naming
  • embedded/document: collection and field naming validations
  • embedded/store: embedded values and prealloc disabled by default

[v1.5.0-RC1] - 2023-06-16

Bug Fixes

  • build/Dockerfile.immuadmin to reduce vulnerabilities
  • build/Dockerfile.immuclient to reduce vulnerabilities
  • build/Dockerfile.immuadmin to reduce vulnerabilities
  • build/Dockerfile.rndpass to reduce vulnerabilities
  • build/Dockerfile.full to reduce vulnerabilities
  • modify tests for new object db initialisation
  • build/Dockerfile.full to reduce vulnerabilities
  • build/Dockerfile.rndpass to reduce vulnerabilities
  • table id generation
  • build/Dockerfile.immuclient to reduce vulnerabilities
  • docs: bump golang.org/x/net to 0.7.0 in docs and test pkg
  • embedded/ahtree: correct calculation of payload offset
  • embedded/appendable: proper closing of non-required chunks
  • embedded/document: support nil docs
  • embedded/document: proper column renaming
  • embedded/document: assign correct revision number
  • embedded/document: close readers before updating document
  • embedded/document: id field conversion
  • embedded/document: proper handling of deleted documents
  • embedded/document: validate doc is properly initialized
  • embedded/document: validate doc is properly initialized
  • embedded/sql: do not force columns to have max key length when unspecified
  • embedded/sql: include explicit close into sqlTx options
  • embedded/sql: multi-row conflict handling
  • embedded/sql: implicit conversion within expressions
  • embedded/sql: consider 0 as no limit
  • embedded/sql: parsing of exists stmt
  • embedded/sql: like operator supporting null values
  • embedded/sql: crash when RowReader.Read() returns error
  • embedded/sql: proper handling of parameters in row readers
  • embedded/store: force snapshot to include mandatory mvcc changes
  • embedded/store: ensure snapshot is closed for read-only txs
  • embedded/store: integrity checks covering empty values
  • embedded/store: avoid dead-lock when exporting tx with external commit allowance mode
  • embedded/tbtree: fix error comparison
  • embedded/tbtree: rollback to the most recent snapshot when insertion fails
  • embedded/tbtree: fix snapshot getKeyWithPrefix
  • embedded/tbtree: proper kv validation
  • embedded/tbtree: fix snapshot getKeyWithPrefix
  • go.mod: bump go version to 1.17 in go.mod
  • helm: set securityContext and podSecurityContext at correct location
  • pkg/api: create collection endpoint with path parameter
  • pkg/api: fix and implement LIKE and NOT_LIKE operator when querying documents
  • pkg/client: ensure ticker is properly stopped
  • pkg/client: return error when verifiedGet operation fails
  • pkg/database: read-only document API for replicas
  • pkg/database: skip eof error during scan
  • pkg/database: read from err channel
  • pkg/database: wrap propagated context
  • pkg/database: fix truncation and contemplate entry-less txs
  • pkg/replicator: check stream is properly initialized
  • pkg/server: do not set trailer metadata when replication is done with bidirectional streamming
  • pkg/server: ensure error propagation when sending headers
  • pkg/server: use grpc interceptors with grpc proxy
  • pkg/server: request explicit close when creating a rw sql tx
  • pkg/server: ensure tx is closed upon error
  • pkg/server: close document readers before cancelling txs
  • pkg/server: thread-safe doc reader during session handling
  • pkg/stream: handle the case when message fits in a single chunk
  • pkg/truncator: adjust plan logic and contemplate empty txs
  • pkg/verification: document comparison with proto equals
  • push.yml: update min go version

Changes

  • Add reformatting of protobuf file on build/codegen
  • rename DocumentBulkInsert to DocumentInsertMany
  • Update build/RELEASING.md file
  • allow multiple order by clauses
  • replace schemav2 with protomodel in truncator test
  • handle no more doc error inside response in search
  • use sys/unix package
  • remove docker test provider
  • update document with id if not nil
  • use gosec action
  • add updatecollection api
  • copy document catalogue when truncating db
  • add DocumentFindOneAndUpdate api
  • wait for immudb to get initialized
  • add test case for uncommitted tx not increasing table count
  • pass transaction to upsert function
  • check invalid search id in search request
  • add monotically increasing number to doc id generation
  • add document audit api
  • change DocumentFindOneAndUpdate to DocumentUpdate
  • return sql reader on document search
  • add order by clause in search
  • use sql statement for delete than raw query
  • add ReadN method to document reader
  • add documentReader iterator to read documents
  • remove initial swagger support
  • exclude generated code from coverage
  • exclude generated code from coverage
  • add unique search id for paginated readers
  • fix TestFloatSupport test case
  • simplified codegen
  • fix tests
  • change DeleteTableStmt to DropTableStmt
  • generate proto requests for DocumentDelete api
  • return ErrNoMoreDocuments instead of sql.ErrNoMoreRows
  • add DocumentDelete api
  • add default size for document reader lru cache
  • add lru cache for paginated readers
  • fix merge issues
  • add pagination support when fetching documents
  • fix failing verification test
  • increase test coverage for document engine
  • add bulk insert api
  • TruncateDatabase endpoint should use the same ongoing Truncator if present
  • address review comment
  • add go-acc and goveralls to ext-tools folder
  • delete columns on table deletion
  • check for column before adding index on collection update
  • add option for non unique indexes on collection
  • ci: improve notifications
  • cmd/immuadmin: flag to specify the usage of embedded values
  • cmd/immuadmin: add truncate cmd to immuadmin
  • cmd/immuadmin: modify truncation settings schema
  • deps: bump golang.org/x/crypto
  • deps: bump github.com/jaswdr/faker from 1.4.3 to 1.16.0
  • deps: bump securego/gosec from 2.14.0 to 2.15.0
  • deps: bump github.com/codenotary/immudb
  • deps: bump github.com/influxdata/influxdb-client-go/v2
  • deps: bump github.com/golang/protobuf from 1.5.2 to 1.5.3
  • deps: bump github.com/rogpeppe/go-internal from 1.8.0 to 1.9.0
  • deps: bump github.com/lib/pq from 1.10.7 to 1.10.9
  • deps: bump github.com/lib/pq from 1.10.2 to 1.10.7
  • deps: bump golang.org/x/net from 0.8.0 to 0.9.0
  • deps: bump github.com/rs/xid from 1.3.0 to 1.5.0
  • deps: bump github.com/stretchr/testify from 1.8.0 to 1.8.2
  • deps: bump aws-actions/configure-aws-credentials from 1 to 2
  • deps: bump github.com/spf13/cobra from 1.2.1 to 1.6.1
  • deps: bump git...
Read more

v1.5.0-RC1

16 Jun 16:30
24cce79
Compare
Choose a tag to compare
v1.5.0-RC1 Pre-release
Pre-release

Changelog

[v1.5.0-RC1] - 2023-06-16

Bug Fixes

  • build/Dockerfile.immuadmin to reduce vulnerabilities
  • build/Dockerfile.immuclient to reduce vulnerabilities
  • build/Dockerfile.immuadmin to reduce vulnerabilities
  • build/Dockerfile.rndpass to reduce vulnerabilities
  • build/Dockerfile.full to reduce vulnerabilities
  • modify tests for new object db initialisation
  • build/Dockerfile.full to reduce vulnerabilities
  • build/Dockerfile.rndpass to reduce vulnerabilities
  • table id generation
  • build/Dockerfile.immuclient to reduce vulnerabilities
  • docs: bump golang.org/x/net to 0.7.0 in docs and test pkg
  • embedded/ahtree: correct calculation of payload offset
  • embedded/appendable: proper closing of non-required chunks
  • embedded/document: support nil docs
  • embedded/document: proper column renaming
  • embedded/document: assign correct revision number
  • embedded/document: close readers before updating document
  • embedded/document: id field conversion
  • embedded/document: proper handling of deleted documents
  • embedded/document: validate doc is properly initialized
  • embedded/document: validate doc is properly initialized
  • embedded/sql: do not force columns to have max key length when unspecified
  • embedded/sql: include explicit close into sqlTx options
  • embedded/sql: multi-row conflict handling
  • embedded/sql: implicit conversion within expressions
  • embedded/sql: consider 0 as no limit
  • embedded/sql: parsing of exists stmt
  • embedded/sql: like operator supporting null values
  • embedded/sql: crash when RowReader.Read() returns error
  • embedded/sql: proper handling of parameters in row readers
  • embedded/store: force snapshot to include mandatory mvcc changes
  • embedded/store: ensure snapshot is closed for read-only txs
  • embedded/store: integrity checks covering empty values
  • embedded/store: avoid dead-lock when exporting tx with external commit allowance mode
  • embedded/tbtree: fix error comparison
  • embedded/tbtree: rollback to the most recent snapshot when insertion fails
  • embedded/tbtree: fix snapshot getKeyWithPrefix
  • embedded/tbtree: proper kv validation
  • embedded/tbtree: fix snapshot getKeyWithPrefix
  • go.mod: bump go version to 1.17 in go.mod
  • helm: set securityContext and podSecurityContext at correct location
  • pkg/api: create collection endpoint with path parameter
  • pkg/api: fix and implement LIKE and NOT_LIKE operator when querying documents
  • pkg/client: ensure ticker is properly stopped
  • pkg/client: return error when verifiedGet operation fails
  • pkg/database: read-only document API for replicas
  • pkg/database: skip eof error during scan
  • pkg/database: read from err channel
  • pkg/database: wrap propagated context
  • pkg/database: fix truncation and contemplate entry-less txs
  • pkg/replicator: check stream is properly initialized
  • pkg/server: do not set trailer metadata when replication is done with bidirectional streamming
  • pkg/server: ensure error propagation when sending headers
  • pkg/server: use grpc interceptors with grpc proxy
  • pkg/server: request explicit close when creating a rw sql tx
  • pkg/server: ensure tx is closed upon error
  • pkg/server: close document readers before cancelling txs
  • pkg/server: thread-safe doc reader during session handling
  • pkg/stream: handle the case when message fits in a single chunk
  • pkg/truncator: adjust plan logic and contemplate empty txs
  • pkg/verification: document comparison with proto equals
  • push.yml: update min go version

Changes

  • Add reformatting of protobuf file on build/codegen
  • rename DocumentBulkInsert to DocumentInsertMany
  • Update build/RELEASING.md file
  • allow multiple order by clauses
  • replace schemav2 with protomodel in truncator test
  • handle no more doc error inside response in search
  • use sys/unix package
  • remove docker test provider
  • update document with id if not nil
  • use gosec action
  • add updatecollection api
  • copy document catalogue when truncating db
  • add DocumentFindOneAndUpdate api
  • wait for immudb to get initialized
  • add test case for uncommitted tx not increasing table count
  • pass transaction to upsert function
  • check invalid search id in search request
  • add monotically increasing number to doc id generation
  • add document audit api
  • change DocumentFindOneAndUpdate to DocumentUpdate
  • return sql reader on document search
  • add order by clause in search
  • use sql statement for delete than raw query
  • add ReadN method to document reader
  • add documentReader iterator to read documents
  • remove initial swagger support
  • exclude generated code from coverage
  • exclude generated code from coverage
  • add unique search id for paginated readers
  • fix TestFloatSupport test case
  • simplified codegen
  • fix tests
  • change DeleteTableStmt to DropTableStmt
  • generate proto requests for DocumentDelete api
  • return ErrNoMoreDocuments instead of sql.ErrNoMoreRows
  • add DocumentDelete api
  • add default size for document reader lru cache
  • add lru cache for paginated readers
  • fix merge issues
  • add pagination support when fetching documents
  • fix failing verification test
  • increase test coverage for document engine
  • add bulk insert api
  • TruncateDatabase endpoint should use the same ongoing Truncator if present
  • address review comment
  • add go-acc and goveralls to ext-tools folder
  • delete columns on table deletion
  • check for column before adding index on collection update
  • add option for non unique indexes on collection
  • ci: improve notifications
  • cmd/immuadmin: flag to specify the usage of embedded values
  • cmd/immuadmin: add truncate cmd to immuadmin
  • cmd/immuadmin: modify truncation settings schema
  • deps: bump golang.org/x/crypto
  • deps: bump github.com/jaswdr/faker from 1.4.3 to 1.16.0
  • deps: bump securego/gosec from 2.14.0 to 2.15.0
  • deps: bump github.com/codenotary/immudb
  • deps: bump github.com/influxdata/influxdb-client-go/v2
  • deps: bump github.com/golang/protobuf from 1.5.2 to 1.5.3
  • deps: bump github.com/rogpeppe/go-internal from 1.8.0 to 1.9.0
  • deps: bump github.com/lib/pq from 1.10.7 to 1.10.9
  • deps: bump github.com/lib/pq from 1.10.2 to 1.10.7
  • deps: bump golang.org/x/net from 0.8.0 to 0.9.0
  • deps: bump github.com/rs/xid from 1.3.0 to 1.5.0
  • deps: bump github.com/stretchr/testify from 1.8.0 to 1.8.2
  • deps: bump aws-actions/configure-aws-credentials from 1 to 2
  • deps: bump github.com/spf13/cobra from 1.2.1 to 1.6.1
  • deps: bump github.com/grpc-ecosystem/grpc-gateway/v2
  • deps: bump google.golang.org/grpc from 1.46.2 to 1.54.0
  • deps: bump github.com/spf13/viper from 1.12.0 to 1.15.0
  • embedded/ahtree: add inline comments
  • embedded/appendable: fsync freebsd
  • embedded/appendable: automatic file creation only when appending
  • embedded/appendable: use fdatasync when file is preallocated
  • embedded/appendable: file syncing per os
  • embedded/appendable: support file preallocation
  • embedded/appendable: file syncing using fdatasync when available
  • embedded/appendable: minor improvements reading files
  • embedded/appendable: metadats with putBool
  • embedded/document: remove dead-code
  • embedded/document: add float support for doc engine
  • embedded/document: raw document validation
  • embedded/document: improve error handling
  • embedded/document: transactional collection update
  • embedded/document: support null values in indexed attributes
  • embedded/document: retrieval of raw document
  • embedded/document: move source code into dedicated files
  • embedded/document: use onclose callback to close the tx
  • embedded/document: return struct when auditing document history
  • embedded/document: add test to ensure key ordering in document during serialization
  • embedded/document: blob type not yet supported
  • embedded/document: catch key alredy exists error
  • embedded/document: catch tx read conflict error
  • embedded/document: translate table already exists error
  • embedded/document: minor var renaming
  • embedded/document: fix query stmt generator and add tests
  • embedded/document: leverage sqlengine lazy index contraint evaluation
  • embedded/document: binary serialization of doc payload
  • embedded/document: use query limit when searching
  • embedded/document: wip continue with improvements
  • embedded/document: wip continue with improvements
  • embedded/document: wip continue with improvements
  • embedded/document: wip improvements
  • embedded/document: add collection deletion api support
  • embedded/document: minor code simplification
  • embedded/document: add variable length support for multiple types
  • embedded/document: ensure order by clauses are used when deleting and updating
  • embedded/document: improve error messages
  • embedded/document: minor code adjustments
  • embedded/document: transactional collection and document creation
  • embedded/document: improve error messages
  • embedded/document: possibility to specify desc order when querying document history
  • embedded/document: add tests for blob type
  • embedded/document: avoid public dependency on sql
  • embedded/document: add test cases for collection on doc engine
  • embedded/document: change querier from BinBoolExp to CmpBoolExp
  • embedded/document: transactional document creation
  • embedded/document: add document id generation
  • embedded/document: typo in error message
  • embedded/htree: allow creation of empty hash trees
  • embedded/object: add document abstraction
  • ...
Read more

v1.4.1

21 Nov 15:51
@byo byo
Compare
Choose a tag to compare

Release notes

We're pleased to announce new version of immudb: 1.4.1. This is a smaller maintenance release that fixes important issues discovered in the previous 1.4.0 release.

Important issues fixed

Along with this release, the go SDK for immudb comes with fixes to two security vulnerabilities (CVE-2022-36111 and CVE-2022-39199) that we've discovered through an internal security review. Those vulnerabilities only affect the client SDK that is part of the immudb release - for that reason make sure that the most recent go SDK version is used in your application.

More information about those vulnerabilities can be found in those adversaries:

Small improvements

Besides important fixes, this release also comes with improved naming convention related to replication options and an option to reset admin password without knowledge of the previous password. Such password reset is helpful in case the admin password is lost and can also be used to ensure there's a correct admin password set in cloud deployments such as Kubernetes.

Changelog

[v1.4.1] - 2022-11-16

Bug Fixes

  • Change replication-related terms in codebase
  • Change replication-related terms in tests
  • cmd: Rename replication flags to follow consistent convention
  • cmd/immudb: Better description of the --force-admin-password flag
  • cmd/immudb: Fix description of the force-admin-password flag
  • embedded/appendable: fsync parent directory
  • embedded/appendable: fsync parent folder in remote appedable
  • pkg: Rename replication-related fields in GRPC protocol
  • pkg/client: Delay server identity validation
  • pkg/client/cache: Add methods to validate server identity
  • pkg/client/cache: Validate server's identity
  • pkg/server: Remove includeDeactivated flag when querying for users
  • pkg/server/servertest: Add uuid to buffconn server
  • pkg/server/servertest: Fix resetting grpc connection
  • test/perf-test-suite: Avoid dumping immudb logo on perf test results file
  • test/performance-test-suite: Ensure results are shown after proper is finished
  • verification: Additional Linear proof consistency check
  • verification: Recreate linear advance proofs for older servers

Changes

  • pkg/server: Add logs for activities related to users
  • ci: migrate deprecating set-output commands
  • cmd/immudb: Allow resetting sysadmin password
  • docs/security: Be less specific about package version in examples
  • docs/security: Add resources for the linear-fake vulnerability
  • embedded/appendable: sync directories
  • embedded/store: Disable asynchronous AHT generation
  • embedded/store: Remove AHT Wait Hub
  • pkg/client: Document WithDisableIdentityCheck option
  • pkg/client/cache: Describe serverIdentity parameter
  • pkg/client/cache: Limit the hash part of the identity file name
  • pkg/client/state: Cleanup mutex handling in StateService
  • pkg/server: Warn if sysadmin user password was not reset
  • pkg/server: Better warning for unchanged admin password
  • test/performance-test-suite: Add summary to json output

Features

  • ci: fix message and input
  • ci: add runner name to mattermost message header
  • ci: simplify results extraction
  • ci: extract performance tests into separate workflow to be reused
  • ci: add scheduled daily test runs and send results to Mattermost
  • pkg/replication: Disable server's identity check in internal replication

Downloads

Docker image
https://hub.docker.com/r/codenotary/immudb

immudb Binaries

File SHA256
immudb-v1.4.1-darwin-amd64 120966d077c5ffca4bfd6745473a06c0ca219291adc49960108cc476e418cf5a
immudb-v1.4.1-darwin-arm64 d6469914115a58f9462c07b1d5aa0dbb1e777b80477d8baf8108bf51deabdd22
immudb-v1.4.1-freebsd-amd64 05a932c73bbb4305f6f7975a3bdc0f2198f8968776b16b84497584bb2742bc5a
immudb-v1.4.1-linux-amd64 a5ae370d6475026db7df5906ba037dc708b0a8bda52a0adf0d06c3dcdee587f1
immudb-v1.4.1-linux-amd64-fips db4477eb54d0437b9b145dfa9f77b593fc3a149906b0c5cc1c4ed87301786298
immudb-v1.4.1-linux-amd64-static 7b2c31569a513e072cefbdc7cbcf7c36421516230bf388a5156d95a5f3034b02
immudb-v1.4.1-linux-arm64 3d5f8784bdf652d2c067885d19b330d28bf497459b59a9358c0774dbff1f4d6f
immudb-v1.4.1-linux-s390x ee4efbcb850ab56da2fd3ed18226bd9808de404fd69ea425567952492e320e96
immudb-v1.4.1-windows-amd64.exe 707963320c94390ac9f9ce8d20d4f274baf636df789c4a65f3dc1a74bfd7f52c

immuclient Binaries

File SHA256
immuclient-v1.4.1-darwin-amd64 076c4f474e8f57d59ec20016d5f445205b80d16c0a7aebe6ae0b1d07310c5360
immuclient-v1.4.1-darwin-arm64 41bfe74f900e7bbd9cc57b89d3111edf9faa3f5ff4204995e352f02c78fa3c53
immuclient-v1.4.1-freebsd-amd64 286c48668fd772464217f26cfc30772819175e61452d860d44ad6ec04c437c79
immuclient-v1.4.1-linux-amd64 3ab44ad6d956a7f4ecff2da08738227e63cd4816ef7047dc63f671c6536969b7
immuclient-v1.4.1-linux-amd64-fips 75cbdc3614cb345af53e127aaaf4e7633fde4710f1ce1f1191c12b1d7ce4ab0f
immuclient-v1.4.1-linux-amd64-static 1f33880078225f56b253e663fb5d6e8ef1927d4bc9019ad8ef40a1863d99be7e
immuclient-v1.4.1-linux-arm64 30e736810ab08f74e4dbd22b9ddb369b321dde1c65b35879a3ed164c97e5e8a0
immuclient-v1.4.1-linux-s390x 6fe337a5d14511eda8cad40d7ec4f6c483bf5b2811229678833286cfa373a7a0
immuclient-v1.4.1-windows-amd64.exe 6790a7dc306f3669cb824774b45c140c9331b6a83ae8fb10629a7c58c495405d

immuadmin Binaries

File SHA256
immuadmin-v1.4.1-darwin-amd64 caf3308f916d43c79fc14c77c3452013f3580b4e7edfd0fe949219d945d3b245
immuadmin-v1.4.1-darwin-arm64 1a82fef2f16715591da9e74001a8db0d0838ce6e273cf08443e8261f89f6fedb
immuadmin-v1.4.1-freebsd-amd64 42679b08927dcbef84b18eac78391e78c29a5c817e9febf56bc18485ee39c5a5
immuadmin-v1.4.1-linux-amd64 24126f6699b3ae3fe18910c5a4fb45d996bc9237ebb92e91ee2916b8f8379b0c
immuadmin-v1.4.1-linux-amd64-fips b5b457b179384a72a6486a5e82f16f8bfe449b467e31373627f94a736f7d7afb
immuadmin-v1.4.1-linux-amd64-static e68a4fc4640082a67522c9a77f081ee513cc87732900b3f0dd644deda6a58843
immuadmin-v1.4.1-linux-arm64 9cc7d0283b4e7bd58c1daa39ec1c93c9bdaeb7818b11ac5ac88a8d91be3ba658
immuadmin-v1.4.1-linux-s390x 22408bc7d8e0cef8378fcff8b1079bfa574e0336e5ca77f77facf21c67e3f24e
immuadmin-v1.4.1-windows-amd64.exe 2fa628855a0c17aecb5cc675297a1bf217bbf595f40701ed740d6351279f7e2d