The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

8.12  2018-03-07
  - Added parents option to retry and retry_job methods in Minion::Job and
    Minion::Backend::Pg. (CandyAngel)

8.11  2018-02-28
  - Fixed worker page links in Mojolicious::Plugin::Minion::Admin.

8.10  2018-02-18
  - Improved Mojolicious::Plugin::Minion::Admin to use less distracting colors.
  - Fixed a bug in Mojolicious::Plugin::Minion::Admin where job results
    containing very long strings could not be displayed properly.

8.09  2018-01-25
  - Converted Mojolicious::Plugin::Minion::Admin to Bootstrap 4.

8.08  2017-12-15
  - Added busy and wait events to Minion::Worker.
  - Added dequeue_timeout option to run method in Minion::Worker.
  - Added -D option to worker command.

8.07  2017-12-11
  - Fixed guard method in Minion not to release already expired locks.

8.06  2017-12-11
  - Added active_locks field to stats methods in Minion, Minion::Backend and
    Minion::Backend::Pg again.
  - Improved Mojolicious::Plugin::Minion::Admin with support for locks.

8.05  2017-12-10
  - Removed active_locks field from stats methods again since it did not work
    correctly and there is no efficient way to fix it.
  - Fixed list_locks method in Minion::Backend::Pg to exclude already expired
    locks.

8.04  2017-12-08
  - Added list_locks method to Minion::Backend and Minion::Backend::Pg.
  - Added -L and -U options to job command.
  - Added active_locks field to stats methods in Minion, Minion::Backend and
    Minion::Backend::Pg.
  - Updated Font Awesome to version 5.
  - Improved Minion::Job to clear signal handlers in job processes.
  - Fixed a bug in Mojolicious::Plugin::Minion::Admin where filtering jobs by
    task or queue would not reset the offset.

8.03  2017-11-21
  - Removed -f option from worker command.
  - Added broadcast method to Minion.
  - Added run method to Minion::Worker.

8.02  2017-11-19
  - Improved admin ui with alerts for job management.

8.01  2017-11-18
  - Fixed installation problems with some versions of Perl on Windows.

8.0  2017-11-16
  - Removed job_info and worker_info methods from Minion::Backend and
    Minion::Backend::Pg.
  - Changed return value of list_jobs and list_workers methods in
    Minion::Backend and Minion::Backend::Pg.
  - Added new module Mojolicious::Plugin::Minion::Admin.
  - Added ids option to list_jobs and list_workers methods in Minion::Backend
    and Minion::Backend::Pg.
  - Added uptime field to stats methods in Minion, Minion::Backend and
    Minion::Backend::Pg.

7.09  2017-10-20
  - Fixed a deadlock problem in Minion::Backend::Pg where jobs could fail if two
    processes tried to acquire the same lock at the same time.

7.08  2017-10-18
  - Fixed a bug in the worker command where processing jobs could be
    delayed significantly after a system restart. (rgci)

7.07  2017-10-11
  - Added reap event to Minion::Job.

7.06  2017-09-21
  - Added guard method to Minion.

7.05  2017-08-07
  - Improved foreground method in Minion to rethrow job exceptions.

7.04  2017-08-01
  - Added foreground method to Minion.
  - Added id option to dequeue methods in Minion::Worker and
    Minion::Backend::Pg.
  - Added attempts option to retry and retry_job methods in Minion::Job and
    Minion::Backend::Pg.
  - Added -f option to job command.

7.03  2017-07-06
  - Updated Mojo::Pg requirement to 4.0.
  - Improved Minion::Backend::Pg to support sharing the database connection
    cache with existing Mojo::Pg objects.

7.02  2017-07-05
  - Improved performance of worker command when processing jobs that are
    finished very quickly.

7.01  2017-06-25
  - Added note methods to Minion::Job and Minion::Backend::Pg.
  - Added notes option to enqueue methods in Minion and Minion::Backend::Pg.
  - Added notes field to info method in Minion::Job and job_info method in
    Minion::Backend::Pg.
  - Improved performance of stats and lock methods in Minion::Backend::Pg with a
    new index and other optimizations. (depesz)
  - Improved benchmark script to be more consistent. (depesz)

7.0  2017-06-18
  - Added support for rate limiting and unique jobs.
  - Added lock and unlock methods to Minion and Minion::Backend::Pg.
  - Improved performance of Minion::Backend::Pg significantly with a new index
    and other optimizations.

6.06  2017-06-03
  - Added an example application to demonstrate how to integrate background jobs
    into well-structured Mojolicious applications.

6.05  2017-04-03
  - Added support for sharing worker status information.
  - Improved retry methods to allow for active jobs to be retried as well.
  - Improved job command to show timestamps in RFC 3339 (1994-11-06T08:49:37Z)
    format.

