Skip to content

v3.1.0 - Hook Safety + Time/DST Corrections

Choose a tag to compare

@catanadj catanadj released this 25 Jan 17:30
· 3939 commits to main since this release

Hook behavior:

  • Added on-exit-nautical.py to process spawn intents after Taskwarrior releases its write lock.
  • on-modify is now decision-only (queues spawn intent; no child import or nextLink update during hook).
  • Strict JSON stdout maintained; hook parsing now fails fast on invalid or empty input.

Time handling and scheduling:

  • DST policy: ambiguous times choose earlier; nonexistent times shift forward; UTC output preserved.
  • Upcoming preview and navigator outputs now respect configured local timezone.
  • ISO week calculation fixed for cross-year weeks.

Safety and validation:

  • Added progress guard to _next_for_and and iteration guard to roll_apply.
  • Anchor expression length capped at 1024 characters.
  • Safer integer coercion (64-bit bounds) and non-finite float rejection.

Cache reliability:

  • Anchor cache writes are locked, use unique temp files, and clean stale tmp files.
  • Cache key now includes scheduling options to avoid collisions.

Docs and tests:

  • Manual updated for new on-exit-nautical.py hook and DST policy.
  • Golden test suite expanded for hooks, DST handling, cache safety, and validation guards.