IMO the coolest new feature: There’s a new auto brightness implementation now. It’s much fancier than what the existing one does and actually tries to adjust for physical constraints and human perception.
The service requires device-specific configuration to work, specifically it needs two calibration tables: One from PWM values for the backlight to Nits, and one from ambient lux values to Nits.
I’ve so far added the data for the devices I own: Surface Pro 5, Pinephone Pro, and OnePlus 6.
For Android devices, this calibration was already done by the manufacturers, and we can simply reuse the tables from Android. I'm planning to do a little write-up on how to (crudely) do own measurements and get the data for your devices.
The auto brightness is implemented as a dbusService for gnome-shell, it should be fairly easy to move into out a separate project. I’m hoping that we can start an effort to have a DE independent daemon that does the heavy lifting for auto brightness.