WinterRose.WinterForge 25.2.4

There is a newer version of this package available.
See the version list below for details.
dotnet add package WinterRose.WinterForge --version 25.2.4
                    
NuGet\Install-Package WinterRose.WinterForge -Version 25.2.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="WinterRose.WinterForge" Version="25.2.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WinterRose.WinterForge" Version="25.2.4" />
                    
Directory.Packages.props
<PackageReference Include="WinterRose.WinterForge" />
                    
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 WinterRose.WinterForge --version 25.2.4
                    
#r "nuget: WinterRose.WinterForge, 25.2.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.
#addin nuget:?package=WinterRose.WinterForge&version=25.2.4
                    
Install as a Cake Addin
#tool nuget:?package=WinterRose.WinterForge&version=25.2.4
                    
Install as a Cake Tool

WinterForge

WinterForge is a high-performance, human-readable object serialization framework built for environments where speed and developer clarity matter. Using the two sided format. one for humans, one for the computer, WinterForge achieves high performant serialization cycles while remaining to be readable for a developer. The system can also immediately go from the intermediate representation for that little extra speed.

Features

High Performance Serialization and Deserialization

  • Optimized to handle thousands of types and objects in milliseconds.

Dual-Sided Format

  • Human-readable format for debugging, and version control.
  • Opcode-based intermediate representation encodes object data using structured, sequential opcodes.
  • Supports direct serialization from and deserialization to the opcode format for maximum performance.
  • Unlike binary blobs, the opcode format remains readable and traceable, enabling debugging, diffing, and manual editing.

Smart Type Discovery

  • Value Provider system allows for providing a custom value for a given field/property type.
  • uses CustomValueProvider<T> and no manual registering of a value provider is required.
  • Supports both structs and classes.

Precision Field and Member Control

  • Per-field customization including:
    • Inclusion/exclusion based on attribute on the given field/property.
  • Static and instance member support:
    • ability to read/write fields and properties, and call methods during deserialization.

Design

  • Focused on speed and clarity.
  • Structure-first: data is always read in the order it's written.

WIP Limitations

  • Dictionaries are at this point in time not yet supported by WinterForge.

License

You can find it here

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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 (1)

Showing the top 1 NuGet packages that depend on WinterRose.WinterForge:

Package Downloads
WinterRose

A library made mostly for personal use. distribution without consent of the Author is strictly forbidden

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
25.2.19-alpha-3 109 6/24/2025
25.2.19-alpha-2 131 6/19/2025
25.2.19-alpha 127 6/19/2025
25.2.18 135 6/14/2025
25.2.17 167 6/13/2025
25.2.16 169 6/13/2025
25.2.15 189 6/13/2025
25.2.14 87 5/30/2025
25.2.13 78 5/30/2025
25.2.12 83 5/30/2025
25.2.11 108 5/30/2025
25.2.10 133 5/29/2025
25.2.9 155 5/26/2025
25.2.8 134 5/25/2025
25.2.7 135 5/25/2025
25.2.6 138 5/25/2025
25.2.5 100 5/23/2025
25.2.4 104 5/23/2025
25.2.3 219 5/15/2025
25.2.2 139 5/4/2025
25.2.1 137 5/4/2025
25.2.0 136 5/4/2025

Added id keyword "nextid" to automatically assign a non existing id
added aliasing for _ref() calls. eg _ref(0) has alias "player"
fixed decimal numbers not parsing correctly