All messages which heartbeat handles are name/value pairs. The names are ASCII values similar to environment variables, and originally the values were also restricted to ASCII values as well. At this time, the names and values were sent almost like the output of the env command. However, as of 1.2.1, the values were extended to include both bitstrings, and name/value pairs, as well as the traditional ASCII strings.
When this was changed, the output format was changed to be NetStrings. However, for compatibility reasons, the default format is still the old style name/value pairs. In addition, the old format is still used when talking to serial ports.
Making all messages default to name/value pairs is a strategic choice related to providing high-availability over the long term. It is our design goal to create an HA system which can be brought up once, and then be upgraded and followed through hardware, operating system and software upgrades for 100 years without ever being shut down.