| ⇢ | A | CrawlerBase added | |
| ⇢ | A | Crawler added | |
| ⇢ | A | OJModel added | |
| ⇢ | A | Judger added | |
| ⇢ | A | Babel added | |
| F | ↛ | Judge removed | |
| A | ↛ | Vijos removed | |
| A | ↛ | ContestHunter removed | |
| A | ↛ | CodeForces removed | |
| A | ↛ | PTA removed | |
| A | ↛ | CodeForces removed | |
| A | ↛ | ContestHunter removed | |
| A | ↛ | POJ removed | |
| A | ↛ | Vijos removed | |
| A | ↛ | CrawlerBase removed | |
| ⋮ | view more | ||
| ⇢ | B | CrawlerBase::_cacheImage() added | |
| ⇢ | A | CrawlerBase::procInfo() added | |
| ⇢ | A | CrawlerBase::getUrl() added | |
| ⇢ | A | Crawler::create() added | |
| ⇢ | A | Crawler::__construct() added | |
| ⇢ | A | OJModel::oid() added | |
| ⇢ | A | OJModel::ocode() added | |
| ⇢ | A | Judger::create() added | |
| ⇢ | A | Judger::__construct() added | |
| ⇢ | A | Babel::crawl() added | |
| ⋮ | view more | ||
| A | ↘ | B | Curl::login() got worse |
| A | ↘ | F | Curl::post_data() got worse |
| F | ↛ | Vijos::crawling() removed | |
| F | ↛ | ContestHunter::ContestHunter() removed | |
| F | ↛ | Judge::__construct() removed | |
| F | ↛ | CodeForces::extractCodeForces() removed | |
| F | ↛ | Crawler::__construct() removed | |
| D | ↛ | Core::__construct() removed | |
| D | ↛ | NOJ::submit() removed | |
| C | ↛ | PTA::crawling() removed | |
| B | ↛ | CodeForces::CodeForces() removed | |
| B | ↛ | CrawlerBase::cacheImage() removed | |
| ⋮ | view more | ||