Repository navigation
Expand file tree
/
Copy pathRelease Notes.txt
More file actions
39 lines (35 loc) · 1.64 KB
/
Copy pathRelease Notes.txt
File metadata and controls
39 lines (35 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
ShiftSharp Release Notes
Point85
Kent Randall
v2.0.0: January 20, 2024
- Upgraded v1.0.0 to .NET 8
- Published to NuGet
v2.1.0: December 17, 2024
- Added members for a team and exceptions for assigned personnel
- Published to NuGet
v2.1.1: June 9, 2025
- NonWorkingPeriod: added getter and setter for Duration
- Rotation: invalidated periods cache on AddSegment()
- Team: renamed removeMember() to RemoveMember()
- TimePeriod: fixed GetEnd()
- WorkSchedule: fixed DeleteShift()
- removed unused imports
- Published to NuGet
v2.2.0: February 14, 2026
- Claude Sonnet 4.5
Performance Improvements:
Team.cs - Fixed BuildMemberCache() to only build once instead of clearing and rebuilding repeatedly
String concatenation in loops - Converted to StringBuilder in:
Team.ToString()
WorkSchedule.ToString()
Rotation.ToString()
[Multiple files] - Removed inefficient Contains() + Add/Remove patterns that searched lists twice
Bug Fixes:
Team.cs:113-136 - Fixed integer overflow risk in GetDayInRotation() with proper bounds checking
TeamMember.cs:86-94 - Fixed null reference in GetHashCode() for Name property
Named.cs:67-71 - Fixed null reference in GetHashCode() using null-conditional operator
Shift.cs:89-99 - Replaced magic number 500E+06 with named constant NANOSECONDS_ROUNDING_THRESHOLD
Rotation.cs:160 - Changed generic Exception to ArgumentNullException for better exception handling
Code Quality:
[Multiple ToString() methods] - Improved error handling to return partial results instead of empty strings when formatting fails
Shift.cs, Team.cs, WorkSchedule.cs - Added null parameter validation with ArgumentNullException