Skip to content

v1.5.0

Compare
Choose a tag to compare
@jeroiraz jeroiraz released this 21 Jun 16:19
· 366 commits to master since this release
6103e9a

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 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
  • embedded/object: add collection/database statements
  • embedded/sql: use read-only txs whenever possible
  • embedded/sql: make sql engine generic for object store
  • embedded/sql: limit and offset boundary validation
  • embedded/sql: minor numeric type adjustments
  • embedded/sql: implicit conversion support in limit and offset clauses
  • embedded/sql: simplified sql tx
  • embedded/sql: return closed sql txs
  • embedded/sql: implicit conversion from varchar to int and float types
  • embedded/sql: upgraded row reader
  • embedded/sql: ddl stmts register catalog mutation
  • embedded/sql: snapshot reuse improvements
  • embedded/sql: lazy index contraint validation
  • embedded/sql: WIP singledb sql engine
  • embedded/sql: transient context
  • embedded/sql: validate total key length at index creation time
  • embedded/sql: extend max key length to 512
  • embedded/sql: cancellable row reader
  • embedded/store: add in-line documentation for store options
  • embedded/store: validate Eh only when integrity checks are not disabled
  • embedded/store: addition of a cache for values
  • embedded/store: consume all tx content even if integrity checks are disabled
  • embedded/store: optional integrity checking when reading values
  • embedded/store: validate Eh only when integrity checks are not disabled
  • embedded/store: inline comments
  • embedded/store: fix typo in inline comment
  • embedded/store: validate gets using filters
  • embedded/store: MVCC read-set with boundaries
  • embedded/store: context propagation
  • embedded/store: mvcc validation only if another tx was processed
  • embedded/store: minor changes after rebasing from master
  • embedded/store: simplified dualproof implementation
  • embedded/store: skipIntegrityCheck parameter when reading data
  • embedded/store: minor code improvement
  • embedded/store: add min limit for truncation frequency
  • embedded/store: use syncSnapshot to validate ongoing txs
  • embedded/store: unify Read and ReadBetween
  • embedded/store: transient context
  • embedded/store: tx header is returned when fully committed
  • embedded/store: api upgrade
  • embedded/store: set ctx as first argument
  • embedded/store: readValueAt and exportTx improvements
  • embedded/store: update ReadBetween
  • embedded/store: contextualized transactions
  • embedded/store: inline comments
  • embedded/store: snapshot reuse improvements
  • embedded/store: set smaller default value for indexing bulk size
  • embedded/store: wip mvcc validations
  • embedded/store: simplified indexer initialization
  • embedded/store: multi-tx unsafe mvcc
  • embedded/store: set tx as closed upon cancellation
  • embedded/store: wip mvcc validations
  • embedded/store: set ctx as first argument
  • embedded/store: embedded meta attribute required if version is greater than 1
  • embedded/store: set embedded values mode as default one
  • embedded/store: backward compatible embedded value mode
  • embedded/store: optional integrity checking when reading values
  • embedded/store: preallocate tx header log files
  • embedded/store: wip mvcc validations
  • embedded/store: handle eof when reading last committed tx
  • embedded/store: support preallocated files when reading tx data
  • embedded/store: wip preallocated clog
  • embedded/store: option to prealloc files
  • embedded/store: optional integrity checking
  • embedded/store: further in-line documentation
  • embedded/store: make truncation validation tolerate entryless txs
  • embedded/store: allow tx without entries as long as it contains metadata
  • embedded/store: add hashValue as fixed 32 byte size
  • embedded/store: add test for TxOptions
  • embedded/store: add min limit for truncation frequency
  • embedded/store: multi-tx bulk indexing
  • embedded/store: fix default vlog cache size and add validation for hash when reading from cache
  • embedded/store: safe key copy for mvcc validation
  • embedded/store: improve log messages when discarding precommitted transactions
  • embedded/store: mvcc validations
  • embedded/store: fix rebase issue with readValueAt for vlogcache
  • embedded/store: multi-timed bulk insertions
  • embedded/store: clog file size adjustment only when preallocation is disabled
  • embedded/store: added more in-line comments
  • embedded/store: file preallocation not enabled by default
  • embedded/store: propagate context usage
  • embedded/tbtree: parametrize snapshot creation specs
  • embedded/tbtree: in-line documentation
  • embedded/tbtree: initialize tbtree with a non-mutated leaf
  • embedded/tbtree: getWithPrefix
  • embedded/tbtree: remove unnecessary kv sorting
  • embedded/tbtree: add in-line documentation
  • embedded/tbtree: minor code improvements
  • embedded/tbtree: rollback not needed as updates are made in a copy
  • embedded/tbtree: add in-line comments
  • embedded/tbtree: wip reduce allocs while updating inner node
  • embedded/tbtree: optimized bulk insertion
  • embedded/tbtree: optimize snapshot renewal
  • embedded/tbtree: wip optimized insertion
  • embedded/tbtree: variable renaming after rebasing
  • embedded/tools: upgrade embedded tools with transient context
  • embedded/watchers: return context error upon cancellation
  • embedded/watchers: set ctx as first arg
  • embedded/watchers: use context instead of cancellation channel
  • package/database: bunch of fixes and improvements in document engine
  • pkg: add more tests admin truncate command
  • pkg/api: expose db setting to enable file preallocation
  • pkg/api: use ErrrIs/ErrorContains in error checks
  • pkg/api: rename idFieldName to documentIdFieldName
  • pkg/api: annotate required fields
  • pkg/api: use of path parameters for document-related endpoints
  • pkg/api: expose new store indexing options
  • pkg/api: document update with path parameter
  • pkg/api: document api improvements
  • pkg/api: remove bool from tx metadata conversion
  • pkg/api: document api improvements
  • pkg/api: snapshot reuse attributes
  • pkg/api: search api improvements
  • pkg/api: return txID when inserting or updating documents
  • pkg/api: expose MVCC read-set settings
  • pkg/api: remove unsupported attribute from response messages
  • pkg/api: revert changes in swagger spec
  • pkg/api: re-generated httpclient with DeleteDocument endpoint
  • pkg/api: singular document path for audit and proof endpoints
  • pkg/api: manual adjustments post-code generation
  • pkg/api: expose replication settings for skipping integrity checks and indexing
  • pkg/api: swagger gen
  • pkg/api: value cache settings exposed
  • pkg/api: annotate primitive types as required
  • pkg/api: endpoint renaming
  • pkg/api: cleaner session id header
  • pkg/api: minor proof request renaming
  • pkg/api: authorization in swagger spec
  • pkg/api: re-generated httpclient
  • pkg/api: expose support for unsafe mvcc transactions
  • pkg/api: expose embeddedValue database setting
  • pkg/api: remove generated httpclient
  • pkg/api: buch of implementation improvements
  • pkg/api: revised document and authentication apis
  • pkg/api: annotated required message fields
  • pkg/api: add tx metadata conversion
  • pkg/api: re-generated httpclient
  • pkg/api: change retention period in TruncateDatabase message to int64
  • pkg/auth: add document update permissions
  • pkg/client: minor renaming in tx options
  • pkg/client: move heartbeater.go to pkg/client
  • pkg/client/cache: improve test coverage
  • pkg/database: upgrade after rebasing
  • pkg/database: remove object store db initialisation
  • pkg/database: upgraded reader specs
  • pkg/database: add document query struct to abstract request query
  • pkg/database: change objectEngine to documentEngine
  • pkg/database: add mvcc test for truncation, parse retention period using duration
  • pkg/database: add more tests for truncation
  • pkg/database: add document store db initialisation
  • pkg/database: updated APIs with schema updates
  • pkg/database: implement GetCollection API
  • pkg/database: remove search through first query
  • pkg/database: add query parser for object to generate sql expression
  • pkg/database: fix truncation deletion point checks in test
  • pkg/database: add search document api implementation for object store
  • pkg/database: create document/collection from schemav2 requests
  • pkg/database: context propagation
  • pkg/database: minor document renaming
  • pkg/database: add and implement object db interface
  • pkg/database: add DocumentUpdate api
  • pkg/database: minor code aligments
  • pkg/database: add object store
  • pkg/database: context propagation from server to embedded layer
  • pkg/database: proper calculation of source tx
  • pkg/database: create txs with default options
  • pkg/database: hard limit on page size
  • pkg/database: check encoded value is consistent with raw document
  • pkg/database: document verfication
  • pkg/database: use _obj to hold raw document payload
  • pkg/database: snapshot reuse changes
  • pkg/database: add document engine abstraction
  • pkg/integration: exportTx benchmarking
  • pkg/replication: replicator using bidirectional streaming
  • pkg/replication: improve options validation
  • pkg/replication: skip integrity check when exporting transactions
  • pkg/replication: context propagation
  • pkg/replication: wip stream replication - only async replication working
  • pkg/server: multi-grpc request context propagation
  • pkg/server: added inline comments
  • pkg/server: set default replication settings
  • pkg/server: context propagation from grpc api to embedded package
  • pkg/server: upgrades after rebasing from master
  • pkg/server: upgrade to new insecure credentials api
  • pkg/server: log error when closing document reader
  • pkg/server: support snapshot reuse
  • pkg/server: close all paginated readers on close of session
  • pkg/server: integrate document functions with server apis
  • pkg/server: add pagination test for document search
  • pkg/server: ensure document reader is closed when swithing pages
  • pkg/server: minor code reuse
  • pkg/server: add test successful load/unload of db with truncator
  • pkg/store: skipIntegrityChecks parameter when reading data
  • pkg/stream: handle eof when sending data
  • pkg/truncator: return error if expiration time hasn't been met
  • pkg/truncator: add context to Truncate method
  • pkg/truncator: refactor truncator process
  • pkg/verfication: document verification methods
  • pkg/verification: strengthen proof validations
  • pkg/verification: minor renaming
  • pkg/verification: document verification using embedded identifier
  • pkg/verification: use proto serialization
  • test/objects: add tests to create collections
  • test/objects: use httpexpect
  • test/objects: add more tests to create collection
  • test/perf: fix version value for flag
  • test/perf: add immudb version to influxdb data
  • test/perf: add runner to results for influxdb
  • test/perf-tests: remove runner check
  • test/perf-tests: use proxy on benchmark runner
  • test/performance: call cleanup method
  • test/performance-test-suite: fix replica directory path
  • test/performance-test-suite: add sync benchmarks
  • test/performance-test-suite: changed server concrete implementation
  • test/performance-test-suite: replicas are able to communicate with primary
  • test/performance-test-suite: send results to influxdb
  • test/performance-test-suite: extract json from results
  • test/performance-test-suite: add influxdb host and toke arguments
  • test/performance-test-suite: use temp folders for primary, replicas and clients
  • truncator: add more coverage for truncator

