Skip to content

Release history

34 releases of Katzebase.

v0.38.1

StableSep 5, 2026
  • Dependency updates.

Be sure to check out the NuGet package: https://www.nuget.org/packages/NTDLS.Katzebase.Api/

Full Changelog: https://github.com/NTDLS/Katzebase/compare/0.38.0...0.38.1

Downloads

v0.38.0

StableJun 1, 2026

Release Notes

  • First compatibility with Linux (x64, and arm64)

Packages

Be sure to check out the Nuget package 📦
https://www.nuget.org/packages/NTDLS.Katzebase.Api/

Downloads

v0.37.0

StableMay 31, 2026
  • Scaffolding for schema document options.
  • Reduce memory usage during bulk import and index builds.
  • Bypass transaction tracking in Rebuild Index document reads
  • New functions, transaction atom improvements.
Downloads

v0.36.0

StableMay 30, 2026

Breaking Change

This release is not backwards compatible with databases created by previous versions. 🔥

Storage Engine

Introduced RocksDB as the primary storage engine, replacing the previous home-rolled B-tree
Improved RocksDB instance management with lazy initialization
Implemented efficient full-schema document scanning

Transactions

Added server cancellation tokens
Ensured robust transaction cleanup during commit
Safeguarded transaction rollback after lock wait timeout
Fixed re-entrant deadlock in TryCloseByProcessID
Fixed crash recovery re-processing the same transactions on every restart
Fixed column family persisting across restarts after recovery rollback

Locking

Refactored LockManager to use instance-level concurrency state
Added support for multiple engine instances in LockManager
Lock intentions are now keyed on CacheKey instead of raw disk path
Replaced single-hop deadlock detection with DFS-based cycle detection
Reconstructed full deadlock cycle chain; rewrote GetDeadlockExplanation
Fixed directory-granularity locks not matching file-level intentions in GetOverlappingLocks
Fixed two additional lock overlap detection edge cases
Fixed CPU busy-wait and missing cancellation check in Acquire spin loop
Fixed infinite loop when a coarser-granularity lock already covers a finer-grained request
Fixed incorrect blocked-key tracking for Stability locks
Schema drop now correctly acquires a recursive path lock

Query Engine

Switched expression parser from NCalc to NTDLS.ExpressionParser
Implemented query and condition hashing; centralized hash finalization
Optimized condition hash generation and usage
Reused mathematical expressions across schema joins
Improved math parsing speed
Stored query text and hash in PreparedQuery
Streamed primary schema rows in GatherIntersectedRows; applied WHERE clause after joins

Performance & Memory

Fixed unbounded memory growth caused by unenforced cache size limit
Fixed OOM crash during index rebuild from RocksDB HyperClockCache anonymous mmap failure
Parallelized index rebuild using the indexing thread pool
Added cache-read bypass during index builds to prevent unbounded cache growth
Fixed cache not being ejected on schema drop
Optimized numeric ORDER BY sorting
Upgraded memory manager; removed unused thread pool

Bug Fixes

Fixed null reference when evaluating a function call against a null field value
Fixed schema tree hanging when loading schemas with hundreds of children
Fixed LOCK file error when dropping a schema that has child schemas

Management UI

Added materialization thread view
Fixed UI lock and slow (~3 minute) detail loading during schema tree population
Prioritized the expanded schema node in the detail fetch queue

Server

Added configurable initial thread pool size
Marked background threads for graceful shutdown

Downloads

v0.33.1

StableMay 22, 2025
  • ReliableMessaging updates.

Be sure to check out the nuget pacakge: https://www.nuget.org/packages/NTDLS.Katzebase.Api/0.33.1

Full Changelog: https://github.com/NTDLS/Katzebase/compare/0.33.0...0.33.1

Downloads

v0.33.0

StableMay 21, 2025
  • Major updates to ReliableMessaging.
  • Added ReadUncommitted, which is now used by the UI explorer and lazy schema updates.
  • Corrected thread status display for system functions.
  • Refactor of schema optimizer.
  • Corrected indexing order priority.

Be sure to check out the client connectivity Nuget package: https://www.nuget.org/packages/NTDLS.Katzebase.Api/0.33.0

Full Changelog: https://github.com/NTDLS/Katzebase/compare/0.32.1...0.33.0

Downloads

v0.32.1

StableMay 2, 2025

Updates several NuGet package dependencies to their latest compatible versions, including NTDLS.Helpers, NTDLS.ReliableMessaging, NTDLS.DelegateThreadPooling, NTDLS.FastMemoryCache, AvalonEdit, NTDLS.Persistence, NTDLS.WinFormsHelpers, and Microsoft.Data.SqlClient.

Full Changelog: https://github.com/NTDLS/Katzebase/compare/0.32.0...0.32.1

Downloads

v0.32.0

StableJan 4, 2025

Engine

  • Internal deadlock avoidance strategies.

UI

  • n/a

Full Changelog: https://github.com/NTDLS/Katzebase/compare/0.31.0...0.32.0

Downloads

v0.31.0

StableJan 4, 2025

Engine

  • Magor steaming API fix for packet fragmentation.
  • Lock0wait optimization and new wait time tracker types.
  • Index optimize cleanup. Removed regression test duration constraint.

UI

  • Column resize fix.

Full Changelog: https://github.com/NTDLS/Katzebase/compare/0.30.0...0.31.0

Downloads

v0.30.0

StableDec 5, 2024

Engine

  • Resolved issues with single value insert.

UI

  • Added manual refresh for index, schema and field list.

Full Changelog: https://github.com/NTDLS/Katzebase/compare/0.29.0...0.30.0

Downloads

v0.29.0

StableDec 4, 2024

Engine

  • Added dedicated field sample API.

UI

  • Added lazy-loaded schema fields to UI.

Full Changelog: https://github.com/NTDLS/Katzebase/compare/0.28.0...0.29.0

Downloads

v0.28.0

StableOct 31, 2024
  • Dependency updates.
  • Dropped .net 6 and 7 support,

Full Changelog: https://github.com/NTDLS/Katzebase/compare/0.27.0...0.28.0

Downloads

v0.27.0

StableOct 22, 2024

Engine

  • Added support for left outer join.
  • Added support for select distinct.
  • Fixed drop of unique keys.
  • Added validation to grouping queries to ensure that expressions are either aggregated or included in the grouping.
  • Added heartbeat manager to cleanup abandoned connections where they could not be instantly terminated due to locking.
  • Resolved abandoned process thread deadlocks.

UI

  • Migration tool status is no longer modal.

Full Changelog: https://github.com/NTDLS/Katzebase/compare/0.26.0...0.27.0

Downloads

v0.26.0

StableOct 18, 2024

Engine

  • Added new account, role and membership to support the security policy.
    • Added, Grant, Deny, Revoke, Create/Alter role and account.
    • Changed user id to GUID.
  • Added LEFT OUTER join support.
  • Fixed bool scalar functions returning string true/false instead of 1/0.
  • Fixed issue with unique key enforcement on first duplicate.
  • Resolved lookup issue on partial match with single schema.
  • Fixed issues parsing variables when not followed by whitespace.
  • Fixed issue where schema names were being improperly lowercased.
  • Better variable declarations using DECLARE.
  • Standardize QueryHandlers, APIs and exceptions.
  • Major cleanup of query routing.
  • Added lots of new system and scalar functions.
    • Sleep, Print, Abs, Ceil, Floor, Pow, SystemShowSchemaPolicy.
    • DateAdd, DateDiff, FormatNumeric, FormatDateTime, Round, ToString, ToNumeric.
    • IfNullNumeric, NullIf, IsNull, NullIf, NullIfNumeric, and quite a bit more.
  • Major enhancements to null handling, all functions should allow null return.
  • Null propagation for all expressions, including math.
  • Insert now uses Values list or json notation.
  • Initial schema now created using embedded scripts.
  • Proper null serialization, nulls can now be persisted.
  • Fixes to GROUP BY when using ordering results.
  • Added ability to pass aggregate result to Scalar function.

