All Versions
39
Latest Version
2.2
Avg Release Cycle
28 days
Latest Release
593 days ago

Changelog History
Page 2

  • v1.3.0 Changes

    May 23, 2022

    ๐Ÿ› Bug Fixes

    • embedded/sql: return invalid value when using aggregated col selector in temporal queries
    • pkg/client: enhance client-side validations in verified methods
  • v1.3.0-RC1 Changes

    May 20, 2022

    ๐Ÿ› Bug Fixes

    • cmd/immuclient: Do not crash on login prompt
    • embedded/sql: selector resolution using valuesRowReader
    • embedded/sql: continue stmt execution on handler after changing db in use
    • embedded/sql: increase auto_increment pk once per row
    • embedded/sql: typo in error message
    • embedded/sql: adjust named parameter parsing
    • github: Run sonarcloud code analysis after cove coverate
    • pkg/database: avoid silent returns when the scan limit is reached
    • pkg/database: Fix detection of incorrect revision numbers
    • pkg/database: Correctly interpret negative revision for getAt

    ๐Ÿ”„ Changes

    • ๐Ÿณ Dockerfile: Add EXPOSE 5432 and IMMUDB_PGSQL_SERVER to all immudb images
    • README.md: Switch to github badge
    • ๐Ÿ— build: Update the RELEASING.md documentation
    • cmd/immuclient: Remove unnecessary sleep for set commands
    • cmd/immuclient: Move history command to a separate file
    • cmd/immuclient: Extract separate immuclient options
    • embedded/sql: validate current database as first step
    • embedded/sql: check tx range edge cases
    • embedded/sql: not showing unexistent db name as part of error message
    • embedded/sql: fully non-transactional db creation and selection
    • embedded/sql: re-include ttimestamp conversions in tx periods
    • embedded/sql: de-duplicate error handling
    • embedded/sql: database selection without multidb handler is still transactional
    • embedded/sql: database selection as non-transactional
    • embedded/sql: postpone period evaluation so to support parameters type inference
    • embedded/sql: param substitution in functional datasource
    • embedded/sql: functional-style catalog queries
    • embedded/sql: quoted identifiers
    • embedded/sql: ensure db selection is the last operation
    • embedded/sql: unit testing db selection
    • embedded/sql: include short database selection stmt
    • embedded/sql: ensure context propagation with multiple txs
    • embedded/sql: implicit time expression
    • embedded/sql: functional catalog api
    • embedded/sql: non-functional catalog access
    • embedded/sql: wip grammar extensions to enrich temporal queries
    • embedded/sql: sql tx with context
    • embedded/sql: multi-db handler
    • embedded/sql: detailed error messages
    • embedded/store: minor refactoring time-based tx lookup
    • github: Speedup push github actions
    • grpc: Extend Scan API with endKey, inclusiveSeek, inclusiveEnd
    • pkg/api: extend database creation response to indicate db already existed
    • pkg/database: minor error renaming
    • pkg/database: Rename getAt to getAtTx
    • pkg/database: provide query parameters during resolution
    • pkg/database: Add missing copyright header in scan_test.go
    • pkg/database: contextual sql tx
    • pkg/database: set multi-db handler after db initialization
    • pkg/database: Improved checking of KeyRequest constraints
    • pkg/database: databases catalog query yet unsupported
    • pkg/database: maintain MaxKeyScanLimit for backward compatibility
    • pkg/integration: Add SQL verify tests after ALTER TABLE
    • pkg/integration: Cleanup and restructure SQL tests
    • pkg/server: upgrade database method signature
    • pkg/server: contextual sql tx

    ๐Ÿ”‹ Features

    • โž• Add revision number when getting DB entries
    • Calculate revision number when scanning key history
    • api/schema: Add revision-based option to key query
    • cmd/immuclient: Add restore operation
    • cmd/immuclient: Add revision numbers when looking up key history
    • cmd/immuclient: Add support for revision-based get in immuclient
    • cmd/immuclient: Better error messages for invalid revision for restore command
    • embedded/sql: create database if not exists
    • embedded/sql: queries with temporal ranges
    • embedded/sql: temporal row ranges
    • embedded/sql: catalog queries
    • embedded/sql: WIP - UNION operator
    • embedded/sql: Implement ALTER TABLE ADD COLUMN
    • embedded/store: time-based tx lookup
    • embedded/store: ranged key update reading
    • pkg/client: Add revision-based get request on the go client
    • pkg/database: Add revision-based get request on the GRPC level
    • pkg/server: support database creation from sql
    • pkg/server: support database selection from sql stmt
  • v1.2.4 Changes

    April 28, 2022
  • v1.2.4-RC1 Changes

    April 27, 2022

    ๐Ÿ› Bug Fixes

    • ๐Ÿณ Dockerfile: Fix HOME variable for podman
    • cmd/immuclient: upgrade not logged in error handling
    • embedded/tbtree: create nodes with the right number of children
    • embedded/tbtree: Better logging in btree flush
    • embedded/tbtree: Fix cleanupPercentage in SnapshotSince call
    • embedded/tbtree: ensure node split is evaluated
    • embedded/tbtree: split into multiple nodes
    • github/push: Fix notarization of binaries
    • pkg/auth: Clarify comments about token injection
    • pkg/auth: Do not send duplicated authorization header
    • pkg/server: include db name in flush index result

    ๐Ÿ”„ Changes

    • ๐Ÿ”„ CHANGELOG.md: remove bogus liist tag entry
    • ๐Ÿ— build/RELEASING.md: Update releasing docs
    • cmd/immuclient: include db name when printing current state
    • embedded/store: index settings validations
    • embedded/tbtree: ensure node size is consistent with key and value sizes
    • embedded/tbtree: rename function that calculates node size lower bound
    • github: Use smaller 5-days retention for master builds
    • github: Update github workflow on master / version push
    • github: Update github action versions
    • github/push: Build docker images after tests
    • github/push: Build, test and notarize for release/v* branches
    • github/push: Calcualte sha256 checksums for binaries in github
    • github/push: Add quick test linux-amd64 binaries
    • github/push: Add quick test for Mac x64 binaries
    • github/push: Add quick test for linux-arm64 binaries through qemu
    • github/push: Add quick test for linux-s390x binaries through qemu
    • github/push: Run stress test before notarizing binaries
    • pkg/api: txbyid with keepReferencesUnresolved option
    • โœ… tools/testing: Add stress tool
    • โœ… tools/testing: Add randomized key length mode for stress test tool
  • v1.2.3 Changes

    April 14, 2022

    ๐Ÿ› Bug Fixes

    • cmd/immuadmin: simplify logging when flushing and compacting current db
    • pkg/database: return key not found when resolving a deleted entry
    • pkg/database: Return correct error for verifiedGet on deleted entries
  • v1.2.3-RC1 Changes

    April 13, 2022

    ๐Ÿ› 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
  • v1.2.2 Changes

    January 17, 2022

    ๐Ÿ› Bug Fixes

    • registering connection in order to make possible conn recycling
    • ๐Ÿณ Dockerfile: Add ca-certificates.crt file to immudb image
    • client/file_cache: Fix storing immudb state in file cache
    • embedded/immustore: Avoid deadlock when acquire vLog lock
    • embedded/sql: max key len validations
    • embedded/sql: consider not null flag is on for auto incremental column
    • pkg/server: validate if db is not replica then other replication attributes are not set
    • pkg/stdlib: fix last insert id generation

    ๐Ÿ”„ Changes

    • create code of conduct markdown file (#1051)
    • cmd/immuclient: return actual login error
    • embedded/sql: wip client provided auto-incremental values
    • embedded/sql: wip client provided auto-incremental values
    • embedded/sql: wip client provided auto-incremental values
    • embedded/sql: add first and last insert pks retrivial methods
    • embedded/sql: change column constraints ordering
    • metrics: Add indexer metrics
    • metrics: Add more s3-related metrics
    • pkg/database: pre-validation of duplicated entries in execAll operation
    • pkg/database: temporarily disable execall validations
    • pkg/database: instantiate tx holder only in safe mode
    • pkg/database: self-contained noWait execAll
    • pkg/database: descriptive error messages
    • pkg/replication: delay replication after failure
    • pkg/stdlib: clean connection registration and leftovers

    ๐Ÿ”‹ Features

    • embedded/sql: support for basic insert conflict handling
    • s3: Add support for AWS V4 signatures
  • v1.2.1 Changes

    January 01, 0001

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  fix interactive use database
    • database: Internal consistency check on data reads
    • database/meta: Do not crash on history with deleted items
    • embedded/store: change already closed error message
    • embedded/store: readonly tx entries to ensure no runtime modification
    • embedded/store: reserve 4bytes in buffers for nentries
    • embedded/tbtree: set fixed snapshot ts
    • pkg/database: history skipping not found entries
    • pkg/server/sessions: remove transaction on read conflict error
    • pkg/server/sessions/internal/transactions: transaction is cleared after sqlExec error
    • protobuf: Fix compatibility with 1.1 version
    • sql: Do not panic on error during delete
    • tx: Remove summary from metadata

    ๐Ÿ”„ Changes

    • cmd/immuadmin/command: add super user login hint
    • embedded/sql: support for escaped strings
    • embedded/sql: use sql standard escaping with single quotes
    • embedded/store: prevent value reading of expired entries
    • embedded/store: private readonly metadata is validated when reading data
    • embedded/store: mandatory expiration filter
    • embedded/store: read-only kv metadata for committed entries
    • embedded/store: rw and readonly kv metadata
    • embedded/store: txmetdata placeholder with zero len
    • embedded/store: easily extendable meta attributes
    • embedded/store: reduce attribute code size
    • embedded/store: return data corrupted error when deserialization cannot proceed
    • embedded/store: use fixed time during the lifespan of a tx
    • embedded/store: validations during metadata deserialization
    • embedded/store: improve metadata serialization/deserialization methods
    • embedded/store: dedicated expiration error
    • embedded/store: fix expiration error declaration
    • ๐Ÿ‘‰ makefile: remove windows binaries digital signature
    • pkg/api: use new kvmetadata api
    • pkg/auth: require admin permission to export and replicate txs
    • pkg/client: tx read conflict error is mapped in an CodInFailedSqlTransaction
    • pkg/integration: remove useless compilation tag on tests
    • pkg/server: deprecate GetAuth and WithAuth
    • pkg/server/sessions: tuning sessions params
    • pkg/server/sessions: session timeout set to 2 min
    • pkg/server/sessions: session max inactivity time set to 3m and minor stat collecting fix
    • pkg/server/sessions/internal/transactions: defer only when needed
    • pkg/stdlib: clean tx after rollback
    • pkg/stdlib: fix connection creation
    • server/sessions: modify read conflict error message

    ๐Ÿ”‹ Features

    • embedded/store: logical entries expiration
    • pkg/api: logical entries expiration
    • pkg/client: expirable set
    • pkg/stdlib: expose tx on std lib
  • v1.2.0 Changes

    December 13, 2021

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  fix interactive use database
    • database: Internal consistency check on data reads
    • database/meta: Do not crash on history with deleted items
    • embedded/store: change already closed error message
    • embedded/store: readonly tx entries to ensure no runtime modification
    • embedded/store: reserve 4bytes in buffers for nentries
    • embedded/tbtree: set fixed snapshot ts
    • pkg/database: history skipping not found entries
    • pkg/server/sessions: remove transaction on read conflict error
    • pkg/server/sessions/internal/transactions: transaction is cleared after sqlExec error
    • protobuf: Fix compatibility with 1.1 version
    • sql: Do not panic on error during delete
    • tx: Remove summary from metadata

    ๐Ÿ”„ Changes

    • cmd/immuadmin/command: add super user login hint
    • embedded/sql: support for escaped strings
    • embedded/sql: use sql standard escaping with single quotes
    • embedded/store: prevent value reading of expired entries
    • embedded/store: private readonly metadata is validated when reading data
    • embedded/store: mandatory expiration filter
    • embedded/store: read-only kv metadata for committed entries
    • embedded/store: rw and readonly kv metadata
    • embedded/store: txmetdata placeholder with zero len
    • embedded/store: easily extendable meta attributes
    • embedded/store: reduce attribute code size
    • embedded/store: return data corrupted error when deserialization cannot proceed
    • embedded/store: use fixed time during the lifespan of a tx
    • embedded/store: validations during metadata deserialization
    • embedded/store: improve metadata serialization/deserialization methods
    • embedded/store: dedicated expiration error
    • embedded/store: fix expiration error declaration
    • ๐Ÿ‘‰ makefile: remove windows binaries digital signature
    • pkg/api: use new kvmetadata api
    • pkg/auth: require admin permission to export and replicate txs
    • pkg/client: tx read conflict error is mapped in an CodInFailedSqlTransaction
    • pkg/integration: remove useless compilation tag on tests
    • pkg/server: deprecate GetAuth and WithAuth
    • pkg/server/sessions: tuning sessions params
    • pkg/server/sessions: session timeout set to 2 min
    • pkg/server/sessions: session max inactivity time set to 3m and minor stat collecting fix
    • pkg/server/sessions/internal/transactions: defer only when needed
    • pkg/stdlib: clean tx after rollback
    • pkg/stdlib: fix connection creation
    • server/sessions: modify read conflict error message

    ๐Ÿ”‹ Features

    • embedded/store: logical entries expiration
    • pkg/api: logical entries expiration
    • pkg/client: expirable set
    • pkg/stdlib: expose tx on std lib
  • v1.2.0-RC1 Changes

    December 07, 2021

    ๐Ÿ› Bug Fixes

    • โšก๏ธ Update jaswdr/faker to v1.4.3 to fix build on 32-bit systems
    • CI: Fix building and releasing almalinux images
    • ๐Ÿ‘‰ Makefile: Fix building immudb for specific os/arch
    • ๐Ÿ‘‰ Makefile: Use correct version of the grpc-gateway package
    • embedded/sql: fix rollback stmt
    • embedded/sql: correct max key length validation based on specified col max length
    • embedded/sql: ensure determinism and no value overlaps distinct rows
    • embedded/sql: fix inserting calculated null values
    • embedded/sql: normalize parameters with lower case identifiers
    • embedded/sql: Use correct statement for subquery
    • embedded/sql: Do not modify value returned by colsBySelector
    • embedded/sql: distinct row reader with limit argument
    • embedded/sql: param substitution in LIKE expression
    • embedded/sql: Fix SELECT * when joining with subquery
    • embedded/store: release lock when tx has a conflict
    • embedded/store: read conflict validation
    • embedded/store: typo in error message
    • pkg/auth: Fix password tests
    • pkg/client: fix database name saving on token service
    • pkg/database: sql exec on provided tx
    • pkg/server: fix keep alive session interceptor
    • โœ… testing: using pointers for job channels
    • webconsole: Fix html of the default missing page.

    ๐Ÿ”„ Changes

    • refining sdk client constructor and add readOnly tx guard
    • ๐Ÿ“š Update build/RELEASING.md documentation.
    • โœ‚ Remove experimental S3 warning from README
    • decoupled token service
    • ๐Ÿšš token is handled internally by sdk. Remove useless code
    • ๐Ÿ›  fix more tests
    • โœ‚ remove token service from client options and fix tests
    • cmd/immuadmin/command: fix immuadmin token name on client creation
    • cmd/immuclient: deleteKeys functioin and updates after metadata-related changes
    • cmd/immuclient: temporary disable displaying hash in non-verified methods
    • embeddded/tbtree: leverage snapshot id to identify it's the current unflushed one
    • embedded/multierr: minor code simplification
    • embedded/sql: bound stmt execution to a single sqltx
    • embedded/sql: Alter index key prefixes
    • embedded/sql: postponing short-circuit evaluation for safetiness
    • embedded/sql: remove opt_unique rule to ensure proper error message
    • embedded/sql: minor code simplification
    • embedded/sql: use order type in scanSpecs
    • embedded/sql: Simplify row_reader key selection
    • embedded/sql: Better error messages when (up|in)serting data
    • embedded/sql: method to return sql catalog
    • embedded/sql: wip sqlTx
    • embedded/sql: de-duplicate tx attributes using tx header struct
    • embedded/sql: fix nullable values handling
    • embedded/sql: rollback token
    • embedded/sql: limit row reader
    • embedded/sql: use int type for limit arg
    • embedded/sql: kept last snapshot open
    • embedded/sql: unsafe snapshot without flushing
    • embedded/sql: reusable index entries and ignore deleted index entries
    • embedded/sql: changes on tx closing
    • embedded/sql: set INNER as default join type
    • embedded/sql: delay index sync until fetching row by its pk
    • embedded/sql: set parsing verbose mode when instantiating sql engine
    • embedded/sql: expose Cancel method
    • embedded/sql: leverage metadata for logical deletion
    • embedded/sql: standard count(*)
    • embedded/sql: return map with last inserted pks
    • embedded/sql: standardized datasource aliasing
    • embedded/sql: defer execution of onClose callback
    • embedded/sql: wip sql tx preparation
    • embedded/sql: sql engine options and validations
    • embedded/sql: ddl stmts not counted in updatedRows
    • embedded/sql: cancel non-closed tx
    • embedded/sql: non-thread safe tx
    • embedded/sql: wip interactive sqltx
    • embedded/sql: use current db from ongoing tx
    • embedded/sql: minor update after rebasing
    • embedded/sql: wip rw transactions
    • embedded/store: entryDigest calculation including key len
    • embedded/store: non-thread safe ongoing tx
    • embedded/store: wip tx header versioning
    • embedded/store: expose ExistKeyWithPrefix in OngoingTx
    • embedded/store: set header version at commit time
    • embedded/store: set tx as closed even on failed attempts
    • embedded/store: strengthen tx validations
    • embedded/store: GetWith method accepting filters
    • embedded/store: conservative read conflict validation
    • embedded/store: remove currentShapshot method
    • embedded/store: handle watchersHub closing error
    • embedded/store: threadsafe tx
    • embedded/store: tx header version validations and increased max number of entries
    • embedded/store: ongoing tx api
    • embedded/store: filter out entries when filter evals to true
    • embedded/store: early tx conflict checking
    • embedded/store: simplified ExistKeyWithPrefix in current snapshot
    • embedded/store: reorder tx validations
    • embedded/tbtree: remove ts from snapshot struct
    • embedded/tools: upgrade stress tool using write-only txs
    • embedded/tools: update stress_tool after metadata-related changes
    • embedded/tools: upgrade sql stress tool
    • pkg/api: consider nil case during tx header serialization
    • pkg/api: changes in specs to include new metadata records
    • pkg/api/schema: increase supported types when converting to sql values
    • pkg/client: check if token is present before injecting it
    • pkg/client: omit deleted flag during value decoding
    • pkg/client: avoid useless tokenservice call and add tests
    • pkg/client: updates after metadata-related changes
    • โœ… pkg/client/clienttest: fix immuclient mock
    • pkg/client/tokenservice: handlig error properly on token interceptor and fix leftovers
    • pkg/database: snapshots should be up to current committed tx
    • pkg/database: implement current functionality with new tx supportt
    • pkg/database: enforce verifiableSQLGet param validation
    • pkg/database: improve readability of Database interface
    • pkg/database: revised locking so to ensure gracefully closing
    • pkg/database: return a specific error in querying
    • pkg/database: updates after metadata-related changes
    • pkg/database: use new transaction support
    • pkg/database: limit query len result
    • pkg/errors: invalid database name error converted to immuerror
    • pkg/errors: useDatabase returns notFound code when error
    • pkg/integration: updates after metadata-related changes
    • pkg/server: use upgraded database apis
    • pkg/server: updates after metadata-related changes
    • pkg/server: error when tx are not closed
    • pkg/server/sessions: polish logger call
    • pkg/server/sessions: add sessions counter debug messages
    • pkg/stdlib: general improvements and polishments
    • pkg/stdlib: improve connection handling and allow ssl mode in connection string
    • pkg/stdlib: increase pointer values handling and testing
    • pkg/stdlib: fix unit testing
    • pkg/stdlib: remove context injection when query or exec
    • pkg/stdlib: handling nil pointers when converting to immudb named params
    • stress_tool_sql: add sessions and transaction mode
    • stress_tool_worker_pool: add long running stress tool
    • โœ… test: test backward compatibility with previous release (v1.1.0)
    • tsting: add index compactor in long running stress tool

    ๐Ÿ”‹ Features

    • ๐Ÿš€ helm chart for deploying immudb on kubernetes (#997)
    • embedded/appendable: method for reading short unsigned integer
    • embedded/sql: wip sqltx at engine with autocommit
    • embedded/sql: support for not like
    • embedded/sql: increased expression power in LIKE and IN clauses
    • embedded/sql: null values for secondary indexes
    • embedded/sql: engine as tx executor
    • embedded/sql: support value expression in like pattern
    • embedded/sql: create index if not exists
    • embedded/sql: Detect ambigous selectons on joins
    • embedded/sql: WIP un-restricted upsert
    • embedded/sql: support for IN clause
    • embedded/sql: delete from statement
    • embedded/sql: sql update statement
    • embedded/sql: distinct row reader
    • embedded/store: initial commit towards full tx support
    • embedded/store: wip enhanced tx support
    • embedded/store: included filters in key readers
    • embedded/store: including metadata records
    • embedded/store: conservative tx invalidation
    • embedded/store: functional constraints
    • embedded/store: logical key deletion api
    • embedded/store: keyReader in tx scope
    • embedded/tbtree: read as before returns history count
    • embedded/tbtree: implements ExistKeyWithPrefix in snapshots
    • sql: Add support for IS NULL / IS NOT NULL expressions
    • sql/index-on-nulls: Update on-disk format to support nullable values
    • sql/timestamp: Add timestamp support to embedded/sql
    • sql/timestamp: Add timestamp to protobuf definition
    • sql/timestamp: Add timestamp to stdlib
    • sql/timestamp: Add CAST from varchar and integer to timestamp