Packages
quantum
2.3.2
3.5.3
3.5.2
retired
3.5.1
retired
3.5.0
3.4.0
3.3.0
3.2.0
3.1.0
3.0.2
3.0.1
3.0.0
3.0.0-rc.3
3.0.0-rc.2
3.0.0-rc.1
2.4.0
2.3.4
2.3.3
2.3.2
2.3.1
retired
2.3.0
retired
2.2.7
2.2.6
2.2.5
retired
2.2.4
retired
2.2.3
retired
2.2.2
retired
2.2.1
retired
2.2.0
retired
2.1.3
retired
2.1.2
retired
2.1.1
retired
2.1.0
retired
2.1.0-beta.1
retired
2.0.4
retired
2.0.3
retired
2.0.2
retired
2.0.1
retired
2.0.0
retired
2.0.0-beta.2
retired
2.0.0-beta.1
retired
1.9.3
retired
1.9.2
retired
1.9.1
retired
1.9.0
retired
1.8.1
retired
1.8.0
retired
1.7.1
retired
1.7.0
retired
1.6.1
retired
1.6.0
retired
1.5.0
retired
1.4.0
retired
1.3.2
retired
1.3.1
retired
1.3.0
retired
1.2.4
retired
1.2.3
retired
1.2.2
retired
1.2.1
retired
1.2.0
retired
1.1.0
retired
1.0.4
retired
1.0.3
retired
1.0.2
retired
1.0.1
retired
1.0.0
retired
Cron-like job scheduler for Elixir.
Current section
Files
Jump to
Current section
Files
CHANGELOG.md
# Change Log
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
## Unreleased
Diff for [unreleased]
## 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](https://hexdocs.pm/quantum/migrate-v2.html).
## 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](https://hexdocs.pm/quantum/migrate-v2.html).
## 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](https://hexdocs.pm/quantum/migrate-v2.html).
## 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](https://hex.pm/packages/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](https://github.com/crododile))
- Travis testing against erlang 19.1 and elixir 1.3.3 ([Julius Beckmann](https://github.com/h4cc))
- Don't allow "local" timezone. Replace Timex w. Calendar ([Lau Taarnskov](https://github.com/lau))
### Fixed
- Global cannot be used directly ([Po Chen](https://github.com/princemaple))
- Support for timezones other than utc or local not in readme ([Coburn Berry](https://github.com/crododile))
- Timezone as string not working in config ([Daniel Roux](https://github.com/xrx))
### Removed
- Timex references in readme ([Coburn Berry](https://github.com/crododile))
- 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](https://github.com/svileng))
### Fixed
- Same task could be generated multiple times in a cluster ([Po Chen](https://github.com/princemaple))
- Elixir 1.3.0 introduced unsafe var warnings ([Jamie J Quinn](https://github.com/JamieJQuinn))
- Typo in README ([Uģis Ozols](https://github.com/ugisozols))
- Code coverage below 100% ([Lucas Charles](https://github.com/theoretick))
### Removed
- Unused alias ([Philip Giuliani](https://github.com/philipgiuliani))
## 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](https://github.com/kaiatgithub))
### 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](https://github.com/theoretick))
- Incorrect function and response types in readme ([Bart van Zon](https://github.com/bartj3))
- Unnamed job tuples cannot take args ([Lucas Charles](https://github.com/theoretick))
- Job names can only be atoms and can't be GC ([Luis Hurtado](https://github.com/luishurtado))
## 1.5.0 - 2015-09-24
Diff for [1.5.0]
### Added
- Ability to run jobs on exact node ([Rodion Vshevtsov](https://github.com/alPacino))
- 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](https://github.com/alPacino))
- 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
- Allow cron-like job formatting (`"* * * * * MyApp.MyModule.my_method"`) ([Rodion Vshevtsov](https://github.com/alPacino))
- Allow defining functions as tuple (`{"Module", :method}`) in config ([Rodion Vshevtsov](https://github.com/alPacino))
- Note about UTC ([Lenz Gschwendtner](https://github.com/norbu09))
## 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](https://github.com/norbu09))
- 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](https://github.com/dantswain))
### 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
[unreleased]: https://github.com/quantum-elixir/quantum-core/compare/v2.3.2...HEAD
[2.3.1]: https://github.com/quantum-elixir/quantum-core/compare/v2.3.1...v2.3.2
[2.3.1]: https://github.com/quantum-elixir/quantum-core/compare/v2.3.0...v2.3.1
[2.3.0]: https://github.com/quantum-elixir/quantum-core/compare/v2.2.7...v2.3.0
[2.2.7]: https://github.com/quantum-elixir/quantum-core/compare/v2.2.6...v2.2.7
[2.2.6]: https://github.com/quantum-elixir/quantum-core/compare/v2.2.5...v2.2.6
[2.2.5]: https://github.com/quantum-elixir/quantum-core/compare/v2.2.4...v2.2.5
[2.2.4]: https://github.com/quantum-elixir/quantum-core/compare/v2.2.3...v2.2.4
[2.2.3]: https://github.com/quantum-elixir/quantum-core/compare/v2.2.2...v2.2.3
[2.2.2]: https://github.com/quantum-elixir/quantum-core/compare/v2.2.1...v2.2.2
[2.2.1]: https://github.com/quantum-elixir/quantum-core/compare/v2.2.0...v2.2.1
[2.2.0]: https://github.com/quantum-elixir/quantum-core/compare/v2.1.3...v2.2.0
[2.1.3]: https://github.com/quantum-elixir/quantum-core/compare/v2.1.2...v2.1.3
[2.1.2]: https://github.com/quantum-elixir/quantum-core/compare/v2.1.1...v2.1.2
[2.1.1]: https://github.com/quantum-elixir/quantum-core/compare/v2.1.0...v2.1.1
[2.1.0]: https://github.com/quantum-elixir/quantum-core/compare/v2.1.0-beta.1...v2.1.0
[2.1.0-beta.1]: https://github.com/quantum-elixir/quantum-core/compare/v2.0.4...v2.1.0-beta.1
[2.0.4]: https://github.com/quantum-elixir/quantum-core/compare/v2.0.3...v2.0.4
[2.0.3]: https://github.com/quantum-elixir/quantum-core/compare/v2.0.2...v2.0.3
[2.0.2]: https://github.com/quantum-elixir/quantum-core/compare/v2.0.1...v2.0.2
[2.0.1]: https://github.com/quantum-elixir/quantum-core/compare/v2.0.0...v2.0.1
[2.0.0]: https://github.com/quantum-elixir/quantum-core/compare/v2.0.0-beta.2...v2.0.0
[2.0.0-beta.2]: https://github.com/quantum-elixir/quantum-core/compare/v2.0.0-beta.1...v2.0.0-beta.2
[2.0.0-beta.1]: https://github.com/quantum-elixir/quantum-core/compare/v1.9.2...v2.0.0-beta.1
[1.9.2]: https://github.com/quantum-elixir/quantum-core/compare/v1.9.1...v1.9.2
[1.9.1]: https://github.com/quantum-elixir/quantum-core/compare/v1.9.0...v1.9.1
[1.9.0]: https://github.com/quantum-elixir/quantum-core/compare/v1.8.1...v1.9.0
[1.8.1]: https://github.com/quantum-elixir/quantum-core/compare/v1.8.0...v1.8.1
[1.8.0]: https://github.com/quantum-elixir/quantum-core/compare/v1.7.1...v1.8.0
[1.7.1]: https://github.com/quantum-elixir/quantum-core/compare/v1.7.0...v1.7.1
[1.7.0]: https://github.com/quantum-elixir/quantum-core/compare/v1.6.1...v1.7.0
[1.6.1]: https://github.com/quantum-elixir/quantum-core/compare/v1.6.0...v1.6.1
[1.6.0]: https://github.com/quantum-elixir/quantum-core/compare/v1.5.0...v1.6.0
[1.5.0]: https://github.com/quantum-elixir/quantum-core/compare/v1.4.0...v1.5.0
[1.4.0]: https://github.com/quantum-elixir/quantum-core/compare/v1.3.2...v1.4.0
[1.3.2]: https://github.com/quantum-elixir/quantum-core/compare/v1.3.1...v1.3.2
[1.3.1]: https://github.com/quantum-elixir/quantum-core/compare/v1.3.0...v1.3.1
[1.3.0]: https://github.com/quantum-elixir/quantum-core/compare/v1.2.4...v1.3.0
[1.2.4]: https://github.com/quantum-elixir/quantum-core/compare/v1.2.3...v1.2.4
[1.2.3]: https://github.com/quantum-elixir/quantum-core/compare/v1.2.2...v1.2.3
[1.2.2]: https://github.com/quantum-elixir/quantum-core/compare/v1.2.1...v1.2.2
[1.2.1]: https://github.com/quantum-elixir/quantum-core/compare/v1.2.0...v1.2.1
[1.2.0]: https://github.com/quantum-elixir/quantum-core/compare/v1.1.0...v1.2.0
[1.1.0]: https://github.com/quantum-elixir/quantum-core/compare/v1.0.4...v1.1.0
[1.0.4]: https://github.com/quantum-elixir/quantum-core/compare/v1.0.3...v1.0.4
[1.0.3]: https://github.com/quantum-elixir/quantum-core/compare/v1.0.2...v1.0.3
[1.0.2]: https://github.com/quantum-elixir/quantum-core/compare/v1.0.1...v1.0.2
[1.0.1]: https://github.com/quantum-elixir/quantum-core/compare/v1.0.0...v1.0.1
[1.0.0]: https://github.com/quantum-elixir/quantum-core/commit/9a58b5f5c02a2de6cde4c579c9f879f1fb49b305