- Fixes in parsing of string parts
- Fix of
doOnceTz
behaviour: now it will use local time as utc time to get next waking up time
- Add cleaning up of incoming template, which must remove all malformed parts from string template (fix of #126)
- Add support of insufficient amount of arguments (fix of #126)
Version
:Kotlin
:2.0.21
AndroidXWork
:2.10.0
Version
:Kotlin
:2.0.20
Coroutines
:1.9.0
Serialization
:1.7.3
Version
:Kotlin
:2.0.10
Coroutines
:1.8.1
Serialization
:1.7.1
Klock
:5.4.0
AndroidXWork
:2.9.1
doWhile
now will guarantee that it will not calldoOnce
more than once for time
Version
:Kotlin
:1.9.23
Serialization
:1.6.3
Klock
:5.3.2
- Fixes in build-in schedulers
Version
:Coroutines
:1.8.0
Version
:Klock
:5.3.1
AndroidXWork
:2.9.0
Since this version klock depdendency replaced with com.soywiz.korge:korlibs-time
Version
:Klock
:5.3.0
Versions
Kotlin
:1.9.22
Serialization
:1.6.2
Versions
Kotlin
:1.9.21
Serialization
:1.6.1
THIS UPDATE CONTAINS UPGRADE OF USED JDK UP TO 17
- Versions
Kotlin
:1.9.20
- Versions
Kotlin
:1.9.20-RC
Android
(min/target):34
- Potential fix of #65
- Versions
Kotlin
:1.9.20-Beta
Klock
:4.0.10
Serialization
:1.6.0
- Versions
Kotlin
:1.9.0
Coroutines
:1.7.3
Klock
:4.0.9
- Versions
Coroutines
:1.7.2
- All callbacks for standard extensions like
doInfinity
now fully inline
asFlowWithoutDelays
andasTzFlowWithoutDelays
will have nullablesince
parameters with default tonull
to avoid any inconsistency ofFlow
idiom.About the reason of changes
Cold flows should not contain some state by default. So, it was not right to save some `DateTime`/`DateTimeTz` by default. Now it will not use some external state unless developers will set it manually
- Versions
Kotlin
:1.8.22
Klock
:4.0.3
- New value class
KrontabConfig
. It is preferable way to createKronScheduler
instead ofKrontabTemplate
since this update - You may configure krontab with builders using simple
KronScheduler
invoke extension - New useful extensions like
KronScheduler.daily
KrontabTemplateWrapper
is obsolete in favor toKrontabConfig
- Versions
Kotlin
:1.8.21
Klock
:4.0.1
- Support of
mingwx64
platform
- Versions
Kotlin
:1.8.20
AndroidXWork
:2.8.1
- New extensions for
KronScheduler
:asTzFlowWithoutDelays
/asFlowWithoutDelays
asTzFlowWithDelays
/asFlowWithDelays
- Old
KronScheduler.asFlow
andKronScheduler.asTzFlow
temporarily marked as deprecated: after several versions their behaviour will be changed to undelayed one - All the flow extensions now use
cold
non-channel flows. Potentially it should increase performance and decrease memory usage
- Versions
Kotlin
:1.8.10
AndroidXWork
:2.8.0
- Project is now available in owner
Gitea
: https://git.inmo.dev/InsanusMokrassar/-/packages/maven/dev.inmo-krontab KronSchedulerTz#next
with incomingDateTime
now will use adjusted local time instead of unadjusted oneCronDateTimeSchedulerTz#next
with incomingDateTime
will convert that parameter to internal offset directly
- Versions
Kotlin
:1.7.22
- Versions
Kotlin
:1.7.21
Klock
:3.4.0
THIS VERSION HAS CHANGED COMPILE ANDROID SDK FROM 32 -> 33
- Versions
Kotlin
:1.7.20
Klock
:3.2.0
- Versions
Klock
:3.1.0
THIS VERSION HAS CHANGED MIN ANDROID SDK FROM 19 -> 21
- Versions
Kotlin
:1.7.10
Klock
:3.0.0
- Versions
Coroutines
:1.6.4
- Versions
Coroutines
:1.6.3
- Versions
Kotlin
:1.6.21
- Several bug fixes (#27, #34)
- New factories for
KronScheduler
andKronSchedulerTz
(fix of #35) - Fill extensions for flow with time zones (fix of #33)
- Versions
Coroutines
:1.6.1
Klock
:2.7.0
- Deprecate
do*Local
due to their redundancy (usedo*
instead) - Add support of milliseconds as optional parameter after month (fix of #31)
- Add support of filters for
Flow
s withDateTime
(fix of #30)
- Versions
Klock
:2.5.2
ALL DEPRECATIONS HAVE BEEN REMOVED
- Versions
Kotlin
:1.6.10
Klock
:2.4.10
Coroutines
:1.6.0
Androidx Work
:2.7.1
- Versions
Klock
:2.4.8
Androidx Work
:2.7.0
- Flows now use
doWhile
functions doWhile
now use additional delay (for 1 ms) for cases whenblock
executing too fast- New extensions for
KronScheduler
:do(Once/While/Infinity)Local
/do(Once/While/Infinity)Tz
- Versions
Kotlin
:1.5.31
Coroutines
:1.5.2
Klock
:2.4.2
Androidx Work
:2.6.0
- Versions
Kotlin
:1.5.30
Klock
:2.4.0
LEGACY COMPILER VARIANT FOR JS IS NOT AVAILABLE SINCE THIS UPDATE
- Versions
Kotlin
:1.5.21
Coroutines
:1.5.1
Klock
:2.3.1
- Versions
Klock
:2.1.0
->2.1.2
- Rewriting of default mechanism of
KronScheduler
s
- Versions
Kotlin
:1.4.32
->1.5.10
Coroutines
:1.4.3
->1.5.0
Klock
:2.0.7
->2.1.0
- Versions
Kotlin
:1.4.31
->1.4.32
- Supporting of weekdays
- Supporting of timezones
- Any
KronScheduler
now can be used for callingnext
withDateTimeTz
- New type
KronSchedulerTz
- Any
SchedulerFlow
has been deprecated- New extension
asTzFlow
and small changes inasFlow
logic merge
extensions now returnCollectionKronScheduler
instead of justKronScheduler
- Versions
Kotlin
:1.4.21
->1.4.31
Coroutines
:1.4.2
->1.4.3
Klock
:2.0.3
->2.0.7
Androidx Work
:2.4.0
->2.5.0
BREAKING CHANGES
CronDateTimeScheduler
has been marked asinternal
and no longer accessible outside of internal functions- Old methods
merge
andplus
related toCronDateTimeScheduler
has been marked asdeprecated
and changed their parameters types - it isKronScheduler
now
- Old methods
- New methods
merge
has been added KronScheduler#next
method now is nullable. UsenextOrRelative
/nextOrNow
to get next time certainly- Years was added as optional part of krontab template and opportunity in
SchedulerBuilder
- New builder
YearsBuilder
SchedulerFlow#collectSafely
will be normally (without exceptions) finish whennext
of scheduler will return null
- New builder
KronScheduler#doOnce
will run code immediately in case whennext
is returning null valueKrontabTemplateWrapper
has been added- New extension
KrontabTemplate#toKronScheduler
(works astoSchedule
) - Fixed issue related to the fact that
toNearDateTime
ofCronDateTime
incorrectly handled months - Android target has been added
- Versions
Kotlin
:1.4.20
->1.4.21
Klock
:2.0.1
->2.0.3
CronDateTimeScheduler
now is deprecated and will be set up asinternal
in future
- Versions:
Coroutines
:1.4.1
->1.4.2
Klock
:2.0.0
->2.0.1
CronDateTimeScheduler
now is public- New functions for
CronDateTimeScheduler
- Add
CollectionKronScheduler
. It will give opportunity to unite several schedulers in one
BREAKING CHANGES Package of project has been changed. Migration:
-
Replace in your dependencies
com.insanusmokrassar:krontab
bydev.inmo:krontab
-
Replace in your project all imports
com.insanusmokrassar.krontab
bydev.inmo.krontab
-
Versions:
Kotlin
:1.4.10
->1.4.20
Klock
:1.12.1
->2.0.0
- Versions:
Coroutines
:1.3.9
->1.4.1
- Function
TimeBuilder#each
was added (works asat
) - Add opportunity to use
first
shortcuts:- Value property
TimeBuilder#first
for including via functions likeTimeBuilder#at
- Shortcut for kron string format
f
orF
- Value property
- Add opportunity to use
last
shortcuts:- Value property
TimeBuilder#last
for including via functions likeTimeBuilder#at
- Shortcut for kron string format
l
orL
- Value property
- Versions:
Kotlin
:1.4.0
->1.4.10
Klock
:1.12.0
->1.12.1
- Versions:
Kotlin
:1.3.72
->1.4.0
Coroutines
:1.3.8
->1.3.9
Klock
:1.11.14
->1.12.0
- Typealias
KrontabTemplate
was added - Extension
KrontabTemplate#toSchedule
was added
- Updates in libraries:
- Klock
1.11.3
->1.11.14
- Coroutines
1.3.7
->1.3.8
- Klock
- Ranges support were included. Now it is possible to correctly use syntax
0-5
in strings schedules
- Updates in libraries:
- Kotlin
1.3.70
->1.3.72
- Coroutines
1.3.5
->1.3.7
- Klock
1.10.0
->1.11.3
- Kotlin
- A lot of KDocs added and fixed
EverySecondScheduler
changed its building logic - now it is lazy with builder usingKronScheduler#doOnce
was optimized: now it will be explicitly called once and return result of its calculationsKronScheduler#doWhile
was rewritten to useKronScheduler#doOnce
for calculations ofblock
result
- New
buildSchedule(String)
function as a shortcut forcreateSimpleScheduler(String)
- Updates in libraries:
- Kotlin
1.3.61
->1.3.70
- Coroutines
1.3.3
->1.3.5
- Klock
1.8.6
->1.10.0
- Kotlin
- Added support of flows: now any
KronScheduler
can be convert toFlow<DateTime>
usingasFlow
extension
- Updated way of publishing (for more info look at the git)
- Updates in libraries:
- Coroutines
1.3.2
->1.3.3
- Klock
1.7.3
->1.8.6
- Coroutines