Astoilkov Main Thread Scheduling Versions Save

Fast and consistently responsive apps using a single function call

v14.1.1

1 month ago
  • 🐛 fix error when requestIdleCallback is not supported a499ff5

https://github.com/astoilkov/main-thread-scheduling/compare/v14.1.0...v14.1.1

v14.1.0

1 month ago
  • ✨ new scheduleTask() method that mimics scheduler.postTask() API 5c1ed84
  • 🔀 set 3 seconds max wait time for the idle callback based strategy dc1370a

https://github.com/astoilkov/main-thread-scheduling/compare/v14.0.0...v14.1.0

v14.0.0

2 months ago
  • ✨ Continue running scheduled tasks when page is hidden bb4366a
  • signal option for canceling scheduled tasks, resolve #4 6c2a5aa
  • 🔥 Remove all utility functions 447e4a2

https://github.com/astoilkov/main-thread-scheduling/compare/v13.0.0...v14.0.0

v13.0.0

3 months ago

🧬 A full rewrite of the library. It will be easier to add new features and maintain the library in the future.

https://github.com/astoilkov/main-thread-scheduling/compare/v12.0.1...v13.0.0

v12.0.1

3 months ago
  • 🐛 error when building a project with Vite, resolve #12 b47a61b

https://github.com/astoilkov/main-thread-scheduling/compare/v12.0.0...v12.0.1

v12.0.0

3 months ago

BREAKING CHANGE: The browser user-blocking, user-visible, and background didn't fit well in what main-thread-scheduling was doing. Also, it was confusing for users to see the same values as scheduler.postTask() but observe different behavior between the two. This is why the library renamed the concept of scheduling priority to scheduling strategy and the new values are interactive, smooth, and idle. These values represent better what's happening when we yield to the main thread and what main-thread-scheduling is actually doing. I feel the new values are more intuitive. You can think of them like you are completing this sentence: "Scheduling the task keeps the page interactive/smooth/idle."

https://github.com/astoilkov/main-thread-scheduling/compare/v11.0.0...v12.0.0

v11.0.0

3 months ago

BREAKING CHANGE: The priority user-visible is now called user-blocking. user-visible has changed it runs for less time before yielding and you can use it even if an animation is running in the background.

  • 🐎 improve the performance of isTimeToYield() d9ab933
  • ✨ new exported type: SchedulingPriority that includes user-blocking, user-visible, and background priorities b20053d
  • ✏️ add postTask() implementation example using main-thread-scheduling in the readme 7017c2d

https://github.com/astoilkov/main-thread-scheduling/compare/v10.0.0...v11.0.0

v10.0.0

6 months ago
  • This major version makes a breaking change by renaming afterFrame()requestAfterFrame().
  • Other changes are related to the docs.

https://github.com/astoilkov/main-thread-scheduling/compare/v9.0.0...v10.0.0

v9.0.0

6 months ago

This new major release brings 3 new utilities:

  • afterFrame(callback) — like requestAnimationFrame() but called after the frame has rendered (not before)
  • queueTask(callback) — like queueMicroTask() but for Tasks
  • Deferred — extends Promise with resolve() and reject() methods and a state property

https://github.com/astoilkov/main-thread-scheduling/compare/v8.0.0...v9.0.0

v8.0.0

1 year ago
  • ✨ never yield in a Web Worker
  • ✨ never yield in a testing environment

https://github.com/astoilkov/main-thread-scheduling/compare/v7.1.0...v8.0.0