From memory...some intra-gen variations:
".357auto" came out during gen2. Early gen2 .40s had shorter frame rails, and Glock did not recommend their use with .357 uppers. At some point, .40s got the longer frame rails Glock decided were a good idea on .357 pistols.
"mid" Gen3 19s and 17s went from being 2-pin to 3-pin frames, gaining the locking block pin. This complicates parts for "Gen3" as there are different locking blocks and slide stops for the 2-pin/3-pin frames.
"late" Gen3s got an updated trigger bar with the newer style geometry where the trigger spring attaches.
Somewhere between Gen2 and Gen3, Glock made G21s that have finger grooves, but no accessory rail.