Releases: FurkanKirat/StructForge
Release list
v1.5.0 - Graphs, Dictionaries & Debugger Visualizers
This release brings back the highly requested SfDictionary, introduces the foundation for SfGraph, and massively improves the debugging experience with custom visualizers for all collections.
🚀 New Features
-
SfDictionary is Back!
- Re-architected from scratch using open addressing.
- Zero-Allocation: No garbage generation on lookups or insertions (when capacity allows).
- Optimized for high-performance caching scenarios.
-
🕸️ SfGraph (Core Structure)
- Added
SfGraph<T>implementation based on Adjacency Lists. - Supports
AddVertex,AddEdge,GetNeighborsand standard graph traversals. - Note: Pathfinding algorithms (A*, BFS, DFS) are scheduled for the v1.6.0 update.
- Added
-
🔍 Debugger Visualizers (Major DX Update)
- Added
DebuggerTypeProxyandDebuggerDisplayattributes to ALL collections. - You can now inspect the contents of
SfBitArray,SfGraph,SfDictionary, andSfGriddirectly in Visual Studio without expanding complex internal arrays. - SfBitArray3D now shows dimensions and active voxel counts clearly.
- SfGraph displays vertices and edges in a clean, readable format.
- Added
✨ Improvements
- SfEnumSet: Debug views now show the string names of enum flags instead of just raw integers.
- SfList: Optimized
RemoveAtSwaplogic for better inlining. - General: Added safeguards against uninitialized structs in debug views to prevent IDE crashes.
⚠️ Notes
- SfGraph: Currently serves as a data structure. Advanced algorithms will be added in the next minor release.
v1.4.3 - Build Configuration & MSBuild Fixes
🔧 Hotfix v1.4.3
This release resolves build configuration errors introduced in the previous patch regarding artifact output paths.
🐛 Build System Fixes
- Fixed NETSDK1199 Error: Resolved the MSBuild configuration conflict where
UseArtifactsOutputwas incorrectly placed in the project file. - Project Structure: Standardized the build process to ensure compatibility with both Visual Studio build tools and Unity's compiler.
- Cleanup: Removed conflicting property definitions from
.csprojto prevent build failures in CI/CD pipelines and local environments.
Note: This is a build-configuration-only update. The library's source code, API, and performance characteristics remain identical to v1.4.0.
📦 Installation
For Unity (OpenUPM):
openupm add com.kankangames.structforgev1.4.2 - Unity 2021 LTS Compatibility & Build Fixes
🔧 Maintenance Release v1.4.2
This release resolves compilation errors for Unity 2021.3+ users and cleans up the project structure.
🐛 Critical Fixes
- Fixed C# Version Mismatch: Enforced
LangVersion 9.0in the project configuration.- Fixes:
error CS8773: Feature 'file-scoped namespace' is not available in C# 9.0. - All file-scoped namespaces have been converted to block-scoped namespaces to ensure full compatibility with Unity 2021 LTS.
- Fixes:
- Fixed Duplicate Attributes: Enabled .NET 8
<UseArtifactsOutput>to redirect build artifacts.- Fixes:
error CS0579: Duplicate 'System.Reflection.AssemblyVersionAttribute'. - Prevents Unity from detecting and conflicting with Visual Studio's
binandobjfolders inside the package directory.
- Fixes:
Note: The core logic and performance of data structures remain unchanged. This update is purely for build configuration and compatibility.
📦 Installation
For Unity (OpenUPM):
openupm add com.kankangames.structforgev1.4.1 - Critical Unity Import Fix
🩹 Hotfix v1.4.1
This release fixes a critical integration issue for Unity users.
🐛 Bug Fixes
- Unity Support: Added missing
.metafiles for all source scripts.- Fixes: Resolves the "Asset has no meta file" error when installing via OpenUPM or Git URL.
- Fixes: Ensures all scripts are correctly recognized and imported by the Unity Editor.
Note for NuGet Users: This update only changes the repository structure for Unity compatibility. The .NET library logic remains identical to v1.4.0.
📦 Installation (Update)
For Unity (OpenUPM):
openupm add com.kankangames.structforgeStructForge v1.3.0: High-Performance & Zero-Allocation Update
A massive performance update that pushes the boundaries of standard .NET collections. With hardware-accelerated (AVX) data structures, 100% Garbage-Free game loops, and a redesigned memory architecture, StructForge is now significantly faster and lighter.
StructForge 1.2.0 - The Memory & Cache Optimization Update
v1.2.0:
- Added SfGrid2D | SfGrid3D (Flattened arrays for cache locality).
- Added SfBitArray | SfBitArray2D | SfBitArray3D (optimized boolean storage).
- Added SfRingBuffer (Zero-allocation circular queue).
- Exposed GetRawData() for serialization support.
StructForge 1.1.0 - Major Feature Update
What's New:
✨ New Collections:
• SfAvlTree - Self-balancing binary search tree
• SfSortedSet - Ordered set implementation
• SfSortedDictionary<TKey, TValue> - Ordered key-value pairs
🔧 New Algorithms:
• HeapSort - Heap-based sorting
• BinarySearch - Fast array searching
• Shuffle - Randomization utility
📦 Enhanced APIs:
• Renamed interfaces: ISfDataStructure, ISfList, ISfStack, etc.
• SfComparers and SfComparerUtils for flexible comparison
• Improved algorithm organization under SfSorting and SfAlgorithms
🎯 Better Performance:
• Optimized tree balancing in AVL implementation
• Enhanced comparer utilities
Target: .NET 8.0
License: MIT
StructForge 1.0.0 - Initial Release
A lightweight, educational C# library for fundamental data structures and algorithms.
📚 Collections:
• Lists: SfList, SfLinkedList
• Stacks & Queues: SfStack, SfQueue
• Heaps: SfBinaryHeap, SfMaxHeap, SfMinHeap
• Priority Queue: SfPriorityQueue<TItem, TPriority>
• Binary Search Tree: SfBinarySearchTree
🔧 Sorting:
• QuickSort
• TreeSort
✨ Features:
• Fully generic implementations
• Custom comparer support
• Educational and practical reference
Target: .NET 8.0
License: MIT