Skip to content

Releases: trackIT-Systems/scheduleparse

2026.10.2

Choose a tag to compare

@github-actions github-actions released this 06 Oct 15:37

Fixed

  • A bare sun event without an offset (e.g. sunrise, sunset) resolves to that event. Previously it was read as an unparseable absolute time and silently resolved to midnight; only sunrise+00:00 worked.

2026.10.1

Choose a tag to compare

@github-actions github-actions released this 06 Oct 13:30

Fixed

  • Schedules are evaluated in the schedule's timezone. Previously the calendar day was taken from now in whatever timezone it was passed, so a Berlin schedule like 00:01–01:00 checked with a UTC timestamp resolved to the previous day and never became active (trackIT-Systems/wittypi4#9).
  • Without an explicit tz, the system timezone is now used including its DST rules (from TZ, else /etc/localtime). Previously the fixed UTC offset at construction time was used, so long-running processes were off by one hour after a DST change.

Added

  • local_tz() to resolve the system timezone with its DST rules.
  • This changelog.
  • Tests for all sun events (dawn, sunrise, noon, sunset, dusk) and offset formats, DST transitions, and consistency of prev_*/next_*/active(); 100% line and branch coverage.
  • Known bugs are documented as expected-failure tests: skip_days gap at the turn of the year, active() with a naive datetime, unparseable times resolving to midnight, RecursionError for large skip_days, and unvalidated negative skip_days.

Changed

  • Docstring examples are run as doctests.
  • CI runs on every push and tests Python 3.11–3.14.
  • Releases are created by CI on tag push: tests run first, then the package is built and attached to a GitHub release with the notes from this changelog.