Features

  • add vlog truncation functionality
  • ci: change notification
  • embedded/document: count documents
  • embedded/object: add object store to embedded pkg
  • embedded/sql: Initial float support
  • embedded/sql: limit and offset as expressions
  • embedded/sql: sql transaction creation with options
  • embedded/sql: short casting syntax
  • embedded/sql: wip unsafe and optimized mvcc
  • embedded/sql: implicit type conversion of numeric types
  • embedded/store: tx creation with options
  • embedded/store: expose GetWithPrefixAndFilters
  • embedded/store: embeddable values
  • embedded/store: unsafe mvcc mode
  • embedded/store: embedded values option
  • embedded/store: read-only transactions
  • embedded/store: GetWithPrefixAndFilters
  • embedded/tbtree: multi-timed bulk insertions
  • pkg/api: document proof endpoint
  • pkg/api: improved replace documents endpoint
  • pkg/api: keepOpen parameter to instruct server to maintain a document reader in memory
  • pkg/api: count documents endpoint
  • pkg/client: optional tx options are now available during the creation process

Downloads

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

immudb Binaries

File SHA256
immudb-v1.5.0-darwin-amd64 173b65e435c39c3ad05ba5836362ce20d189b5cfc324652927ab2afcddd317c0
immudb-v1.5.0-darwin-arm64 ac4382aa077e887b289337b11b6cbe634ccabcc4bd3df5baf0fc01eff1e4d70f
immudb-v1.5.0-freebsd-amd64 958652cd7405b8575d48827ab566ea0a2b6ca077a0ce784ac4693898def6aac2
immudb-v1.5.0-linux-amd64 f75d5738e8a9802793c0027b262075d2e309a3b56f7c6bea707a5e853009f4d9
immudb-v1.5.0-linux-amd64-fips 2c7da74a00bbf7aa1880abe7c8b5b57c82c905823a33627c4df010d6a031b054
immudb-v1.5.0-linux-amd64-static 6b2cf661cd53864dd964ecd68951cb52772b30514f5bc7915684bf6b4e8d285c
immudb-v1.5.0-linux-arm64 cb0ea6e504d0e6b83c09368a89dc05c0affd449becc09c30fd247aca040364b7
immudb-v1.5.0-linux-s390x 32a286126d6510be250746f6a5437e9731ea1e9895b2042d4e156ee9e1db8f12
immudb-v1.5.0-windows-amd64.exe 694ef41e3cbf563962fb9002ddbb7eead7f8229aeca862ca8baca01372d076ac

