Skip to content

3.0: remove legacy compatibility paths #90

Closed

Description

@CodingAnarchy

Remove what remains for compatibility with 1.x and earlier deprecations:

  • AlertingConfig::email(recipient): deprecated since 2.0.0, because the target it creates cannot send without SMTP settings.
  • Stale-job reaper fallback: the reaper still reclaims rows that 1.x code claimed without a lease, using started_at age (the older_than parameter). In 3.0, require that no 1.x workers remain (say so in the upgrade notes). The reaper can then rely on leases alone, and requeue_stale_jobs can drop or repurpose its older_than argument.
  • Audit for any other pre-2.0 fallbacks, such as rows without next_run_at in cron rescheduling.

🤖 Generated with Claude Code

Activity

  1. added this to the 3.0 milestone on Oct 11, 2026
  2. CodingAnarchy commented on Oct 11, 2026

    @CodingAnarchy
    OwnerAuthor

    Also for 3.0: JobArchiver::pool is a vestigial private field (every archiver operation takes the queue). Drop it along with the JobArchiver::new(pool) signature. Similarly rate_per_minute(0) blocks forever; consider rejecting a zero rate at construction (API change). Noted in #99.

  3. CodingAnarchy commented on Oct 11, 2026

    @CodingAnarchy
    OwnerAuthor

    From #87/#89 (PR #127): more fallbacks to remove in the legacy pass:

    • hammerwork-web JobHistory (now crate-private after 3.0: make cargo-hammerwork and hammerwork-web internals private #88) has defaults "for implementations that predate this method" (count_archivable, running_jobs, jobs_with_status, job_states). Implement on every backend and drop the defaults.
    • MigrationRunner no-op acquire_migration_lock/release_migration_lock defaults: check whether external runners are supported; if not, seal and remove.
    • Three pre-existing cargo doc warnings in cargo-hammerwork (links to private JobData/JOB_DATA_COLUMNS in commands/backup.rs, unresolved row_to_json in utils/job_rows.rs).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions