Upgrade issues

@jcoyne OK -- this changes how cancel is handled, passes all tests, and works in MIRA.