OppiaMobile Server Change Log

v0.12.11 - not yet released - due end Oct 2020

Issue list:

  • OPPIA-437 New export block not including media length
  • OPPIA-451 Add basic Oppia branding to the Django Admin pages
  • OPPIA-455 Add data retention script
  • OPPIA-458 Management command to remove unused tags

v0.12.10 - Released 29 Sept 2020

Issue list:

  • OPPIA-378 Graphs on summary page showing beginning of month
  • OPPIA-412 Publish API can raise MultiValueDictKeyError
  • OPPIA-413 Summary cron lock doesn’t always get removed
  • OPPIA-397 Weblink/Intent for opening/downloading a specific course
  • OPPIA-414 Create script to anonymise database

v0.12.9 - Released 26 Aug 2020

Issue list:

  • OPPIA-389 Allow downloading of Quiz data in similar way to the feedback responses
  • OPPIA-381 Badges awarded not always getting added into the UserCourseSummary table
  • OPPIA-346 Error message when trying to use the makemessages command

v0.12.8 - released 31 July 2020

Issue list:

  • OPPIA-334 If no email is entered when a user registers, it shows (‘’,) as the email address in the Django admin
  • Bugfix for Android Intent
  • Update Pillow library version
  • OPPIA-344 Display the feedback activity responses
  • OPPIA-349 Allow course owners to access draft courses

v0.12.7 - released 1 July 2020

Key updates:

  • Upgrade to Django 2.2.13

Issue list:

  • OPPIA-331 Crash when Admin logs in the first time in a brand new server installation
  • OPPIA-319 In the download courses, make the course listing appear in the same order with the course priority value
  • OPPIA-56 UploadMedia - ability to download all media for a course
  • OPPIA-342 Search users gives a server error
  • OPPIA-369 Course download stats on the course detail page don’t match the course list
  • OPPIA-368 Export of detailed activity to Excel causes error
  • OPPIA-5 Set up IPstack for users country locations

v0.12.6 - released 4 May 2020

Key updates:

  • bug fixes
  • code restructuring for class based views

Issue list:

  • OPPIA-281 Add v2 of the API on the server
  • OPPIA-285 Store time taken for quiz attempts
  • OPPIA-275 Class based views for activitylog
  • OPPIA-273 Class based views for content
  • OPPIA-18 Cursor error when running summary cron on SQLite db
  • OPPIA-200 Graphs on summary page aren’t formatted correctly
  • OPPIA-264 Class based views for profile/manage
  • add django admin search options for some models
  • Updated Pillow package
  • OPPIA-228 Add API endpoint to return the media embed variables
  • OPPIA-260 Show full list of activities and digests for a course
  • OPPIA-310 Deleting a user deletes the current account, not the intended one
  • OPPIA-318 Occasional issues being unable to download courses in the app - “install failed”

v0.12.5 - released 18 Mar 2020

Key updates:

  • Update to Django 2.2.10
  • Option to update profile
  • Improved configuration options
  • Sonarcloud and Django code improvements implemented

Issue list:

  • OPPIA-193 Django-GCM package no longer required
  • OPPIA-206 Move OPPIA_ALLOW_SELF_REGISTRATION to be bool instead of int
  • OPPIA-28 Activity map page configuration
  • OPPIA-16 Github actions: new migration
  • OPPIA-17 Github actions: static files
  • OPPIA-197 Fix the sonarcloud code smells for oppia server
  • OPPIA-258 Fix next redirection vulnerability
  • OPPIA-241 When downloading a course from the server interface, it doesn’t increase the “downloads by users”
  • OPPIA-191 Use get_or_created in uploader.py
  • OPPIA-262 Class based views for reports
  • OPPIA-249 Class based views for av
  • OPPIA-13 Remove management command to update short answer scores
  • OPPIA-197 Fix the sonarcloud code smells for oppia server
  • OPPIA-276 Migrate to using django.urls.path()
  • OPPIA-277 Add email field in the LOGIN response
  • OPPIA-95 Add option for user to edit their profile - online only

v0.12.4 - released 29 Jan 2020

Key updates:

  • update to Django 2.2.9
  • additional tests and improved code coverage (85%+)

Issue list:

  • 717: Create OppiaTestCase class to be used in tests (#717)
  • 586: Add tests for quiz/management/commands/check_duplicate_quizzes.py (#586)
  • 721: Add permissions and tests for the new QuizAttempt/detail views (#721)
  • 566: Add tests for profile password reset (#566)
  • 550: SonarQube - complexity of profile/views.py - several functions (#550)
  • 713: Quiz language dictionaries not being saved correctly (#713)
  • 710: Add tests for gamification/forms.py (#710)
  • OPPIA-32 - Move some other settings from settings.py/settings_secret.py to SettingProperties

v0.12.3 - Released 20 Dec 2019

Key updates:

  • Allow custom fields for profile form
  • API for profile updating
  • Refactoring of API code
  • SonarCloud fixes for duplicate code, code smells and test coverage
  • Remove deprecated quiz API endpoints

Issue list:

  • 697: Fix email sending (#697)
  • 692: Add specific test for implementation (#692)
  • 645: Emailing password reset not working (#645)
  • 682: Update user profile to include custom fields (#682)
  • 687: Add API endpoint for user to update their profile info (#687)
  • 699: Split out api/resources.py into separate files (#699)
  • 605: Remove signup_callback function (#605)
  • 660: In tests for file opening use with … as … instead of file= (#660)
  • 700: Course_download_views allows anyone to download any course (#700)
  • 684: Remove OPPIA_*_EARN_POINTS settings (#684)
  • 709: Upload users function does not work (#709)
  • 552: SonarQube - complexity of quiz/management/commands/update_short_answer_scores.py handle function (#552)
  • 587: Duplicate code blocks in quiz management commands (#587)
  • 548: SonarQube - complexity of oppia/uploader.py - several functions (#548)
  • 551: SonarQube - complexity of quiz/api/serializers.py format_quiz function (#551)
  • 547: SonarQube - complexity of oppia/signals.py tracker_callback function (#547)
  • 712: Quiz API… mainly deprecated? (#712)
  • 678: Display user full quiz attempts and responses (#678)
  • 711: Split out oppia/view.py and profile/view.py into separate files? (#711)

v0.12.2 - Released 27 Nov 2019

Key updates:

  • Additional logging of course publishing
  • Updates for PEP8/Flake8 formatting of code
  • Add pytest integration with Github workflows
  • Remove old/redundant code

Issue list:

  • Updated version of Pillow - https://github.com/DigitalCampus/django-oppia/pull/669
  • 441: Keep log of when a course is republished with the old/new activities - (#441)
  • 542: Remove OPPIA_EXPORT_LOCAL_MINVERSION setting - (#542)
  • 676: Add tests for quiz attempts in activity log upload - (#676)
  • 680: Check that the server can be set up with SQLite as the db - (#680)
  • 512: Remove GCM push/device admin functionality (#512)
  • 685: Add pycodestyle to requirements (#685)
  • 672: Find out why media views showing as 0 (#672)
  • 683: Replace raw_input() with input() (#683)
  • 688: Configure github workflow yml file (#688)
  • 666: Make left hand side bar collapsible (#666)
  • 692: Add specific test for implementation (#692)
  • 667: test_quiz_attempt_points_included test failing (#667)

v0.12.1 - Released 15 Oct 2019

Key updates:

  • Updated version of Django
  • Initial version of DHIS2 export

Issue list:

  • 648: Update to django 2.2.x (#648)
  • 664: Cohort leaderboard shows empty page (#664)
  • 663: Initial version of DHIS2 export (#663)
  • 564: In management commands replace print() with self.stdout.write() (#564)

v0.12.0 - Released 17 Sept 2019

Key updates:

  • Moving to Python 3 and Django 2
  • Use material design layout

Issue list:

  • 539: Moving to python 3 and django 2 (#539)
  • 468: RemovedInDjango20Warning - update for deprecation/changes (#468)
  • 571: For python 3 - replace __unicode__ with __str__ in models (#571)
  • 591: Update media_url_check to remove urllib2 dependency (#591)
  • 601: Python 3 - v0.12.0 branch - check usage of urllib/urllib2/urllib3 (#601)
  • 640: Error with Gamification db migrations on v0.12 branch (#640)
  • 577: Drawer menu for admin users (#577)
  • 625: Crispy-forms - move to using the BootStrap4 template pack (#625)
  • 639: Merge material design branch into latest dev branch (#639)
  • 635: Points/gamification not working on staging server with python 3/django 2 (#635)
  • 636: Deprecation warning for BaseException.message (#636)
  • 638: Fix tests for v0.12.0 branch (#638)
  • 649: Date range selector with styles that match the customizable theme (#649)
  • 646: Upload view fails if user has no associated UserProfile (#646)
  • 650: Add tests for activitylog upload (#650)
  • 655: Updates from SonarQube recommendations (#655)
  • 585: Add tests for recent updates to activity log (#585)
  • 189: Remove CourseXML class as no longer used? (#189)

Previous Versions