Releases: codenotary/immudb
v1.9.5
What's Changed:
Changes
1. Enhanced Index Flushing Algorithm:
- Memory usage of buffered data now also triggers flushing to disk.
- The index node cache is now shared across multiple indices for greater efficiency.
- Writes are now stalled at times to prevent high memory consumption during very intense write operations.
2. SQL Layer Enhancements:
- Support for selecting generic expressions has been added.
- Refactored the
FnCall
implementation for improved clarity and performance. - Added support for
INSERT INTO SELECT
statements. - Expanded the catalog of core built-in functions significantly.
3. Database Management:
- Databases are now opened and closed on demand, up to the
MaxActiveDatabases
limit, to reduce memory consumption when managing a large number of databases.
4. Automatic HTTPS Certificate:
- Introduced an option to start the server with an automatically generated self-signed HTTPS certificate.
5. Improved Logging and Auditing:
- Added log rotation based on file size and age for better log management.
- Introduced an option to log all server access for enhanced auditing.
Bug Fixes:
- Resolved an issue where large
store.MaxValueSize
values caused excessive memory consumption. - Fixed the "max active snapshots" issue encountered when running queries from PostgreSQL compatible clients.
- Addressed problems with AWS Signature V4 using IAM roles.
- Corrected the improper use of time.Since in a defer statement.
- Fixed security vulnerability CVE-2024-41262 by ensuring the metrics server runs under HTTPS.
- Fixed an issue with gRPC-Gateway when HTTPS is enabled.
Full Changelog: v1.9.4...v1.9.5
Downloads
Docker image
https://hub.docker.com/r/codenotary/immudb
immudb Binaries
File | SHA256 |
---|---|
immudb-v1.9.5-darwin-amd64 | 156d0d748b2700a800aa1744ea8e59f5e281196418535ca25f991877901fadf8 |
immudb-v1.9.5-darwin-arm64 | 19636722efb1448a679dc9036200af1375bc7329336cd232db8b915f14702f38 |
immudb-v1.9.5-freebsd-amd64 | 5b8365c287f70d05112ae405302281822e693a2be525ffa0093c6b35d68a9325 |
immudb-v1.9.5-linux-amd64 | 9e79a23676c4841fc4c324ae2577c777c91020647b01458ef9897154027d2922 |
immudb-v1.9.5-linux-amd64-fips | d3b6e402fdaa6aa7231b834bac346c7dec4a8a80d73d8d6b8e3357e02b5af4cd |
immudb-v1.9.5-linux-amd64-static | 7087115bba86e49524b69e71ca17074513fffaafacf7948e10ac6d9e907106c6 |
immudb-v1.9.5-linux-arm64 | e2aa69a6625d6a0ac69ea93ed6a59b9f6a4fd4ff3b5b95df06d869e65b73a710 |
immudb-v1.9.5-linux-s390x | 83ef859f8e201bacbf7931cadabe38969fa5283c25f4dad05cd5452885483f39 |
immudb-v1.9.5-windows-amd64.exe | 855b44b3f5822ada5f60f831e08a99a53a3c07bbc655960979db1586a774cf2a |
immuclient Binaries
File | SHA256 |
---|---|
immuclient-v1.9.5-darwin-amd64 | 251f8379aeaa72534191272e7b1762c4fe9fd69e1b0250401269331de3abe072 |
immuclient-v1.9.5-darwin-arm64 | 869f0a4e8269c653235fb31596fb5f89d1fc99ff29cfd3fde77d8e97e45f08c0 |
immuclient-v1.9.5-freebsd-amd64 | f43f726cc66f18babec94dca662836690f96b6406e3a0c61be2f9b34cadf246f |
immuclient-v1.9.5-linux-amd64 | f64e7a64c6d3ddc9ed42395b3edaed5956eb48bd689d6df120d351396a5f6e90 |
immuclient-v1.9.5-linux-amd64-fips | 5ca385b34c0523ea59c49bfb92ec089847d17ceeea493eee8b8656b7e72b9209 |
immuclient-v1.9.5-linux-amd64-static | bb16d090be5290ec6cbec5d6a06f4c46663dee8dfcb64e281dfaa61475cd7c0d |
immuclient-v1.9.5-linux-arm64 | 92f43e21b80790f2ade2b13920f043b54586dd59ca155fd2287e91a03a12f044 |
immuclient-v1.9.5-linux-s390x | 1b1c73b5a997de23b96ec127f9586c28f7929c3e78dc2844118705d5207626c4 |
immuclient-v1.9.5-windows-amd64.exe | 95e5a13c424e47a6e4436f4d1c702afaeb0ecd44fe2b2a3b4b34ad2b34e86c24 |
immuadmin Binaries
File | SHA256 |
---|---|
immuadmin-v1.9.5-darwin-amd64 | 64137011000d71356e4b61c0b7cab059256d75dd93e309d856fa5ed58f45e2e9 |
immuadmin-v1.9.5-darwin-arm64 | fcb647aa666872803ec3884b0954e4de30007c5ed3f04940f45969241e4ad4eb |
immuadmin-v1.9.5-freebsd-amd64 | bdc3ccab782f611ac6c314713b80e613b9dad739f16ea88b2fd9cb64baa6678c |
immuadmin-v1.9.5-linux-amd64 | 33af8a8f4add8ec21246bb7fa3b9abf32fe8520a2254a317e848dd759298f6cb |
immuadmin-v1.9.5-linux-amd64-fips | 29260a0c2a130efcef50f12b141f70ef4f09784fd5d0f5262af3feacf43f8c53 |
immuadmin-v1.9.5-linux-amd64-static | acdddadd011ac06638190645f2adcc1e7d1b4cbd8cf20be5411d7877fad137f6 |
immuadmin-v1.9.5-linux-arm64 | da43b1db55793760d90a40d081cba0c9283a3ca47ff020dc81a2374f9bfc1013 |
immuadmin-v1.9.5-linux-s390x | 60b4d3374cff6bc79079d5f846f5f8a789b7bb2edd2e50c0e6ef2545b3038872 |
immuadmin-v1.9.5-windows-amd64.exe | 2a971c1b1dcf8a062add8ebc75da9907d8ef91b963edbe7362248190638693f2 |
v1.9.4
What's Changed:
Changes
- Add support for a new JSON data type;
- Add support for SQL CHECK constraints;
- Introduce SQL privileges to enable fine-grained control over statement execution;
- Add automatic injection of request information to transaction metadata to improve auditing;
- Introduce
_tx_metadata
reserved column to allow retrieving transaction metadata in SQL tables; - Implement table import/export through immuadmin command;
- Add creation time and creator to database details listed by immuadmin;
Fixes:
- Fix startup error when S3 remote identifier is enabled;
- Fix immudb crash when updating same table twice in same transaction;
Full Changelog: v1.9.3...v1.9.4
Downloads
Docker image
https://hub.docker.com/r/codenotary/immudb
immudb Binaries
File | SHA256 |
---|---|
immudb-v1.9.4-darwin-amd64 | 6f54f39ab83e51d591cafa1291fb5d866b34bf8d489f197ec669fead76ba88e8 |
immudb-v1.9.4-darwin-arm64 | 59cba57196beefcd610380fa7191e3eb915bded3ee35676ea3b9506df3cff896 |
immudb-v1.9.4-freebsd-amd64 | e77318675dfc8f7d294c49d40d4eb2b27347ed720f3d9e7293fd0a9741977b3d |
immudb-v1.9.4-linux-amd64 | 8512e1d3e042e88081b66a5feca26dc0d70cc57ae807e626349e3886c16016be |
immudb-v1.9.4-linux-amd64-fips | 066fcfdf463978a3da0e59036c81bdb0d82a3664a08c6cf1ca947f7ffaddbf95 |
immudb-v1.9.4-linux-amd64-static | 7203e749f08315e7d9013f8f2bb2df3e7234117925e16e386b53dc5a1b58f0c7 |
immudb-v1.9.4-linux-arm64 | 8726cd650461ac172bc8945a0c88e24e37018a877458f33dad1fe7a51dddd807 |
immudb-v1.9.4-linux-s390x | c18cb5e2a5cd83348643f6329198629c2a916ff09f03fa3fb7b1bd7291c90560 |
immudb-v1.9.4-windows-amd64.exe | fda0a81f8b69a8bf417c81eadad300af5d8e14c880e819f9db71a2dfd4750537 |
immuclient Binaries
File | SHA256 |
---|---|
immuclient-v1.9.4-darwin-amd64 | 454b2df932dbd316fa2d72f361bfbdd6e7fe8e23156632d8aeab90d75ac76bc7 |
immuclient-v1.9.4-darwin-arm64 | ea66c9e0be0dacbacb48722c17a31e8a4848d0ded5bdfebbefcdbff1004705fa |
immuclient-v1.9.4-freebsd-amd64 | ab1b7c1494b113d58c4530df2f2211cb29e17d5d9fb3082d03e2564bedf74f82 |
immuclient-v1.9.4-linux-amd64 | 8e11ef6de72787edd7bd2ebe630ec081d9d4a03106a9ae9a51536dc172e29604 |
immuclient-v1.9.4-linux-amd64-fips | fce65df00999b8de9d3c399e9b6f959deb02f27204414aae52dba206f7a9408c |
immuclient-v1.9.4-linux-amd64-static | 9c64dd9fc490f9f4a2c5bf80903ea2d0298c5f813ef1e292a029d6d910fb2fd1 |
immuclient-v1.9.4-linux-arm64 | c912a6021c4e04916bc400f64fd8ca5b5a143bb4e73474bd97360370b8ab6322 |
immuclient-v1.9.4-linux-s390x | 060317fe65f47223f0b00f38daca6ae088ae90db49ee11e1be9f2324252f9baf |
immuclient-v1.9.4-windows-amd64.exe | e10155ca8b1479c1845e6f126e832a74bccb5e7fb147fba1b60bd584019db97c |
immuadmin Binaries
File | SHA256 |
---|---|
immuadmin-v1.9.4-darwin-amd64 | a4455d69327fd19e560ac9fb0a335587f1446433212aa9753cd8d5a87b8b888f |
immuadmin-v1.9.4-darwin-arm64 | 1daa6a652634a6b8dcdaa1ff632b61b81b359e4275ee80ea3e04e478d51f5d27 |
immuadmin-v1.9.4-freebsd-amd64 | 307847507535d909fb3c87527d6a6a3cfe43d37510bdf1df8964447836673cf0 |
immuadmin-v1.9.4-linux-amd64 | 8d0d58183f7f1f3051cd425438b81603a118da83bd6485cbea550d252726a708 |
immuadmin-v1.9.4-linux-amd64-fips | aeb61ee2e64bd77da69adacbd2feef43ba507002ea06cd3188c1e9a971a313d7 |
immuadmin-v1.9.4-linux-amd64-static | 8904719120cb6b7c5ffda2c0032faaea5d5a7baf0e2a2917bdbb1abcdeca762f |
immuadmin-v1.9.4-linux-arm64 | 98a2d8e9487e1d3ccafa2598a5ee9279b437fff4a0ac8fb66c5337c3e9a0d2bf |
immuadmin-v1.9.4-linux-s390x | f2c409dda1508d2c0d76b33449ef8f1a89b8ce2dc85687c204f38a6d167d2a4b |
immuadmin-v1.9.4-windows-amd64.exe | dc4f4b7de3beef95c9c654cdcaa1c722e96e970e3b8096ba5525714e5d84dd20 |
v1.9.3
What's Changed
Changes
- Replaced LRU (least recently used) caching policy with SIEVE algorithm, resulting in improvement of caching efficiency by up to 60%;
- Significantly reduced memory consumption of indexes by using pooling and by bounding the byte size of the cache, by up to 48%;
- Support compaction of indexes when S3 storage is enabled;
- Way more instrumentation reported by immuadmin database and status subcommands;
- Relaxed password hassling of user;
- Significantly improved coverage of SQL GROUP BY and ORDER BY clauses;
- Indexes are no more required on the GROUP BY/ORDER BY fields:
- Arbitrary number of fields are now supported;
- Index selection has been optimised to reduce query times;
- Support streaming in SQLQuery/TxSQL rpcs to allow fetching arbitrary number of query results from:
- client SDKs;
- PG compatible clients;
- Golang database/sql std package;
Fixes
- Fix off by one error when LIMIT clause is used;
- Add missing constraint checks that prevent indexer from getting stuck;
- Prevent replication between different immudb versions;
Full Changelog: v1.9DOM.2...v1.9.3
Downloads
Docker image
https://hub.docker.com/r/codenotary/immudb
immudb Binaries
File | SHA256 |
---|---|
immudb-v1.9.3-darwin-amd64 | fd725a8837b4e03e2a6ea9ef8a3a37d6f172a2798cbd2f26da338100388ae132 |
immudb-v1.9.3-darwin-arm64 | 0be357f17dd3ef7c67fee07a1ffd441fd9400bb40dc05c3bbd12d69e28920a5a |
immudb-v1.9.3-freebsd-amd64 | 193adae5b203860127ef3a0aef32760d5ddc4cc9671d57d310ed29d4c80765b5 |
immudb-v1.9.3-linux-amd64 | 33babff774077ec239972071016d357def6dd9d49b0a77b6cb9f3845b9a37f9d |
immudb-v1.9.3-linux-amd64-fips | 2e656c67f2ba8d858ee0d98df818635ae5fd376f2862768a337e80ae53eed93d |
immudb-v1.9.3-linux-amd64-static | 367b513073cf513de992ee9e67bf3b700b0dea9512598f3df71ddf9b7160f68c |
immudb-v1.9.3-linux-arm64 | 56ff6f8a16296fdd844025766245ab0b0903341411137c006334ffa80a8747ec |
immudb-v1.9.3-linux-s390x | f21572edaaa75f139115332db4a35155ef06d3cbd9c53ba08335bdc4a19ac4bf |
immudb-v1.9.3-windows-amd64.exe | 2393fc2e41c31eec064a74ece1670dfc306da56f2136a616c90ece0a775b80cc |
immuclient Binaries
File | SHA256 |
---|---|
immuclient-v1.9.3-darwin-amd64 | e52aad338b41304de182a82d52e5b3981f32b1e64ffd7a50a6364fe3a40d30ca |
immuclient-v1.9.3-darwin-arm64 | cd691c724d7f6bc56082fb008fefed6eaefba85c1439caf17faa53b7fbe9589e |
immuclient-v1.9.3-freebsd-amd64 | f7d0953eab7b773edcdbb713835aedacbd49be7ca9d0b3301642062c89452b5b |
immuclient-v1.9.3-linux-amd64 | 55936da403d049c668d46d9629d3b6c7b9b9f0bb0c35f0bfb711ff4ec001623f |
immuclient-v1.9.3-linux-amd64-fips | 52c3d998e7efabd00f60539674c7cd5127f97d9137933abb728969a3a958a263 |
immuclient-v1.9.3-linux-amd64-static | 1ffa1c554a506fad5d4883738c013157497c0a170d3ab9082cbc8872adb2fdad |
immuclient-v1.9.3-linux-arm64 | 51b77825e92dc4fd53a92e5f1ecfde290edef3d715621510f239f779a630a9d5 |
immuclient-v1.9.3-linux-s390x | 8254d295f0cf47eaa5088fb5afe7f662228c4c754ccb2fb6100600e2eaff83ef |
immuclient-v1.9.3-windows-amd64.exe | 9e744e09a87de969ac2542c5d9abde79c960c64ef9a44244eef100e506317a56 |
immuadmin Binaries
File | SHA256 |
---|---|
immuadmin-v1.9.3-darwin-amd64 | b4b6641f028262784f65a97235e1be510c541dd81301ededa2fc5f8b07bb2931 |
immuadmin-v1.9.3-darwin-arm64 | 43291a9f823d019d33c36f766b1b406fba630625b23f96042100b76bf57333eb |
immuadmin-v1.9.3-freebsd-amd64 | 7e9b372df412ac32a57d1792065b82a9b492282bcdbfef3b6eef898d568b573c |
immuadmin-v1.9.3-linux-amd64 | e7366ec7187820021596e837c81065120b539f1fa36b8c3c28c873514ea38ac2 |
immuadmin-v1.9.3-linux-amd64-fips | 61a52028291998f5cff2c9e2c021cce1ef11f0ff9366b93b575e3cced8258e46 |
immuadmin-v1.9.3-linux-amd64-static | 912f807a418c84f876e4a15a5c68a09240c4962b03e8721aa4e99786b0b0be34 |
immuadmin-v1.9.3-linux-arm64 | a56f4cb84f183688f24ef9f8caa9a51d3863982873ebb9962fa66514793062c1 |
immuadmin-v1.9.3-linux-s390x | 0ad389823401a6d0cd4ab036e7987c72484e46afc9fd97cdf9d6ea43422ab873 |
immuadmin-v1.9.3-windows-amd64.exe | 44bf20cb0963669f4902239c16ccdfd00f0a6c41423607b20709e3d9160837c0 |
v1.9DOM.2
What's Changed
Fixes:
- fix: source /etc/sysconfig/immudb on AWS EC2 startup by @SimoneLazzaris in #1875
- fix: apply fix for CVE-2023-44487 by @SimoneLazzaris in #1908
Changes:
- Update README.md by @jeroiraz in #1874
- feat: automatically convert uuid strings and byte slices to uuid values by @tauu in #1870
- feat s3role rebased by @jeroiraz in #1876
- chore(deps): bump golang.org/x/crypto from 0.14.0 to 0.17.0 by @dependabot in #1893
- license update to BSL by @SimoneLazzaris in #1905
- chore(deps): bump google.golang.org/protobuf from 1.31.0 to 1.32.0 by @dependabot in #1909
- chore(deps): bump google.golang.org/grpc from 1.57.0 to 1.57.1 in /test/e2e/truncation by @dependabot in #1903
- chore(deps): bump actions/download-artifact from 3 to 4 by @dependabot in #1892
- chore(deps): bump actions/upload-artifact from 3 to 4 by @dependabot in #1891
- chore(deps): bump actions/setup-go from 3 to 5 by @dependabot in #1887
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
What's Changed
- Update README.md by @jeroiraz in #1874
- fix: source /etc/sysconfig/immudb on AWS EC2 startup by @SimoneLazzaris in #1875
- feat: automatically convert uuid strings and byte slices to uuid values by @tauu in #1870
- feat s3role rebased by @jeroiraz in #1876
- chore(deps): bump golang.org/x/crypto from 0.14.0 to 0.17.0 by @dependabot in #1893
Full Changelog: v1.9DOM.1...v1.9DOM.2-RC1
v1.9DOM.1
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
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
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/... |
v1.9.0-RC2
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... |
v1.9.0-RC1
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... |