C++20 introduced a breaking change where u8 string literals changed from const char arrays to const char8_t arrays, causing existing code that compiled in C++17 to fail in C++20. This violates the common assumption of backward compatibility across C++ versions, and Google's style guide recommends avoiding the u8 prefix to mitigate compatibility issues.