- Watchers use a just-in-time strategy for mutations (thanks @larsjohnsen)
- Non-immediate watcher callbacks are executed when they are close to the viewport by using IntersectionObserver
- Fewer requests to external providers are sent (e.g. expando host info is only fetched when necessary)
- New module init phase contentStart, invoked when the first Thing has been added to the DOM (thanks @larsjohnsen)
- Remove superfluous init stage bodyReady (thanks @larsjohnsen)
-
Rename init phase loadDynamicOptions
to onInit
(thanks @larsjohnsen)
- Replace dependency momentjs with much lighter dayjs (thanks @larsjohnsen)
- Load fonts earlier to avoid additional reflow in case they are slow to load (thanks @larsjohnsen)
-
CSS clean-up: Moves some rules from general stylesheet to the module stylesheets they are being used. (thanks @larsjohnsen)
- Optimize showImages by avoiding checking visibility on every scroll event (thanks @larsjohnsen)
- showImages expando: Optimize element generation (thanks @larsjohnsen)
- Thing: Add debug function
getThingIsVisibleInconsistencies
to check that method Thing#isVisible works correctly (thanks @larsjohnsen)
- Use interface CreateElement.fancyToggleButton to create fancy buttons (thanks @larsjohnsen)
- backAndRestore: Add searchable terminology: import/export (thanks @honestbleeps)
- betteReddit showVideoTimes: Refactor and add Host#getVideoData interface (thanks @larsjohnsen)
- selectedEntry is simplified; option scrollToSelectedThingOnLoad is removed (thanks @larsjohnsen)
- showImages: Remove unnecessary option bufferScreens (thanks @larsjohnsen)
-
showImages: Unload media when collapsing where possible to reduce memory usage (thanks @larsjohnsen)
- storage wrapPrefix: Add option for auto batching
get
requests (thanks @larsjohnsen)
- utils throttle: Invoke when the microtask queue is empty rather than on
setTimeout
callback (thanks @larsjohnsen)
-
utils waitForRemoval: Add option to disconnect observer (thanks @larsjohnsen)
- Limit api.twitter.com permission to the only endpoint we use (thanks @erikdesjardins)
- Reenable FF integration tests (thanks @erikdesjardins)
- Remove support for EdgeHTML (thanks @XenoBen)
- Update dependencies (thanks @larsjohnsen, @kevinji)
- ava: Move config from package.json to ava.config.js (thanks @kevinji)
- packageInfo gitDescription: Use
git rev-parse HEAD
as fallback for git describe
(thanks @larsjohnsen)
- webpack: Remove now-unneeded object-rest-spread transform (thanks @erikdesjardins)