develop
Rename inner oppia/ directory to core/ to prevent confusion between two directories named oppia/.
Black formatter staging (#23456)
Remove dependencies from common.py and from scripts on core (#23993)
Relax the regex for app feedback domain reports (#23869)
Fix #26623: Migrate datetime usage to utils functions (#26648)
Fix #24668: Add Beam Job for syncing Firebase and Oppia (#24934)
Fix #24123: Add direct link to Dataflow page for failed beam jobs (#26323)
Milestone 1.1 (Improve line and branch coverage for the frontend and the backend): Checks to ensure that every backend file has an associated test file (#15625)
[GSoC 2026] M1.9 - Fix part of #24716: Refactored the feedback models, services, domain and controller according to new CUJs. (#26459)
[GSoC 2026] M1.18 - Fix Part of #24717: Create Certificate Assessment Attempt and Response Models with Domain Objects (#26606)
[GSoC 2026] M2.12 - Fix Part of #24717: Added get_certificate_offerings_for_classroom service and CertificateAssessmentClassroomHandler (#26969)
Fix part of #21308 : Improve branch test coverage in blog_services.py,change_domain.py,event_services.py and feedback_services.py to 100% (#23972)
[GSoC 2026] M2.2.2- Fix part of #24716: Added Feedback Recipient Email input in classroom creation and beam job to migrate old classroom. (#26734)
Fixes prod ops issues filed during automated voiceover testing (#25856)
Remove the bulk email functionality. (#26472)
[GSoC 2026] M 2.1 - Fix part of #24933: Add METADATA content type and domain logic (#26741)
[GSoC 2026] M 2.3 - Fix part of #24933: Implement skill opportunity lifecycle in domain services (#26931)
Fix #23460 and part of #22716: Remove old acceptance tests (#23476)
Fix #12735: Add separate Contributor Dashboard email preference` (#26882)
[GSoC 2026] M2.5.1 - Fix part of #24716: Added Handlers, service functions and domain objects for the My suggestion tab and creator feedback tab. (#26962)
Fix part of #21308 to cover edge cases in backend code (#25113)
Fix 21059 Learner Groups Unable to access the courses assigned by facilitators when trying to practice the skills using the learner account (#23570)
Fix part of #26609: Removed play later functionality (#26610)
[GSoC 2026] M 1.6 - Fix part of #24933: Migrate frontend translation infrastructure to support V2 generic architecture (#26337)
Fix #22726: Resolve email footer preferences link before sending (#26848)
[GSoC 2026] M 1.9 - Fix part of #24933: Add Beam jobs to backfill translation opportunity data (#26187)
[GSoC 2026] M2.1- Fix part of #24716: Added Technical Feedback dashboard page and its related controller and domain object. (#26617)
Fix #18519: Allow question admins to edit content directly within the Topics and Skills dashboard (#24552)
Fix #22990, #24834: Enable full-text blog search and add acceptance test for content search in blog (#24702)
[GSoC 2026] M 2.2 - Fix part of #24933: Make Skill extend BaseTranslatableObject and implement translatable contents collection (#26774)
Fix part of #18422: Fix prerequisite skill not visible in skill editor after merge (#25640)
[GSoC 2026] M2.2 - Fix part of #19614: Add Android-compatible story handler to prevent arc field breakage (#26778)
[GSoC 2026] M2.1 - Fix part of #19614: Backend changes needed for learner side (#26604)
[GSoC 2026] M1.7 - Fix part of #19614: Implement arc-based chapter groupings in story editor (#26393)
[Extension of #23910] Fix part of #18305: Added nested dicts to recorded_voiceovers and written_translations fields in the android study guide data for backward compatibility (#23941)
Fix #18305, #19851: Study guide model generation button (#23518)
Fix #24036: Add custom profile name option for contributor certificates. (#26883)
Fix #24268 Progress not updating for Community Lessons after passing checkpoints for New Learner Dashboard (#24724)
Fixes #25174: Designs a new batched workflow for voiceover generation (#25132)
Fixes part of #21166: Feature that allows users to unpublish stories temporarily (#26050)
Fix #24470: Learner dashboard goals counting draft chapters (#24509)
Fixes #23492 : Fixes bug of Topic/Goal shown as completed even after having uncompleted lessons (#23536)
Adds beam job to synthesize voiceovers for all curated explorations (#23607)
Fix #24714: Add Azure translation adapter and testing emulator 2.1_PR2_PR_3 (#26408)
Voiceover regeneration status visibility in the Exp editor (#23943)
Adds beam job for voiceover synthesis by language accent (#25759)