immuclient Binaries

File SHA256
immuclient-v1.5.0-darwin-amd64 828624252c317df11ae66b76fe927d0596779f670f561ddbb51683d1ce7d8303
immuclient-v1.5.0-darwin-arm64 779b3053fb6974836e66a2259f32c6cb1cfd62b84ba11969eab1faedbb66e40b
immuclient-v1.5.0-freebsd-amd64 efb075bb17ac5d895432f3ea5d5c0b249a372537676d823ad8e92f49236fd030
immuclient-v1.5.0-linux-amd64 04634a92dc23ec44dd605af60b620900d5c41040e8c7f3ee1779dc7b1ee736f3
immuclient-v1.5.0-linux-amd64-fips 05b987815a04f4fa82b03fa2327c04ddb0f1d260a39f4f25b923d6bb36dcc236
immuclient-v1.5.0-linux-amd64-static 72add649eb9d7ad0c704669919e18f0136ac3ae279ea78ec21ca5ef920283015
immuclient-v1.5.0-linux-arm64 2477d4c9ca5d18b872d4274b7f8fcccf0154c6fe690daf42a7cf84ca6e1214de
immuclient-v1.5.0-linux-s390x 73d694054420012af2b45fd5ef41d4ed27140ce47d69958be6256c80c7af157e
immuclient-v1.5.0-windows-amd64.exe dbdffb4e31ab013ffaae4cca4c5c75c43403bdfa5b82a069d96d8c20599df2fd

