Problem/Motivation
We are about entering 3.x to embrace D10 onward.
Similar to core direction we are going to drop many deprecated stuffs by then. However to make smooth transition to 3.x we need to finalize a few things at 2.x. So switching from 2.x to 3.x should be about dropping deprecation, not another struggle with BC.
One last thing to do we have in ROADMAP is Optimization. This is a very delicate subject, so extra cautions are required, otherwise regressions and disruptions. This has been done a long the way with keywords micro-optimization here, so not an abrupt course of action.
What we are talking about here is more aggressive ones, measured fearless and furious ones.
We need to keep tracks of the optimization for documentation purposes and easy lookup for potential regressions and disruptions.
The initial session started here: #3255370: Move Blazy theme-related alias methods to a dedicated BlazyTheme. No regressions found this far.
Normally I created new threads when they are considered major/ not so small tasks. The rest have been under the hood aka guerrilla as I didn't have much energy to create new threads for every little things.
Proposed resolution
Create incremental patches referring on this thread in case creating new threads for each part of the sections consume more time or energy than you can afford. Commit each change one at time here, no problem. Feel free to create new ones, no problem.
Remaining tasks
Write patch and review.
- #3255370: Move Blazy theme-related alias methods to a dedicated BlazyTheme
- #3257512: Decouple lazyload JavaScript. Leaving Blazy as DRY buster for sub-modules.
- #3257916: Consider native API like ResizeObserver, IntersectionObserver, MutationObserver
- #3258851: Make old bLazy as fallback for IO, not competing
- #3262724: Add option for (un-)loading attribute, a buffer for anti-pattern
- #3262804: Add preload option to help boost actual and perceived performance
- #3269222: Move more settings into BlazySettings and classes into folders
User interface changes
None, yet. Unless otherwise specified during the process. And this will be updated accordingly.
API changes
None, yet. Unless otherwise specified during the process. And this will be updated accordingly.
Data model changes
#3258851: Make old bLazy as fallback for IO, not competing, remove an optional IO due to being enforced from now on.
Comments
Comment #2
gausarts commentedComment #3
gausarts commentedComment #4
gausarts commentedComment #5
gausarts commentedComment #6
gausarts commentedComment #7
gausarts commentedComment #8
gausarts commentedSo much room for improvements, so little time.
This should be fair enough to allow me to move forward to Blazy:3.x with very minimal BC as noted at the OP nevertheless.
RC1 was just landed with a few regression fixes:
https://www.drupal.org/project/blazy/releases/8.x-2.10-rc1
A huge dev turbulence had subsided, we are almost back in business again :)
More decent closing words about the moral of this thread is here.