timer-wheel v0.3.0 Release Notes

Release Date: 2020-06-18 // over 1 year ago
  • โž• Added

    • โž• Add with
    • โž• Add support for GHC 8.8, GHC 8.10

    ๐Ÿ”„ Changed

    • ๐Ÿ”„ Change type of spokes from Natural to Int
    • Change order of delay and action arguments in register, register_, recurring, and recurring_
    • Simplify cancel to return True at most once
    • Throw an error if a negative delay is provided to register, register_, recurring, or recurring_
    • ๐Ÿ›  Fix underflow bug that affected recurring timers

    โœ‚ Removed

    • โœ‚ Remove create, destroy
    • โœ‚ Remove TimerWheelDied exception. with now simply re-throws the exception that the timer wheel thread throws
    • โœ‚ Remove InvalidTimerWheelConfig exception. error is used instead
    • โœ‚ Remove support for GHC < 8.6

Previous changes from v0.2.0

  • โž• Added

    • โž• Add destroy function, for reaping the background thread
    • โž• Add recurring_ function

    ๐Ÿ”„ Changed

    • ๐Ÿ‘ป If the timer wheel reaper thread crashes, it will propagate the exception to the thread that spawned it
    • new may now throw InvalidTimerWheelConfig
    • ๐Ÿ›  The cancel action returned by register is now memoized, which fixes a bug involving trying to cancel a recurring timer twice. The second call used to spin forever and peg a CPU
    • ๐Ÿ‘‰ Use Config type for creating a timer wheel
    • ๐Ÿ”„ Change argument order around
    • ๐Ÿ“‡ Rename new to create
    • ๐Ÿ‘‰ Make recurring timers more accurate