Emit caps_changed only if data changed.