| ⇢ | A | PendingRejectedEmail added | |
| ⇢ | A | TwoShiftsAtOnceEmail added | |
| ⇢ | A | VolunteerEmail added | |
| A | ↘ | B | ShiftAPI got worse |
| ⇢ | A | ShiftAPI::disapprovePending() added | |
| ⇢ | A | ShiftAPI::approvePending() added | |
| ⇢ | A | TwoShiftsAtOnceEmail::getTextBody() added | |
| ⇢ | A | TwoShiftsAtOnceEmail::getHTMLBody() added | |
| ⇢ | A | VolunteerEmail::__construct() added | |
| ⇢ | A | VolunteerEmail::getFromAddress() added | |
| ⇢ | A | PendingRejectedEmail::__construct() added | |
| ⇢ | A | PendingRejectedEmail::getSubject() added | |
| ⇢ | A | PendingRejectedEmail::setShift() added | |
| ⇢ | A | PendingRejectedEmail::getHTMLBody() added | |
| ⋮ | view more | ||
| B | ↘ | C | ShiftAPI::signup() got worse |