Skip to content

Releases: ksamirdev/schedy

v0.0.7

24 Nov 11:42

Choose a tag to compare

What's New in v0.0.7

🗑️ Task Deletion & Management Endpoints

Added comprehensive task deletion and management capabilities to Schedy, addressing a critical operational need for managing scheduled tasks.

New HTTP Endpoints:

  • GET /tasks/{id} - Retrieve a single task by ID

    • Check task status and details before execution
    • Returns 404 if task doesn't exist
  • DELETE /tasks/{id} - Delete a specific task

    • Cancel mistakenly created or duplicated tasks
    • Returns 204 No Content on success, 404 if not found
  • DELETE /tasks - Bulk delete tasks with filters

    • url=<target-url> - Delete all tasks targeting a specific URL
    • before=<RFC3339-time> - Delete tasks scheduled before a time
    • after=<RFC3339-time> - Delete tasks scheduled after a time
    • Combine filters for precise control
    • Returns count of deleted tasks: {"deleted": N}

All new endpoints require X-API-Key authentication, maintaining security parity with existing endpoints.

🔁 Idempotency & Duplicate Protection

To prevent accidental duplicate scheduling:

  • Automatic duplicate detection for tasks with the same url + execute_at
  • Optional Idempotency-Key header supported
  • If a duplicate is detected:
    • The existing task is returned
    • No new task is created
    • Response code: 200 OK

Try the new version:

docker run -p 8080:8080 ghcr.io/ksamirdev/schedy:v0.0.7
# or
docker run -p 8080:8080 ksamirdev/schedy:v0.0.7

Example Usage:

# Delete a specific task
curl -X DELETE http://localhost:8080/tasks/{id} \
  -H "X-API-Key: your-key"

# Delete all tasks for a specific URL
curl -X DELETE "http://localhost:8080/tasks?url=http://example.com/webhook" \
  -H "X-API-Key: your-key"

# Delete tasks scheduled in the next hour
curl -X DELETE "http://localhost:8080/tasks?before=2025-11-24T10:00:00Z" \
  -H "X-API-Key: your-key"

# Idempotent task creation
curl -X POST http://localhost:8080/tasks \
  -H "Idempotency-Key: unique-123" \
  -H "X-API-Key: your-key" \
  -d '{"url":"http://example.com","execute_at":"2025-12-01T10:00:00Z"}'

Thanks to the community for requesting this feature! 🙏

Full Changelog: v0.0.6...v0.0.7

v0.0.6

09 Jun 08:32
1001015

Choose a tag to compare

What’s New in v0.0.6

  • ✨ Configurable Retry Mechanism:
    Added support for configurable attempt retries, allowing schedy to automatically retry failed operations based on your settings. This improves reliability and robustness when handling transient failures.
    Thanks to @dimfu for contributing this feature! (#10)

Try the new version:

docker run -p 8080:8080 ghcr.io/ksamirdev/schedy:v0.0.6
# or
docker run -p 8080:8080 ksamirdev/schedy:v0.0.6

New Contributors

  • @dimfu made their first contribution in #10

Full Changelog: v0.0.5...v0.0.6

v0.0.5

30 May 05:36

Choose a tag to compare

What’s New in v0.0.5

  • API Key Authentication:
    You can now secure all endpoints with a shared secret. Set the SCHEDY_API_KEY environment variable and use the X-API-Key header in your requests.

  • List Tasks Endpoint:
    Added GET /tasks endpoint to view all currently scheduled tasks.

Try the new version:

docker run -p 8080:8080 ghcr.io/ksamirdev/schedy:v0.0.5
# or
docker run -p 8080:8080 ksamirdev/schedy:v0.0.5

Full Changelog: v0.0.4...v0.0.5

v0.0.4

28 May 18:16

Choose a tag to compare

What's Changed

Full Changelog: v0.0.3...v0.0.4

v0.0.3

27 May 05:42

Choose a tag to compare

What's Changed

  • feat: add command-line flag for customizable port by @ksamirdev in #4

Full Changelog: v0.0.2...v0.0.3

v0.0.2

26 May 19:48

Choose a tag to compare

What's Changed

  • feat: custom header and payload support by @ksamirdev in #2

Full Changelog: v0.0.1...v0.0.2

v0.0.1

26 May 17:12

Choose a tag to compare

First release of Schedy! 🎉

  • Schedule tasks using an HTTP API
  • Tasks run at the time you specify

See the README for setup and usage instructions.