In an IAP cluster, only the Virtual Controller dictates the firmware version of the APs in that cluster (you can't have a VC on different firmware from the APs associated). So in a mixed model cluster, the APs take on the same firmware version as needed for that model (distributed by the AP acting as VC).
You'll find the firmware version on the VC's monitor page. Type will be 'Aruba Instant Virtual Controller'
Additionally, you can add the 'version' field into your custom list view. That way when you look at that group or folder, it will show firmware versions for all devices.
When upgrading, you only need to select the image for the VC to use, and it will propagate the APs with the correct image. This is helped if your IAPs have an open tunnel to connect to device.arubanetworks.com (this is the Aruba Activate Image Server). If there's no access to the image server, then it will defer to images on the AirWave server. Another avenue to consider is that AirWave can download images from the image server directly (if AirWave has access to the internet/more specifically the image server), the group -> firmware page has an option to update (this fetches list of available images from activate), and then you'll see these images on the device setup -> firmware page as source 'image server; meaning that AirWave downloaded the image from the image server instead of a user manually uploading.
Also worth noting, if you're using IGC, the group's policy needs to be upgraded as well. This is under Group -> select group -> Instant Config -> (left menu AirWave) -> (right panel) AirWave Settings -> Policy version appears at bottom of page, with option to migrate policy version.