The agent provides version information via the "version" prompt command - and the agent also dumps the short version information on the first line to stdout. The CLI provides nothing like the above - so users have no way of knowing what version of the CLI they are using. Need to have the CLI dump some version info at startup and the CLI should provide a version commant to dump version information on request.
We probably also need to perform a version handshake when the CLI connects. This may need to piggyback on the login call, perhaps Subject info could be added?
I would not worry about the handshake just yet - get the version information for the user first. The handshaking was required in the agent because the agent is an autonomous process with (usually) no human at the wheel so we needed a way for the agent to automatically get back on its feet if the server is upgraded (without requiring human intervention) - the agent handshake was required for agent auto-upgrade. The CLI will not have an auto-upgrade feature, so the cli handshake is not as important as it is with the agent. Having the CLI provide the user with a version will allow the user to perform their own "manual handshake" to see what version they have and at least tell support what version they have :) so they can verify compatibility. Also, if a cli handshake does exist, would it fail to connect or could we just have it spit out a warning message, "WARNING: this CLI is an older version and may not operate correctly" but let it continue in case there are pieces that are still compatible with the server.
to test, make sure the CLI outputs a version string when it starts. also confirm the --version option dumps build # and date along with name/version info
This bug was previously known as http://jira.rhq-project.org/browse/RHQ-2290