Why HYPERLINK() won't cut it
The built-in HYPERLINK() formula wraps the entire cell value in a link. You get one URL per cell, and the display text is the whole thing. That works fine for a standalone URL, but falls apart the moment you want prose like "See the release notes for context" with only "release notes" clickable.
The fix lives in the RichTextValue API, which has been available in Apps Script since 2019 but stays buried because most Sheets users never touch the script editor. It lets you attach formatting (bold, italic, link) to character-level ranges inside a single cell, independently of each other.