Novolis.Workspaces.Timeline
2026.1.2.40
dotnet add package Novolis.Workspaces.Timeline --version 2026.1.2.40
NuGet\Install-Package Novolis.Workspaces.Timeline -Version 2026.1.2.40
<PackageReference Include="Novolis.Workspaces.Timeline" Version="2026.1.2.40" />
<PackageVersion Include="Novolis.Workspaces.Timeline" Version="2026.1.2.40" />
<PackageReference Include="Novolis.Workspaces.Timeline" />
paket add Novolis.Workspaces.Timeline --version 2026.1.2.40
#r "nuget: Novolis.Workspaces.Timeline, 2026.1.2.40"
#:package Novolis.Workspaces.Timeline@2026.1.2.40
#addin nuget:?package=Novolis.Workspaces.Timeline&version=2026.1.2.40
#tool nuget:?package=Novolis.Workspaces.Timeline&version=2026.1.2.40
Novolis.Workspaces.Timeline
Composes workspace zip snapshots with a branchable timeline: save points capture the workspace tree and append a timeline node; restore points roll back disk state (with a safety save first).
Install
dotnet add package Novolis.Workspaces.Timeline
Depends on Novolis.Workspaces.Abstractions, Novolis.Workspaces.Snapshots, Novolis.Timeline.Abstractions, and Novolis.Snapshots.Abstractions.
Quick start
using System.IO.Abstractions;
using Novolis.Snapshots;
using Novolis.Timeline.FileSystem;
using Novolis.Workspaces.FileSystem;
using Novolis.Workspaces.Snapshots;
using Novolis.Workspaces.Timeline;
var fs = new FileSystem();
var snapshotsRoot = fs.DirectoryInfo.New(Path.Combine(workspace.Root.FullName, ".novolis", "snapshots"));
var timelineRoot = fs.DirectoryInfo.New(WorkspaceLayout.TimelinePath(workspace.Root.FullName));
var store = new ZipWorkspaceSnapshotStore(fs, snapshotsRoot);
var timeline = new FileSystemTimeline<ZipSnapshotRef>(fs, timelineRoot);
var workspaceTimeline = new WorkspaceTimeline(timeline, store);
await workspaceTimeline.SavePointAsync(
workspace,
new SavePointRequest("Before export", SnapshotKinds.ExportCheckpoint));
API
| Type | Role |
|---|---|
WorkspaceTimeline |
SavePointAsync, RestorePointAsync, BranchFromAsync |
SavePointRequest |
Label/kind/properties; maps to snapshot + timeline metadata |
RestorePointAsync creates a safety save point, restores the workspace from the node's snapshot, and optionally moves the branch head.
Related
| Package | Role |
|---|---|
Novolis.Workspaces.Snapshots |
ZipWorkspaceSnapshotStore |
Novolis.Timeline.FileSystem |
Durable timeline graph |
Novolis.Timeline.Presentation |
UI projection of nodes |
Novolis.Workspaces.Projects.Timeline |
Project-scoped variant |
Novolis.Workspaces.FileSystem |
Workspace layout paths |
Notes
End-to-end walkthrough: getting-started.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
- Novolis.Snapshots.Abstractions (>= 2026.1.2.40)
- Novolis.Timeline.Abstractions (>= 2026.1.2.40)
- Novolis.Workspaces.Abstractions (>= 2026.1.2.40)
- Novolis.Workspaces.Snapshots (>= 2026.1.2.40)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Novolis.Workspaces.Timeline:
| Package | Downloads |
|---|---|
|
Novolis.Workspaces.Projects.Timeline
Project-scoped save points and restore points within a workspace. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.1.2.40 | 0 | 10/4/2026 |
| 2026.1.2.38 | 47 | 10/2/2026 |
| 2026.1.2.37 | 41 | 10/1/2026 |
| 2026.1.2.36 | 44 | 10/1/2026 |
| 2026.1.2.35 | 48 | 9/30/2026 |