Skip to content

Releases: DevrexLabs/OrigoDB

OrigoDB Core 0.19.0

30 Dec 13:46
Choose a tag to compare


  • Truncate log on snapshot option
  • EngineConfiguration.Create() removed, just use the constructor
  • Internal methods in addition to public are now proxied
  • Exceptions from proxy are no longer wrapped in TargetInvocationException
  • RedisModel now supports bitset commands
  • Relational model - a new built in model supporting CRUD operations for your user defined IEntity classes
  • ExecutionContext renamed to Execution

Nuget: install-package origodb.core

OrigoDB Core 0.18.0

15 Sep 15:37
Choose a tag to compare

See the beta release notes

OrigoDB Core 0.18.0-beta

08 Sep 06:17
Choose a tag to compare

Lot's of news in this release! Grab the binaries below or install the pre-release package from nuget.

New features

New data types and models included in core:

  • GeospatialIndex andGeoPoint types
  • GraphModel - A property graph
  • Key/Value store model
  • RedisModel - a partial implementation of the redis protocol
  • MessageBroker model - persistent pub/sub and message queing
  • Sql Storage module now included in the core, write the journal to a sql database instead of the file system
  • New event - EngineClosing


  • Redesigned Isolation API
  • No snapshot on create unless initial model instance is passed to Engine.Create()
  • Command.Timestamp and Model.Events removed in favor of ExecutionContext.Current - breaking!
  • Proxy now supports overloaded methods and generic arguments
  • Documentation now included in repo, so each version will have it's own documentation hosted at


25 Sep 19:51
Choose a tag to compare

Redesigned domain events API. See for details.

Some example code

//example domain event
public class CustomerCreated : IEvent
   public readonly int Id;
   public CustomerCreated(int id)
      Id = id;

//subscribing to events
var db = new MyModel();

//all events
db.Events.Subscribe(e => MyEventHandler(e));

//all events of a specific (or derived) type
db.Events.On<CustomerCreated>(e => Console.WriteLine(e));

//filtered events
db.Events.Subscribe(e => MyEventHandler(e), e => MyFilter(e));

//publish events
db.Events.Send(new CustomerCreated(42));

//subscribe to events through engine:
var engine = Engine.For<MyModel>();
engine.CommandExecuted += (s,e) => {
   foreach(IEvent evt in e.Events)
      //process event

//execute command which produces events
engine.Execute(new CreateCustomerCommand(42, "Batman"));


25 Sep 12:45
Choose a tag to compare

Fixes version 0.15.0 which was broken and adds some basic support for domain events.


28 Jun 07:55
Choose a tag to compare

Redesigned Storage API
IStore split into ISnapshotStore and ICommandStore
Added a Model.Revision property


25 Jun 06:07
Choose a tag to compare

Fixes issue #7. When proxying, exceptions thrown by the target are now passed backed to the caller and not wrapped in a TargetInvocationException.


12 May 07:10
Choose a tag to compare

Fixes issues #5 and #6


02 May 21:12
Choose a tag to compare

Support for multiple IFormatter implementations for the different usages: Snapshots, Journal, Results and Messaging.


30 Apr 23:43
Choose a tag to compare

This release contains a bug fix. The correct id was not parsed out from the file name when reading file snapshots. For example when parsing "000000442.snapshot", the last entry id should be 442.