The version of playpen itself is usually irrelevant, as the NC doesn't care how an LC executes a task as long as it gets done. The protocol, on the other hand, is extremely important. We need to implement a simple version number in the message wrapper or in SYNC. The NC should close any connection with a version mismatch and log a warning.
The version number should only ever be updated if backwards compatibility cannot be guaranteed. Protobuf gives us a lot of leeway in allowing backwards compatibility via optional fields and field ids, so the version shouldn't change often.
The version of playpen itself is usually irrelevant, as the NC doesn't care how an LC executes a task as long as it gets done. The protocol, on the other hand, is extremely important. We need to implement a simple version number in the message wrapper or in SYNC. The NC should close any connection with a version mismatch and log a warning.
The version number should only ever be updated if backwards compatibility cannot be guaranteed. Protobuf gives us a lot of leeway in allowing backwards compatibility via optional fields and field ids, so the version shouldn't change often.