PageRenderTime 27ms CodeModel.GetById 0ms RepoModel.GetById 1ms app.codeStats 0ms

/docs/versionhistory.rst

https://bitbucket.org/omus/apscheduler
ReStructuredText | 183 lines | 105 code | 78 blank | 0 comment | 0 complexity | 8ccfe5429f03051feca055cc5e39e674 MD5 | raw file
  1. Version history
  2. ===============
  3. To find out how to migrate your application from a previous version of
  4. APScheduler, see the :doc:`migration section <migration>`.
  5. 3.0.0
  6. -----
  7. * Added support for timezones (special thanks to Curtis Vogt for help with this one)
  8. * Split the old Scheduler class into BlockingScheduler and BackgroundScheduler and added integration for
  9. asyncio (PEP 3156), Gevent, Tornado, Twisted and Qt event loops
  10. * Overhauled the job store system for much better scalability
  11. * Added the ability to modify, reschedule, pause and resume jobs
  12. * Dropped the Shelve job store because it could not work with the new job store system
  13. * Dropped the max_runs option and run counting of jobs since it could not be implemented reliably
  14. * Adding jobs is now done exclusively through ``add_job()`` -- the shortcuts to triggers were removed
  15. * Added the ``end_date`` parameter to cron and interval triggers
  16. * It is now possible to add a job directly to an executor without scheduling, by omitting the trigger argument
  17. * Replaced the thread pool with a pluggable executor system
  18. * Added support for running jobs in subprocesses (via the ``processpool`` executor)
  19. * Switched from nose to py.test for running unit tests
  20. 2.1.0
  21. -----
  22. * Added Redis job store
  23. * Added a "standalone" mode that runs the scheduler in the calling thread
  24. * Fixed disk synchronization in ShelveJobStore
  25. * Switched to PyPy 1.9 for PyPy compatibility testing
  26. * Dropped Python 2.4 support
  27. * Fixed SQLAlchemy 0.8 compatibility in SQLAlchemyJobStore
  28. * Various documentation improvements
  29. 2.0.3
  30. -----
  31. * The scheduler now closes the job store that is being removed, and all job stores on shutdown() by default
  32. * Added the ``last`` expression in the day field of CronTrigger (thanks rcaselli)
  33. * Raise a TypeError when fields with invalid names are passed to CronTrigger (thanks Christy O'Reilly)
  34. * Fixed the persistent.py example by shutting down the scheduler on Ctrl+C
  35. * Added PyPy 1.8 and CPython 3.3 to the test suite
  36. * Dropped PyPy 1.4 - 1.5 and CPython 3.1 from the test suite
  37. * Updated setup.cfg for compatibility with distutils2/packaging
  38. * Examples, documentation sources and unit tests are now packaged in the source distribution
  39. 2.0.2
  40. -----
  41. * Removed the unique constraint from the "name" column in the SQLAlchemy
  42. job store
  43. * Fixed output from Scheduler.print_jobs() which did not previously output
  44. a line ending at the end
  45. 2.0.1
  46. -----
  47. * Fixed cron style jobs getting wrong default values
  48. 2.0.0
  49. -----
  50. * Added configurable job stores with several persistent back-ends
  51. (shelve, SQLAlchemy and MongoDB)
  52. * Added the possibility to listen for job events (execution, error, misfire,
  53. finish) on a scheduler
  54. * Added an optional start time for cron-style jobs
  55. * Added optional job execution coalescing for situations where several
  56. executions of the job are due
  57. * Added an option to limit the maximum number of concurrenctly executing
  58. instances of the job
  59. * Allowed configuration of misfire grace times on a per-job basis
  60. * Allowed jobs to be explicitly named
  61. * All triggers now accept dates in string form (YYYY-mm-dd HH:MM:SS)
  62. * Jobs are now run in a thread pool; you can either supply your own PEP 3148
  63. compliant thread pool or let APScheduler create its own
  64. * Maximum run count can be configured for all jobs, not just those using
  65. interval-based scheduling
  66. * Fixed a v1.x design flaw that caused jobs to be executed twice when the
  67. scheduler thread was woken up while still within the allowable range of their
  68. previous execution time (issues #5, #7)
  69. * Changed defaults for cron-style jobs to be more intuitive -- it will now
  70. default to all minimum values for fields lower than the least significant
  71. explicitly defined field
  72. 1.3.1
  73. -----
  74. * Fixed time difference calculation to take into account shifts to and from
  75. daylight saving time
  76. 1.3.0
  77. -----
  78. * Added __repr__() implementations to expressions, fields, triggers, and jobs
  79. to help with debugging
  80. * Added the dump_jobs method on Scheduler, which gives a helpful listing of
  81. all jobs scheduled on it
  82. * Fixed positional weekday (3th fri etc.) expressions not working except in
  83. some edge cases (fixes #2)
  84. * Removed autogenerated API documentation for modules which are not part of
  85. the public API, as it might confuse some users
  86. .. Note:: Positional weekdays are now used with the **day** field, not
  87. **weekday**.
  88. 1.2.1
  89. -----
  90. * Fixed regression: add_cron_job() in Scheduler was creating a CronTrigger with
  91. the wrong parameters (fixes #1, #3)
  92. * Fixed: if the scheduler is restarted, clear the "stopped" flag to allow
  93. jobs to be scheduled again
  94. 1.2.0
  95. -----
  96. * Added the ``week`` option for cron schedules
  97. * Added the ``daemonic`` configuration option
  98. * Fixed a bug in cron expression lists that could cause valid firing times
  99. to be missed
  100. * Fixed unscheduling bound methods via unschedule_func()
  101. * Changed CronTrigger constructor argument names to match those in Scheduler
  102. 1.01
  103. ----
  104. * Fixed a corner case where the combination of hour and day_of_week parameters
  105. would cause incorrect timing for a cron trigger