Novolis.Snapshots.Abstractions
2026.1.2.41
dotnet add package Novolis.Snapshots.Abstractions --version 2026.1.2.41
NuGet\Install-Package Novolis.Snapshots.Abstractions -Version 2026.1.2.41
<PackageReference Include="Novolis.Snapshots.Abstractions" Version="2026.1.2.41" />
<PackageVersion Include="Novolis.Snapshots.Abstractions" Version="2026.1.2.41" />
<PackageReference Include="Novolis.Snapshots.Abstractions" />
paket add Novolis.Snapshots.Abstractions --version 2026.1.2.41
#r "nuget: Novolis.Snapshots.Abstractions, 2026.1.2.41"
#:package Novolis.Snapshots.Abstractions@2026.1.2.41
#addin nuget:?package=Novolis.Snapshots.Abstractions&version=2026.1.2.41
#tool nuget:?package=Novolis.Snapshots.Abstractions&version=2026.1.2.41
Novolis.Snapshots.Abstractions
Core contracts for save-game style state capture: serialize application state, persist opaque snapshots, and restore into a live instance. Backends (Memory, FileSystem, Zip) and serializers (Json) live in sibling packages.
Install
dotnet add package Novolis.Snapshots.Abstractions
Quick start
using Novolis.Snapshots;
ISnapshotStore<MyState, MemorySnapshotRef> store = /* Memory, FileSystem, or Zip backend */;
var snapshot = await store.SaveAsync(
state,
new SnapshotRequest("Before export", SnapshotKinds.Manual));
await store.RestoreAsync(state, snapshot);
Implement IStateSerializer<TState> (or use Novolis.Snapshots.Json) to plug in your state type.
API
| Type | Role |
|---|---|
ISnapshotStore<TState, TSnapshotRef> |
SaveAsync / RestoreAsync |
IStateSerializer<TState> |
Write/read state to a Stream |
SnapshotRequest |
Label, kind, optional properties |
SnapshotKinds |
Manual, Autosave, Safety, Quick, ExportCheckpoint |
MemorySnapshotRef |
In-process snapshot id |
FileSnapshotRef |
Relative path + content hash |
ZipSnapshotRef |
Object id + zip relative path |
SnapshotException |
Store operation failed |
Related
| Package | Role |
|---|---|
Novolis.Snapshots.Memory |
In-process dictionary backend |
Novolis.Snapshots.Json |
JSON IStateSerializer<TState> |
Novolis.Snapshots.FileSystem |
Blob files under a root directory |
Novolis.Snapshots.Zip |
Zip archives with manifest entry |
Novolis.Timeline.Abstractions |
Branchable graph over snapshot refs |
Novolis.Workspaces.Snapshots |
Whole-workspace zip snapshots |
Notes
On-disk layout and boundaries: design.md.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages (8)
Showing the top 5 NuGet packages that depend on Novolis.Snapshots.Abstractions:
| Package | Downloads |
|---|---|
|
Novolis.Snapshots.Json
System.Text.Json state serializer for Novolis snapshots. |
|
|
Novolis.Workspaces.Snapshots
Zip snapshot adapter for Novolis workspaces with include/exclude policy. |
|
|
Novolis.Snapshots.Zip
Zip archive snapshot store for serialized state. |
|
|
Novolis.Workspaces.Timeline
Workspace save points and restore points composed from snapshots and timeline. |
|
|
Novolis.Snapshots.Memory
In-memory snapshot store for tests and ephemeral sessions. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.1.2.41 | 0 | 10/5/2026 |
| 2026.1.2.40 | 47 | 10/4/2026 |
| 2026.1.2.38 | 80 | 10/2/2026 |
| 2026.1.2.37 | 77 | 10/1/2026 |
| 2026.1.2.36 | 83 | 10/1/2026 |
| 2026.1.2.35 | 92 | 9/30/2026 |