It is stable. We most likely will add new fields to the json object, and will add new types of json messages though. In the unlikely event that we’ll have for some reason to make a backwards-incompatible change, we’ll probably add --message-format=json-v2.
FWIW, these events are used by IntelliJ Rust when launching debugger:
Beware of kind and crate_types fields from Target: they are super confusing at the moment precisely because of backwards compatibility