Very beginner question, new to Redfish and trying to figure out how to determine which Redfish Sepcification to use? Is the only way to read the specification? We are working with Redfish 1.8, do I have to read the specs up to 1.12 to know the differences and get ahead of user requirements? If I look at Dell, HP, Supermicro, Lenovo servers each one is using a different version of Redfish and just adding schemes to that version.
Schema and protocol versions are different things. The data model can grow (such as a new version of ComputerSystem) independent of the protocol (such as 1.8.0 of the main specification).
When a new version of the specification is produced such that a new minor version is created, that's because a new functionality was added at the protocol-level. The intent is to always make things backwards compatible, so if a client makes use of functionality added to version 1.12.0 of the specification, but the service was created based on version 1.8.0 of the specification, the two will still work together. We do have a comprehensive changelog in the annex to show the additions/clarifications, so you can use that to understand the differences in versions.