adb push/pull/sync much faster. (AOSP N9 full /system sync down from 60s to 20s.) Now with better progress feedback showing percentage complete.
adb push/pull interpret command-line arguments more like scp.
adb shell: returns remote process’ exit status, distinguishes stdout/stderr, passes through stdin (so you can pipe into a remote process), passes window size and terminal type (and updates window size), >1024 shell command length. These features all require a new adbd, so even with a new adb they’ll only work when talking to new devices. (Most of this work was done by the Brillo team.)
Windows support greatly improved (99% of this work done by external contributor Spencer Low).
Increased stability for automated testing.
Helpful diagnostics for adb/fastboot Linux USB permissions problems.
Numerous command-line tool improvements/bug fixes. In particular, ls(1) is now the much more full-featured toybox ls. Unlike in M, sed(1) now works fine.