Bug fixes for timezone handling and restart behavior, plus new TimeProvider support for testability on net8.0+.
Improvements
- Add
TimeProvidersupport onnet8.0+— pass an optionalTimeProviderto the constructor for deterministic testing withFakeTimeProvider(e841bb3) - Add
net8.0target framework to the NuGet package (e841bb3) - Include README in NuGet package via
PackageReadmeFile(5127b39)
Bug fixes
- Fix timezone conversion using configured timezone instead of system timezone —
ToUniversalTime()incorrectly used the host timezone, causing wrong firing times when the host timezone differs from the configured one (522efd4) - Fix Start/Stop/Start skipping an interval — restarting the timer now recalculates the next occurrence from the current time (84f169f)
Package dependencies
Internal
- Add SourceLink for debugger source mapping (579e119)
- Condition
ContinuousIntegrationBuildon CI only (579e119) - Remove broken
PackageProjectUrland redundantIncludeSource(579e119) - Migrate to
.slnxsolution format (98a64d7) - Use MinVer for version derivation from git tags (ef739e7)
- Add justfile with build, test, and pack recipes (7ed9536)
- Add GitHub Actions CI workflow with Ubuntu and Windows jobs (7ed9536, 6e72f0e)
- Add NUnit test project with TimeProvider-based testing (df7ca81)
- Bump Microsoft.Extensions.TimeProvider.Testing from 9.0.0 to 10.3.0
- Bump Microsoft.NET.Test.Sdk from 17.12.0 to 18.0.1
- Bump Microsoft.SourceLink.GitHub from 8.0.0 to 10.0.103
- Bump MinVer from 6.0.0 to 7.0.0
- Bump NUnit from 4.3.2 to 4.4.0
- Bump NUnit3TestAdapter from 4.6.0 to 6.1.0