Skip to content

v1.3.2-RC1

Pre-release
Pre-release
Compare
Choose a tag to compare
@jeroiraz jeroiraz released this 24 Aug 23:39
· 1260 commits to master since this release
b996eae

Changelog

[v1.3.2-RC1] - 2022-08-24

Bug Fixes

  • access tls value in global scope within ingress annotations
  • company name in webconsole and other files
  • build: Fix go-acc and goveralls invocations
  • build: update go version to 1.18 in Dockerfiles
  • build/RELEASING.md: Add note about updating playground
  • embedded: use tmp folder for unit test cases
  • embedded/sql: Support single BEGIN statement.
  • embedded/store: Check precommitted state when replicating
  • embedded/store: Optionally preallocate Tx pools
  • embedded/store: Ensure ordering of transaction timestamps
  • embedded/store: Assign blTxID within locked tx state
  • embedded/store: ensure tx is released upon error
  • embedded/store: Improved check for replicated transaction
  • embedded/store: Return correct error on key length exceeded
  • embedded/store: Protect against simultaneous replicators
  • embedded/store: Reduce the amount of allocations for tx object
  • embedded/tools/stress_tool: Fix compilation after recent update to tx holder pool
  • getRandomTable: increase RNG range for table generation
  • github: Remove unnecessary /test/ path when uploading perf results to s3
  • github: Do not use yaml anchors in github workflows
  • pkg/client: Invalid client state after connection refused
  • pkg/client/clienttest: enforce mock client to interface
  • pkg/database: Fix calculation of proof for VerifiableTxByID
  • pkg/database: Correct revision for Scan requirests
  • server: Show info text with a logger
  • servertest: Allow accessing Server object before starting the server
  • stdlib/rows: add colums to row response
  • test/performance: Cleanup test directory

