Skip to content

Releases: TheAnsarya/bps-patch

v1.0.0 - First Stable Release

Choose a tag to compare

@TheAnsarya TheAnsarya released this 09 Jan 00:30

🎮 BPS Patch v1.0.0

A high-performance .NET 10 implementation of the BPS (Binary Patch System) format for creating and applying binary patches.

✨ Highlights

  • Full BPS v1.0 format support - Complete encode/decode functionality
  • Three matching algorithms - Linear, Rabin-Karp (dual-hash), SA-IS Suffix Array
  • SIMD optimization - Vector for 4-8x faster byte comparison
  • Modern .NET 10 - Latest C# 13 features and APIs
  • Zero dependencies - Pure .NET implementation (only System.IO.Hashing)

📊 Quality Metrics

Metric Value
Tests 229 (222 passing, 7 skipped)
Code Coverage 88.72% line, 82.09% branch
API Documentation 99 members documented
Documentation Files 26+ markdown files

🚀 Performance Features

  • SA-IS suffix array: O(n) construction time
  • Dual-hash Rabin-Karp: ~1:2^62 false positive rate
  • Lazy matching: 5-15% smaller patches
  • ArrayPool memory: 50-70% GC reduction
  • Buffered I/O: 80KB buffers for 2-3x faster I/O

📦 Installation

\\�ash

Clone and build

git clone https://github.com/TheAnsarya/bps-patch.git
cd bps-patch
dotnet build -c Release
\\

💻 CLI Usage

\\�ash

Create patch

bps-patch encode original.bin modified.bin patch.bps

Apply patch

bps-patch decode original.bin patch.bps output.bin

Verify patch

bps-patch verify original.bin patch.bps

Get patch info

bps-patch info patch.bps
\\

📚 Documentation

See the README for full documentation.


Full Changelog: https://github.com/TheAnsarya/bps-patch/blob/master/CHANGELOG.md