Skip to content

v1.4.0-RC1

Pre-release
Pre-release
Compare
Choose a tag to compare
@byo byo released this 04 Oct 14:14
· 1117 commits to master since this release

Changelog

[v1.4.0-RC1] - 2022-10-04

Bug Fixes

  • Makefile: add fips build flag to test/fips
  • Makefile: remove interactive flag from dist/fips command
  • ci: fix regex pattern for fips binaries
  • cmd/immuadmin: set correct data-type for replication-sync-followers flag
  • embedded/store: fix size calculation of precommitted txs
  • embedded/store: Fix checking for closed store when syncing TXs
  • embedded/store: avoid attempts to commit in wrong order
  • embedded/store: expose durable precommitted state
  • embedded/store: include allowPrecommitted into tx reader construction
  • embedded/store: ensure tx is released upon error
  • embedded/store: aht up to precommited tx
  • github: Update github actions after migration of Dockerfile's
  • pkg/database: return master commit state if failing to read follower precommitted one
  • pkg/database: Fix mutex lock in ExportTx
  • pkg/database: set follower states holder when changing replication status
  • pkg/server: add logs when replicator does not start

Changes

  • add dependabot config
  • Add empty line between license header and package
  • Dockerfile.fips: add fips build changes
  • cmd/immuadmin: add new replication flags
  • cmd/immuadmin: revert default replication-master-port
  • cmd/immuadmin: use default immudb port as default value for replication-master-port flag
  • cmd/immuclient: flag replication-sync-enabled to enable sync replication
  • cmd/immudb: deprecate replication-enabled towards replication-is-replica
  • docker: Move main Dockerfile's to build folder
  • docker: Simplify the main Dockerfile
  • embedded/store: resolve pre-committed using clogbuf
  • embedded/store: wip reduce allocations in exportTx
  • embedded/store: mutexless export-tx
  • embedded/store: enhanced tx discarding logic
  • embedded/store: wip load precommitted txs
  • embedded/store: method to dynamically switch to external allowance
  • embedded/store: wip wait for precommitted txs
  • embedded/store: explicit allowPrecommitted and restricted access to precommitted txs
  • embedded/store: minor code simplification
  • embedded/store: possibility to read tx header of precommitted txs
  • embedded/store: support for concurrent replicated precommits
  • embedded/store: tx parsing with sanity checks
  • embedded/store: handle commit case when there is nothing new to commit
  • embedded/store: tolerate partial data or inconsistencies when loading pre-committed txs
  • embedded/store: explanatory comments added
  • embedded/store: waits for durable precommitted txs
  • embedded/store: minor renaming and comment additions
  • embedded/store: add integrity checks when reading precommitted txs
  • pkg/api: currentState endpoint includes precommitted info
  • pkg/api: explicit sync replication setting
  • pkg/api/schema: reformat schema.proto file
  • pkg/database: minor typo in comment
  • pkg/database: sync exportTx
  • pkg/database: improve error comparison
  • pkg/database: follower commit progress without additional waits
  • pkg/database: handle special case related to sql initialization
  • pkg/database: disable automatic sql init on older databases
  • pkg/integration: add synchronous replication integration tests
  • pkg/replication: allowPreCommitted only with sync replication enabled
  • pkg/replication: speed up follower reconnection
  • pkg/replication: use session-based authentication
  • pkg/replication: handling a particular case in an optimized manner
  • pkg/replication: backward compatible replication
  • pkg/replication: check committedTxID from master
  • pkg/replication: wip optimize concurrency in replicators
  • pkg/replication: handle case when follower precommit state is up-to-date but commit state is lies behind
  • pkg/replication: sync replication using follower state
  • pkg/replication: configurable prefetchTxBufferSize and replicationCommitConcurrency
  • pkg/replication: improve error comparison
  • pkg/replication: graceful closing
  • pkg/replication: further progress in sync replication
  • pkg/replication: replicator with backward compatibility mode
  • pkg/replicator: wip precommitted tx discarding when follower diverged from master
  • pkg/server: explicit sync replication
  • pkg/server: handle admin user creation with sync replication enabled
  • pkg/server: support for systemdb with session-based auth
  • pkg/server: display all replication settings
  • pkg/server: include sync replication settings in options
  • pkg/server: use replication settings

Features

  • cmd/immuadmin: flag to set the number of sync followers
  • cmd/immudb: flag to set the number of sync followers for systemdb and defaultdb
  • embedded/store: functionality to discard precommitted txs
  • embedded/store: core support for sync replication
  • pkg/api: api extensions to support sync replication
  • pkg/database: wip sync replication logic
  • pkg/replication: mode to allow tx discarding on followers
  • pkg/replication: wip replicator with support for sync replication
  • pkg/server: sync replication logic
  • pkg/server: Add ability to inject custom database management object

