Novalink v0.2 (build a3f1c09) is out. The two headline features are watch mode and Telegram preview simulation.

Watch mode

novalink watch https://example.com/article --platforms slack,telegram

With --watch, Novalink polls the URL every 30 seconds (configurable) and re-renders the preview when metadata changes. This is useful when you're iterating on og:title or swapping images and want to see the result without manually re-running the command.

Watch mode also writes a .novalink-cache/ directory with timestamped snapshots so you can diff between renders.

Telegram simulation

Telegram's link preview is picky. It won't render anything if og:description is missing. It crops images to square if the aspect ratio is outside 0.5–2.0. And it strips all HTML from description text, so any entities you're relying on disappear.

The new Telegram renderer enforces all three constraints and shows you the cropped image so you can see exactly what users will see before you post.

Breaking changes

The --output json format changed: warnings is now an array of objects instead of strings, each with field, platform, and message keys. If you're parsing the JSON output in a script, update accordingly.

Full changelog in CHANGELOG.