Plain is headed towards 1.0! Subscribe for development updates →

plain-jobs changelog

0.33.0 (2025-10-10)

What's changed

  • Renamed package from plain.worker to plain.jobs (24219856e0)

Upgrade instructions

  • Update any imports from plain.worker to plain.jobs (e.g., from plain.worker import Job becomes from plain.jobs import Job)
  • Change worker commands from plain worker run to plain jobs worker
  • Check updated settings names

0.32.0 (2025-10-07)

What's changed

  • Models now use model_options instead of _meta for accessing model configuration like package_label and model_name (73ba469)
  • Model configuration now uses model_options = models.Options() instead of class Meta (17a378d)
  • QuerySet types now properly use Self return type for better type checking (2578301)
  • Removed unnecessary type ignore comments now that QuerySet is properly typed (2578301)

Upgrade instructions

  • No changes required

0.31.1 (2025-10-06)

What's changed

  • Updated dependency resolution to use newer compatible versions of plain and plain.models

Upgrade instructions

  • No changes required

0.31.0 (2025-09-25)

What's changed

  • The jobs autodiscovery now includes app.jobs modules in addition to package jobs modules (b0b610d)

Upgrade instructions

  • No changes required

0.30.0 (2025-09-19)

What's changed

  • The Job model has been renamed to JobProcess for better clarity (986c914)
  • The job_uuid field in JobResult has been renamed to job_process_uuid to match the model rename (986c914)
  • Admin interface now shows "Job processes" as the section title instead of "Jobs" (986c914)

Upgrade instructions

  • Run plain migrate to apply the database migration that renames the Job model to JobProcess
  • If you have any custom code that directly references the Job model (different than the Job base class for job type definitions), update it to use JobProcess instead
  • If you have any code that accesses the job_uuid field on JobResult instances, update it to use job_process_uuid

0.29.0 (2025-09-12)

What's changed

  • Model managers have been renamed from .objects to .query (037a239)
  • Manager functionality has been merged into QuerySet classes (bbaee93)
  • Models now use Meta.queryset_class instead of separate manager configuration (6b60a00)

Upgrade instructions

  • Update all model queries to use .query instead of .objects (e.g., Job.query.all() becomes Job.query.all())

0.28.1 (2025-09-10)

What's changed

  • Fixed log context method in worker middleware to use include_context instead of with_context (755f873)

Upgrade instructions

  • No changes required

0.28.0 (2025-09-09)

What's changed

  • Improved logging middleware to use context manager pattern for cleaner job context handling (ea7c953)
  • Updated minimum Python requirement to 3.13 (d86e307)
  • Added explicit nav_icon definitions to admin views to ensure consistent icon display (2aac07d)

Upgrade instructions

  • No changes required

0.27.1 (2025-08-27)

What's changed

  • Jobs are now marked as cancelled when the worker process is killed or fails unexpectedly (e73ca53)

Upgrade instructions

  • No changes required

0.27.0 (2025-08-22)

What's changed

  • Added support for date and datetime job parameters with proper serialization/deserialization (7bb5ab0911)
  • Improved job priority documentation to clarify that higher numbers run first (73271b5bf0)
  • Updated admin interface with consolidated navigation icons at the section level (5a6479ac79)
  • Enhanced admin views to use cached object properties for better performance (bd0507a72c)

Upgrade instructions

  • No changes required

0.26.0 (2025-08-19)

What's changed

  • Improved CSRF token handling in admin forms by removing manual csrf_input in favor of automatic Sec-Fetch-Site header validation (955150800c)
  • Enhanced README documentation with comprehensive examples, table of contents, and detailed sections covering job parameters, scheduling, monitoring, and FAQs (4ebecd1856)
  • Updated package description to be more descriptive: "Process background jobs with a database-driven worker" (4ebecd1856)

Upgrade instructions

  • No changes required

0.25.1 (2025-07-23)

What's changed

  • Added Bootstrap icons to admin interface for worker job views (9e9f8b0)
  • Removed the description field from admin views (8d2352d)

Upgrade instructions

  • No changes required

0.25.0 (2025-07-22)

What's changed

  • Removed pk alias and auto fields in favor of a single automatic id PrimaryKeyField (4b8fa6a)
  • Admin interface methods now use target_ids parameter instead of target_pks for batch actions
  • Model instance registry now uses .id instead of .pk for Global ID generation
  • Updated database migrations to use models.PrimaryKeyField() instead of models.BigAutoField()

Upgrade instructions

  • No changes required

0.24.0 (2025-07-18)

What's changed

  • Added OpenTelemetry tracing support to job processing system (b0224d0)
  • Job requests now capture trace context when queued from traced operations
  • Job execution creates proper consumer spans linked to the original producer trace
  • Added trace_id and span_id fields to JobRequest, Job, and JobResult models for trace correlation

Upgrade instructions

  • Run plain migrate to apply new database migration that adds trace context fields to worker tables

0.23.0 (2025-07-18)

What's changed

  • Migrations have been reset and consolidated into a single initial migration (484f1b6e93)

Upgrade instructions

  • Run plain migrate --prune plainworker to remove old migration records and apply the consolidated migration

0.22.5 (2025-06-24)

What's changed

  • No functional changes. This release only updates internal documentation (CHANGELOG) and contains no code modifications that impact users (82710c3, 9a1963d, e1f5dd3).

Upgrade instructions

  • No changes required