UI

  • Auto-size of result grids, now allow manual resize.
  • Empty result-set now populate field names if supplied by engine.
  • Resolved exception on close of form.
  • Find/replace improvements,
  • Default font change, change of output window font.
  • Added drag/drop "macros" (right-hand pane)
  • Added row number, which is not exported by context menu commands.

Full Changelog: https://github.com/NTDLS/Katzebase/compare/0.25.0...0.26.0

Downloads

v0.25.0

StableOct 9, 2024

Engine

  • Consolidated field materialization.
  • Field aliases can now be strings.
  • Fixed select, group and order constant expressions.
  • Major update performance optimization.
  • Dynamic configuration options.

UI

  • Swapped results grid for DataGridView.
  • Static analysis tool-tip delay.
  • Fixed font saving. Recommend: Cascadia Mono SemiLight.
  • Added scrolling to multiple result grids.
  • Added double buffered schema explorer.
  • Resolved issue updating static analysis when lazy loaded schema updates occur.

Full Changelog: https://github.com/NTDLS/Katzebase/compare/0.24.0...0.25.0

Downloads

v0.24.0

StableOct 7, 2024

Engine

  • Resolved issues deleting from indexes.
  • Improved threading and thread saftey.
  • Resolved issues with non string/numeric parameters (such as DateTime).

UI

  • File association icon fix.
  • Resolved issue deleting large number of script lines.

Full Changelog: https://github.com/NTDLS/Katzebase/compare/0.23.0...0.24.0

Downloads

v0.23.0

StableOct 7, 2024

Engine

  • Resolved issues stopping new thread pools.
  • Resolved nullability issues with aggregate functions.
  • Resolved infinite parameters for scalar functions.
  • Fixed index analysis.
  • Fixed NOT like.
  • Resolved issues with basic UPDATE parsing.
  • Added missing field defaulted to NULL warning, softening the missing field severity.

UI

  • Optimization of schema cache.
  • Resolved issues with non-functional context menus.

Full Changelog: https://github.com/NTDLS/Katzebase/compare/0.2.0...0.23.0

Downloads

v0.22.0

StableOct 5, 2024

This is major release (still in alpha), but fundamental portions of the engine have been changed. This is the final part of a two-part push to overhaul the parser (previous release) and now the schema-intersection-engine. The only outstanding issue is reimplementing stored procedures, but we really want to take some time and think that out. Other than that, we are now focused on validating the functionality of all features.

Engine

  • Rewrite of schema intersection processor, now with more parallelism and vastly improved speed and maintainability.
  • Added support for UPDATE with joins.
  • Added support for DELETE with joins.
  • Added support for ORDER BY using expressions and scalar/aggregate functions.
  • Moved parser to dedicated library.
  • Memory manager now released LOH object for greatly enhanced memory management.
  • Added function descriptions to engine prototypes.
  • Fixes to parsing negative numeric values.
  • Added CountDistinct()
  • Removed batch splitting on "GO", parser now knows where queries begin.
  • Standardized all exceptions.
  • Added new system function: ShowThreadPools

UI

  • Now allows for more than one server connection.
  • Incorporates schema awareness using lazy-loading for validation while writing queries.
  • Static analyzer using new dedicated parsing library provides query-text insights in real-time.
  • Code folding for comments and regions using --region "text" and --endregion.
  • Font and font size can now be modified.
  • Setting dialog now provides more customizability.

Full Changelog: https://github.com/NTDLS/Katzebase/compare/0.21.0...0.22.0

Downloads

v0.21.0

StableSep 28, 2024

What Changed

  • Cleanup and dependency updates.

New Contributors

  • @ingted

Full Changelog: https://github.com/NTDLS/NTDLS.Katzebase.Server/compare/0.19.0...0.20.1

Downloads

v0.20.0

StableSep 27, 2024

