Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
590 lines (401 sloc) 15.4 KB

Change Log

All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.

Unreleased

Diff for unreleased

2.3.4 - 2019-01-06

Fixed

  • Faster Startup duration for non-global (Fixes #376)

Diff for 2.3.4

2.3.3 - 2018-09-06

Fixed

  • Fix & Test Swarm Handoff & Conflict Resolution
  • Fix Compilation Error
  • Fix Executor Stat Options for GenStage ~> 0.12.0

Diff for 2.3.3

2.3.2 - 2018-08-21

Fixed

  • Global Clustering Worker Start

Diff for 2.3.2

2.3.1 - 2018-08-13

Fixed

  • Fixed Regression in Run Strategy Random

Diff for 2.3.1

2.3.0 - 2018-08-10

Added

  • Experimental Storage API

Fixed

  • Use Swarm for clustering to prevent broken cluster state
  • Better search for available nodes for run strategies

Diff for 2.3.0

2.2.7 - 2018-03-22

Changed

  • Moved the Repository into Organization & Correct all the URL's

Fixed

  • Fixed Dialyzer Warnings

Diff for 2.2.7

2.2.6 - 2018-03-21

Fixed

  • Fixed problem with Daylight Saving Time for jobs with timezone other than UTC.

Diff for 2.2.6

2.2.5 - 2018-02-26

Fixed

  • Omit gen_stage warning on ~> 0.13

Diff for 2.2.5

2.2.4 - 2018-02-23

Fixed

  • Relax timex dependency

Diff for 2.2.4

2.2.3 - 2018-02-13

Fixed

  • Fixed compatibility with gen_stage ~> 0.12

Diff for 2.2.3

2.2.2 - 2018-02-08

Added

  • Better Debugging Capabilities

Fixed

  • Relaxed version requirements for gen_stage

Diff for 2.2.2

2.2.1 - 2018-01-03

Fixed

  • sometimes the task supervisor was not running in a cluster

Diff for 2.2.1

2.2.0 - 2017-11-07

Diff for 2.2.0

Added

  • Local run strategy

2.1.3 - 2017-11-07

Diff for 2.1.3

Fixed

  • Runtime Added Jobs are executed right away instead of waiting for the next job execution.
  • Fix Typo in Doc

2.1.2 - 2017-11-04

Diff for 2.1.2

Added

  • Distillery is not mentioned in list of package managers

Changed

  • Source is not formatted properly

Fixed

  • Removed unused Alias from Quantum.Job
  • Hot upgrade is not possible due to missing supervisor

2.1.1 - 2017-10-02

Diff for 2.1.1

Fixed

  • Resolved some Dialyzer Warnings

2.1.0 - 2017-09-10

Diff for 2.1.0

Fixed

  • Resolved some Dialyzer Warnings

2.1.0-beta.1 - 2017-08-20

Diff for 2.1.0-beta.1

The internal handling has been refactored onto gen_stage. There were a few Breaking Changes which should not influence a user of the library.

Changed

  • Replaced call with cast
    • Scheduler.add_job
    • Scheduler.deactivate_job
    • Scheduler.activate_job
    • Scheduler.delete_job
    • Scheduler.delete_all_jobs

Removed

  • The overlap handling is removed from the Job struct.
    • removed Job.pids
    • removed Job.executable?

2.0.4 - 2017-09-01

Diff for 2.0.4

Fixed

  • Fix Race Condition with reboot in Runner state

2.0.3 - 2017-08-29

Diff for 2.0.3

Fixed

  • @reboot cron expressions

2.0.2 - 2017-08-23

Diff for 2.0.2

Fixed

  • Updated Docs.

2.0.1 - 2017-08-23

Diff for 2.0.1

  • Timezone in job configuration is now normalized into a job.

2.0.0 - 2017-07-20

Diff for 2.0.0

The whole library has been refactored. See the Migration Guide.

2.0.0-beta.2 - 2017-07-13

Diff for 2.0.0-beta.2

The whole library has been refactored. See the Migration Guide.

2.0.0-beta.1 - 2017-06-07

Diff for 2.0.0-beta.1

The whole library has been refactored. See the Migration Guide.

1.9.2 - 2017-05-19

Diff for 1.9.2

1.9.1 - 2017-03-17

Diff for 1.9.1

1.9.0 - 2017-02-07

Diff for 1.9.0

Removed

  • Three modules were removed and replaced by crontab.
    • Quantum.Matcher
    • Quantum.Parser
    • Quantum.Translator

Fixed

  • The whole cron expression syntax is now supported.
  • Crons can now be configured for Umbrella applications. See the README for the new syntax.

Changed

  • Cron Expressions can now be provided via the %Crontab.CronExpression{} struct or via the ~e[CRON EXPRESSION] sigil.
  • Cron Expressions can now be extended. This way second granularity of the expressions can be provided.

Deprecated

  • The configuration property cron is deprecated. Use the app configuration instead.

1.8.1 - 2016-11-20

Diff for 1.8.1

Changed

  • Clarity on the table to not use full name of day (Coburn Berry)
  • Travis testing against erlang 19.1 and elixir 1.3.3 (Julius Beckmann)
  • Don't allow "local" timezone. Replace Timex w. Calendar (Lau Taarnskov)

Fixed

  • Global cannot be used directly (Po Chen)
  • Support for timezones other than utc or local not in readme (Coburn Berry)
  • Timezone as string not working in config (Daniel Roux)

Removed

  • Timex references in readme (Coburn Berry)
  • License badge in README

1.8.0 - 2016-09-19

Diff for 1.8.0

Changed

  • Requires Elixir >= 1.3
  • Updated C4 contribution process to RFC42
  • Updated timex dependency to 3.0 (Svilen Gospodinov)

Fixed

Removed

1.7.1 - 2016-03-24

Diff for 1.7.1

Added

  • Optional per-job timezone support

Fixed

  • Nodes defaulting in %Quantum.Job struct
  • job.nodes defaulting in the normalizer
  • Test suite after changing defaulting of nodes property for the %Quantum.Jobs{} struct

1.7.0 - 2016-03-09

Diff for 1.7.0

Added

  • ToC to README
  • Documentation for overlap option
  • Elixir 1.2 to Travis-CI config
  • Prevent duplicate job-names at runtime (Kai Faber)

Changed

  • ToC markdown
  • Default values are now configurable
  • Updated all dependencies
  • Required Elixir version is now >= 1.2

Fixed

  • Overlap option was not set to jobs
  • Incorrect example in README
  • Timezone is not configurable at runtime
  • Credo warnings
  • GenServer restarts when one of the jobs crashes (#82)

1.6.1 - 2015-12-09

Diff for 1.6.1

Fixed

  • @reboot entries are throwing errors
  • Credo warnings and software design suggestions
  • Elixir 1.2 warnings

Changed

  • Dependency 'credo' updated
  • Refactored range variables
  • .gitignore updated

1.6.0 - 2015-11-25

Diff for 1.6.0

Added

  • PID of last executed task to job struct
  • Credo code linter (only for dev and test)
  • Total downloads badge to README
  • Elixir 1.1.0 and Erlang 18.1 to Travis-CI config

Fixed

  • Max hour is 23, not 24
  • Long-running jobs could overlap
  • Typo in README (Lucas Charles)
  • Incorrect function and response types in readme (Bart van Zon)
  • Unnamed job tuples cannot take args (Lucas Charles)
  • Job names can only be atoms and can't be GC (Luis Hurtado)

1.5.0 - 2015-09-24

Diff for 1.5.0

Added

  • Ability to run jobs on exact node (Rodion Vshevtsov)
  • Documentation of named jobs
  • OTP 17.5 and 18.0 to Travis tests

Changed

  • ex_doc dependency version

Fixed

  • Typos in README

1.4.0 - 2015-09-02

Diff for 1.4.0

Added

  • Named jobs and the ability to (de)activate them (Rodion Vshevtsov)
  • Doc annotations for functions
  • Inch-CI integration

Changed

  • Updated ex_doc dependency

1.3.2 - 2015-08-22

Diff for 1.3.2

Added

  • Timezone option to README.

Fixed

  • Using @reboot lead to crash.

1.3.1 - 2015-07-27

Diff for 1.3.1

Added

  • Added contributors to changelog and project description
  • Option to use local timezone instead of UTC.

Changed

  • Tables in README use markdown format

1.3.0 - 2015-07-15

Diff for 1.3.0

Added

1.2.4 - 2015-06-22

Diff for 1.2.4

Changed

  • Renamed parse/5 functions to do_parse/5 and made them private
  • Always use {expression, fun} for jobs
  • Moved duplicate code to new private function only_multiplier_of/2
  • Moved code to normalize jobs to separate module
  • Correctly use passed state in Quantum.init/1 function
  • Moved reboot logic to executor.

Removed

  • Unnecessary guard clause
  • Unused parse/3 functions
  • Unused call to String.split on patterns starting with "*/"

1.2.3 - 2015-06-15

Diff for 1.2.3

Added

  • Support for @reboot

Fixed

  • Does not convert jobs defined in config

1.2.2 - 2015-06-15

Diff for 1.2.2

Added

  • Support for @annually and @midnight

Changed

  • Function order in Quantum.Matcher
  • Renamed private translate function to do_translate
  • Do not convert and translate cron expressions on every tick

Fixed

  • Adding a job using Quantum.add_job/2 does not convert to lowercase
  • Adding a job using Quantum.add_job/2 does not translate day/month names

1.2.1 - 2015-06-13

Diff for 1.2.1

Added

  • Test for handle_info(:tick_state)
  • Dependencies to generate hexdocs
  • Badge for hexdocs
  • Link to docs in hex package info
  • Type specs and doc annotations

Changed

  • Quantum.Application does not call Quantum.start_link/1 anymore
  • Moved match logic to separate module Quantum.Matcher
  • Moved parsing logic to separate module Quantum.Parser
  • Moved execution logic to separate module Quantum.Executor
  • Moved translation logic to separate module Quantum.Translator

Fixed

  • Typos in changelog

Removed

  • Quantum.start_link/1

1.2.0 - 2015-06-11

Diff for 1.2.0

Changed

  • Date is updated in state only if it changed
  • Wake up every minute instead of every second

Fixed

  • Intervals on ranges are not correctly parsed
  • Hour constraints are not correct (Lenz Gschwendtner)
  • There is no changelog
  • Code coverage is low
  • Explicit variables are not needed
  • Pattern matching can be simplified

1.1.0 - 2015-05-28

Diff for 1.1.0

Added

  • Add ability to schedule jobs at runtime and ability to view jobs (Dan Swain)

Changed

  • Relax Elixir version

1.0.4 - 2015-05-26

Diff for 1.0.4

Fixed

  • Written month and weekday names are not parsed

1.0.3 - 2015-05-01

Diff for 1.0.3

Fixed

  • Do not fire on first tick

1.0.2 - 2015-04-29

Diff for 1.0.2

Fixed

  • Special expressions are not correctly in all cases

Removed

  • Functions to add and reset jobs

1.0.1 - 2015-04-27

Diff for 1.0.1

Added

  • Configure cronjobs in config
  • Add application

Fixed

  • Parsing of cron expression fails

1.0.0 - 2015-04-27

Diff for 1.0.0

Added

  • Initial commit
You can’t perform that action at this time.