YSharp 0.1.0-preview.4

This is a prerelease version of YSharp.
dotnet add package YSharp --version 0.1.0-preview.4
                    
NuGet\Install-Package YSharp -Version 0.1.0-preview.4
                    
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="YSharp" Version="0.1.0-preview.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="YSharp" Version="0.1.0-preview.4" />
                    
Directory.Packages.props
<PackageReference Include="YSharp" />
                    
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 YSharp --version 0.1.0-preview.4
                    
#r "nuget: YSharp, 0.1.0-preview.4"
                    
#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 YSharp@0.1.0-preview.4
                    
#: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=YSharp&version=0.1.0-preview.4&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=YSharp&version=0.1.0-preview.4&prerelease
                    
Install as a Cake Tool

YSharp

A pure C# port of Yjs v13, the CRDT library for building collaborative applications. A YSharp document and a Yjs document exchange updates, state vectors and sync messages byte for byte and converge on the same state.

using YSharp;

var alice = new Doc();
alice.GetText("notes").Insert(0, "Hello world");

var bob = new Doc();
bob.ApplyUpdate(alice.EncodeStateAsUpdate());
Console.WriteLine(bob.GetText("notes").ToString()); // Hello world
  • Shared types: YText (with formatting and deltas), YArray, YMap and the XML types; events and observers.
  • The V1 and V2 update formats, merging and diffing updates, snapshots, relative positions, the undo manager, subdocuments and permanent user data.
  • The sync, awareness and auth protocols of y-protocols.
  • Thread-safe: one reader/writer lock per document. Bytes from peers are read through Try methods under configurable limits, and a refused update changes nothing.

Pinned to Yjs v13.6.33, lib0 v0.2.99 and y-protocols v1.0.7. For a server, see the YSharp.Server package.

MIT licensed. YSharp ports Yjs, lib0 and y-protocols, which are MIT licensed too; their notices ship in THIRD-PARTY-NOTICES.md.

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.
  • net10.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on YSharp:

Package Downloads
YSharp.Server

A transport-neutral server for y-websocket-compatible Yjs clients, built on YSharp: one mailbox per document, relay-first sync, check-persist-broadcast, pluggable append-only storage and validation hooks.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-preview.4 79 10/27/2026
0.1.0-preview.3 62 10/27/2026
0.1.0-preview.2 68 10/27/2026
0.1.0-preview.1 74 10/27/2026