All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Native asset packages now ship in two variants per platform:
- Full (
ReindexerNet.Embedded.Native.<Platform>.Full) — full build including RocksDB storage engine and gRPC builtinserver support, identical to previous releases. - Min (
ReindexerNet.Embedded.Native.<Platform>.Min) — minimal build without RocksDB and gRPC for smaller footprint and faster startup.
- Full (
- Added macOS arm64 native asset packages (
Osx-arm64.FullandOsx-arm64.Min). - CI now tests on
macos-15(Apple Silicon) in addition tomacos-15-intel.
- Updated package versions:
0.5.1for Core;0.5.1.5010for Remote.Grpc, Embedded and all NativeAssets packages (Reindexer native library v5.1.0). - All existing native asset packages renamed with
.Fullsuffix (ReindexerNet.Embedded.Native.<Platform>→ReindexerNet.Embedded.Native.<Platform>.Full). - Updated gRPC proto to Reindexer v5:
SelectSql(SelectSqlRequest)renamed toExecSql(SqlRequest); addedDeleteMeta; expanded error codes; removed deprecatedautorepair/slaveModefields; fixedencodingTypetypo inQuerymessage.
- Fixed
ReindexerGrpcClient.ExecuteSqlAsyncfailing withStatusCode="Unimplemented"on Reindexer v5 servers — the gRPC method was renamed fromSelectSqltoExecSqlin the v5 API. - Fixed
SerializableQueryBuilder(used by the gRPC client) dropping.On(...)conditions when chained directly afterLeftJoin/InnerJoin. ON conditions are now correctly attached to the join even when added via the outer query chain (e.g.q.LeftJoin(...).On(...)). - Fixed macOS arm64 native library resolution:
ReindexerBindingnow usesRuntimeInformation.ProcessArchitectureto correctly select theosx-arm64runtime path on Apple Silicon.
- Dropped support for net5.0 and netcoreapp3.1 target frameworks. Both reached end-of-life in May 2022 and December 2022 respectively. Minimum supported runtime is now .NET 6 (and .NET Framework 4.7.2 on Windows). The library packages still target
netstandard2.0andnetstandard2.1for broad compatibility.
- Added configurable bounded native worker scheduling for Embedded async operations to avoid filling the .NET ThreadPool under high parallel native call load.
- Added embedded options for native concurrency, queue capacity, and queue-full behavior.
- Updated package versions to
0.5.0,0.5.0.3310for Embedded/native packages, and0.5.0.3032for gRPC. - gRPC item modification now explicitly throws
NotSupportedExceptionwhen precepts are supplied because the Reindexer gRPC protocol does not expose precepts.
- Fixed CJson query/writer edge cases affecting UTF-8 values, primitive update values, and enumerable query keys.
- Improved gRPC query result chunk aggregation.
- Updated Reindexer Embedded to 3.31
- Updated Reindexer Embedded to 3.30
- .NET 9.0 target
- Added more tests for nullable types(sparse indicies)
- Symbol packages
- Fixed Join queries for embedded client on .net 4.7.2
- Face and swagger ui hadn't included in previous embedded windows package.
- Face and swagger ui reaching tests.
- Optimized Reindexer Embedded native libraries for performance.
- Default values of AutoRepair and DisableReplication (ConnectionOptions) are now true for embedded client.
- Namespace closure in Dispose and Stop methods converted to parallel operation.
- Updated benchmark tests.
- More tests
- Updated Reindexer Embedded to 3.29
- Sort queries
- CJson Sort method (Thanks to @DFSko)
- CJson Join Queries
- DebugTypeProxy to query builders.
- More Tests
- Lack of aggregation results.
- Merged IFilterQueryBuilder into IQueryBuilder
- Moved some methods from IQueryBuilder to IFilterQueryBuilder
- Array buffer size fix on embedded
- Dsl Query Builder
- Query Interface for both grpc and embedded clients.
- Completed cjson serializer(CJsonWriter)
- Updated Reindexer Embedded to 3.20
- Musl (linux-musl, Alpine Linux) support for Embedded
- .Net 8 Support
- Updated Grpc dependency version to 2.50.0
- ExplainDef model.
- x86 Tests
- Updated Rx native lib to 3.12.0
- Added target for .Net 7.0
- New libdl.so.2 reference.
- Added EnumNamespaces options.
- Changed the way to configure the grpc client.
- Added experimental grpc interceptor parameter for grpc client
- Added custom serializer support for EmbeddedServer
- Added raw byte[] modifying methods.
- Added some missing xml docs.
- Removed multiple index modification from api similar to Reindexer native api.
- Implemented Grpc Client for remote servers
- Implemented Grpc Server Binding for embedded servers
- Implemented CreateDb, EnumDb, EnumNs Meta and Schema methods
- Updated Reindexer to 3.3.2
- Added Grpc Client Tests
- Breaking Change: Moved connection string to constructors to be able to make clients lock-free. Connect methods use connection strings set at constructor.
- Breaking Change: ModifyItem(s), Insert, Update, Delete methods take now multiple item parameter.
- Breaking Change: Removed netcoreapp2.2 tests, still supports netstandard2.0
- Seperated async operations to IAsyncReindexerClient
- The connection strings has now a base class, still supports key/value string conversation.
- Using System.Text.Json in internal serializations, still supports custom serialization functions for some methods.
- Removed Utf8Json dependency from Embedded package
- Disabled backtrace init
- Set minimal glibc version for xenial and bionic
- Updated Reindexer to 3.0.1
- Removed Tcmalloc.
- Updated Reindexer to 2.11.1
- Bug in "IN" (Set) conditions for small namespaces that exists after Reindexer v2.9.2
- Updated Reindexer to 2.11.0
- Default allocator as tcmalloc for linux and osx.
- Malloc override issues with static linking.
- Tcmalloc and jemalloc dlopen crashes.
- Jemalloc as default allocator.
- RocksDb
- RocksDb tests
- Updated Reindexer to 2.10.0
- Removed Tcmalloc because of dlopen crash.
- Staticly linked all dependencies except glibc.
- Cross platform tests.
- Updated Reindexer to 2.9.0
- IIS .Net 4.7.2 library loading
- OSX Library loading
- Fixed a bug at server startup and stop
- Native Library loading
- Added missing native function binding
- Updated Reindexer to 2.8.0
- Added utf-8 test.
- All string operations converted to utf-8 char.
- Added unload cleaning for .net core
- Changed numeric field types to long
- Increased the wait timeout for server to 60sec.
- Fixed iis overlapped recycle for rx server.
- Fixed reindexer server yaml config file.
- Fixed dll unload for iis overlapped recycle.
- Closed ns on openning errors.
- Added more native library search paths for .net core because of GetCurrenctDirectory bug.
- Added Windows-x86 and OSX version of Reindexer
- Fixed Logging
- Updated Reindexer to 2.7.0
- Added multiple server instance support of 2.7.0
- Changed versioning of project
- Initial Release