summaryrefslogtreecommitdiff
path: root/CHANGES.rst
blob: 562e8f3caacaa4a8fef27761a27d1493fb5ab443 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
Version history
===============

To find out how to migrate your application from a previous version of
APScheduler, see the :doc:`migration section <migration>`.

2.1.2
-----

* Fixed shelve store losing data after on an unclean shutdown

* Worked around an obscure Linux kernel bug that causes IOErrors in the
  main loop


2.1.1
-----

* Fixed shutdown() in standalone mode

* Fixed the default value of the "db" parameter in the redis job store

* Switched to PyPy 2.0 for PyPy compatibility testing


2.1.0
-----

* Added Redis job store

* Added a "standalone" mode that runs the scheduler in the calling thread

* Fixed disk synchronization in ShelveJobStore

* Switched to PyPy 1.9 for PyPy compatibility testing

* Dropped Python 2.4 support

* Fixed SQLAlchemy 0.8 compatibility in SQLAlchemyJobStore

* Various documentation improvements


2.0.3
-----

* The scheduler now closes the job store that is being removed, and all job stores on shutdown() by default

* Added the ``last`` expression in the day field of CronTrigger (thanks rcaselli)

* Raise a TypeError when fields with invalid names are passed to CronTrigger (thanks Christy O'Reilly)

* Fixed the persistent.py example by shutting down the scheduler on Ctrl+C

* Added PyPy 1.8 and CPython 3.3 to the test suite

* Dropped PyPy 1.4 - 1.5 and CPython 3.1 from the test suite

* Updated setup.cfg for compatibility with distutils2/packaging

* Examples, documentation sources and unit tests are now packaged in the source distribution


2.0.2
-----

* Removed the unique constraint from the "name" column in the SQLAlchemy
  job store

* Fixed output from Scheduler.print_jobs() which did not previously output
  a line ending at the end


2.0.1
-----

* Fixed cron style jobs getting wrong default values


2.0.0
-----

* Added configurable job stores with several persistent back-ends
  (shelve, SQLAlchemy and MongoDB)

* Added the possibility to listen for job events (execution, error, misfire,
  finish) on a scheduler

* Added an optional start time for cron-style jobs

* Added optional job execution coalescing for situations where several
  executions of the job are due

* Added an option to limit the maximum number of concurrenctly executing
  instances of the job

* Allowed configuration of misfire grace times on a per-job basis

* Allowed jobs to be explicitly named

* All triggers now accept dates in string form (YYYY-mm-dd HH:MM:SS)

* Jobs are now run in a thread pool; you can either supply your own PEP 3148
  compliant thread pool or let APScheduler create its own

* Maximum run count can be configured for all jobs, not just those using
  interval-based scheduling

* Fixed a v1.x design flaw that caused jobs to be executed twice when the
  scheduler thread was woken up while still within the allowable range of their
  previous execution time (issues #5, #7)

* Changed defaults for cron-style jobs to be more intuitive -- it will now
  default to all minimum values for fields lower than the least significant
  explicitly defined field


1.3.1
-----

* Fixed time difference calculation to take into account shifts to and from
  daylight saving time


1.3.0
-----

* Added __repr__() implementations to expressions, fields, triggers, and jobs
  to help with debugging

* Added the dump_jobs method on Scheduler, which gives a helpful listing of
  all jobs scheduled on it

* Fixed positional weekday (3th fri etc.) expressions not working except in
  some edge cases (fixes #2)

* Removed autogenerated API documentation for modules which are not part of
  the public API, as it might confuse some users

.. Note:: Positional weekdays are now used with the **day** field, not
   **weekday**.


1.2.1
-----

* Fixed regression: add_cron_job() in Scheduler was creating a CronTrigger with
  the wrong parameters (fixes #1, #3)

* Fixed: if the scheduler is restarted, clear the "stopped" flag to allow
  jobs to be scheduled again


1.2.0
-----

* Added the ``week`` option for cron schedules

* Added the ``daemonic`` configuration option

* Fixed a bug in cron expression lists that could cause valid firing times
  to be missed

* Fixed unscheduling bound methods via unschedule_func()

* Changed CronTrigger constructor argument names to match those in Scheduler


1.01
----

* Fixed a corner case where the combination of hour and day_of_week parameters
  would cause incorrect timing for a cron trigger