Downloads

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

immudb Binaries

File SHA256
immudb-v1.4.0-RC1-darwin-amd64 e2133e437897911b48ba4b7ec40c5a7a31b10522ce36f4f971d1964576642a59
immudb-v1.4.0-RC1-darwin-arm64 a036f56e5465f5337edb56b45cff5c5ad23a65bb2d46efea536eeda43f9bc856
immudb-v1.4.0-RC1-freebsd-amd64 6eabed369b715bc6f1b5c0b3656a5b72878d664214d65ca2071e2240fbcbc235
immudb-v1.4.0-RC1-linux-amd64 ac2543dc3952abc96199f40aa805ecfac335f7a76788a02e641bed111b35280c
immudb-v1.4.0-RC1-linux-amd64-fips a7842f83df2637118696c8c248977a465413696fa704631d2f1ab355250d307b
immudb-v1.4.0-RC1-linux-amd64-static bc03f2235255311fd52c1a69c99864f7db31a792a6a312c74df9991ac8f05a91
immudb-v1.4.0-RC1-linux-arm64 e548ef5a4976e1925a08c6401688641af1c7da67dce2c401908e921a0d06169a
immudb-v1.4.0-RC1-linux-s390x 04c9b9820e79f52b757fd8ff462e9d65f785bb781a92bfd04c44c7cb2b94f07f
immudb-v1.4.0-RC1-windows-amd64.exe fecba3d6894bdb341de5b0e3c826ddd7cb390026b2e903935c3266d6f4beaa50

immuclient Binaries

File SHA256
immuclient-v1.4.0-RC1-darwin-amd64 ae8977e1b07b923649b0cca1a20680e0501a04605daaf5c64dd9dc2b50478932
immuclient-v1.4.0-RC1-darwin-arm64 ca39fd74a0818719908a7f3c46e8bb19ffc93678c953ae573d1d03b40b1a4965
immuclient-v1.4.0-RC1-freebsd-amd64 c71787595d2da1ead1d6710d31a7859d2b5ef08efe7a9158c3933a1f3d1c4a60
immuclient-v1.4.0-RC1-linux-amd64 295f2457a3e271bdee1db1dc0b8349355661eeddece932c7bd22b44c132c4b88
immuclient-v1.4.0-RC1-linux-amd64-fips f48de7b92695437bd3f7dc7e7ab8589b0dd4e96e4f0877c7e87770349c2d57bf
immuclient-v1.4.0-RC1-linux-amd64-static f3c6f4c08244e8e84bbefcb5f3e053a8612fa63c820015493bca87489773f765
immuclient-v1.4.0-RC1-linux-arm64 695f9c7f9ec5a147265b4489ae2e2282b144338a383d779037c58a8efed380fe
immuclient-v1.4.0-RC1-linux-s390x 4d7f0ff5eade6c0e29adf1467007481c14ed53ab8b606191244f5266683d1483
immuclient-v1.4.0-RC1-windows-amd64.exe 851494f9e7b64356dce80220d41dbdd54954183b46430e77fd03779b60cd49e0

immuadmin Binaries

File SHA256
immuadmin-v1.4.0-RC1-darwin-amd64 4352e28868ac037b4e78478862a20460c88976b6d35562cea1c7e9df19d3810f
immuadmin-v1.4.0-RC1-darwin-arm64 245b9644d1c74b24c612c651b644f87c182946b21877b73631513f8b8d250ac3
immuadmin-v1.4.0-RC1-freebsd-amd64 85c15624f3399570c9254e3e575fbcbdf62c3fb22e29dc236ffeda319260e56e
immuadmin-v1.4.0-RC1-linux-amd64 a9c86025484c2cfaced9cb28f1e0c494f8549682978e01db1707025dd6c7a87d
immuadmin-v1.4.0-RC1-linux-amd64-fips 6b78fdbce400f15c110e8b070446a3c08fed040dbdb954c8619059137f3e68a1
immuadmin-v1.4.0-RC1-linux-amd64-static 4e5de7d425e5a987c8f89b1287d7f0bff57bcb5d9e10b0638bc694c22e2dcb24
immuadmin-v1.4.0-RC1-linux-arm64 1f0fd41eec157597d8db4919a8ca8ef3e2ac74622682674c1250328ea4334f75
immuadmin-v1.4.0-RC1-linux-s390x d59cdee98e6370f369d956155d2c06a597c1a23926b31a6ad8a1ab5b5855792c
immuadmin-v1.4.0-RC1-windows-amd64.exe 120d28d61e21ba801ce2ff8347412c3f5a20ef130ea244d1c41cf65277ce2caf