Skip to content

Releases: luoxiu/Schedule

2.1.1

06 Oct 08:41
Compare
Choose a tag to compare
Merge branch 'master' of https://github.com/luoxiu/Schedule

2.1.0

22 Feb 12:14
Compare
Choose a tag to compare
bump podspec for 2.1.0

2.0.0: Merge pull request #39 from jianstm/2.x

06 Apr 12:45
b45944b
Compare
Choose a tag to compare

❗️❗️❗️This release contains some breaking changes.

Warning

The initial design of Task refers to Timer: It will be implicitly held by an internal object, if you want to remove it, you need to explicitly call the invalidate/cancel method.
But soon, I realized that it was easy to ignore this feature and caused memory leaks.
So in 2.0.0, Task is no longer automatically held, that is, if no external variables are explicitly pointed to it, this task will be destroyed.

Fixed

  • Calculation issue in every(_ weekday: Weekday) and every(_ monthday: Monthday).

Added

  • TaskCenter. From now on, you can use your own task center to manage tasks.
  • task.executionDates. Records the date each time the task is executed.
  • More tests.

Removed

  • task.timeline. All timeline properties are now accessible directly from the task.
  • plan.do(host: obj). Since tasks are no longer implicitly held by task centers, I don't think the host mechanism is necessary.

Updated

  • Some renaming, to make the api more swift!

1.0.0 - moon

26 Sep 05:42
Compare
Choose a tag to compare
  • Rename struct Schedule to Plan
    It is not wise to let a type have the same name as framework.

  • Remove ParasiticTask
    Now, each constructor has the host parameter(default is nil).

  • Add RunLoopTask
    Before 1.x, Schedule will execute tasks on a global dispatch queue when time is up by default. Now tasks will be executed on the current thread, its implementation is based on RunLoop, which means that you need to ensure that the current thread has a runloop available. So it is still recommended to use dispatch queue to construct the task.