- Nothing changed yet.
- fix leap year (29 days in February) [zed2015]
- Fix release issue [kiorky]
- Add Python 3.12 support [rafsaf]
- Make major release instructions [kiorky]
- Make a retrocompatible version of 1.4.0 change about supporting VIXIECRON bug. (fix #47) [kiorky]
- Added "implement_cron_bug" flag to make the cron parser compatible with a bug in Vixie/ISC Cron [kiorky, David White <dwhite2@cisco.com>] WARNING: EXPAND METHOD CHANGES RETURN VALUE
- Fix hashed expressions omitting some entries [@waltervos/Walter Vos <walter.vos@ns.nl>]
- Enhance .match() precision for 6 position expressions [@szpol/szymon <szymon.polinkiewicz@gmail.com>]
- Lint
- Add check for range begin/end
- restore py2 compat
- Do not expose i into global namespace
- Fix DOW hash parsing [kiorky]
- better error handling on py3 [kiorky]
- Add Python 3.11 support and move docs files to main folder [rafsaf]
- fix tests
- Fix croniter_range infinite loop [Shachar Snapiri <ssnapiri@paloaltonetworks.com>]
- Add Python 3.10 support [eelkevdbos]
- Really fix compat for tests under py27 [kiorky]
- Fix compat for tests under py27 [kiorky]
- Fix #12: regressions with set_current [kiorky, agateblue]
- Restore compat with python2 [kiorky]
- Add a way to make next() easier to use. This fixes #11 [kiorky]
- Enforce validation for day=1. Before this release we used to support day=0 and it was silently glided to day=1 to support having both day in day in 4th field when it came to have 6fields cron forms (second repeat). It will now raises a CroniterBadDateError. See corpusops#6 [kiorky]
- Enforce validation for month=1. Before this release we used to support month=0 and it was silently glided to month=1 to support having both day in month in 4th field when it came to have 6fields cron forms (second repeat). It will now raises a CroniterBadDateError. See corpusops#6 [kiorky]
- restore py2 [kiorky]
- better type checks [kiorky]
- Fix ZeroDivisionError with
* * R/0 * *
[cuu508]
- Add support for hashed/random/keyword expressions Ryan Finnie (rfinnie)
- Review support support for hashed/random/keyword expression and add expanders reactor [ kiorky ]
- fix bug: bad case:
0 6 30 3 *
[zed2015(zhangchi)] - Add support for
L
in the day_of_week component. This enable expressions like* * * * L4
, which means last Thursday of the month. This resolves #159. [Kintyre] - Create
CroniterUnsupportedSyntaxError
exception for situations where CRON syntax may be valid but some combinations of features is not supported. Currently, this is used when theday_of_week
component has a combination of literal values and nth/last syntax at the same time. For example,0 0 * * 1,L6
or0 0 * * 15,sat#1
will both raise this exception because of mixing literal days of the week with nth-weekday or last-weekday syntax. This may impact existing cron expressions in prior releases, because0 0 * * 15,sat#1
was previously allowed but incorrectly handled. [Kintyre] - Update
croniter_range()
to allow an alternatecroniter
class to be used. Helpful when using a custom class derived from croniter. [Kintyre]
- Remove external library
natsort
. Sorting of cron expression components now handled withsorted()
with a customkey
function. [Kintyre]
- Remove futures dependency [kiorky]
- Update _expand to lowercase each component of the expression. This is in relation to #157. With this change, croniter accepts and correctly handles * * 10-L * *. [cuu508]
- Fix _expand to reject int literals with underscores [cuu508]
- Remove a debug statement to make flake8 happy [cuu508]
- Fix combination of star and invalid expression bugs [kiorky]
- Security fix: fix overflow when using cron ranges [kiorky]
- Spelling fix release
- Fix #155: raise CroniterBadCronError when error syntax [kiorky]
- Fix match when datetime has microseconds [kiorky]
- no changes, just to make sense with new semver2 (making croniter on a stable state) [kiorky]
- Added Python 3.8 and 3.9 support [eumiro]
- Updated docs section regarding
max_years_between_matches
to be more shorter and hopefully more relevant. [Kintyre] - Don't install tests [scop]
- Handle L in ranges. This fixes #142. [kiorky]
- Add a new initialization parameter
max_years_between_matches
to support finding the next/previous date beyond the default 1 year window, if so desired. Updated README to include additional notes and example of this usage. Fixes #145. [Kintyre] - The
croniter_range()
function was updated to automatically determines the appropriatemax_years_between_matches
value, this preventing handling of theCroniterBadDateError
exception. [Kintyre] - Updated exception handling classes:
CroniterBadDateError
now only applies during date finding operations (next/prev), and all parsing errors can now be caught usingCroniterBadCronError
. TheCroniterNotAlphaError
exception is now a subclass ofCroniterBadCronError
. A brief description of each exception class was added as an inline docstring. [Kintyre] - Updated iterable interfaces to replace the
CroniterBadDateError
withStopIteration
if (and only if) themax_years_between_matches
argument is provided. The rationale here is that if the user has specified the max tolerance between matches, then there's no need to further inform them of no additional matches. Just stop the iteration. This also keeps backwards compatibility. [Kintyre] - Minor docs update [Kintyre]
- Feat
croniter_range(start, stop, cron)
[Kintyre] - Optimization for poorly written cron expression [Kintyre]
- Make dateutil tz support more official [Kintyre]
- Feat/support for day or [田口信元]
- document seconds repeats, fixes #122 [kiorky]
- Implement match method, fixes #54 [kiorky]
- Adding tests for #127 (test more DSTs and croniter behavior around) [kiorky]
- Changed lag_hours comparison to absolute to manage dst boundary when getting previous [Sokkka]
- Fix get_next() when start_time less then 1s before next instant [AlexHill]
- credits
- credits
- history stripping (security)
- Handle -Sun notation, This fixes #119. [kiorky]
- Handle invalid ranges correctly, This fixes #114. [kiorky]
- Pypi hygiene [hugovk]
- fix #107: microsecond threshold [kiorky]
- fix
get_next
while preserving the fix ofget_prev
in 7661c2aaa [Avikam Agur <avikam@pagaya-inv.com>]
- Don't count previous minute if now is dynamic
If the code is triggered from 5-asterisk based cron
get_prev
based ondatetime.now()
is expected to return current cron iteration and not previous execution. [Igor Khrol <igor.khrol@toptal.com>]
- More DST fixes [Kevin Rose <kbrose@github>]
- fix #87: backward dst changes [kiorky]
- Add is valid method, refactor errors [otherpirate, Mauro Murari <mauro_murari@hotmail.com>]
- DOW occurrence sharp style support. [kiorky, Kengo Seki <sekikn@apache.org>]
- Better test suite [mrcrilly@github]
- DST support [kiorky]
- fix bug around multiple conditions and range_val in _get_prev_nearest_diff. [abeja-yuki@github]
- issue #69: added day_or option to change behavior when day-of-month and day-of-week is given [Andreas Vogl <a.vogl@hackner-security.com>]
- Real fix for #34 [kiorky@github]
- Modernize test infra [kiorky@github]
- Release as a universal wheel [adamchainz@github]
- Raise ValueError on negative numbers [josegonzalez@github]
- Compare types using "issubclass" instead of exact match [darkk@github]
- Implement step cron with a variable base [josegonzalez@github]
- support setting ret_type in __init__ [Brent Tubbs <brent.tubbs@gmail.com>]
- Bug fix: The get_prev API crashed when last day of month token was used. Some essential logic was missing. [Iddo Aviram <iddo.aviram@similarweb.com>]
- The functionality of 'l' as day of month was broken, since the month variable was not properly updated [Iddo Aviram <iddo.aviram@similarweb.com>]
- Don't use datetime functions python 2.6 doesn't support [petervtzand]
- Truncate microseconds by setting to 0 [Corey Wright]
- converting sun in range sun-thu transforms to int 0 which is recognized as empty string; the solution was to convert sun to string "0"
- Fix default behavior when no start_time given
Default value for
start_time
parameter is calculated at module init time rather than call time. - Fix timezone support and stop depending on the system time zone
- support for 'l' (last day of month)
- Python 3 compat
- QA Release
- proper packaging