Novolis.Timeline.Abstractions
2026.1.2.40
dotnet add package Novolis.Timeline.Abstractions --version 2026.1.2.40
NuGet\Install-Package Novolis.Timeline.Abstractions -Version 2026.1.2.40
<PackageReference Include="Novolis.Timeline.Abstractions" Version="2026.1.2.40" />
<PackageVersion Include="Novolis.Timeline.Abstractions" Version="2026.1.2.40" />
<PackageReference Include="Novolis.Timeline.Abstractions" />
paket add Novolis.Timeline.Abstractions --version 2026.1.2.40
#r "nuget: Novolis.Timeline.Abstractions, 2026.1.2.40"
#:package Novolis.Timeline.Abstractions@2026.1.2.40
#addin nuget:?package=Novolis.Timeline.Abstractions&version=2026.1.2.40
#tool nuget:?package=Novolis.Timeline.Abstractions&version=2026.1.2.40
Novolis.Timeline.Abstractions
Contracts for a branchable history graph over snapshot references. Not version control: no merge, rebase, remotes, or conflict resolution.
Install
dotnet add package Novolis.Timeline.Abstractions
Quick start
using Novolis.Snapshots;
using Novolis.Timeline;
ITimeline<ZipSnapshotRef> timeline = /* InMemoryTimeline or FileSystemTimeline */;
var node = await timeline.AddAsync(
snapshotRef,
new TimelineMetadata("Before export", TimelineKinds.SavePoint, new Dictionary<string, string>()));
var branch = await timeline.BranchAsync(new BranchName("experiment"), node.Id);
await timeline.MoveHeadAsync(branch.Id, node.Id);
API
| Type | Role |
|---|---|
ITimeline<TSnapshotRef> |
AddAsync, BranchAsync, MoveHeadAsync, queries |
TimelineNode<TSnapshotRef> |
Id, parent, branch, snapshot, metadata, timestamp |
Branch / BranchName |
Named alternate path |
BranchId |
Branch identifier (BranchId.Main for default) |
TimelineNodeId |
Node identifier |
TimelineHead |
Current head node per branch |
TimelineMetadata |
Label, kind, properties |
TimelineKinds |
SavePoint, RestorePoint, Safety, Autosave |
TimelineException |
Timeline operation failed |
Related
| Package | Role |
|---|---|
Novolis.Snapshots.Abstractions |
Snapshot refs stored on nodes |
Novolis.Timeline.Memory |
Process-local graph |
Novolis.Timeline.FileSystem |
JSON persistence under a root |
Novolis.Timeline.Presentation |
Tree/flat UI projection |
Novolis.Workspaces.Timeline |
Workspace save/restore orchestration |
Notes
Boundaries vs git and replay: 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 (5)
Showing the top 5 NuGet packages that depend on Novolis.Timeline.Abstractions:
| Package | Downloads |
|---|---|
|
Novolis.Workspaces.Timeline
Workspace save points and restore points composed from snapshots and timeline. |
|
|
Novolis.Timeline.Presentation
Tree and flat-row projections for timeline UI (Avalonia, Blazor, WPF). |
|
|
Novolis.Workspaces.Projects.Timeline
Project-scoped save points and restore points within a workspace. |
|
|
Novolis.Timeline.Memory
In-memory timeline for tests and ephemeral sessions. |
|
|
Novolis.Timeline.FileSystem
Persists timeline graphs under a directory using System.IO.Abstractions. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.1.2.40 | 34 | 10/4/2026 |
| 2026.1.2.38 | 65 | 10/2/2026 |
| 2026.1.2.37 | 59 | 10/1/2026 |
| 2026.1.2.36 | 62 | 10/1/2026 |
| 2026.1.2.35 | 67 | 9/30/2026 |