immuadmin Binaries

File SHA256
immuadmin-v1.5.0-darwin-amd64 81726288fc62acb437cd38605fecdf224aeb0c2970be92dd435f43503118cc76
immuadmin-v1.5.0-darwin-arm64 3a671f6d3f3dd5a32488a13364688e008e53621a934aa4e3945cac2cf78873af
immuadmin-v1.5.0-freebsd-amd64 8d4933cc9a14b5cd8447acdae35a0a20fbbc42e87eff7b0b5952460d787e664f
immuadmin-v1.5.0-linux-amd64 ef182d3b9223f33b1a5c096eef6ad5265feecd34453033333c70ef07e99d7113
immuadmin-v1.5.0-linux-amd64-fips ca64142fd4ecb1c4052834275198af3cafdfa1af2df8a3ad5003c80e5b41648a
immuadmin-v1.5.0-linux-amd64-static 7ed8233390b179d5ab536aedb2f912be962233908288821ad22e7cba14d6d257
immuadmin-v1.5.0-linux-arm64 e6d50077f792c9b62c1f70dd00b9c8d2394311f7f248743a2702966c03c402b3
immuadmin-v1.5.0-linux-s390x 4c67d2e197e0215603847fe67ebcc09a24d03ea01574663ef5f33456cf1e214f
immuadmin-v1.5.0-windows-amd64.exe 8a747bb5759d2d6737936f7eb545e5b524b4eda5acf90ab526d26b487a74b722