So... speed! Speed comes from the new "copy on write" transparent support of binary_data. binary_data objects are performing all their actions with shared pointer in the background and real copy is done only when you need to alter your local copy. From the external view binary_data is acting the same way as previously and you can just forget that it is CoW enabled, you just see some speed improvements. But all this comes with an extra overhead, so the class may perform slightly slower if you are using it to store little data like 10-20 bytes, but this depends too on the hardware.
Less error-prone! Firstly we say bye bye to the crappy MultiReference<> and the well tested and approved boost::shared_ptr<> takes it place. Sockets have been redesigned to use shared_ptr<> and close() having ...