6.04  2017-03-18
  - Added -f option to worker command.
  - Removed -r option from job command, so you have to write --remove from now
    on, which should prevent accidental mixups with the -R option in the future.

6.03  2017-03-14
  - Fixed serious performance problems in Minion::Backend::Pg.

6.02  2017-01-02
  - Updated Mojo::Pg requirement to 2.18.

6.01  2017-01-01
  - Updated Mojo::Pg requirement to 2.33.
  - Improved performance of Minion::Backend::Pg with a new index.

6.0  2016-09-17
  - Removed TTIN, TTOU and USR1 signals from worker command.
  - Changed return value of start method in Minion::Job.
  - Added support for worker remote control commands.
  - Added commands attribute to Minion::Worker.
  - Added add_command and process_commands methods to Minion::Worker.
  - Added pid and stop methods to Minion::Job.
  - Added broadcast and receive methods to Minion::Backend::Pg.
  - Added -b option to job command.
  - Improved worker command with support for jobs and stop remote control
    commands.

5.09  2016-08-31
  - Added EXPERIMENTAL enqueued_jobs field to stats methods in Minion and
    Minion::Backend::Pg.
  - Improved Minion::Backend::Pg performance slightly with a new index.

5.08  2016-05-20
  - Improved repair methods not to remove finished jobs with unresolved
    dependencies.

5.07  2016-05-17
  - Added support for job dependencies. (jberger, sri)
  - Added parents option to enqueue methods in Minion and Minion::Backend::Pg.
    (jberger, sri)
  - Added children and parents fields to info method in Minion::Job and job_info
    method in Minion::Backend::Pg.
  - Added -P option to job command.
  - Improved stats methods to include jobs with unresolved dependencies in
    delayed_jobs count.

5.06  2016-05-05
  - Improved worker command to support the TTIN, TTOU and USR1 signals.
  - Improved Minion::Backend::Pg to handle delayed and retried jobs more
    efficiently.

5.05  2016-04-20
  - Added queue option to list_jobs method in Minion::Backend::Pg.
  - Improved performance of stats method in Minion::Backend::Pg slightly.

5.04  2016-04-19
  - Added EXPERIMENTAL delayed_jobs field to stats methods in Minion and
    Minion::Backend::Pg.
  - Updated Mojo::Pg requirement to 2.18.
  - Improved job command to show more detailed information for jobs and workers.

5.03  2016-04-10
  - Added enqueue event to Minion. (jberger)

5.02  2016-03-23
  - Fixed copyright notice.

5.01  2016-02-24
  - Fixed worker command to repair in regular intervals.

5.0  2016-02-17
  - Minion::Backend::Pg now requires PostgreSQL 9.5.
  - Added start event to Minion::Job.
  - Added -R option to worker command.
  - Reduced default missing_after value to 30 minutes.
  - Reduced default remove_after value to 2 days.
  - Improved Minion::Backend::Pg performance significantly with a new index and
    PostgreSQL 9.5 features.
  - Improved Minion::Job to capture more exceptions.
  - Improved worker command to support the QUIT signal.
  - Improved worker command to repair in less regular intervals.

4.06  2016-02-06
  - Improved performance of Minion::Backend::Pg slightly.

4.05  2016-02-05
  - Improved Minion::Backend::Pg to check the PostgreSQL version.

4.04  2016-01-23
  - Updated Minion::Backend::Pg to use new Mojo::Pg features.

4.03  2016-01-17
  - Removed an unused index from Minion::Backend::Pg.
  - Fixed a bug where the worker command would always watch the default queue.
    (avkhozov)

4.02  2016-01-03
  - Updated links to Mojolicious website.

4.01  2015-11-12
  - Improved retry methods to allow options to be changed for already inactive
    jobs.

4.0  2015-11-09
  - Removed attempts attribute from Minion::Job.
  - Improved Minion::Backend::Pg to preserve more information across retries for
    debugging.
  - Fixed bug where jobs could not be retried automatically if a worker went
    away.

3.03  2015-11-08
  - Added queues option to perform_jobs method in Minion.

3.02  2015-10-31
  - Fixed portability issues in tests.

3.01  2015-10-30
  - Added support for retrying failed jobs automatically.
  - Added backoff attribute to Minion.
  - Added attempts attribute to Minion::Job.
  - Added attempts option to enqueue methods in Minion and Minion::Backend::Pg.
  - Added -A option to job command.

3.0  2015-10-30
  - Removed Minion::Backend::File, because DBM::Deep quickly becomes unusably
    slow, you can use the CPAN module Minion::Backend::SQLite instead.