Changes

  • pin google.golang.org/protobuf to v1.27.1 (currently used version for generated code).
  • Introduce separate TxHolder pools
  • update github.com/spf13/viper to v1.12.0.
  • makefile formatting.
  • update build constraint to new & future-proof syntax.
  • format tools.go.
  • deprecate ImmuClient.HealthCheck in favour of ServerInfo.
  • reimplement ImmuClient.HealthCheck using rpc ServerInfo instead of (deprecated) Health.
  • refactor TestServerInfo.
  • Update main go versin to 1.18
  • generate gRPC stubs.
  • ignore schema_grpc.pb.go in coveralls.
  • use go.mod version of github.com/grpc-ecosystem/grpc-gateway when building codegen.
  • regenerate with correct version of protoc-gen-go.
  • ignore schema_grpc.pb.go in code coverage.
  • pin github.com/pseudomuto/protoc-gen-doc to 1.4.1 (currently used version for generated code).
  • Makefile: Update webconsole to 1.0.16
  • build: Update RELEASING.md doc
  • build: Improve generation of build checksums
  • cmd/immuadmin: Add support for max-commit-concurrency option
  • cmd/immuadmin: Add support for read-tx-pool-size option
  • cmd/immudb: Add support for max-sessions command line option
  • database/sql: Delay txholder allocation on VerifiableSQLGet
  • embedded/ahtree: threshold-based sync
  • embedded/ahtree: use bigger default write buffer size
  • embedded/ahtree: improve error handling
  • embedded/ahtree: flushless append
  • embedded/ahtree: improve validations and error handling
  • embedded/ahtree: support newst appendable implementation
  • embedded/ahtree: improve error message consistency
  • embedded/ahtree: minor error message change
  • embedded/appendable: autosync when write buffer is full
  • embedded/appendable: autosync support in multi-appendable
  • embedded/appendable: flush when no more writes are done in appendable
  • embedded/appendable: improve explanatory comment inside sync method
  • embedded/appendable: improve singleapp validation and error handling
  • embedded/appendable: error tolerant seek
  • embedded/appendable: improve validations and error handling
  • embedded/appendable: inmem buffer offset
  • embedded/appendable: wip remoteapp validation
  • embedded/appendable: return io.EOF when offset is out of range
  • embedded/appendable: upgrade mocked and remote appendable based on new flushing assumptions
  • embedded/appendable: auto-sync options
  • embedded/appendable: multi-appendable shared write buffer
  • embedded/htree: improve error handling
  • embedded/sql: Remove unnecessary tx holder buffer from SQLTx
  • embedded/store: Better errors returned during replication error
  • embedded/store: aht options
  • embedded/store: Use dedicated error for replication conflicts
  • embedded/store: sync AHT before tx commit log
  • embedded/store: in-mem clog buffer written when synced
  • embedded/store: wrap internal already closed errors
  • embedded/store: handle appendable already close error
  • embedded/store: Optimize ReadTxHeader method
  • embedded/store: Do not write values if concurrency limit is reached
  • embedded/store: Add dedicated error for tx pool exhaustion
  • embedded/store: add TODO comment
  • embedded/store: parametrize write buffer size
  • embedded/store: wip retryable sync
  • embedded/store: flush-less precommit
  • embedded/store: multi-tx syncs
  • embedded/store: use smaller default buffer size
  • embedded/store: Add txDataReader to process transaction data
  • embedded/store: avoid sync waiting if there are no new transactions
  • embedded/store: improve error comparison with errors.Is(...)
  • embedded/store: wip error declaration
  • embedded/store: Add explicit ReadTxEntry method
  • embedded/store: Add explicit ReadTxHeader
  • embedded/store: Optimize ReadTxEntry method
  • embedded/store: Add txPoolOptions to setup pool parameters upon creation
  • embedded/store: set new default write buffer values
  • embedded/store/txpool: Allocate pool entries separately
  • embedded/store/txpool: Make txPoolOptions members private
  • embedded/tbtree: improve error handling
  • embedded/tbtree: use non-retryable sync
  • embedded/tbtree: define using generic errors towards errors.Is(...) usage
  • embedded/watchers: improve error handling
  • github: Update ACTIONS_SECRETS.md file
  • github: Allow selection of runner to run perf test
  • github: Run perf test suite on pull requests
  • github: Run performance test suite on push to master
  • github: Add simple documentation of PERF_TEST_xxx secrets
  • github: Install qemu using docker/setup-qemu-action
  • github: Allow using multiple runners for perf test suite
  • github: Upload perf results to AWS s3
  • pkg/api: Add tx pool size to GRPC and stored db options
  • pkg/api: milliseconds message type
  • pkg/api: expose aht settings
  • pkg/api: export syncFrequency database parameter
  • pkg/api: deprecate rpc Health in favour of ServerInfo.
  • pkg/database: Add tx pool size to db options
  • pkg/database: Remove txHolder from get operation
  • pkg/database: Do not allocate txholder for history scans
  • pkg/database: allocate tx buffer before doing verified writes
  • pkg/logger: Add memory logger
  • pkg/logger: add json logger
  • pkg/server: simplify ImmuServer.Health.
  • pkg/server: Add pprof option
  • test/performance: Add basic flags to the benchmark process
  • test/performance: Add separate Write KV/s test.
  • test/performance: Split benchmark list and run code
  • test/performance: Move test seed out of configuration
  • test/performance: Move random generator and key tracker to common coode
  • test/performance: Add CPU time / memory stats gathering
  • test/performance: Allow customized name for the benchmark
  • test/performance: Add basic IO stats
  • test/performance: Improve live IO display
  • test/performance: Better logging and output
  • test/performance: Correctly close random data generator

Features

  • revert usages of ServerInfo that would break backwards compatibility.
  • add test for HealthCheck.
  • cmd/immuadmin: expose syncFrequency and WriteBufferSize db parameters
  • cmd/immuclient: add info command to immuclient.
  • pkg/api: expose write buffer parameter
  • pkg/api: improve documentation of ServerInfo.
  • pkg/api: remove ServerInfoResponse.status field.
  • pkg/api: add ServerInfo rpc to deprecate Health.
  • pkg/client: revert WaitForHealthCheck change to maintain backwards-compatibility.
  • pkg/client: implement ImmuClient.ServerInfo.
  • pkg/server: implement ImmuServer.ServerInfo.

Downloads

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

immudb Binaries

File SHA256
immudb-v1.3.2-RC1-darwin-amd64 9c8373eb161e27f1e3e887725167bb58c37b9e395b102e50ba52efff1cf1a5f9
immudb-v1.3.2-RC1-darwin-arm64 5017bc5a24776d4f952a53cabe12efe0f9f90fb23fc21fe7f9cd7d6feabfe76e
immudb-v1.3.2-RC1-freebsd-amd64 5925e6ea56bc070904ca1755aba8889e84b4baf225376b22126594fcfd1000b3
immudb-v1.3.2-RC1-linux-amd64 832fd0bbe3ce1d83dca47b814cecdf9161f63362d0e7c1c8601d5bb30eb56101
immudb-v1.3.2-RC1-linux-amd64-static 8eb21972c3d89a7e365da23d254a2fa62bc09b2ef3d1a1b9d44113306129f4cf
immudb-v1.3.2-RC1-linux-arm64 cb8e63b556b59dbeac822a5f3d190077a68bacfce46fe166256767e7eced0e79
immudb-v1.3.2-RC1-linux-s390x 67c00afed90a8dd17a0502e200b06e19b972d48ec93a806802af6946869083f1
immudb-v1.3.2-RC1-windows-amd64.exe 4e1f936e62d10b3d4be1df0a62a7990b480e5248e0bce7b31a61f374266ee8ad

immuclient Binaries

File SHA256
immuclient-v1.3.2-RC1-darwin-amd64 24a2d68bf4606beb3bcffd3f45bec64f53bbb402a00503a6c326c5e6b2710c3f
immuclient-v1.3.2-RC1-darwin-arm64 7e8245f46a9a97eed59564e78370c34a0b5b84246f961e56ecec0533ccbcdeeb
immuclient-v1.3.2-RC1-freebsd-amd64 e4dae087d5a1ce053a22b2e5750228ea6b6d451013365b96a70eb37f7561d14a
immuclient-v1.3.2-RC1-linux-amd64 c8ed91e49855b348b13c43f67dc918d3ab126d5c0ce0561d2f72a702a8976529
immuclient-v1.3.2-RC1-linux-amd64-static c0258b674d49370d418857a21d5d48768067a911ba6c8c480003955e3a9f7dd9
immuclient-v1.3.2-RC1-linux-arm64 1d2583a86b8ca37697718163d385c6b4b851c04629dcd38d119dbe5fe447efbc
immuclient-v1.3.2-RC1-linux-s390x 1a51b504ff40facd3d67f981e7ef6864c652284f0ba0456d51252568c68c6c05
immuclient-v1.3.2-RC1-windows-amd64.exe 90be3f67e63fe3699c0fd1e90a557d504646a85ae8f3241c70229c789810ff00

immuadmin Binaries

File SHA256
immuadmin-v1.3.2-RC1-darwin-amd64 aaaa03b191e1be4fc0e02572e01b83a289467d9d946bb32d9036d728818f75e6
immuadmin-v1.3.2-RC1-darwin-arm64 f8dd9ddedfdeb0bfc5878f7490aba83022525591b54f57a04785bf6546f7330e
immuadmin-v1.3.2-RC1-freebsd-amd64 b887cfdb92eb2e0c3065e9ecc54af9f4902a5ebda0fa9da6483a08d300682707
immuadmin-v1.3.2-RC1-linux-amd64 6821e49c5f8f4dd0e7027df3f8c4be03f2bc811d29699db3da6e688a84760ff8
immuadmin-v1.3.2-RC1-linux-amd64-static e1a88aebede5f576aa09136aefb2ac3ded4a8fe60bb451909e47f5a5ac74b66a
immuadmin-v1.3.2-RC1-linux-arm64 5384507a97a6e7c49ec74369d466d9bdbd6c3d36652fa1f9b5e5ff536443c191
immuadmin-v1.3.2-RC1-linux-s390x 8a3e70d4304dd8656f7f81506558cdc424a4164999465e1273432364c7bc5cdb
immuadmin-v1.3.2-RC1-windows-amd64.exe 155d5f9ca49cc7c5c6226d73253c61d10aad371eaff2ba01268f81f883a718b1