| ⇢ | A | Version20251130111400 added | |
| ⇢ | A | Version20251130011600 added |
| ⇢ | C | Version20251130111400::migrateSingleAssetToResourc... added | |
| ⇢ | B | Version20251130011600::down() added | |
| ⇢ | B | Version20251130111400::migrateAttemptFiles() added | |
| ⇢ | B | Version20251130111400::migrateAttemptFeedback() added | |
| ⇢ | A | Version20251130011600::up() added | |
| ⇢ | A | Version20251130011600::declareNewResourceTypes() added | |
| ⇢ | A | ExerciseLib::getPublicUrlForResourceNode() added | |
| ⇢ | A | Version20251130111400::up() added | |
| ⇢ | A | Version20251130011600::getDescription() added | |
| ⇢ | A | AttemptFeedback::clearResourceNode() added | |
| ⋮ | view more | ||
| A | ↘ | B | ExerciseLib::getOralFeedbackAudio() got worse |
| D | ↗ | C | ExerciseShowFunctions::displayUploadAnswer() improved |
| B | ↘ | D | ExerciseLib::getOralFileAudio() got worse |
| A | ↛ | AttemptFeedback::getAsset() removed | |
| A | ↛ | AttemptFeedback::setAsset() removed | |
| A | ↛ | AttemptFile::getAsset() removed | |
| A | ↛ | AttemptFile::setAsset() removed | |