talloc is a small wrapper around malloc that makes memory hierarchical. It is similar to a standard memory pool system, but much more powerful as any pointer returned by talloc is also a pool. This allows you to hang structures off other structures in an intuitive fashion, and free up a whole subtree of memory with one call. talloc also features type safety, destructors, and many helper functions.
Most of these changes are in 2.1, except for the copy_permissions() code. I suggest an equivalent method using umask and directory permissions in the docs instead.