All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added support for flexible day of month parsing (handles both zero-padded and space-padded formats)
- Added BenchmarkDotNet project for performance testing
- Added comprehensive POSIX compatibility test suite (138 new tests)
- Added
TryParsemethods with proper .NET conventions (returns bool, out parameter for result) - Added
ReadOnlySpan<char>overloads forParseandTryParsemethods for zero-allocation scenarios - Added null argument validation with
ArgumentNullExceptionfor all public methods - Added comprehensive XML documentation for all public API methods
- Added
ToStrftimeStringextension methods for DateTime objects
- PERFORMANCE: Significant performance improvements in parsing operations
- PERFORMANCE: Optimized
ToDayOfWeekmethod from O(n) loop to O(1) arithmetic calculation - Refactored
ToStringmethod to use while loop instead of for loop with internal index modification - Improved exception messages for better error clarity
- Fixed
IndexOutOfRangeExceptioncrash inParseDayOfWeekFullwhen parsing 7-character strings starting with "Th" - Fixed incorrect parsing when "February" appears in date strings with additional components
- Fixed case-sensitivity issues in
GenericFormatter- month and day name parsing is now case-insensitive for all cultures (POSIX strptime compliance)
- Replaced string operations with ReadOnlySpan for better memory efficiency
- Implemented manual parsing for numeric values instead of using int.Parse
- Added ConcurrentDictionary-based formatter caching
- Added System.Memory package dependency
- Refactored all Consume* methods to use ReadOnlySpan
- Updated project sdk to .NET 8.0 (was .NET 6.0)
- Added
EqualsIgnoreCasehelper method for case-insensitive span comparison - Refactored Parse method to use while loop for cleaner control flow
- Removed some unused structs
No previous versions documented yet.