We present a recursive construction for difference sets which unifies the Hadamard, McFarland, and Spence parameter families and deals with all abelian groups known to contain such difference sets. The construction yields a new family of difference sets with parameters (v, k, λ,n)=(22d+4(22d+2−1)/3, 22d+1(22d+3+1)/3, 22d+1(22d+1+1)/3, 24d+2) for d⩾0. The construction establishes that a McFarland difference set exists in an abelian group of order 22d+3(22d+1+1)/3 if and only if the Sylow 2-subgroup has exponent at most 4. The results depend on a second recursive construction, for semi-regular relative difference sets with an elementary abelian forbidden subgroup of order pr. This second construction deals with all abelian groups known to con...