Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: chrisguidry/docket
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.18.1
Choose a base ref
...
head repository: chrisguidry/docket
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 0.18.2
Choose a head ref
  • 1 commit
  • 4 files changed
  • 2 contributors

Commits on Mar 10, 2026

  1. Replace croniter with cronsim (#363)

    croniter 6.0.0 has two unbounded memory leaks
    ([#182](pallets-eco/croniter#182),
    [#195](pallets-eco/croniter#195)) that are
    fixed in main but unreleased — and the project was declared unmaintained
    by Pallets Community Ecosystem in March 2025, so no release is coming.
    It also drags in pytz and python-dateutil as transitive deps.
    
    cronsim is actively maintained (~280 lines, zero deps, Python 3.10+),
    used in production by Healthchecks.io, and handles DST via zoneinfo
    natively. One gap: cronsim doesn't support Vixie keywords (@daily,
    @hourly, etc.), so we add a small mapping dict that expands them before
    passing to CronSim.
    
    Also extracted `Cron.next_time()` so tests mock at docket's abstraction
    level rather than the library's internals, and added contract tests that
    exercise the real cronsim integration (sequential times, timezone
    handling, keyword validity).
    
    Companion conda-forge PR:
    conda-forge/pydocket-feedstock#34
    
    Closes #362
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
    
    Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
    chrisguidry and claude authored Mar 10, 2026
    Configuration menu
    Copy the full SHA
    562f060 View commit details
    Browse the repository at this point in the history
Loading