2.05  2015-10-15
  - Fixed bug where jobs could sometimes not be finished correctly by the worker
    command.

2.04  2015-10-14
  - Fixed portability issue in worker command.

2.03  2015-10-09
  - Improved commands to show all options that can affect their behavior.

2.02  2015-10-08
  - Improved job command to show the queue in job lists.

2.01  2015-10-02
  - Fixed Windows portability issues in tests.

2.0  2015-10-01
  - Removed -t option from worker command.
  - Added support for multiple named queues.
  - Added retries attribute to Minion::Job.
  - Added retries argument to fail_job, finish_job and retry_job methods in
    Minion::Backend::File and Minion::Backend::Pg.
  - Added queue option to enqueue method in Minion.
  - Added queue option to enqueue and retry_job methods in Minion::Backend::File
    and Minion::Backend::Pg.
  - Added queues option to dequeue methods in Minion::Worker,
    Minion::Backend::File and Minion::Backend::Pg.
  - Added -q option to job and worker commands.
  - Improved worker command to be more resilient to time jumps.
  - Fixed a race condition in Minion::Backend::File and Minion::Backend::Pg
    where a retried job did not have to be dequeued again before it could be
    finished.

1.19  2015-09-28
  - Added support for retrying jobs with a new priority.
  - Added priority option to retry method in Minion::Job.
  - Added priority option to retry_job methods in Minion::Backend::File and
    Minion::Backend::Pg.

1.18  2015-08-30
  - Fixed Makefile.PL to be compliant with version 2 of the CPAN distribution
    metadata specification.

1.17  2015-08-29
  - Fixed bug in worker command where new jobs would still be dequeued after
    receiving an INT/TERM signal.

1.16  2015-08-28
  - Improved worker command to detect workers without heartbeat a little faster.

1.15  2015-05-15
  - Added support for retrying jobs with a delay. (kwa)
  - Added delay option to retry method in Minion::Job. (kwa)
  - Added delay option to retry_job methods in Minion::Backend::File and
    Minion::Backend::Pg. (kwa)

1.14  2015-04-21
  - Improved performance of Minion::Backend::Pg with a new index. (avkhozov)

1.13  2015-03-25
  - Improved Minion::Backend::Pg to reset the job queue a little faster.

1.12  2015-03-17
  - Improved portability of some tests.

1.11  2015-03-10
  - Fixed tests to work without Mojo::Pg.

1.10  2015-03-09
  - Added support for performing multiple jobs concurrently with a single
    worker. (bpmedley, sri)
  - Added is_finished and start methods to Minion::Job. (bpmedley, sri)
  - Added -j option to worker command. (bpmedley, sri)
  - Fixed concurrency bugs in Minion::Backend::File.
  - Fixed bug in job command where timing information was not displayed
    correctly.

1.09  2015-03-02
  - Added support for monitoring workers with heartbeats instead of signals.
  - Added missing_after attribute to Minion.
  - Added -I option to worker command.
  - Fixed bug where workers were considered active even if they had no active
    jobs assigned.

1.08  2015-02-20
  - Updated for Mojolicious 5.81.

1.07  2015-02-12
  - Updated Minion::Backend::Pg for Mojo::Pg 1.08.

1.06  2015-01-26
  - Improved commands to use less punctuation.

1.05  2015-01-05
  - Improved repair methods in Minion::Backend::File and Minion::Backend::Pg to
    mention the current process in results of failed jobs.

1.04  2015-01-03
  - Improved Minion::Backend::Pg to use new JSON features of Mojo::Pg.

1.03  2014-12-19
  - Added -t option to worker command.

1.02  2014-11-22
  - Renamed -L and -T options to -l and -S.
  - Improved job command table formatting.

1.01  2014-11-20
  - Improved documentation.

1.0  2014-11-19
  - Removed experimental status from distribution.

0.45  2014-11-18
  - Improved dequeue performance in Minion::Backend::Pg significantly.
    (bpmedley)

0.44  2014-11-17
  - Fixed bug where jobs could not be dequeued inside a running event loop.

0.43  2014-11-17
  - Fixed bug where advisory locks would run out of shared memory.

0.42  2014-11-16
  - Improved Minion::Backend::Pg performance with advisory locks and
    notifications. (bpmedley, sri)

0.41  2014-11-15
  - Improved Minion::Backend::Pg performance.

0.40  2014-11-11
  - Added PostgreSQL support with Mojo::Pg. (bpmedley, sri)
  - Added support for job results.
  - Added Minion::Backend::Pg. (bpmedley, sri)

0.39  2014-10-05
  - Added DBM::Deep support to Minion::Backend::File.
  - Renamed -S option to -o.

