Since this happens on both rising and falling edges, and happens all the time, most likely you are seeing an artifact created by the scope reacting to the extremely sharp edges of the output pulse.
Very sharp edges can make things ring due to inductance in the associated connections; particularly the ground lead of the probe.
I wouldn't worry about it.
But if you want to investigate further, you could remove the ground lead from the probe, remove the probe's hood, then create a "shortest-path" ground lead by wrapping a short length of bare wire around the metal ground band at the tip of the probe, then connecting the end of that wire to a ground right next to the signal being measured (like the grounded side of LED1 on the mbed). Something like this:
I've used this technique many times, and it always gives a very clean signal. Kind of a pain to set up sometimes, but worth it if you suspect scope artifacts are a problem...
I'm seeing up to +/- 2v ringing on the DigitalOut pins. Is this normal?
This code produces the output as shown in the scope plots below:
Scope Plots: