Skip to content

v1.2.3-RC1

Pre-release
Pre-release
Compare
Choose a tag to compare
@byo byo released this 13 Apr 14:37
· 1660 commits to master since this release

Changelog

[v1.2.3-RC1] - 2022-04-13

Bug Fixes

  • CI/CD: Golang compiler is not needed for building docker images
  • CI/CD: Use CAS for notarization
  • embedded/store: Ensure up-to-date index on constrained writes
  • embedded/store: Fix early precondition checks
  • embedded/tbtree: copy-on-write when increasing root ts
  • immudb: Fix the name of signing key env var
  • pkg: Fix tests after recent changes in API
  • pkg/api: Remove unused Sync field from IndexOptions
  • pkg/api: typo in kv metadata message
  • pkg/api/schema: Use correct id for preconditions in SetRequest
  • pkg/auth: Avoid unguarded read from user tokens map
  • pkg/client: Adopt to EncodeReference changes
  • pkg/client: Prevent updates with incorrect database settings
  • pkg/client: Use correct response for UpdateDatabaseV2
  • pkg/client/errors: Ensure FromErrors works with ImmuError instance
  • pkg/client/errors: Update the list of error codes
  • pkg/database: Better handling of invalid constraints
  • pkg/database: Improve test coverage for KV constraints
  • pkg/database: automatically set max score if not specified in desc order
  • pkg/errors: Correct GRPC error mapping for precondition failure
  • pkg/server: Use buffered channel for catching OS signals
  • pkg/server: adjust time to millis convertion
  • pkg/server: ensure sessions locks get released
  • pkg/server: override default settings with existent values
  • pkg/server: typo in log message
  • tools/monitoring: Update grafana dashboards