0.38  2014-10-04
  - Removed support for non-blocking enqueue.
  - Removed Minion::Backend::Mango.

0.37  2014-09-22
  - Fixed packaging bug.

0.36  2014-09-21
  - Updated Makefile.PL for version 2 of the CPAN distribution metadata
    specification.

0.35  2014-09-06
  - Improved Minion::Backend::File to write less often.

0.34  2014-08-26
  - Improved job command to show higher precision times.

0.33  2014-07-10
  - Replaced state argument of list_jobs methods in Minion::Backend::File and
    Minion::Backend::Mango with more versatile options argument.
  - Added -t option to job command.

0.32  2014-07-10
  - Added state argument to list_jobs methods in Minion::Backend::File and
    Minion::Backend::Mango.
  - Added -T option to job command.

0.31  2014-07-09
  - Reduced CPU usage of Minion::Backend::Mango when waiting for new jobs.

0.30  2014-07-08
  - Added timeout argument to dequeue methods in Minion::Backend::File,
    Minion::Backend::Mango and Minion::Worker.

0.29  2014-07-07
  - Renamed restart_job method to retry_job in Minion::Backend,
    Minion::Backend::File and Minion::Backend::Mango.
  - Renamed restart method to retry in Minion::Job.
  - Improved worker command to repair in regular intervals.

0.28  2014-06-28
  - Added spawn event to Minion::Job.

0.27  2014-06-21
  - Replaced delayed option with delay.

0.26  2014-06-18
  - Renamed clean_up_after attribute in Minion to remove_after.

0.25  2014-06-17
  - Removed auto_perform attribute from Minion.
  - Added perform_jobs method to Minion.
  - Fixed multiple Windows bugs.

0.24  2014-06-16
  - Improved Minion::Job to reset Mojo::IOLoop.
  - Fixed Windows bugs in tests.

0.23  2014-06-15
  - Fixed Minion::Backend::File Windows support.

0.22  2014-06-15
  - Reduced default clean_up_after value to 10 days.

0.21  2014-06-14
  - Added clean_up_after attribute to Minion.
  - Improved performance of repair methods.

0.20  2014-06-13
  - Added module Minion::Backend::File.
  - Improved Minion::Backend to provide a generic repair method.

0.15  2014-06-04
  - Fixed a few small bugs in Minion::Backend::Mango.

0.14  2014-06-04
  - Fixed Minion::Backend::Mango to work with strings in addition to object
    ids.

0.13  2014-06-03
  - Added list_workers methods to Minion::Backend and Minion::Backend::Mango.

0.12  2014-06-03
  - Fixed enqueue to use the correct time format.

0.11  2014-06-03
  - Changed a few return values in Minion::Backend::Mango.

0.10  2014-06-02
  - Removed created, delayed, error, finished, priority, restarted, restarts,
    started and state methods from Minion::Job.
  - Removed started method from Minion::Worker.
  - Added support for pluggable backends.
  - Added modules Minion::Backend and Minion::Backend::Mango.
  - Added backend attribute to Minion.
  - Added reset method to Minion.
  - Added info methods to Minion::Job and Minion::Worker.
  - Added -L and -S options to job command.

0.09  2014-04-05
  - Added worker event to Minion.
  - Added dequeue event to Minion::Worker.
  - Added failed and finished events to Minion::Job.
  - Added restarted method to Minion::Job.
  - Changed return values of fail, finish and restart methods in Minion::Job.

0.08  2014-04-04
  - Added support for non-blocking enqueue.

0.07  2014-04-03
  - Improved performance by reusing Mango connections.

0.06  2014-04-03
  - Added delayed and priority methods to Minion::Job.
  - Renamed after option to delayed.
  - Improved job command to use a human readable time format and allow new
    jobs to be enqueued.

0.05  2014-04-03
  - Improved job command to stream job lists and show more information.

0.04  2014-04-02
  - Removed all_jobs and one_job methods from Minion::Job.
  - Removed repair method from Minion::Worker;
  - Added module Minion::Command::minion::job.
  - Added auto_perform attribute to Minion.
  - Added repair method to Minion.
  - Added created, error, finished, remove, restart, restarts and started
    methods to Minion::Job.
  - Added started method to Minion::Worker.

0.03  2014-03-30
  - Removed doc and worker attributes from Minion::Job.
  - Added args, id and minion attributes to Minion::Job.
  - Added id attribute to Minion::Worker.
  - Added job method to Minion.
  - Added state method to Minion::Job.

0.02  2014-03-28
  - Added support for delayed jobs.
  - Added stats method to Minion.
  - Added app method to Minion::Job.
  - Reduced Perl requirement to 5.10.1.

0.01  2014-03-27
  - First release.