VersionControlService.Abstractions 0.4.0

dotnet add package VersionControlService.Abstractions --version 0.4.0
                    
NuGet\Install-Package VersionControlService.Abstractions -Version 0.4.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="VersionControlService.Abstractions" Version="0.4.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="VersionControlService.Abstractions" Version="0.4.0" />
                    
Directory.Packages.props
<PackageReference Include="VersionControlService.Abstractions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add VersionControlService.Abstractions --version 0.4.0
                    
#r "nuget: VersionControlService.Abstractions, 0.4.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package VersionControlService.Abstractions@0.4.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=VersionControlService.Abstractions&version=0.4.0
                    
Install as a Cake Addin
#tool nuget:?package=VersionControlService.Abstractions&version=0.4.0
                    
Install as a Cake Tool

Provider-neutral version control contracts, workspace sessions, and provider resolution.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (5)

Showing the top 5 NuGet packages that depend on VersionControlService.Abstractions:

Package Downloads
VersionControlService

Provider-neutral version control workspace services for Fable and .NET consumers.

VersionControlService.Runtime.Node

Node/Fable runtime adapters (filesystem, process, cancellation) for VersionControlService providers.

VersionControlService.Git

Git and Git LFS provider for VersionControlService workspace sessions.

VersionControlService.LakeFs

lakeFS provider for VersionControlService: API client, local workspace index, and provider-owned workspace branches.

VersionControlService.TextDiff

Pure incremental text decoding and scanning primitives for VersionControlService.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.4.0 0 11/5/2026
0.3.0 161 11/1/2026
0.2.2 235 10/26/2026
0.2.1 382 10/9/2026
0.2.0 132 10/8/2026
0.1.2 259 9/29/2026
0.1.1 138 9/28/2026
0.1.0 159 9/24/2026

### Added

-   `GitExecution.setGitExecutableProvider` lets a host choose the git executable for every Git operation in the process. The selection has to be an absolute path, and `None` uses the git on the PATH. `GitExecution.resetGitExecutableProvider` goes back to automatic discovery.
-   `DependencyStatus.ProbeExecutablePath` names the git executable that `CheckDependencies` ran.
-   The lakeFS provider reports its HTTP requests on `OperationContext.ReportOutput`, with the credentials of the connection removed.
-   `CommandOutput.ObserveNotice` adds a `Notice` line to a command. `OutputReporter.knownSecrets` and `beginCommandWithSecrets` start a command that hides credentials the caller knows as values.
-   `ObjectMaterializationCodes` holds the failure and recovery codes of object materialization. The Git provider reports the same strings as before.
-   `ProgressPhaseCodes` holds the phase codes of steps that more than one provider reports. Both providers report `fetch`, `merge` and `clone`. Only lakeFS reports `download-objects`, `upload-objects` and `publish`, because Git reports those steps under its own codes.
-   The lakeFS provider reports an event when a step starts, with the codes of `ProgressPhaseCodes`. A step that does no work reports nothing.

### Changed

-   `DependencyStatus` has a new `ProbeExecutablePath` field, so record literals have to set it.
-   With an explicit selection, the Git provider's `CheckDependencies` checks that git and does not fall back to the one on the PATH. An unusable selection marks every component as not installed, and the `Remediation` names the path.
-   lakeFS requests that time out fail with the category `Timeout` and the code `timeout`, as in the Git provider. They used to fail as `Network` with `network_failure`.
-   The lakeFS provider removes the credentials of the connection from failure messages built from an error response.
-   `ObjectMaterializationService.Materialize` and `Dematerialize` take an array of paths, so one call covers a single file or a whole folder. A call with one path still fails with that path's own code and message.

### Removed

-   `ObjectBatchMaterializationService`, `WorkspaceSession.ObjectBatchMaterialization` and `ServiceAvailability.ObjectBatchMaterialization` are removed, because `ObjectMaterialization` takes several paths now. Record literals have to drop the field.
-   `TextDiffSupervisorOptions.GitExecutable` is removed, so record literals have to drop it. The text diff supervisor uses the `GitExecution` selection.