Disclosure: I'm the developer of RKMovies, an ultra-lightweight 4K media player client for Android and Windows (a player this small).
Upgrading ArtPlayer from v4 to v5 looked like a one-line change. It was not. v5 restructured the player DOM: the control bar is now split into a top strip (.art-mobile-top) and a bottom strip (.art-bottom), and fullscreen no longer keeps the player node where you put it. fullscreenWeb re-parents template.$player into <body>.
The first bug was invisible. Our gesture HUD and overlays lived next to the player node, so in fullscreen-web they just vanished while the video kept playing. The fix was a playerHost() helper that resolves the node ArtPlayer actually fullscreens (art.template.$player, falling back to .artplayer-app .art-video-player) and mounts every overlay inside it. Native fullscreen and web fullscreen now behave the same.
Second surprise: on phones the library renders its own top bar, which collided with our HUD. So under @media(max-width:767px) we hide .art-control-cc, .art-control-pip and .art-mobile-top, pin .art-bottom to bottom: 0, and re-anchor the settings panel above the control bar with calc(var(--art-control-height, 44px) + 6px). The settings max height is per-device too: art.cssVar("--art-settings-max-height", isMobileDevice() ? "150px" : "260px").
Third: v5 takes type as a plain string now ("m3u8" / "mp4") instead of a custom type function, so source detection collapsed to one ternary: (format === "HLS" || /\.m3u8/.test(url)) ? "m3u8" : "mp4". Touch-only controls are gated on device class as well: fastForward: isMobileDevice(), flip: !isMobileDevice().
All of this ships inside the sub-megabyte android apk. The DOM gymnastics cost zero bytes because we borrow the system codecs and the player library instead of bundling our own. There's also a tv-friendly windows build.
Lesson: when a player library changes its DOM, read its template source, not just the changelog. The fullscreen re-parenting was only documented in a source comment, and it cost us a day of "why did my overlays disappear" bug reports.