LightningDB 0.13.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package LightningDB --version 0.13.0                
NuGet\Install-Package LightningDB -Version 0.13.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="LightningDB" Version="0.13.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add LightningDB --version 0.13.0                
#r "nuget: LightningDB, 0.13.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install LightningDB as a Cake Addin
#addin nuget:?package=LightningDB&version=0.13.0

// Install LightningDB as a Cake Tool
#tool nuget:?package=LightningDB&version=0.13.0                

You can see the benchmarks here https://github.com/CoreyKaylor/Lightning.NET/pull/125

  • MDBValue becomes more prominent in the API instead of an internal detail.
    • Exposes an AsSpan and a CopyToNewArray function.
    • AsSpan with a buffer pool can avoid any memory duplication and provides a 0-copy read
    • This is obviously a breaking change, but the changes to your application should be pretty straightforward
  • MDBResultCode is now returned on all signatures where the native counterpart returns a code
    • BREAKING!!! In your code this means that if you were previously relying on LightningException for control flow, your code will now need to adapt. I think in practice this has made the API easier to work with, but every situation might be different. There are now a set of extension methods ThrowOnError and ThrowOnReadError that provide the same behavior if you need it, but now you'll have to be explicit about it.

Cursor API redesign

  • LightningCursor previously took on a .NET api-centric role and there was some lossy translation due to this, in some cases some race conditions that would result in corrupted usage.
Less notable changes

Some improvements were made to rework some of the tests and add some test coverage that was previously lacking. More can be done, but this is a good step forward.

We'll try to be a little more sensitive to breaking changes going forward and hopefully we're through the bulk of them.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (8)

Showing the top 5 NuGet packages that depend on LightningDB:

Package Downloads
Akka.DistributedData.LightningDB

Replicated data using CRDT structures

LightningQueues.Storage.LMDB

LightningQueues.Storage.LMDB

YesSql.Storage.LightningDB

Package Description

LightningStore

LightningDb facades to easily build an embedded event stream and a document store. By default JIL serialization is build in.

RaisingStudio.Modules.LightningDB

RaisingStudio.Modules.LightningDB

GitHub repositories (5)

Showing the top 5 popular GitHub repositories that depend on LightningDB:

Repository Stars
akkadotnet/akka.net
Canonical actor model implementation for .NET with local + distributed actors in C# and F#.
SonarSource/sonar-dotnet
Code analyzer for C# and VB.NET projects
bleroy/lunr-core
A port of LUNR.js to .NET Core
LightningQueues/LightningQueues
Fast persistent queues for .NET
Bobris/BTDB
Key Value Database in .Net with Object DB Layer, RPC, dynamic IL and much more
Version Downloads Last updated
0.16.0 242,630 10/11/2023
0.16.0-preview.1 22,111 4/23/2023
0.15.0 214,808 2/4/2023
0.14.1 30,831 1/4/2022
0.14.0 575,754 9/6/2021
0.13.0 179,368 7/30/2020
0.12.0 19,048 7/6/2020
0.11.0 75,125 2/20/2020
0.10.0 95,114 11/26/2017
0.9.9 43,692 5/29/2017
0.9.8 33,180 5/2/2017
0.9.7 16,228 9/22/2016
0.9.6 3,822 9/2/2016
0.9.5 1,964 8/29/2016
0.9.4 4,497 6/29/2016
0.9.3 2,046 6/28/2016
0.9.3-rc2-51 1,579 5/22/2016
0.9.3-rc1-45 3,449 2/12/2016
0.9.3-rc1-44 1,728 11/23/2015
0.9.3-rc1-43 1,650 11/20/2015
0.9.2.40 2,962 9/10/2015
0.9.1.35 2,882 8/3/2015
0.9.0.31 2,513 7/30/2015
0.8.14.51400 2,026 5/31/2015
0.8.12.51737 1,830 1/31/2015
0.8.8.52157 1,717 1/18/2015
0.8.7.52133 1,608 1/18/2015
0.8.6.51452 2,050 12/28/2014
0.8.5.51145 2,029 12/25/2014
0.8.3.52343 1,804 6/4/2014
0.8.2.51054 1,477 5/9/2014
0.8.1.52127 1,735 2/20/2014
0.8.1.51635 1,529 12/15/2013
0.8.0.52232 1,683 10/10/2013