GNU Grep versus the (Linux) open source ecology
utcc.utoronto.ca
utcc.utoronto.ca
They already were 2-line shell scripts.
When Paul Eggert made the change in August 2021, xe changed a 2-line shell script into a 4-line shell script with an echo >&2 in the middle.
15 years wasn't enough time to update?
Perhaps the deprecation could have been communicated more broadly, but really, in 15 years, nobody looked at the release notes and thought to make a change?
What change could have been made? Package managers can't "just" remove it as that would break people's scripts, and adding their own warning message leaves us where we are now. I suppose a package-message could be added, but I don't think anyone expected that [ef]grep would start printing warning messages all of the sudden – lots of things are "deprecated" but still work and will likely continue to work for decades to come – so why bother?
I have a Go library with some functions that have been deprecated since Go 1.1 (2013); they're just some aliases or wrappers for the newer symbols. They will stay there forever until I have enough reason to release a v2 (which may be never). POSIX also includes plenty of legacy/deprecated stuff like mktemp() that will likely never be removed.
A CLI is a public interface; breaking compatibility is kinda bad.