What Changed

  • Aggregation when no group-by is present.
  • Added count(*) shortcut,
  • Added IsNumeric, IsDouble and IsString scaler functions.
  • More drastic performance improvements to schema locking, also reduces deadlocks.
  • Consolidated Server, Management, and SQL Server Migration tool into one installer.

New Contributors

  • @ingted

Full Changelog: https://github.com/NTDLS/NTDLS.Katzebase.Server/compare/0.19.0...0.20.0

Downloads

v0.19.0

StableSep 23, 2024
  • Fixed issue with scaler functions when optional parameters were not passed.
  • Resolved issue with calculating mathematical expressions when in line with string concatenation.
  • Added new "single" schema that is intended to mimic the Oracle "dual" function.
  • Reimplemented insert of "ragged key/value" pairs. This is in addition to field/value insert style.

Full Changelog: https://github.com/NTDLS/NTDLS.Katzebase.Server/compare/0.18.0...0.19.0

Downloads

v0.18.0

StableSep 23, 2024
  • Reimplemented "set".
  • Massively improved insert performance.
  • Greatly reduced schema lock contention.
  • Resolved issues with case-sensitivity of schema aliases in where clause and joins.
  • Greatly reduced duration and memory requirements for creating and rebuilding indexes.

Full Changelog: https://github.com/NTDLS/NTDLS.Katzebase.Server/compare/0.17.0...0.18.0

Downloads

v0.17.0

StableSep 22, 2024
  • Reimplemented "select into".
  • Reimplemented Sample, Analyze, List, Alter, Rebuild, Set, Kill, and Exec.
  • Reimplemented system functions.
  • Resolved issue with "select top" when offset is not specified.
  • Client package update.

Full Changelog: https://github.com/NTDLS/NTDLS.Katzebase.Server/compare/0.16.0...0.17.0

Downloads

v0.16.0

StableSep 20, 2024

Changes

  • Rewrote tokenizer.
  • Rewrote entire query parser.
    • Parsers are now separated into separate static classes for each query type.
    • Parsers are now reusable, allowing for the condition parser, field parser and the like to be reused inside other query parser types.
  • Functions are now fully recursive and are parsed in select fields, group by, order by, insert, update, select, where clause and join clauses.
  • Update statements now allow for joins.
  • Delete statements now allow for joins.
  • Introduced "insert select from" statements.
  • Temporarily removed support for procedures, they will need to be reimplemented.
  • Major changes to the way that indexes are selected and used. Multiple values for a single index are now handled in one index lookup operation.
  • Condition parser rewrite is now more robust and understandable.
  • Introduction of new dapper like queries using classes as return objects.
  • Introduction of parameterized queries prevents sql-injection attacks.
  • Scaler and aggregate function parser rewrite allowing for reusability in various parts of queries.
  • Added inline query string concatenation.
  • Added query field type detection for inline math and string aggregation to coexist without "casting" which would be found in other RDBMSs.
  • Added windowing functionality with TOP and OFFSET.

Remaining to-do:

  • Reimplement "SELECT INTO".
  • Reimplement stored procedures.
  • More robust parser validation.

What's Changed

Full Changelog: https://github.com/NTDLS/NTDLS.Katzebase.Server/compare/0.15.0...0.16.0

Downloads

v0.15.0

StableAug 28, 2024
  • Separated thread pools for indexing and lookup operations.
  • Added full support for composite index seeks and scans.
  • Vastly improved query optimizer.
  • Added API to show query plan and order of operations, this is also available in the UI.
  • Added finer granularity and additional categories to performance trace operations
  • Performance counter refactoring.
  • Removed element compression in favor of full page compression for better performance and space usage
  • Greatly improved locking and concurrency. Much less contention and higher performance.

Full Changelog: https://github.com/NTDLS/NTDLS.Katzebase.Server/compare/0.14.0...0.15.0

Downloads

v0.14.0

