Gnutella2 uses UDP rather then TCP/IP network protocol for searches, an extensible binary XML-like packet format and includes many extensions such as intelligent query routing, SHA checksums, parallel downloading in slices (swarming), etc.
The draft specification for Gnutella2 was released on March 26, 2003, with Stokes' client Shareaza implementing full support. Since then, it has been adopted by the file-sharing programs Gnucleus and MLDonkey. Also, a new client called Adagio has been written for Gnutella2 only.
Gnutella2 (G2) has not been adopted by some of the "old" Gnutella clients, due to political disputes between Michael Stokes and some Gnutella developers. These developers argued that Michael should have asked for the permission of their de-facto Gnutella organization (the Gnutella Developer Forum) before giving his protocol the name of "Gnutella2". GDF members still refer to Gnutella2 as "MP" (Mike's Protocol).