Novolis.Workspaces.Snapshots
2026.1.2.41
dotnet add package Novolis.Workspaces.Snapshots --version 2026.1.2.41
NuGet\Install-Package Novolis.Workspaces.Snapshots -Version 2026.1.2.41
<PackageReference Include="Novolis.Workspaces.Snapshots" Version="2026.1.2.41" />
<PackageVersion Include="Novolis.Workspaces.Snapshots" Version="2026.1.2.41" />
<PackageReference Include="Novolis.Workspaces.Snapshots" />
paket add Novolis.Workspaces.Snapshots --version 2026.1.2.41
#r "nuget: Novolis.Workspaces.Snapshots, 2026.1.2.41"
#:package Novolis.Workspaces.Snapshots@2026.1.2.41
#addin nuget:?package=Novolis.Workspaces.Snapshots&version=2026.1.2.41
#tool nuget:?package=Novolis.Workspaces.Snapshots&version=2026.1.2.41
Novolis.Workspaces.Snapshots
Captures an entire IProjectWorkspace tree as zip archives using IWorkspaceSnapshotPolicy include/exclude rules. Timeline data under .novolis/timeline/ is excluded from capture and preserved across restore.
Install
dotnet add package Novolis.Workspaces.Snapshots
Depends on System.IO.Abstractions, Novolis.Workspaces.Abstractions, Novolis.Workspaces.FileSystem, and Novolis.Snapshots.Abstractions.
Quick start
using System.IO.Abstractions;
using Novolis.Snapshots;
using Novolis.Workspaces.FileSystem;
using Novolis.Workspaces.Snapshots;
var fs = new FileSystem();
var snapshotsRoot = fs.DirectoryInfo.New(
Path.Combine(workspace.Root.FullName, ".novolis", "snapshots"));
var store = new ZipWorkspaceSnapshotStore(fs, snapshotsRoot);
var snapshot = await store.SaveAsync(
workspace,
new SnapshotRequest("Before export", SnapshotKinds.ExportCheckpoint));
API
| Type | Role |
|---|---|
ZipWorkspaceSnapshotStore |
ISnapshotStore<IProjectWorkspace, ZipSnapshotRef> |
IWorkspaceSnapshotPolicy |
ShouldInclude(workspace, file) |
DefaultWorkspaceSnapshotPolicy |
Default include/exclude for documents, assets, manifests |
Default policy excludes .novolis/timeline/, cache/, temp/, outputs/, and similar paths.
Related
| Package | Role |
|---|---|
Novolis.Workspaces.Abstractions |
IProjectWorkspace being captured |
Novolis.Workspaces.FileSystem |
Layout paths and open/create |
Novolis.Snapshots.Abstractions |
ZipSnapshotRef, SnapshotRequest |
Novolis.Snapshots.Zip |
Single-state zip store (not whole workspace) |
Novolis.Workspaces.Timeline |
Orchestrates snapshots + timeline |
Notes
Restore backs up and restores the timeline folder separately so history survives workspace rollback. See 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
- Novolis.Snapshots.Abstractions (>= 2026.1.2.41)
- Novolis.Snapshots.Zip (>= 2026.1.2.41)
- Novolis.Workspaces.Abstractions (>= 2026.1.2.41)
- Novolis.Workspaces.FileSystem (>= 2026.1.2.41)
- System.IO.Abstractions (>= 22.3.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Novolis.Workspaces.Snapshots:
| Package | Downloads |
|---|---|
|
Novolis.Workspaces.Timeline
Workspace save points and restore points composed from snapshots and timeline. |
|
|
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.41 | 28 | 10/5/2026 |
| 2026.1.2.40 | 46 | 10/4/2026 |
| 2026.1.2.38 | 59 | 10/2/2026 |
| 2026.1.2.37 | 54 | 10/1/2026 |
| 2026.1.2.36 | 56 | 10/1/2026 |
| 2026.1.2.35 | 65 | 9/30/2026 |