If routers run different versions of IGMP, they negotiates the lowest common version of IGMP that is supported on their subnet and operate in that version.
Version 1
Specified in RFC 1112, Host extensions for IP Multicasting, was the first widely deployed version and the first version to become an Internet standard.
Version 2
Specified in RFC 2236, Internet Group Management Protocol, added support for low leave latency, that is, a reduction in the time it takes for a multicast router to learn that there are no longer any members of a group present on an attached network.
Version 3
Specified in RFC 3376, Internet Group Management Protocol, adds support for source filtering, that is, the ability for a system to report interest in receiving packets only from specific source addresses, as required to support Source-Specific Multicast (See Source Specific Multicast (SSM)), or from all but specific source addresses, sent to a multicast address.
IGMPv3 must keep state per group per attached network. This group state consists of a filter-mode, a list of sources, and various timers. For each attached network running IGMP, a multicast router records the necessary reception state for that network.