@baldur Fantastic post. My only minor quibble is that I do think the React team has kept innovating – concurrent rendering and RSCs come to mind. Although I'm not convinced the first is a great idea (https://nolanlawson.com/2022/10/22/style-performance-and-concurrent-rendering/) and the second seems to be heavily dividing the React community, I have to give them credit for having the guts to try new stuff even though they're the clear market leader.
@baldur BTW I never understood the whole Liskov substitution thing until this post. It's not just a problem for built-ins, but also web component libraries that allow subclassing. Any change to the superclass is effectively a breaking change unless the subclass automatically gets the new behavior somehow (e.g. super.connectedCallback).