Changes

  • Fix typo in a comment
  • Rename Constraints to Preconditions
  • cleanup percentage as float value
  • Update copyright to 2022
  • Dockerfile: Improve dockerfile builds
  • build: improve release instructions (#1100)
  • cmd/immuadmin: add safety flag in delete database command
  • cmd/immuclient: health command description
  • embedded/ahtree: fix error message
  • embedded/appendable: appendable checksum calculation
  • embedded/appendable: return io.EOF if there are not enough data for checksum calculation
  • embedded/appendable: discard capability
  • embedded/appendable: fix typo in error message
  • embedded/store: syncThld at store options
  • embedded/store: Add missing Copyright header
  • embedded/store: declare constants for all the options
  • embedded/store: parametrized index write buffer size
  • embedded/store: add synced setting in index options
  • embedded/store: sync aht when syncing the store
  • embedded/store: verbose data corruption error
  • embedded/store: index one tx per iteration
  • embedded/store: use store layer for constraint validations
  • embedded/store: constraint validations with deletion and expiration support
  • embedded/store: do not skip expired entries when indexing
  • embedded/store: verbose logging during compaction
  • embedded/store: skip expired entries during indexing
  • embedded/store: improve compaction logging
  • embedded/store/options: Simplify validation tests
  • embedded/tbree: only insert nodes in cache when they were mutated
  • embedded/tbree: use shared writeOpts
  • embedded/tbree: remove obsolete property
  • embedded/tbree: bump index version
  • embedded/tbtree: minOffset only for non-mutated nodes
  • embedded/tbtree: Add metrics for index data size
  • embedded/tbtree: reduce allocations when flushing
  • embedded/tbtree: use double for min offset calculation
  • embedded/tbtree: data discarding with opened and older snapshots
  • embedded/tbtree: improve snapshot loading and discarding
  • embedded/tbtree: synced flush if cleanup percentage is greater than zero
  • embedded/tbtree: Add more internal metrics
  • embedded/tbtree: reduce allocs during flush
  • embedded/tbtree: ensure current snapshot is synced for compaction
  • embedded/tbtree: validate input kv pairs before sorting
  • embedded/tbtree: Use KV entries count for sync threshold
  • embedded/tbtree: no cache update during compaction reads
  • embedded/tbtree: discard unreferenced data when flushing index
  • embedded/tbtree: discard unreferenced data
  • embedded/tbtree: middle node split
  • embedded/tbtree: min offset handling
  • embedded/tbtree: validate compaction target path
  • embedded/tbtree: positive compaction threshold
  • embedded/tbtree: discard unreferenced data after sync
  • embedded/tbtree: ensure sync on gracefully closing
  • embedded/tbtree: checksum-based snapshot consistency validation
  • embedded/tbtree: self-healing index
  • embedded/tbtree: set initial offsets during initialization
  • embedded/tbtree: validate data-format version
  • embedded/tbtree: Extend buckets for child node count histogram
  • embedded/tbtree: reduce fixed records length
  • embedded/tbtree: open-ranged nodes
  • embedded/tbtree: wip reduce node size
  • embedded/tbtree: use binary search during key lookups
  • embedded/tbtree: fully replace sync with syncThld
  • embedded/tbtree: rebase non-indexed on kv syncthreshold
  • embedded/tbtree: explicit error validation before loading
  • embedded/tbtree: sort kv pairs in bulkInsert
  • makefile: fix cas sign instructions
  • metrics: Add better flush / compaction metrics for btree
  • pkg/api: prepare flushindex endpoint for future extensions
  • pkg/api: use entries spec in verified and scan tx endpoints
  • pkg/api: parametrized index cleanup percentage
  • pkg/api: non-indexable entries
  • pkg/api: use nullable prefix in db settings message
  • pkg/api: add synced param to flushindex endpoint
  • pkg/api: change proto schema toward db loading/unloading
  • pkg/api: uniform v2 endpoints
  • pkg/api: db loading and unloading
  • pkg/client: optional client connection
  • pkg/client: synced flushing to enable physical data deletion
  • pkg/client: use txRequest in TxByIDWithSpec method
  • pkg/database: tx entries excluded by default if non-null spec is provided
  • pkg/database: optional tx value resolution
  • pkg/database: remove db name from options
  • pkg/database: use shared tx holder when resolving tx entries
  • pkg/database: parameters to resolve references at tx
  • pkg/integration: integrate non-indexed into grpc apis
  • pkg/server: Dump used db options when loading databases
  • pkg/server: replication options for systemdb and defaultdb
  • pkg/server: use syncThreshold
  • pkg/server: use previous store default values
  • pkg/server: endpoint to retrieve settings of selected database
  • pkg/server: log web-console error on boot
  • pkg/server: start/stop replicator when loading/unloading db
  • pkg/server: expose max opened files for btree indexing
  • pkg/server: minor changes
  • pkg/server: synced db runtime operations
  • pkg/server: expose flush index endpoint
  • pkg/server: increase default max number of active snapshots
  • pkg/server: tolerate failed user-created db loading
  • pkg/server: convert time to milliseconds
  • pkg/serverr: validate request in deprecated database creation endpoint
  • stats: Add btree cache prometheus stats

Features

  • Entries-independent constraints in GRPC api
  • Improved API for database creation and update
  • Move KV write constraints to OngoingTX member
  • Improved validation of kv constraints
  • KV: Add constrained KV writes for ExecAll operation
  • KV: Do not create unnecessary snapshots when checking KV constraints
  • KV: Move constraints validation to OngoingTx
  • KV: Add constrained KV writes for Set operation
  • KV: Add constrained KV writes for Reference operation
  • embedded/cache: dynamic cache resizing
  • embedded/store: Fail to write metadata if proof version does not support it
  • embedded/store: Add max header version used during writes
  • embedded/store: non-indexable entries
  • embedded/store: Add tests for generation of entries with metadata
  • embedded/store: Allow changing tx header value using GRPC api.
  • embedded/tbtree: decouple flush and sync by introducing syncThreshold attribute
  • immuadmin: Allow changing proof compatibility from immuadmin
  • kv: Update grpc protocol with KV set constraints
  • pkg/api: delete database endpoint
  • pkg/api: tx api with entry filtering capabilities
  • pkg/client: new method to fetch tx entries in a single call
  • pkg/database: Updated GRPC protocol for constrained writes
  • pkg/database: Update code for new constrained write protocol
  • pkg/database: add noWait attribute in get request
  • pkg/server: database health endpoint
  • pkg/server: support database loading/unloading
  • pkg/server: new endpoint databaseSettings
  • pkg/server: expose all database settings
  • tools/monitoring: Add immudb Grafana dashboard
  • tools/monitoring: added datasource selection, added instance selection, labels include instance, fixed calculations

Downloads

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

Immudb Binaries

File SHA256
immudb-v1.2.3-RC1-darwin-amd64 c2a0d651602862d4113adaf43708175cb9979e042e0705ade5481a773f214088
immudb-v1.2.3-RC1-darwin-arm64 cfb782e84be293935adfc5c32d6bd1d617e8c8f2356b250c3753bd2db0347a0e
immudb-v1.2.3-RC1-freebsd-amd64 72fbc59b9386d3dc1840210c7813854f9f18e00631378f8e83ad525955e95f10
immudb-v1.2.3-RC1-linux-amd64 bb173f08a8471fe34fdc408af3c422497b7b678512789bc3cc1d560fa9a9ba37
immudb-v1.2.3-RC1-linux-amd64-static d77b95a15ea342d856525ad5ff99e239707fe2dd41bd6507be8bc2ed13f152c3
immudb-v1.2.3-RC1-linux-arm64 bb4ceebdea96d1a30097415d69db08e45d05261c705f1c6f247ed0801202c7ed
immudb-v1.2.3-RC1-linux-s390x 407e9ef061c1673a5b115c22d1631dbf2bed55be4bc5b068871bb05faa66b1be
immudb-v1.2.3-RC1-windows-amd64.exe 1cc69e02f8cffb82a25b8db90e1fe18fad0ad95ecbc3fa949812e3b7f12b37b9

Immuclient Binaries

File SHA256
immuclient-v1.2.3-RC1-darwin-amd64 cb56b8ed8c55d66cf3556490541d39333dc3cc0e1f38c28a200e9d40b956a9d6
immuclient-v1.2.3-RC1-darwin-arm64 cac6a368f152e16537bc391419bfaccd8c2707a87cb925aeddb90880633a4be2
immuclient-v1.2.3-RC1-freebsd-amd64 1616af8b9af84cb8249f0ddfab402e6cf3c6dc4f9449b98052b32ab79eec9cec
immuclient-v1.2.3-RC1-linux-amd64 37b5df7012dac0cd60125a34e8cd475810f5f7f1f9e9a3864b25653f13ca10a9
immuclient-v1.2.3-RC1-linux-amd64-static d268ba184a3c065e76d2efb45786cc454e3f29b6673f918d12d804eaedcba84c
immuclient-v1.2.3-RC1-linux-arm64 d10acafd7d73d14978706f72d786cc27849d31844bea045f4b49a940e0f9fe63
immuclient-v1.2.3-RC1-linux-s390x 5a2daba300ea1dbe503bc02c458c707f0e092a56cf976763390e2699774e406f
immuclient-v1.2.3-RC1-windows-amd64.exe 319e458c529c63cfb530afdf0b19e3901e5b7e52f72489fa093612304edab8ea

Immuadmin Binaries

File SHA256
immuadmin-v1.2.3-RC1-darwin-amd64 1e06edd0ea1b5641ecf1c60aee4ab5bae678840f7d05b7ebb6c7368b8c5a60fe
immuadmin-v1.2.3-RC1-darwin-arm64 93daa69a3550b47691e9ab98f11a13ce71526b9c61bec9bfa8134b81c46c5d59
immuadmin-v1.2.3-RC1-freebsd-amd64 c33b80db5ef12d5f5b5301170a8669e967cbea69cf2deeddaf6bfefc3cd96737
immuadmin-v1.2.3-RC1-linux-amd64 9c49e3da6cfd3cdf9672c84aca032ece3c812975acca5d39859418ebb144b6fb
immuadmin-v1.2.3-RC1-linux-amd64-static 3f4846f95936cae238005527bce415b4c19cc6414713df378cf5c064b530823a
immuadmin-v1.2.3-RC1-linux-arm64 f4d76cc153e5b8c52b916e9213e6e314f4c0e9b84389304e2ef13ab48fe815b4
immuadmin-v1.2.3-RC1-linux-s390x 702376ef9efec2976462d88eb38f65c5bfd906b5e525b16968acf4ecb8ea1b7e
immuadmin-v1.2.3-RC1-windows-amd64.exe f4fd95f4cc1507ef0af1d08f95fc710f7a8d18f22c1fd7297bb2a2ce5f0221e5