🚀 ModernBCL.Core.BLC v1.2.1
This release finalizes the modern BCL surface area for .NET Framework 4.8 / 4.8.1, focusing on behavioral parity, clarity, and developer ergonomics, without requiring runtime or language upgrades.
✨ Added
System.DateOnly and System.TimeOnly polyfills
Full arithmetic support (AddDays, AddYears, etc.)
Correct day-number–based behavior for parity with modern .NET
System.Index and System.Range polyfills
Includes all compiler-required members
Compatible with C# lowering rules (^, ..) even when syntax is not used
Enables modern slicing semantics on legacy runtimes
Unified slicing helpers under ModernBCL.Core.Slicing
Array slicing (T[])
IList slicing
String slicing (via char[])
DateOnly / DateTime slicing scenarios
Designed for C# 7.3 (no language upgrade required)
SystemSample console applications
DateOnly / TimeOnly usage
Index / Range semantics
Practical slicing examples (date, string, list)
🔄 Changed
Consolidated all slicing helpers into a single namespace and file for better discoverability.
Clarified architectural separation between:
System polyfills (API compatibility)
ModernBCL helpers (opt-in convenience APIs)
Updated README to document new polyfills, slicing helpers, and usage patterns.
🐛 Fixed
Fixed missing compiler-required members in System.Index.
Corrected DateOnly parity issues related to day calculations.
Resolved extension-method discoverability issues by unifying slicing namespaces.
Minor API polish and stability fixes across System polyfills.
📦 Compatibility
.NET Framework 4.8 / 4.8.1 → Polyfills enabled
.NET 8+ → Native BCL APIs used automatically
NuGet multi-targeting: net48; net481; net8.0
📄 Notes
No breaking changes.
No runtime or language version upgrades required.
Designed for long-lived enterprise .NET Framework systems.