Because all my work is based on 16-255, I can actually guarantee to my users that, given a properly configured terminal emulator, they will get the colors on the screenshots.
If I can't rely on 16-255 to be fixed anymore, then I won't be able to make any promise anymore. In practice, it just means adding a caveat in the README.md, but I'd prefer not to. Here's hoping this breaking change gets hidden behind a checkbox/flag.
But defaults should be simple.
XKCD 1172? https://xkcd.com/1172/
What would be optimal is semantic _styles_ (not colors):
- The developer marks the string "XXX" as an error message without even trying to style it.
- The platform/user agent/terminal/whatever displays the string in the default style for "error".
- The user can adjust the theme of their platform/user agent/terminal/whatever to fit their needs/wants.
We use an ansible task to ensure SYSTEMD_COLORS=16 is in /etc/environment on every system and it at least solves that problem...