Releases: openedx/openedx-app-android
Releases · openedx/openedx-app-android
Release v2.2(Ulmo.1)
What's Changed
Course Content View
Introduced improvements to the course experience including:
- New course home with focused views of total course, video, assignment, and grade progress
- Content specific views showing the full course outline, course videos, and course assignments.
- An improved video player allowing learners to jump from video to video
Visual Course Progress
Introduced a mobile version of the course progress page from the LMS
Bug Fixes/ Minor Improvements
Fixed miscellaneous bugs and minor visual improvements including updated landscape views for courses. Details in linked PRs below
Code Maintenance
Removed deprecated code and unused screens and other refactoring. Details in linked PRs below.
Merged PRs
- fix: [FC-0078] RTL, user avatar and dark theme bugs by @PavloNetrebchuk in #426
- Github Action Auto Update Using Dependabot by @beingfaisal in #374
- Performance: Optimized data loading of course by @Sh-AhsanArif in #416
- feat: [FC-0078] Authorization request dialog by @PavloNetrebchuk in #431
- feat: [FC-0078] Downloads page by @PavloNetrebchuk in #432
- feat: [FC-0078] discussion content style by @PavloNetrebchuk in #437
- fix: issue to load the video through chrome-cast device by @k1rill in #436
- fix: [FC-0078] Soft and Forse upgrade fix by @PavloNetrebchuk in #438
- fix: primary course in landscape by @k1rill in #435
- feat: [FC-0078] AllEnrolledCoursesView and DashboardGalleryView tablet layout paddings by @PavloNetrebchuk in #433
- fix: ProgressBarRangeInfo IllegalArgumentException by @volodymyr-chekyrta in #443
- fix: [FC-0078] fetch future course dates for calendar by @volodymyr-chekyrta in #444
- chore: bump foundation version by @volodymyr-chekyrta in #449
- Fix: Logout video removing by @PavloNetrebchuk in #451
- Memory Leak Fix: Ime state handling by @PavloNetrebchuk in #452
- Memory Leak Fix: ViewPager2 Fragment Management by @PavloNetrebchuk in #453
- chore: Delete CODEOWNERS by @kdmccormick in #454
- Refactor: resourses by @PavloNetrebchuk in #455
- fix: R8 by @PavloNetrebchuk in #456
- feat: lib upgrade by @PavloNetrebchuk in #457
- feat: [FC-0092] Course progress tab by @PavloNetrebchuk in #448
- fix: handle NoCachedDataException by @PavloNetrebchuk in #460
- feat: [FC-0092] Course content tabs by @PavloNetrebchuk in #450
- feat: dependencies upgrade by @PavloNetrebchuk in #461
- Feat: Home tab[0092] by @PavloNetrebchuk in #462
- feat: [FC-0092]: Video navigation by @PavloNetrebchuk in #464
- Release v2.2 (Ulmo.1) by @PavloNetrebchuk in #465
New Contributors
- @beingfaisal made their first contribution in #374
- @Sh-AhsanArif made their first contribution in #416
- @kdmccormick made their first contribution in #454
Full Changelog: v2.1...v2.2(Ulmo.1)
Release v2.1
Features:
- Static Code Analyzer:
Introduced Detekt for static analysis and applied several refactorings (e.g., reducing nested block depth and other rule changes) to address warnings. - Browser-Based Authentication:
Added support for login and registration via a browser custom tab, enabling third-party authentication flows.
Fixes:
- Course & Unit Handling:
- Fixed the issue with dataValue for CourseOutline.
- Addressed problems handling units with no descendants and prevented a crash when retrieving the first topic.
- Transcription & Analytics:
- Caught exceptions during transcription file parsing.
- Improved analytics event tracking and added missing events.
- Bulk Download & Offline Mode:
- Fixed a crash during bulk downloads by validating progress values.
- Resolved issues with opening courses in offline mode.
Chores & Refactors:
- Video Playback & Network Handling:
Enabled auto-play for videos when ready and handled the “no network” error for Webview. - Static Analyzer Refactoring:
Made additional minor rule changes and code adjustments as part of the static analyzer integration.
Full Changelog: v2.0...v2.1
Release v2.0
Features:
- Plugin Architecture v1. Connect any analytics service without changes to the codebase.
- New Dashboard level navigation. Primary course experience.
- New Course Home experience.
- FCM integration for push notifications.
- Calendar integration.
- Offline mode.
⚠️ Experimental. - Atlas integration.
Changes:
- fix: Ensure cookies authentication prior to webview loading by @HamzaIsrar12 in #312
- fix: crash when restoring the app after a long period of inactivity by @dixidroid in #290
- feat: [FC-0047] move the certificate view from the banner to the message section by @volodymyr-chekyrta in #321
- chore: enhance app theme capability for prod edX theme/branding by @farhan-arshad-dev in #262
- feat: [FC-0047] Calendar main screen and dialogs by @PavloNetrebchuk in #322
- feat: [FC-0047] Improved Dashboard Level Navigation by @PavloNetrebchuk in #308
- fix: update config parsing structure by @omerhabib26 in #319
- feat: delete old videos Directory by @omerhabib26 in #326
- fix: Accessibility issue on courseDashboard by @omerhabib26 in #327
- feat: [FC-0047] Course progress and collapsing sections by @PavloNetrebchuk in #323
- fix: enable Programs view for new dashboard navigation by @omerhabib26 in #328
- fix: Video downloading bug by @PavloNetrebchuk in #333
- fix: Config feature flag fix by @PavloNetrebchuk in #334
- fix: sourceSets dir fallback by @volodymyr-chekyrta in #335
- fix: Crash on opening a course from DashboardListFragment by @omerhabib26 in #336
- feat: added the external router for deep links by @dixidroid in #320
- fix: UI Issues on Auth Screens by @HamzaIsrar12 in #332
- feat: Add Branch deep links to local calendar events by @HamzaIsrar12 in #249
- feat: atlas push pull scripts: FC-55 by @Amr-Nash in #317
- fix: English plurals error in transifex should be
oneandother| FC-55 by @OmarIthawi in #341 - fix: dashboard view all button by @volodymyr-chekyrta in #345
- chore: validate plurals in strings.xml | FC-55 by @OmarIthawi in #348
- feat: [FC-0047] FCM by @volodymyr-chekyrta in #344
- fix: update keyboard visibility and imeAction by @omerhabib26 in #350
- fix: show only one screen with all downloadable content by @dixidroid in #352
- fix: Video Subtitles on Native and Youtube Player by @HamzaIsrar12 in #349
- feat: Handle Branch Deeplinks from Braze Push Notification by @HamzaIsrar12 in #353
- feat: Fullstory Analytics SDK Implementation by @HamzaIsrar12 in #347
- feat: [FC-0047] Calendar synchronization by @PavloNetrebchuk in #330
- chore: Remove in-code ukranian translations | FC-55 by @OmarIthawi in #342
- feat: [FC-0047] xBlock offline mode by @PavloNetrebchuk in #346
- fix: added default value to the AppConfig to prevent crashes in some cases by @k1rill in #372
- feat: [FC-0047] Relative Dates by @PavloNetrebchuk in #367
- fix: Handle missing email in Facebook login by @dixidroid in #377
- fix: IllegalStateException on supportFragmentManager.popBackStack() by @dixidroid in #379
- fix: disable full story plugin when disabled by @dixidroid in #381
- fix: bug when unable to see new loaded items on the All Courses screen by @dixidroid in #382
- fix: Auto Playing Videos and Discovery's External Browser Pop-Up by @dixidroid in #383
- fix: Fullstory Custom Events by @dixidroid in #384
- fix: ignore IllegalStateException when fragment transaction fails by @dixidroid in #373
- fix: crash when internet disconnected right after opening a course by @dixidroid in #376
- fix: Update course dates prefix on course cards by @dixidroid in #380
- Rename EnrollmentStatus field by @PavloNetrebchuk in #385
- Refactor: Offline by @PavloNetrebchuk in #386
- fix: Support pull to refresh for empty dashboard by @xitij2000 in #375
- fix: Remove student_view_mutli_device dependency for HTML XBlocks by @dixidroid in #388
- feat: add flag to remove registration from app by @kaustavb12 in #387
- feat: added ability update the primary course on the learn tab by @dixidroid in #389
- fix: Minor bugbash fixes by @dixidroid in #390
- Code refactoring and junit tests by @PavloNetrebchuk in #391
- feat: App Level WebView/No Internet Error Handling by @dixidroid in #392
- feat: Course Level Error Handling for Empty States by @dixidroid in #393
- fix: bug when unable to see downloaded html content by @dixidroid in #396
- [FC-0072] Mobile Plugin Architecture by @PavloNetrebchuk in #395
- build: update action versions by @volodymyr-chekyrta in #401
- feat: added ability to handle course errors by @dixidroid in #397
- Develop to main. Release v2 by @PavloNetrebchuk in #399
New Contributors
- @Amr-Nash made their first contribution in #317
- @OmarIthawi made their first contribution in #341
- @xitij2000 made their first contribution in #375
- @kaustavb12 made their first contribution in #387
Full Changelog: v1.5.1...v2.0
Release v1.5.1
What's Changed
- fix: search results are displayed on the search screen by @dixidroid in #288
- refactor: Fine-tune Analytics Events by @omerhabib26 in #292
- feat: [FC-0047] Account Settings + Profile split by @PavloNetrebchuk in #286
- feat: [FC-0047] Full-Bleed Header + Top Navigation by @PavloNetrebchuk in #278
- fix: Modifier.noRippleClickable Modifier factory error by @volodymyr-chekyrta in #311
- chore: Upgrade AGP 8.3 -> 8.4 by @volodymyr-chekyrta in #309
- chore: add openedx.org/release annotation by @cmltaWt0 in #313
- fix: typos by @volodymyr-chekyrta in #310
Full Changelog: v1.5...v1.5.1
Release v1.5
What's Changed
- feat: Pre-Login Experience enhancement by integrating webview discovery by @farhan-arshad-dev in #215
- feat: Segment SDK implementation and destinations by @farhan-arshad-dev in #227
- fix: Added element IDs for automation by @omerhabib26 in #214
- Feat: Download all videos together by @dixidroid in #234
- Fix: changed progress bar style for open content by @dixidroid in #235
- feat: Sync Course Dates to Calendar by @HamzaIsrar12 in #228
- feat: Firebase config by @volodymyr-chekyrta in #233
- feat: eula on registration and sign in by @k1rill in #236
- feat: Branch SDK Integration by @HamzaIsrar12 in #239
- fix: Adjust padding on WebContentScreen by @omerhabib26 in #241
- fix: bug when data is not displayed on the Hangouts and Announcement by @dixidroid in #242
- chore: Update dependency versions by @volodymyr-chekyrta in #253
- fix: bug when video continues to play when exiting content by @dixidroid in #251
- fix: crash after rotating device in open content by @dixidroid in #256
- fix: crash when trying to open a youtube video when offline by @dixidroid in #257
- docs: Update project documentation by @volodymyr-chekyrta in #255
- feat: Braze Push Notifications Capabilities by @HamzaIsrar12 in #261
- fix: bug when sequence units level appear after tapping back by @dixidroid in #260
- Fix: Android Studio Iguana build issues by @volodymyr-chekyrta in #265
- fix: bug when the name of subcategory is empty by @dixidroid in #263
- Fix: toolbar alignment by @volodymyr-chekyrta in #268
- style: Dates Tab Shift Due Dates Success SnackBar Design Changes by @farhan-arshad-dev in #264
- feat: Text and icons adjustment by @PavloNetrebchuk in #266
- feat: Add Analytics events by @omerhabib26 in #258
- Code Health: Warnings by @volodymyr-chekyrta in #267
- fix: removed extra space on the course tab by @dixidroid in #271
- fix: changed the button name when trying to create a question by @dixidroid in #272
- fix: bug when the image change icon was not clickable by @dixidroid in #276
- fix: Analytics Improvements + Update test cases by @omerhabib26 in #277
- refactor: Transfer Discovery Related Screens to Discovery Module by @HamzaIsrar12 in #279
- fix: a bug when Discover and Program screens appear not in the middle by @dixidroid in #269
- fix: Add authentication for primary email change through web by @omerhabib26 in #285
- refactor: Enhance calendar event comparison for migration by @HamzaIsrar12 in #287
- fix: added the offline panel to the discussions screen by @dixidroid in #270
- chore: add maintainership documentation by @cmltaWt0 in #291
Full Changelog: v1.4...v1.5
Release v1.4
What's Changed
- Keep Enums in proguard-rules.pro by @PavloNetrebchuk in #50
- Fixed release build with proguard by @volodymyr-chekyrta in #63
- Gson proguard rules fix by @PavloNetrebchuk in #64
- Minor shared preferences refactoring and few string changes by @PavloNetrebchuk in #66
- Set CourseSubsectionItem icon by block type by @PavloNetrebchuk in #67
- Transcription navigation by @PavloNetrebchuk in #70
- Discussion's user profile by @PavloNetrebchuk in #69
- [docs] adding new github project issue template by @marcotuts in #51
- Feature/landscape by @PavloNetrebchuk in #68
- Fixed content scrolling (Added space at the bottom) by @PavloNetrebchuk in #73
- Fixed: Back button padding by @PavloNetrebchuk in #74
- Feature/add support for jwt tokens by @volodymyr-chekyrta in #71
- Feature/chromecast by @PavloNetrebchuk in #75
- What's new by @PavloNetrebchuk in #77
- Feature/app update by @PavloNetrebchuk in #79
- chore: use correct links inside README by @CodeWithEmad in #82
- HLS video quality by @PavloNetrebchuk in #76
- refactor: build config fields by @k1rill in #87
- feat: Add support for Course Dates tab by @farhan-arshad-dev in #80
- Feature/in app review by @PavloNetrebchuk in #81
- docs: data streams strategy by @k1rill in #92
- Feature/accessibility by @PavloNetrebchuk in #78
- feat: Add Token Refresh Implementation to Network Layer by @HamzaIsrar12 in #84
- feat: Open edX app theming capability improvements by @omerhabib26 in #99
- Fixed title changing on section (sequential) screen by @PavloNetrebchuk in #136
- feat: configuration management by @farhan-arshad-dev in #135
- feat: Add hyperlink for assessments in Dates Tab by @omerhabib26 in #137
- feat: Analytics architecture for multiple libraries by @omerhabib26 in #91
- feat: pre-login mobile app exploration by @omerhabib26 in #86
- fix: new config in AnalyticsManager by @k1rill in #150
- Update standard workflow files. by @feanil in #145
- feat: login with Google, Facebook, Microsoft by @k1rill in #89
- fix: show multiView enabled xBlocks on mobile only by @omerhabib26 in #158
- fix: Update resume course navigation by @omerhabib26 in #151
- refactor: support info section by @k1rill in #160
- fix: crash when trying to get video transcription in main thread by @dixidroid in #170
- Course navigation functionality by @dixidroid in #167
- feat: Add WebView based Discovery Experience by @HamzaIsrar12 in #163
- feat: Pre-login Exploration Enrolment Handling by @farhan-arshad-dev in #169
- feat: redesign CourseDatesFragment by @omerhabib26 in #172
- feat: agreement urls by @k1rill in #174
- feat: api migration by @volodymyr-chekyrta in #171
- fix: Crash on Android 14 when trying to download a content by @dixidroid in #178
- feat: survey content by @dixidroid in #177
- Fix: Minor navigational issues by @dixidroid in #183
- feat: Login through username in the new app by @farhan-arshad-dev in #181
- refactor: Add IDs to elements of landing, login, register, and what's new screens by @farhan-arshad-dev in #189
- feat: Added webView based myPrograms by @omerhabib26 in #176
- feat: added styling to CourseDateBlock by @omerhabib26 in #194
- feat: Course Dates Banner by @HamzaIsrar12 in #197
- feat: theming with config by @k1rill in #196
- fix: update dates icons + minor code refactoring by @omerhabib26 in #212
- feat: added PLS banner for shift dates on Course Dashboard by @omerhabib26 in #211
- Social signup by @k1rill in #208
New Contributors
- @marcotuts made their first contribution in #51
- @CodeWithEmad made their first contribution in #82
- @k1rill made their first contribution in #87
- @farhan-arshad-dev made their first contribution in #80
- @HamzaIsrar12 made their first contribution in #84
- @omerhabib26 made their first contribution in #99
- @feanil made their first contribution in #145
- @dixidroid made their first contribution in #170
Full Changelog: v1.3...v1.4
Release v1.3
What's Changed
- Github workflow
- Bugfixes
- Migrated ExoPlayer to Media3
- Changed license to Apache
Full Changelog: v1.2.1...v1.3
Release v1.2.1
What's Changed
Full Changelog: v1.2...v1.2.1
Release v1.2
What's Changed
- Better course navigation
XBlocks screen was removed, navigation changed from horizontal to vertical↕️ - Firebase Analytics 📈
- Firebase Crashlytics 📉
- Bugfixes for Dashboard, Course, and Discussion modules 🐞
- Fixed iOS 14 issues 🛠️
This is the last major release for iOS 14. The next release will add support for iOS 17 and remove iOS 14. - Renamed workspace to OpenEdX 🔠
Full Changelog: v1.1...v1.2
Release v1.1
- New APIs ⚙️ (README updated)
- Subtitles 📕
- Video on the CourseDetails screen 📺
- Bugfixes 🐞
- Code style and performance improvements 💅