StableAug 12, 2024
  • Updated reliable messaging to allow async queries. Each connection can now handle more than one query at a time.
  • Added configurable child thread pool queue depth.
  • Updated delegate thread pooling to allows for consolidation of thread exceptions and process cancelation.
  • Improved semaphore locking.
  • Query explain, attached conditions to root schema, removed double optimize
  • Cleaned up condition/indexing explanation.
  • Cleaning up condition parser.
  • Added condition inversion.
  • Resolved selecting dynamic fields from specific schemas.
  • Exception formatting.
  • Added aggregate exception to one threaded call, need to do others.
  • Condition parser improvements, thread exceptions, perf and refactoring.
  • Added ShowVersion, faster string comparison, much faster like comparison

Full Changelog: https://github.com/NTDLS/NTDLS.Katzebase.Server/compare/0.13.0...0.14.0

Downloads

v0.13.0

StableAug 6, 2024
  • Added: SystemProcedures and SystemAggregateFunctions
  • Added serilog.
  • Removed delayed document materialization.
  • Removed stability lock conversion.
  • Corrected index analytics for root node calculations.
  • Fixed parser issue which was not tagging NULL as a constant.
  • Resolved null equality issues.
  • Resolved issue where constant values were not filled out on one-to-many relationships.
  • Vastly improved exception reporting.
  • Refactoring of expressions, sub-expressions and conditions.

Full Changelog: https://github.com/NTDLS/NTDLS.Katzebase.Server/compare/0.12.0...0.13.0

Downloads

v0.12.0

StableJul 31, 2024
  • Major updates to dependency libraries.
  • Lots of bug fixes.
  • Lots of optimizations.
  • Incredible amounts of refactoring.

Full Changelog: https://github.com/NTDLS/NTDLS.Katzebase.Server/compare/0.10.0...0.12.0

Downloads

v0.10.0

StableFeb 15, 2024
  • Update ReliableMessaging nuget, this allows us to make convention based API calls.
Downloads

v0.9.0

StableFeb 1, 2024
  • Release as a seperate module.
Downloads

v0.8.0

StableJan 31, 2024
  • Fully swapped out HTTP for ReliableMessaging library.
  • Resolved import grid strobing.
  • Added schema stability locks and ability to deescalate to them.
  • Resolved race condition on deadlock... of all places.
Downloads

v0.7.0

StableJan 23, 2024
  • Swapped out threading model.
Downloads

v0.6.0

StableNov 16, 2023
  • Added new lock type: delete.
  • Added ShowLocks
  • Bumped semaphore nuget.
  • .net8.0 upgrade.
  • Installer fixes.
  • Icon changes.
  • Namespace moves and fixed client API success code for non-query.
  • Code standardization.
  • Rearrange mgmt classes.
  • Resolved issue with parent schema locking.
  • Added app name, resolved index api create and added disconnect cleanup.
  • Added default client app name.
  • Reimplemented deadlock detection.
  • Restructure and added SQL Server migration tool.
  • Mssql migration tool refinements.
  • Fixed issue with relative settings paths.
  • SQL migration tool fixes.
  • Resolved major issue with rolled-back transaction cache.
  • Added reporting on new tx read cache.
  • Handled deadlocks in migration tool.
  • Increased aggressiveness of locks.
  • Added block tree viewing EXEC ShowBlockTree
  • Major revisions to locking.
  • Track lock intention and key issue times.
  • Added transaction-state snapshots.
  • Moved system procedure implementations.
  • Checkpoint, working on critical sections.
  • Swapped in new critical section manager.
  • Moved critical sections.
  • Made locks more explicit.
  • Changed mutable locking to CriticalResource.
  • Finished converting semaphores.
  • Updated semaphore nuget.
  • Updated memory cache to use NTDLS semaphore
  • Moved memory cache to nuget.
  • Removed vestige
  • Moved "global" critical sections.
  • MemoryCache nuget update.
  • License.
  • Moved client to different repo.
  • Swapped out cache and semaphore nugets.
  • Change lock seeking to use optimistic locking mechanism.
  • Swapped out pessimistic semaphore for optimistic semaphore.
  • Resolved multiple locking issues.
  • Version corrections.
Downloads
An unhandled error has occurred. Reload 🗙