{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UpstreamCause",
          "shortDescription" : "Started by upstream project \"UstadMobile-release\" build number 79",
          "upstreamBuild" : 79,
          "upstreamProject" : "UstadMobile-release",
          "upstreamUrl" : "job/UstadMobile-release/"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/release-vsoschool" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 35,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "70ec4e3a7780d0c614dfde383738012ebdfa2472",
            "branch" : [
              {
                "SHA1" : "70ec4e3a7780d0c614dfde383738012ebdfa2472",
                "name" : "refs/remotes/origin/release-vsoschool"
              }
            ]
          },
          "revision" : {
            "SHA1" : "70ec4e3a7780d0c614dfde383738012ebdfa2472",
            "branch" : [
              {
                "SHA1" : "70ec4e3a7780d0c614dfde383738012ebdfa2472",
                "name" : "refs/remotes/origin/release-vsoschool"
              }
            ]
          }
        },
        "refs/remotes/origin/release" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 4,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "18c1757e32c348c9d7b63f7f7437f1dca45da449",
            "branch" : [
              {
                "SHA1" : "18c1757e32c348c9d7b63f7f7437f1dca45da449",
                "name" : "refs/remotes/origin/release"
              }
            ]
          },
          "revision" : {
            "SHA1" : "18c1757e32c348c9d7b63f7f7437f1dca45da449",
            "branch" : [
              {
                "SHA1" : "18c1757e32c348c9d7b63f7f7437f1dca45da449",
                "name" : "refs/remotes/origin/release"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "70ec4e3a7780d0c614dfde383738012ebdfa2472",
        "branch" : [
          {
            "SHA1" : "70ec4e3a7780d0c614dfde383738012ebdfa2472",
            "name" : "refs/remotes/origin/release-vsoschool"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/UstadMobile/UstadMobile.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.tasks.junit.TestResultAction",
      "failCount" : 0,
      "skipCount" : 2,
      "totalCount" : 315,
      "urlName" : "testReport"
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#35",
  "duration" : 1343627,
  "estimatedDuration" : 1365877,
  "executor" : None,
  "fullDisplayName" : "Release-VSO #35",
  "id" : "35",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 35,
  "queueId" : 363,
  "result" : "SUCCESS",
  "timestamp" : 1723819316182,
  "url" : "https://devserver3.ustadmobile.com/jenkins/job/Release-VSO/35/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/ru/strings.xml"
        ],
        "commitId" : "580f7a89d61479e275029b51295216843b2592d2",
        "timestamp" : 1709917310000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Russian)\u000a\u000aCurrently translated at 100.0% (1039 of 1039 strings)\u000a\u000aTranslation: Ustad Mobile/User Interface\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/user-interface/ru/\u000a",
        "date" : "2024-03-08 18:01:50 +0100",
        "id" : "580f7a89d61479e275029b51295216843b2592d2",
        "msg" : "Translated using Weblate (Russian)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ru/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/tg/strings.xml"
        ],
        "commitId" : "1d8f13d9bf15f146a1f461d333b730b022bb1a4c",
        "timestamp" : 1709917311000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Tajik)\u000a\u000aCurrently translated at 100.0% (1039 of 1039 strings)\u000a\u000aTranslation: Ustad Mobile/User Interface\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/user-interface/tg/\u000a",
        "date" : "2024-03-08 18:01:51 +0100",
        "id" : "1d8f13d9bf15f146a1f461d333b730b022bb1a4c",
        "msg" : "Translated using Weblate (Tajik)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/tg/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/tg/plurals_weblate.xml"
        ],
        "commitId" : "ecbd61042640522df7afe81871e8d8cdf52ad6c0",
        "timestamp" : 1709917312000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Tajik)\u000a\u000aCurrently translated at 100.0% (5 of 5 strings)\u000a\u000aTranslation: Ustad Mobile/Plurals\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/plurals/tg/\u000a",
        "date" : "2024-03-08 18:01:52 +0100",
        "id" : "ecbd61042640522df7afe81871e8d8cdf52ad6c0",
        "msg" : "Translated using Weblate (Tajik)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/tg/plurals_weblate.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/ru/plurals_weblate.xml"
        ],
        "commitId" : "2308721b28f7415a41d7435e09e2ab87cd913e66",
        "timestamp" : 1709917313000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Russian)\u000a\u000aCurrently translated at 100.0% (5 of 5 strings)\u000a\u000aTranslation: Ustad Mobile/Plurals\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/plurals/ru/\u000a",
        "date" : "2024-03-08 18:01:53 +0100",
        "id" : "2308721b28f7415a41d7435e09e2ab87cd913e66",
        "msg" : "Translated using Weblate (Russian)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ru/plurals_weblate.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/base/plurals_weblate.xml"
        ],
        "commitId" : "96f3dcec30d1b12ac608b26e90d85668df75994f",
        "timestamp" : 1710443474000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update plurals for weblate\u000a",
        "date" : "2024-03-14 23:11:14 +0400",
        "id" : "96f3dcec30d1b12ac608b26e90d85668df75994f",
        "msg" : "Update plurals for weblate",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/plurals_weblate.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/my/strings.xml",
          "core/src/commonMain/resources/MR/fa/strings.xml",
          "core/src/commonMain/resources/MR/rw/strings.xml",
          "core/src/commonMain/resources/MR/bn/strings.xml",
          "core/src/commonMain/resources/MR/tg/strings.xml",
          "core/src/commonMain/resources/MR/ru/strings.xml",
          "core/src/commonMain/resources/MR/ps/strings.xml",
          "core/src/commonMain/resources/MR/nb-rNO/strings.xml",
          "core/src/commonMain/resources/MR/ar/strings.xml",
          "core/src/commonMain/resources/MR/fr/strings.xml",
          "core/src/commonMain/resources/MR/ne/strings.xml"
        ],
        "commitId" : "5346b2f9f3fe08991cbdf4dfa00487780a6863da",
        "timestamp" : 1710443495000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Update translation files\u000a\u000aUpdated by \"Cleanup translation files\" hook in Weblate.\u000a\u000aTranslation: Ustad Mobile/User Interface\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/user-interface/\u000a",
        "date" : "2024-03-14 20:11:35 +0100",
        "id" : "5346b2f9f3fe08991cbdf4dfa00487780a6863da",
        "msg" : "Update translation files",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ps/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ru/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/nb-rNO/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/fa/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/bn/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/rw/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ar/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/my/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/fr/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ne/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/tg/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/my/strings.xml",
          "core/src/commonMain/resources/MR/fa/strings.xml",
          "core/src/commonMain/resources/MR/rw/strings.xml",
          "core/src/commonMain/resources/MR/bn/strings.xml",
          "core/src/commonMain/resources/MR/tg/strings.xml",
          "core/src/commonMain/resources/MR/ru/strings.xml",
          "core/src/commonMain/resources/MR/ps/strings.xml",
          "core/src/commonMain/resources/MR/ar/strings.xml",
          "core/src/commonMain/resources/MR/fr/strings.xml",
          "core/src/commonMain/resources/MR/ne/strings.xml"
        ],
        "commitId" : "fd64980ec8217e6a658b99ed3aa7e76c23381d11",
        "timestamp" : 1710444513000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Update translation files\u000a\u000aUpdated by \"Cleanup translation files\" hook in Weblate.\u000a\u000aTranslation: Ustad Mobile/User Interface\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/user-interface/\u000a",
        "date" : "2024-03-14 20:28:33 +0100",
        "id" : "fd64980ec8217e6a658b99ed3aa7e76c23381d11",
        "msg" : "Update translation files",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ps/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ar/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/fr/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ru/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/rw/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/bn/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/tg/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/my/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ne/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/fa/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/ru/strings.xml"
        ],
        "commitId" : "4d6a069ab583d045c41e5309b3e2047384bb6e76",
        "timestamp" : 1710763314000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Russian)\u000a\u000aCurrently translated at 100.0% (1070 of 1070 strings)\u000a\u000aTranslation: Ustad Mobile/User Interface\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/user-interface/ru/\u000a",
        "date" : "2024-03-18 13:01:54 +0100",
        "id" : "4d6a069ab583d045c41e5309b3e2047384bb6e76",
        "msg" : "Translated using Weblate (Russian)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ru/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/tg/strings.xml"
        ],
        "commitId" : "365a4edc184907487adab648e67227c0ab4f00b0",
        "timestamp" : 1710763315000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Tajik)\u000a\u000aCurrently translated at 100.0% (1070 of 1070 strings)\u000a\u000aTranslation: Ustad Mobile/User Interface\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/user-interface/tg/\u000a",
        "date" : "2024-03-18 13:01:55 +0100",
        "id" : "365a4edc184907487adab648e67227c0ab4f00b0",
        "msg" : "Translated using Weblate (Tajik)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/tg/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/tg/plurals_weblate.xml"
        ],
        "commitId" : "113792e11b7a3152e6983637cc808113fb0cc22e",
        "timestamp" : 1710763315000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Tajik)\u000a\u000aCurrently translated at 100.0% (8 of 8 strings)\u000a\u000aTranslation: Ustad Mobile/Plurals\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/plurals/tg/\u000a",
        "date" : "2024-03-18 13:01:55 +0100",
        "id" : "113792e11b7a3152e6983637cc808113fb0cc22e",
        "msg" : "Translated using Weblate (Tajik)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/tg/plurals_weblate.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/ru/plurals_weblate.xml"
        ],
        "commitId" : "adb6d8a7a454baa4e907f3c5c78926d07c896db8",
        "timestamp" : 1710763315000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Russian)\u000a\u000aCurrently translated at 100.0% (8 of 8 strings)\u000a\u000aTranslation: Ustad Mobile/Plurals\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/plurals/ru/\u000a",
        "date" : "2024-03-18 13:01:55 +0100",
        "id" : "adb6d8a7a454baa4e907f3c5c78926d07c896db8",
        "msg" : "Translated using Weblate (Russian)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ru/plurals_weblate.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/fa/strings.xml"
        ],
        "commitId" : "fd414261f20ee6d1755361b97ba4c9968d664743",
        "timestamp" : 1711281713000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Persian)\u000a\u000aCurrently translated at 88.0% (942 of 1070 strings)\u000a\u000aTranslation: Ustad Mobile/User Interface\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/user-interface/fa/\u000a",
        "date" : "2024-03-24 13:01:53 +0100",
        "id" : "fd414261f20ee6d1755361b97ba4c9968d664743",
        "msg" : "Translated using Weblate (Persian)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/fa/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/ps/strings.xml"
        ],
        "commitId" : "8baf2b91321eade9a938aeca011c2ac395bb7a30",
        "timestamp" : 1711281714000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Pashto)\u000a\u000aCurrently translated at 59.6% (638 of 1070 strings)\u000a\u000aTranslation: Ustad Mobile/User Interface\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/user-interface/ps/\u000a",
        "date" : "2024-03-24 13:01:54 +0100",
        "id" : "8baf2b91321eade9a938aeca011c2ac395bb7a30",
        "msg" : "Translated using Weblate (Pashto)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ps/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/fa/strings.xml"
        ],
        "commitId" : "1d45cecf15e1934b597865ac8b7129a09d6dbac5",
        "timestamp" : 1711466585000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Persian)\u000a\u000aCurrently translated at 100.0% (1070 of 1070 strings)\u000a\u000aTranslation: Ustad Mobile/User Interface\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/user-interface/fa/\u000a",
        "date" : "2024-03-26 16:23:05 +0100",
        "id" : "1d45cecf15e1934b597865ac8b7129a09d6dbac5",
        "msg" : "Translated using Weblate (Persian)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/fa/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/fa/strings.xml"
        ],
        "commitId" : "09c4ac80cd918bbdf6f368eca1fa3117f6594fa5",
        "timestamp" : 1711467676000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Revert \"Translated using Weblate (Persian)\"\u000a\u000aThis reverts commit 1d45cecf15e1934b597865ac8b7129a09d6dbac5.\u000a",
        "date" : "2024-03-26 19:41:16 +0400",
        "id" : "09c4ac80cd918bbdf6f368eca1fa3117f6594fa5",
        "msg" : "Revert \"Translated using Weblate (Persian)\"",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/fa/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/fa/strings.xml"
        ],
        "commitId" : "9c8a629a67bf302e8b21b0b2e2f05bae9325c339",
        "timestamp" : 1711467676000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Revert \"Translated using Weblate (Persian)\"\u000a\u000aThis reverts commit fd414261f20ee6d1755361b97ba4c9968d664743.\u000a",
        "date" : "2024-03-26 19:41:16 +0400",
        "id" : "9c8a629a67bf302e8b21b0b2e2f05bae9325c339",
        "msg" : "Revert \"Translated using Weblate (Persian)\"",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/fa/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/ps/strings.xml"
        ],
        "commitId" : "201d9f4422b20daf7710fe6b6fd2c7d515ed44fb",
        "timestamp" : 1711612911000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Pashto)\u000a\u000aCurrently translated at 68.3% (731 of 1070 strings)\u000a\u000aTranslation: Ustad Mobile/User Interface\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/user-interface/ps/\u000a",
        "date" : "2024-03-28 09:01:51 +0100",
        "id" : "201d9f4422b20daf7710fe6b6fd2c7d515ed44fb",
        "msg" : "Translated using Weblate (Pashto)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ps/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/fa/strings.xml"
        ],
        "commitId" : "8b86a51c3536b0ac3ba8f5a8e36bae2ec2cb5e88",
        "timestamp" : 1711702910000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Persian)\u000a\u000aCurrently translated at 87.8% (940 of 1070 strings)\u000a\u000aTranslation: Ustad Mobile/User Interface\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/user-interface/fa/\u000a",
        "date" : "2024-03-29 10:01:50 +0100",
        "id" : "8b86a51c3536b0ac3ba8f5a8e36bae2ec2cb5e88",
        "msg" : "Translated using Weblate (Persian)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/fa/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/ps/strings.xml"
        ],
        "commitId" : "238db3b9c1be767a63bc59a3826f83b03157e0c3",
        "timestamp" : 1711702930000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Pashto)\u000a\u000aCurrently translated at 100.0% (1070 of 1070 strings)\u000a\u000aTranslation: Ustad Mobile/User Interface\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/user-interface/ps/\u000a",
        "date" : "2024-03-29 10:02:10 +0100",
        "id" : "238db3b9c1be767a63bc59a3826f83b03157e0c3",
        "msg" : "Translated using Weblate (Pashto)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ps/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/fa/strings.xml"
        ],
        "commitId" : "7eff650f96a80c0e3aa854baf21bfe32b11d5685",
        "timestamp" : 1711821752000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Persian)\u000a\u000aCurrently translated at 100.0% (1070 of 1070 strings)\u000a\u000aTranslation: Ustad Mobile/User Interface\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/user-interface/fa/\u000a",
        "date" : "2024-03-30 19:02:32 +0100",
        "id" : "7eff650f96a80c0e3aa854baf21bfe32b11d5685",
        "msg" : "Translated using Weblate (Persian)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/fa/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/ps/strings.xml"
        ],
        "commitId" : "4634e0e843310dce7eca5ba67476f1f5e7c7ccc8",
        "timestamp" : 1711821753000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Pashto)\u000a\u000aCurrently translated at 100.0% (1070 of 1070 strings)\u000a\u000aTranslation: Ustad Mobile/User Interface\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/user-interface/ps/\u000a",
        "date" : "2024-03-30 19:02:33 +0100",
        "id" : "4634e0e843310dce7eca5ba67476f1f5e7c7ccc8",
        "msg" : "Translated using Weblate (Pashto)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ps/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/004_001_add_assignment.yaml"
        ],
        "commitId" : "7b50ed2ca0aee34be2fca013094d065a33a991d1",
        "timestamp" : 1713423536000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "checklist 4\u000a",
        "date" : "2024-04-18 10:58:56 +0400",
        "id" : "7b50ed2ca0aee34be2fca013094d065a33a991d1",
        "msg" : "checklist 4",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_add_assignment.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_001_add_assignment.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
        ],
        "commitId" : "d0ad3955a80a4d3688b831497332e45b3763c524",
        "timestamp" : 1713964525000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "checklist 4 -5\u000a",
        "date" : "2024-04-24 17:15:25 +0400",
        "id" : "d0ad3955a80a4d3688b831497332e45b3763c524",
        "msg" : "checklist 4 -5",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_add_assignment.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gradle/wrapper/gradle-wrapper.properties",
          "build.gradle"
        ],
        "commitId" : "62700e07404a37f0ac04eb83fb023c5b08502c7b",
        "timestamp" : 1714994571000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Android Gradle plugin.\u000a",
        "date" : "2024-05-06 15:22:51 +0400",
        "id" : "62700e07404a37f0ac04eb83fb023c5b08502c7b",
        "msg" : "Update Android Gradle plugin.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "gradle/wrapper/gradle-wrapper.properties"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/authenticator/AuthenticatorActivity.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/InteropIconAndroid.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/interop/externalapppermissionrequestredirect/GrantExternalAppPermissionRedirectViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/InteropIcon.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt",
          "gradle/libs.versions.toml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GetExternalAppPermissionRequestInfoUseCase.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/interop/externalapppermissionrequest/ExternalAppPermissionRequestScreen.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/xapi/XapiZipContentImporterTest.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GrantExternalAppPermissionUseCaseAndroid.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/UstadBaseActivity.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/interop/InteropIconComponent.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/impl/ContainerStorageManager.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/interop/InteropIconComponent.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/impl/ContainerStorageManager.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AppActivity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/ContainerStorageManager.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GetExternalAppPermissionRequestInfoUseCaseAndroid.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/interop/externalapppermissionrequest/ExternalAppPermissionRequestViewModel.kt",
          "lib-ui-compose/build.gradle.kts",
          "core/src/androidMain/kotlin/com/ustadmobile/core/impl/ContainerStorageManager.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/interop/InteropIconComponent.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GrantExternalAppPermissionUseCase.kt"
        ],
        "commitId" : "6a42614e65a0011b5549c9f7fa2c8e8bd11b1ad7",
        "timestamp" : 1715066455000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Interop work in progress: handle incoming permission request on Android and show details of requesting app.\u000a",
        "date" : "2024-05-07 11:20:55 +0400",
        "id" : "6a42614e65a0011b5549c9f7fa2c8e8bd11b1ad7",
        "msg" : "Interop work in progress: handle incoming permission request on Android and show details of requesting app.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/ContainerStorageManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AppActivity.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/InteropIconAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/interop/externalapppermissionrequestredirect/GrantExternalAppPermissionRedirectViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/xapi/XapiZipContentImporterTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/interop/externalapppermissionrequest/ExternalAppPermissionRequestScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/UstadBaseActivity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/interop/InteropIconComponent.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/interop/externalapppermissionrequest/ExternalAppPermissionRequestViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/InteropIcon.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/ContainerStorageManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/impl/ContainerStorageManager.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/interop/InteropIconComponent.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/impl/ContainerStorageManager.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GetExternalAppPermissionRequestInfoUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/authenticator/AuthenticatorActivity.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GrantExternalAppPermissionUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/interop/InteropIconComponent.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GetExternalAppPermissionRequestInfoUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GrantExternalAppPermissionUseCaseAndroid.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/DeclineExternalAppPermissionUseCase.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/authenticator/AuthenticatorActivity.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/interop/externalapppermissionrequest/ExternalAppPermissionRequestScreen.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GetExternalAppPermissionRequestInfoUseCaseAndroid.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/interop/externalapppermissionrequest/ExternalAppPermissionRequestViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/StoreExternalAppPermissionUseCase.kt",
          "app-android/OFFLINE_API.md",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/DeclineExternalAppPermissionUseCaseAndroid.kt",
          "app-android/OFFLINE_INTENT_API.md",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GetExternalAppPermissionRequestInfoUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GrantExternalAppPermissionUseCase.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GrantExternalAppPermissionUseCaseAndroid.kt"
        ],
        "commitId" : "d82af37870897a18d029c2d201c396bbbb335c37",
        "timestamp" : 1715073894000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Implement approval and denial of a token request from an external app.\u000a",
        "date" : "2024-05-07 13:24:54 +0400",
        "id" : "d82af37870897a18d029c2d201c396bbbb335c37",
        "msg" : "Implement approval and denial of a token request from an external app.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/interop/externalapppermissionrequest/ExternalAppPermissionRequestScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/DeclineExternalAppPermissionUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/interop/externalapppermissionrequest/ExternalAppPermissionRequestViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-android/OFFLINE_INTENT_API.md"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GrantExternalAppPermissionUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/StoreExternalAppPermissionUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/authenticator/AuthenticatorActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GrantExternalAppPermissionUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GetExternalAppPermissionRequestInfoUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-android/OFFLINE_API.md"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GetExternalAppPermissionRequestInfoUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/DeclineExternalAppPermissionUseCaseAndroid.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/authenticator/AuthenticatorActivity.kt",
          "core/build.gradle",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpEndpointUseCase.kt",
          "core/src/androidMain/AndroidManifest.xml",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpEndpointIpcService.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/authenticator/IAuthenticatorActivity.kt",
          "gradle/libs.versions.toml"
        ],
        "commitId" : "948fd11badaac0f9b0eeab53329d7555471c4b5d",
        "timestamp" : 1715084924000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add HttpOverIpc service.\u000a",
        "date" : "2024-05-07 16:28:44 +0400",
        "id" : "948fd11badaac0f9b0eeab53329d7555471c4b5d",
        "msg" : "Add HttpOverIpc service.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/AndroidManifest.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/authenticator/AuthenticatorActivity.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/authenticator/IAuthenticatorActivity.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpEndpointIpcService.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpEndpointUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/isimplerequest/ISimpleTextRequest.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/util/stringvalues/RawHttpHeadersStringValues.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt",
          "app-android/build.gradle",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/util/UstadTestRule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/DiTag.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/UstadHttpOverIpcServer.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointUseCase.kt",
          "core/src/androidMain/AndroidManifest.xml",
          "core/src/androidMain/kotlin/com/ustadmobile/core/util/ext/RawHttpRequestExt.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpEndpointIpcService.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/util/rawhttp/NewRawHttpResponse.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/util/isimplerequest/RawHttpSimpleRequest.kt"
        ],
        "commitId" : "e33852c53fd15c34c2b9071ab8d1f3fd4a0b6bac",
        "timestamp" : 1715102337000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation of HttpOverIpc server - receives request and delegates to UseCase for the required endpoint.\u000a",
        "date" : "2024-05-07 21:18:57 +0400",
        "id" : "e33852c53fd15c34c2b9071ab8d1f3fd4a0b6bac",
        "msg" : "Initial implementation of HttpOverIpc server - receives request and delegates to UseCase for the required endpoint.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/DiTag.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/util/UstadTestRule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/AndroidManifest.xml"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpEndpointIpcService.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/UstadHttpOverIpcServer.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/util/stringvalues/RawHttpHeadersStringValues.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/util/ext/RawHttpRequestExt.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/util/isimplerequest/RawHttpSimpleRequest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/util/rawhttp/NewRawHttpResponse.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/isimplerequest/ISimpleTextRequest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/isimplerequest/ISimpleTextRequest.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/interop/timestamp/ParseFormat8601Timestamp.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ExternalAppPermissionDao.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/interop/timestamp/ParseFormat8601Timestamp.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzDao.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/timestamp/ParseFormat8601Timestamp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpEndpointUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Clazz.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/StoreExternalAppPermissionUseCase.kt",
          "app-android/OFFLINE_API.md",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointUseCase.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/util/isimplerequest/RawHttpSimpleRequest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Status.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GrantExternalAppPermissionUseCaseAndroid.kt"
        ],
        "commitId" : "fc58726148dbe9370ec97cdede21b33d6f1159a4",
        "timestamp" : 1715168303000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation of OneRoster endpoint which will return a Json with a list of classes for a user when provided with a valid token.\u000a",
        "date" : "2024-05-08 15:38:23 +0400",
        "id" : "fc58726148dbe9370ec97cdede21b33d6f1159a4",
        "msg" : "Initial implementation of OneRoster endpoint which will return a Json with a list of classes for a user when provided with a valid token.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpEndpointUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Status.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/StoreExternalAppPermissionUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Clazz.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/util/isimplerequest/RawHttpSimpleRequest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/timestamp/ParseFormat8601Timestamp.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/interop/timestamp/ParseFormat8601Timestamp.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ExternalAppPermissionDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/OFFLINE_API.md"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/interop/timestamp/ParseFormat8601Timestamp.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/isimplerequest/ISimpleTextRequest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GrantExternalAppPermissionUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/authenticator/AuthenticatorActivity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/interop/externalapppermissionrequestredirect/GrantExternalAppPermissionRedirectViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/StringExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/usersession/StartUserSessionUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/siteenterlink/SiteEnterLinkViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/interop/externalapppermissionrequest/ExternalAppPermissionRequestViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/HttpClientExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/NavControllerExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/UstadViewModel.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GrantExternalAppPermissionUseCaseAndroid.kt"
        ],
        "commitId" : "16d2d84ac676714f9f8552c05780a4dc763d30c5",
        "timestamp" : 1715182546000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update external permission grant flow: avoid changing the main active account when an account is selected as part of granting permission to an external app.\u000a\u000aFix cache freshness checker to obey no-cache on request (which actually as per spec just means responses must be validated).\u000a\u000aFix AccountList issue: where max date of birth is zero - this should not be used. Was filtering out accounts incorrectly.\u000a",
        "date" : "2024-05-08 19:35:46 +0400",
        "id" : "16d2d84ac676714f9f8552c05780a4dc763d30c5",
        "msg" : "Update external permission grant flow: avoid changing the main active account when an account is selected as part of granting permission to an external app.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/StringExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/interop/externalapppermissionrequestredirect/GrantExternalAppPermissionRedirectViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/usersession/StartUserSessionUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/interop/externalapppermissionrequest/ExternalAppPermissionRequestViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GrantExternalAppPermissionUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/authenticator/AuthenticatorActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/HttpClientExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/NavControllerExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/UstadViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/siteenterlink/SiteEnterLinkViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/isimplerequest/StringSimpleTextRequest.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpServerUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/UstadHttpOverIpcServer.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt"
        ],
        "commitId" : "8c3f6e2d2762d99e29321e94ee06690e9053e8ee",
        "timestamp" : 1715188075000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Split OneRosterEndpoint into an endpoint that runs the actual logic and queries and an http server adapter that check auth and serializes/deserializes http requests and responses.\u000a",
        "date" : "2024-05-08 21:07:55 +0400",
        "id" : "8c3f6e2d2762d99e29321e94ee06690e9053e8ee",
        "msg" : "Split OneRosterEndpoint into an endpoint that runs the actual logic and queries and an http server adapter that check auth and serializes/deserializes http requests and responses.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/isimplerequest/StringSimpleTextRequest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpServerUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/UstadHttpOverIpcServer.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadClazzAssignmentListItem.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/courseblockupdate/AddOrUpdateCourseBlockUseCase.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/submitterdetail/CourseAssignmentMarkEdit.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/coursegroupset/edit/CourseGroupSetEditScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ext/CourseBlockExt.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/HolidayCalendarEditFragment.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/edit/ContentEntryEditScreen.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/UstadClazzAssignmentListItemPreview.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitassignment/SubmitAssignmentUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/CourseBlockWithCompleteEntity.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/edit/ClazzEditScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/edit/ClazzAssignmentEditScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/courseblock/edit/CourseBlockEditViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/language/edit/LanguageEditScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/site/edit/SiteEditScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/ClazzAssignmentViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModelTest.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/discussionpost/edit/DiscussionPostEditScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadCourseBlockEdit.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/courseblockupdate/CourseBlockListExt.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/schedule/edit/ScheduleEditScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/UstadClazzAssignmentListItem.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/LeavingReasonEditViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/CourseBlock.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/edit/PersonEditScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadCourseBlockEdit.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/report/filteredit/ReportFilterEditScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/courseterminology/edit/CourseTerminologyEditScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzlog/edit/ClazzLogEditScreen.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModelTest.kt"
        ],
        "commitId" : "f94316e81bf246139a4d3340b111081bbe9e2983",
        "timestamp" : 1715241577000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Convert CourseBlock to data class.\u000a",
        "date" : "2024-05-09 11:59:37 +0400",
        "id" : "f94316e81bf246139a4d3340b111081bbe9e2983",
        "msg" : "Convert CourseBlock to data class.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/language/edit/LanguageEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/courseterminology/edit/CourseTerminologyEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadCourseBlockEdit.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/submitterdetail/CourseAssignmentMarkEdit.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/LeavingReasonEditViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitassignment/SubmitAssignmentUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadCourseBlockEdit.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/CourseBlockWithCompleteEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/courseblockupdate/CourseBlockListExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/UstadClazzAssignmentListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ext/CourseBlockExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/report/filteredit/ReportFilterEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzlog/edit/ClazzLogEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/CourseBlock.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/site/edit/SiteEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/UstadClazzAssignmentListItemPreview.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/coursegroupset/edit/CourseGroupSetEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/schedule/edit/ScheduleEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/HolidayCalendarEditFragment.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/edit/PersonEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/login/LoginViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/edit/ContentEntryEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/courseblock/edit/CourseBlockEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadClazzAssignmentListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/edit/ClazzEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/discussionpost/edit/DiscussionPostEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/edit/ClazzAssignmentEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/ClazzAssignmentViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/courseblockupdate/AddOrUpdateCourseBlockUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/webapp-cypress/cypress/support/commands.js"
        ],
        "commitId" : "c14dccd283a3627295d3e5983ab675dd9ca98fae",
        "timestamp" : 1715248347000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update commands.js\u000a\u000aAdd new ustadTypeAndVerifyCommand\u000a",
        "date" : "2024-05-09 13:52:27 +0400",
        "id" : "c14dccd283a3627295d3e5983ab675dd9ca98fae",
        "msg" : "Update commands.js",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/cypress/support/commands.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/GUIDRef.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/isimplerequest/StringSimpleTextRequest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StudentResultDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Result.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpServerUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/CourseBlock.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/GuidRefType.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/172.json",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/StudentResultAndCourseBlockSourcedId.kt"
        ],
        "commitId" : "4fb7582211df2b03bc514e9eefa553442c6f0ed3",
        "timestamp" : 1715250967000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Implement OneRoster getResultsForStudentForClass\u000aAdd migration to add course block sourcedId property.\u000a",
        "date" : "2024-05-09 14:36:07 +0400",
        "id" : "4fb7582211df2b03bc514e9eefa553442c6f0ed3",
        "msg" : "Implement OneRoster getResultsForStudentForClass",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/StudentResultAndCourseBlockSourcedId.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpServerUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/GUIDRef.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/CourseBlock.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/172.json"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/GuidRefType.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/isimplerequest/StringSimpleTextRequest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Result.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StudentResultDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpServerUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/LineItem.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt"
        ],
        "commitId" : "ef93c299dd8130ad9bbfe6d29d117f892c1096e6",
        "timestamp" : 1715253374000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add OneRoster getLineItem endpoint.\u000a",
        "date" : "2024-05-09 15:16:14 +0400",
        "id" : "ef93c299dd8130ad9bbfe6d29d117f892c1096e6",
        "msg" : "Add OneRoster getLineItem endpoint.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/LineItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/isimplerequest/ISimpleTextRequest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/stringvalues/IStringValues.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpServerUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/isimpleresponse/ISimpleTextResponse.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/isimpleresponse/StringSimpleTextResponse.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt"
        ],
        "commitId" : "d91e5e28841f54730471772e438b5394970020e4",
        "timestamp" : 1715256040000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Switch OneRoster responses to use ISimpleTextResponse to ensure that no body (null) vs zero length body (empty string) differentiation.\u000aImplement OneRoster putLineItem.\u000a",
        "date" : "2024-05-09 16:00:40 +0400",
        "id" : "d91e5e28841f54730471772e438b5394970020e4",
        "msg" : "Switch OneRoster responses to use ISimpleTextResponse to ensure that no body (null) vs zero length body (empty string) differentiation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/isimplerequest/ISimpleTextRequest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/isimpleresponse/ISimpleTextResponse.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/stringvalues/IStringValues.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/isimpleresponse/StringSimpleTextResponse.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Result.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Clazz.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpServerUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/LineItem.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StudentResultDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/CourseBlockUidAndClazzUid.kt"
        ],
        "commitId" : "a34e8e7ab93e9ea6ed5ee670b51bc9f947f8c6eb",
        "timestamp" : 1715262420000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Implement OneRoster result API.\u000a",
        "date" : "2024-05-09 17:47:00 +0400",
        "id" : "a34e8e7ab93e9ea6ed5ee670b51bc9f947f8c6eb",
        "msg" : "Implement OneRoster result API.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Clazz.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Result.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/LineItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StudentResultDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/CourseBlockUidAndClazzUid.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "build.gradle"
        ],
        "commitId" : "acfc70798318546c34946c134375d5486eb1762b",
        "timestamp" : 1715269425000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Bump version.\u000a",
        "date" : "2024-05-09 19:43:45 +0400",
        "id" : "acfc70798318546c34946c134375d5486eb1762b",
        "msg" : "Bump version.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gradle/libs.versions.toml"
        ],
        "commitId" : "630b3bfa3ba3374e4f8ca562909886a1cc0f83a7",
        "timestamp" : 1715274543000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update httpoveripc version\u000a",
        "date" : "2024-05-09 21:09:03 +0400",
        "id" : "630b3bfa3ba3374e4f8ca562909886a1cc0f83a7",
        "msg" : "Update httpoveripc version",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/UstadHttpOverIpcServer.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
        ],
        "commitId" : "5d4d0de19eec9aa919e8441f2bfc02b97a81ab89",
        "timestamp" : 1715500917000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix compilation on UstadHttpOverIpcServer with update of HttpOverIpc lib.\u000a",
        "date" : "2024-05-12 12:01:57 +0400",
        "id" : "5d4d0de19eec9aa919e8441f2bfc02b97a81ab89",
        "msg" : "Fix compilation on UstadHttpOverIpcServer with update of HttpOverIpc lib.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/UstadHttpOverIpcServer.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/README-CLUSTER.md"
        ],
        "commitId" : "501aa8f71292b4aea7a683c6e6681cb719bfcef0",
        "timestamp" : 1715504053000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add README-CLUSTER.md\u000a",
        "date" : "2024-05-12 12:54:13 +0400",
        "id" : "501aa8f71292b4aea7a683c6e6681cb719bfcef0",
        "msg" : "Add README-CLUSTER.md",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-database/README-CLUSTER.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzDao.kt",
          "test-end-to-end/android-maestro/e2e-tests/ANDROID_INTEROP_001-can_get_courses_and_store_results.yaml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt",
          "test-end-to-end/android-maestro/common/create_course_with_1teacher_1student.yaml"
        ],
        "commitId" : "ce332993624ab2ef7d448645d737a49c59bd17e5",
        "timestamp" : 1715520603000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "OneRoster updates\u000a\u000a1) Update OneRosterEndpoint to use repository\u000a2) Add initial end-to-end test for OneRoster API user to request a token and get list of courses.\u000a",
        "date" : "2024-05-12 17:30:03 +0400",
        "id" : "ce332993624ab2ef7d448645d737a49c59bd17e5",
        "msg" : "OneRoster updates",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_1teacher_1student.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/ANDROID_INTEROP_001-can_get_courses_and_store_results.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_001_admin_add_new_course_and_teacher.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-test.sh",
          "app-ktor-server/src/dist/ustad-server.conf"
        ],
        "commitId" : "76a4acee9b4460d9f175e016e02ba03e68787727",
        "timestamp" : 1715584090000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "checklist 4 -5\u000a",
        "date" : "2024-05-13 11:08:10 +0400",
        "id" : "76a4acee9b4460d9f175e016e02ba03e68787727",
        "msg" : "checklist 4 -5",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/src/dist/ustad-server.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Result.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpServerUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/LineItem.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt"
        ],
        "commitId" : "e5605e94bf7ab5ca7f4d9f6c5a73b496e2b776e7",
        "timestamp" : 1715601473000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "OneRoster API updates\u000a\u000aValidate put line item and put result to ensure that the related entities (e.g. clazz, person, lineitem)\u000a",
        "date" : "2024-05-13 15:57:53 +0400",
        "id" : "e5605e94bf7ab5ca7f4d9f6c5a73b496e2b776e7",
        "msg" : "OneRoster API updates",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/LineItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Result.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpServerUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/LineItem.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StudentResultDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt"
        ],
        "commitId" : "02711d13119c1af2b6c1ab1e2b8102f0ba6d4ef9",
        "timestamp" : 1715610170000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "OneRoster API updates\u000a\u000aUpdate database functions used for get to use http pull when required.\u000a",
        "date" : "2024-05-13 18:22:50 +0400",
        "id" : "02711d13119c1af2b6c1ab1e2b8102f0ba6d4ef9",
        "msg" : "OneRoster API updates",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StudentResultDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/LineItem.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests.disabled/ANDROID_INTEROP_001-can_get_courses_and_store_results.yaml",
          "test-end-to-end/android-maestro/e2e-tests/ANDROID_INTEROP_001-can_get_courses_and_store_results.yaml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/discussionpost/detail/DiscussionPostDetailScreen.kt",
          "build.gradle",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadClickableTextField.kt"
        ],
        "commitId" : "ae101c465fae68930a2d65fba0ccc24e00af222f",
        "timestamp" : 1715613387000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Move interop maestro test to pending dir\u000aBump version\u000aAdd test tag for discussion post reply field.\u000a",
        "date" : "2024-05-13 19:16:27 +0400",
        "id" : "ae101c465fae68930a2d65fba0ccc24e00af222f",
        "msg" : "Move interop maestro test to pending dir",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/discussionpost/detail/DiscussionPostDetailScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/ANDROID_INTEROP_001-can_get_courses_and_store_results.yaml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadClickableTextField.kt"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/ANDROID_INTEROP_001-can_get_courses_and_store_results.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt"
        ],
        "commitId" : "144397e163892aad5914548d7c7a1dec398c0f8d",
        "timestamp" : 1715628907000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update CourseBlockDao to avoid display of external app CourseBlock in clazzdetail and clazzedit.\u000a",
        "date" : "2024-05-13 23:35:07 +0400",
        "id" : "144397e163892aad5914548d7c7a1dec398c0f8d",
        "msg" : "Update CourseBlockDao to avoid display of external app CourseBlock in clazzdetail and clazzedit.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/Statement.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/ContextActivity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Verb.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/ContextActivity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Statement.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/XObject.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Definition.kt",
          "sharedse/src/commonJvmMain/kotlin/com/ustadmobile/port/sharedse/contentformats/xapi/endpoints/XapiStatementEndpointImpl.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/endpoints/XapiStatementEndpoint.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/Result.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/State.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementEndpoint.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XObject.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/endpoints/XapiStatementEndpointExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Result.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/Definition.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/Actor.kt",
          "sharedse/src/commonJvmMain/kotlin/com/ustadmobile/port/sharedse/contentformats/xapi/endpoints/XapiStateEndpointImpl.kt",
          "sharedse/src/commonJvmMain/kotlin/com/ustadmobile/port/sharedse/impl/http/XapiStateResponder.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Attachment.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/Attachment.kt",
          "sharedse/src/jvmTest/kotlin/com/ustadmobile/sharedse/xapi/TestStatementEndpoint.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/Verb.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/xapi/StatementDeserializer.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/State.kt",
          "sharedse/src/commonJvmMain/kotlin/com/ustadmobile/port/sharedse/contentformats/xapi/endpoints/XapiUtil.kt",
          "sharedse/src/jvmTest/kotlin/com/ustadmobile/sharedse/xapi/TestXapiStatementResponder.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/xapi/ContextDeserializer.kt",
          "sharedse/src/jvmTest/kotlin/com/ustadmobile/sharedse/util/UstadTestRuleSe.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/XContext.kt",
          "sharedse/src/jvmTest/kotlin/com/ustadmobile/sharedse/xapi/TestXapiStateResponder.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/xapi/StatementSerializer.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XContext.kt",
          "sharedse/src/commonJvmMain/kotlin/com/ustadmobile/port/sharedse/impl/http/XapiStatementResponder.kt",
          "sharedse/src/jvmTest/kotlin/com/ustadmobile/sharedse/xapi/TestStateEndpoint.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/endpoints/XapiStateEndpoint.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Actor.kt"
        ],
        "commitId" : "2173a026ec4590b2c747e19855b000569b50f00a",
        "timestamp" : 1715758054000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Convert Xapi model into Kotlin data classes with\u000a",
        "date" : "2024-05-15 11:27:34 +0400",
        "id" : "2173a026ec4590b2c747e19855b000569b50f00a",
        "msg" : "Convert Xapi model into Kotlin data classes with",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "sharedse/src/commonJvmMain/kotlin/com/ustadmobile/port/sharedse/impl/http/XapiStateResponder.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/XContext.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/xapi/ContextDeserializer.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/endpoints/XapiStatementEndpointExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "sharedse/src/jvmTest/kotlin/com/ustadmobile/sharedse/xapi/TestStateEndpoint.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/endpoints/XapiStateEndpoint.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/State.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Actor.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/ContextActivity.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/Definition.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Definition.kt"
          },
          {
            "editType" : "edit",
            "file" : "sharedse/src/jvmTest/kotlin/com/ustadmobile/sharedse/util/UstadTestRuleSe.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Statement.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XContext.kt"
          },
          {
            "editType" : "delete",
            "file" : "sharedse/src/jvmTest/kotlin/com/ustadmobile/sharedse/xapi/TestXapiStateResponder.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/XObject.kt"
          },
          {
            "editType" : "delete",
            "file" : "sharedse/src/jvmTest/kotlin/com/ustadmobile/sharedse/xapi/TestStatementEndpoint.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Attachment.kt"
          },
          {
            "editType" : "delete",
            "file" : "sharedse/src/commonJvmMain/kotlin/com/ustadmobile/port/sharedse/contentformats/xapi/endpoints/XapiStateEndpointImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "sharedse/src/commonJvmMain/kotlin/com/ustadmobile/port/sharedse/contentformats/xapi/endpoints/XapiStatementEndpointImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/Result.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/State.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Verb.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/Verb.kt"
          },
          {
            "editType" : "edit",
            "file" : "sharedse/src/commonJvmMain/kotlin/com/ustadmobile/port/sharedse/contentformats/xapi/endpoints/XapiUtil.kt"
          },
          {
            "editType" : "delete",
            "file" : "sharedse/src/jvmTest/kotlin/com/ustadmobile/sharedse/xapi/TestXapiStatementResponder.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/ContextActivity.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementEndpoint.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/Actor.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Result.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/Statement.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/endpoints/XapiStatementEndpoint.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/xapi/StatementDeserializer.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/xapi/StatementSerializer.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XObject.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/Attachment.kt"
          },
          {
            "editType" : "delete",
            "file" : "sharedse/src/commonJvmMain/kotlin/com/ustadmobile/port/sharedse/impl/http/XapiStatementResponder.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xxhash/XXHashJvmTest.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasherJs.kt",
          "kotlin-js-store/yarn.lock",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHashCommonJvm.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher.kt",
          "gradle/libs.versions.toml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementEndpoint.kt",
          "README.md",
          "core/src/jsMain/kotlin/com/ustadmobile/core/wrappers/cuint/CUINTWrapper.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/wrappers/xxhash/XXHashWrapper.kt",
          "core/build.gradle",
          "core/src/jsTest/kotlin/com/ustadmobile/core/domain/xxhash/XXHashJsTest.kt",
          "build.gradle",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
        ],
        "commitId" : "d2d57a18dde791ff2c8b488472945bd619b2c83b",
        "timestamp" : 1715800267000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add XXHasher support to allow hashing strings (e.g. OneRoster sourcedId, xAPI verbids, etc) into 64bit Long.\u000a",
        "date" : "2024-05-15 23:11:07 +0400",
        "id" : "d2d57a18dde791ff2c8b488472945bd619b2c83b",
        "msg" : "Add XXHasher support to allow hashing strings (e.g. OneRoster sourcedId, xAPI verbids, etc) into 64bit Long.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasherJs.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementEndpoint.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xxhash/XXHashJvmTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jsTest/kotlin/com/ustadmobile/core/domain/xxhash/XXHashJsTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "add",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/wrappers/cuint/CUINTWrapper.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHashCommonJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "build.gradle"
          },
          {
            "editType" : "add",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/wrappers/xxhash/XXHashWrapper.kt"
          },
          {
            "editType" : "edit",
            "file" : "kotlin-js-store/yarn.lock"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-files/content/Assignment_File.pdf",
          "test-end-to-end/android-maestro/e2e-tests/004_011.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_003_user_add_private_comment.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_002_users_add_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_009.yaml",
          "test-end-to-end/android-maestro/common/open_pdf_file.yaml",
          "test-end-to-end/android-maestro/e2e-tests/student_bulk_import.yaml",
          "test-end-to-end/android-maestro/common/add_6_students_by_bulk_import.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_006.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_012.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_007.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_001_add_assignment.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_004.yaml",
          "test-end-to-end/test-files/content/Ustad_Students_List.csv",
          "test-end-to-end/android-maestro/common/add_assignment_file.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_005.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_008.yaml",
          "test-end-to-end/android-maestro/run-maestro-test.sh",
          "test-end-to-end/android-maestro/e2e-tests/004_013.yaml",
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_010.yaml"
        ],
        "commitId" : "f434feac3387702bdd2385d70c8ab401f442c1ad",
        "timestamp" : 1715929080000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "checklist 4 -5\u000a",
        "date" : "2024-05-17 10:58:00 +0400",
        "id" : "f434feac3387702bdd2385d70c8ab401f442c1ad",
        "msg" : "checklist 4 -5",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/student_bulk_import.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/Assignment_File.pdf"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_011.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_013.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/add_assignment_file.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_003_user_add_private_comment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_008.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_add_assignment.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_002_users_add_course_comments.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_006.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_012.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_009.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_007.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/open_pdf_file.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/add_6_students_by_bulk_import.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/Ustad_Students_List.csv"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_010.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_post_on_discussion_board.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementEntityAndDisplayDetails.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementAndSessionDetailDisplay.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/LineItem.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasherExt.kt",
          "gradle/libs.versions.toml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/174.json",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Result.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/CourseBlock.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/UmAppDatabaseExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StatementDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StudentResult.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementEntityWithDisplayDetails.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementWithSessionDetailDisplay.kt"
        ],
        "commitId" : "d32814f32cabc31f1abdce53605e8f1ab03a2659",
        "timestamp" : 1715951057000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update handling of SourcedId on LineItem/CourseBlock, StudentResult.\u000a",
        "date" : "2024-05-17 17:04:17 +0400",
        "id" : "d32814f32cabc31f1abdce53605e8f1ab03a2659",
        "msg" : "Update handling of SourcedId on LineItem/CourseBlock, StudentResult.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/174.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StudentResult.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/CourseBlock.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementEntityWithDisplayDetails.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasherExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/UmAppDatabaseExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementWithSessionDetailDisplay.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementEntityAndDisplayDetails.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementAndSessionDetailDisplay.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/LineItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Result.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StudentResultDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StudentResult.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/175.json",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt"
        ],
        "commitId" : "b1b3e7ef87b5ac2edee60740fcf16005ab0f4b5d",
        "timestamp" : 1715954671000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update schema: add new columns required on StudentResult.\u000a",
        "date" : "2024-05-17 18:04:31 +0400",
        "id" : "b1b3e7ef87b5ac2edee60740fcf16005ab0f4b5d",
        "msg" : "Update schema: add new columns required on StudentResult.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/175.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StudentResultDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StudentResult.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Result.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasherExt.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Status.kt"
        ],
        "commitId" : "f35ff675248fb12be794d1d14b1e216074f8d556",
        "timestamp" : 1715959276000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update OneRoster handling of Result to use xxhash.\u000a",
        "date" : "2024-05-17 19:21:16 +0400",
        "id" : "f35ff675248fb12be794d1d14b1e216074f8d556",
        "msg" : "Update OneRoster handling of Result to use xxhash.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasherExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Status.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Result.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/AgentEntity.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt",
          "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/simple-statement.json",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Statement.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/xapi/StatementDeserializer.kt",
          "gradle/libs.versions.toml",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "core/build.gradle",
          "sharedse/src/jvmTest/kotlin/com/ustadmobile/sharedse/util/UstadTestRuleSe.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiException.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/xapi/StatementSerializer.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementEntity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSession.kt",
          "lib-test-common/src/commonMain/kotlin/com/ustadmobile/util/test/ext/umAppDatabaseSharedTestExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StatementDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/AgentDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Actor.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
        ],
        "commitId" : "6e71d3e9c63b15bd3d818b73427668a43007aa14",
        "timestamp" : 1716033068000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Work in progress implementation of Xapi Statement resource.\u000aUpdate handling of ids to use combined primary keys and xxhash as appropriate.\u000a",
        "date" : "2024-05-18 15:51:08 +0400",
        "id" : "6e71d3e9c63b15bd3d818b73427668a43007aa14",
        "msg" : "Work in progress implementation of Xapi Statement resource.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/AgentEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiException.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Statement.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/AgentDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSession.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-test-common/src/commonMain/kotlin/com/ustadmobile/util/test/ext/umAppDatabaseSharedTestExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/xapi/StatementSerializer.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/simple-statement.json"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/xapi/StatementDeserializer.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Actor.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "sharedse/src/jvmTest/kotlin/com/ustadmobile/sharedse/util/UstadTestRuleSe.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/VerbDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/VerbLangMapEntryDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Verb.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/VerbEntity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/VerbLangMapEntry.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/VerbDaoExt.kt"
        ],
        "commitId" : "7662cac1be1e23dda07812e9215bb4916e6c7def",
        "timestamp" : 1716041924000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add VerbLangMapEntry\u000a",
        "date" : "2024-05-18 18:18:44 +0400",
        "id" : "7662cac1be1e23dda07812e9215bb4916e6c7def",
        "msg" : "Add VerbLangMapEntry",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/VerbLangMapEntryDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/VerbDaoExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/VerbLangMapEntry.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Verb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/VerbDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/VerbEntity.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Result.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Verb.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiException.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiRequire.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Statement.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSession.kt",
          "gradle/libs.versions.toml",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-test-common/src/commonMain/kotlin/com/ustadmobile/util/test/ext/umAppDatabaseSharedTestExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
        ],
        "commitId" : "e1a0622867b1175b2aef372972a25f4df9318476",
        "timestamp" : 1716113070000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "StatementResource implementation\u000a1) Make optional properties on StatementEntity nullable\u000a2) Set StatementEntity result and foreign key properties e.g. contententryuid, cbuid etc\u000a3) Store Verb and and verb langmap entities in the database.\u000a",
        "date" : "2024-05-19 14:04:30 +0400",
        "id" : "e1a0622867b1175b2aef372972a25f4df9318476",
        "msg" : "StatementResource implementation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Result.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Verb.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSession.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiException.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-test-common/src/commonMain/kotlin/com/ustadmobile/util/test/ext/umAppDatabaseSharedTestExt.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiRequire.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Statement.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xxhash/XXHashJvmTest.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/xxhash/XXStringHasherCommonJvm.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasherJs.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64Factory.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzAssignmentRollUp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Verb.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Statement.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasherExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ContentEntryStatementScoreProgressExt.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64CommonJvm.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementEntity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/XObjectEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActor.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiContext.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActorEntity.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiContextActivities.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiAccount.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/State.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHashCommonJvm.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/GroupMemberActorJoin.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/XObjectInteractionEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXStringHasherExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ByteArrayCommonExt.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xxhash/XXStringHasherJs.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailoverviewtab/ContentEntryDetailOverviewScreen.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/util/ext/LongExtTest.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/wrappers/xxhash/XXHashWrapper.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XContext.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiAgent.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementRef.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StatementDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContentEntryStatementScoreProgress.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailoverview/ContentEntryDetailOverviewScreenPreview.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementAndSessionDetailDisplay.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiGroup.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/LineItem.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/ContextActivity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/LongExtCommon.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiObjectType.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Definition.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/endpoints/XapiStatementEndpoint.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XObject.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Result.kt",
          "core/src/jsTest/kotlin/com/ustadmobile/core/domain/xxhash/XXHashJsTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXStringHasher.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ActorDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementEntityAndDisplayDetails.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ReportSeriesExt.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64FactoryCommonJvm.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/AgentEntity.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/locale/entityconstants/ContentCompletionStatusConstants.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/xapi/ContextDeserializer.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/XObjectLangMapEntry.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiRequire.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/PersonWithSessionsDisplay.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-test-common/src/commonMain/kotlin/com/ustadmobile/util/test/ext/umAppDatabaseSharedTestExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/AgentDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Actor.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
        ],
        "commitId" : "104c14a8c7925f2184ceed4ca835efaa1802a0f0",
        "timestamp" : 1716228328000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Additional Xapi implementation:\u000a1) Handle when actor is a group - anonymous or identified. Add support to hash the hashes of the member list to detect if an identified group changed.\u000a2) Add logic to handle tracking identified group changes\u000a3) Add database migration.\u000a4) Change AgentEntity to ActorEntity (used by both Agent and Group objectType).\u000a",
        "date" : "2024-05-20 22:05:28 +0400",
        "id" : "104c14a8c7925f2184ceed4ca835efaa1802a0f0",
        "msg" : "Additional Xapi implementation:",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/wrappers/xxhash/XXHashWrapper.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXStringHasherExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasherJs.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64FactoryCommonJvm.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64Factory.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/XObjectEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiContextActivities.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContentEntryStatementScoreProgress.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementEntityAndDisplayDetails.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/contentformats/xapi/endpoints/XapiStatementEndpoint.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Definition.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/GroupMemberActorJoin.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/XObjectInteractionEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/AgentDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ActorDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHashCommonJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/Result.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XContext.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/AgentEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64CommonJvm.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXStringHasher.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzAssignmentRollUp.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ReportSeriesExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/LineItem.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Statement.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/locale/entityconstants/ContentCompletionStatusConstants.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailoverviewtab/ContentEntryDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiRequire.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/ContextActivity.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Actor.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/State.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActor.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/xapi/ContextDeserializer.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Verb.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xxhash/XXHashJvmTest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/xxhash/XXStringHasherCommonJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ContentEntryStatementScoreProgressExt.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ByteArrayCommonExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StatementDao.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiContext.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementRef.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/PersonWithSessionsDisplay.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActorEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasherExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsTest/kotlin/com/ustadmobile/core/domain/xxhash/XXHashJsTest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xxhash/XXStringHasherJs.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/LongExtCommon.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XObject.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiAgent.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiAccount.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailoverview/ContentEntryDetailOverviewScreenPreview.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementAndSessionDetailDisplay.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/XObjectLangMapEntry.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiGroup.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/util/ext/LongExtTest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiObjectType.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-test-common/src/commonMain/kotlin/com/ustadmobile/util/test/ext/umAppDatabaseSharedTestExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/edit/ClazzAssignmentEditScreen.kt"
        ],
        "commitId" : "fecfbf660e922e0658fb8c72ba1d43152519d95d",
        "timestamp" : 1716286560000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Group submission test tag for assignment edit - assign to clickable box.\u000a",
        "date" : "2024-05-21 14:16:00 +0400",
        "id" : "fecfbf660e922e0658fb8c72ba1d43152519d95d",
        "msg" : "Group submission test tag for assignment edit - assign to clickable box.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/edit/ClazzAssignmentEditScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActorEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiGroup.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/ext/ActorDaoExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/GroupMemberActorJoinDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActorDao.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/ext/GroupMemberActorJoinDaoExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/ActorUidEtagAndLastMod.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/ActorEntityExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActor.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ActorDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
        ],
        "commitId" : "d961a910512f3efccec9bd7057de223e42e82dfb",
        "timestamp" : 1716295001000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update xAPI group handling and commit/update database accordingly.\u000a",
        "date" : "2024-05-21 16:36:41 +0400",
        "id" : "d961a910512f3efccec9bd7057de223e42e82dfb",
        "msg" : "Update xAPI group handling and commit/update database accordingly.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/GroupMemberActorJoinDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ActorDao.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/ext/ActorDaoExt.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/ext/GroupMemberActorJoinDaoExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/ActorEntityExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActorDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/ActorUidEtagAndLastMod.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActor.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiGroup.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActorEntity.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiGroup.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiAgent.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActorDao.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActor.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
        ],
        "commitId" : "3061efb3873d3b304bd53dcc486a7dad28015062",
        "timestamp" : 1716297602000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix setting actor uid on XapiStatement.\u000a",
        "date" : "2024-05-21 17:20:02 +0400",
        "id" : "3061efb3873d3b304bd53dcc486a7dad28015062",
        "msg" : "Fix setting actor uid on XapiStatement.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiAgent.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActorDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiGroup.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActor.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/VerbDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiVerb.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Verb.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/VerbLangMapEntryDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
        ],
        "commitId" : "c4987f51456978510de02db560abedb42acc57d6",
        "timestamp" : 1716298717000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add additional assertions on xapi resource test to verify correct storage of verb\u000a",
        "date" : "2024-05-21 17:38:37 +0400",
        "id" : "c4987f51456978510de02db560abedb42acc57d6",
        "msg" : "Add additional assertions on xapi resource test to verify correct storage of verb",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiVerb.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Verb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/VerbDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/VerbLangMapEntryDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/ActorEntityExt.kt",
          "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/group-statement.json",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActor.kt"
        ],
        "commitId" : "d1c14badbf700565978f85b64ce906d704316d1a",
        "timestamp" : 1716299492000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Test storage of statement where actor is a group.\u000a",
        "date" : "2024-05-21 17:51:32 +0400",
        "id" : "d1c14badbf700565978f85b64ce906d704316d1a",
        "msg" : "Test storage of statement where actor is a group.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/ActorEntityExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/group-statement.json"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActor.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/VerbDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/XapiEntityObjectTypeFlags.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContextXObjectStatementJoinDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementAndSessionDetailDisplay.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiGroup.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ReportFilterWithDisplayDetails.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityEntityDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContextXObjectStatementJoinDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityInteractionEntity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/XObjectDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContextXObjectStatementJoin.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/VerbLangMapEntryDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StatementDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/VerbLangMapEntry.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/XObjectEntity.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/util/ext/ReportWithSeriesWithFiltersExtTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ReportSeriesExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActorEntity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/VerbEntity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/VerbDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityLangMapEntry.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ListExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/VerbLangMapEntry.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StatementDaoExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiVerb.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/VerbEntity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/XObjectInteractionEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityEntity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityExtensionEntity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/XObjectLangMapEntry.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/VerbLangMapEntryDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/UmAppDatabaseExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiAgent.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt",
          "lib-test-common/src/commonMain/kotlin/com/ustadmobile/util/test/ext/umAppDatabaseSharedTestExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StatementDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
        ],
        "commitId" : "7496546a2e07185ef02abcd4003137b76240522b",
        "timestamp" : 1716312376000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Xapi implementation: start handling statement object.\u000a",
        "date" : "2024-05-21 21:26:16 +0400",
        "id" : "7496546a2e07185ef02abcd4003137b76240522b",
        "msg" : "Xapi implementation: start handling statement object.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiVerb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityInteractionEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityLangMapEntry.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/XObjectDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiAgent.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActorEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/XObjectEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityExtensionEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/XObjectInteractionEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/UmAppDatabaseExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/VerbLangMapEntryDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/XObjectLangMapEntry.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StatementDaoCommon.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/VerbLangMapEntry.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ReportFilterWithDisplayDetails.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementAndSessionDetailDisplay.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/XapiEntityObjectTypeFlags.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-test-common/src/commonMain/kotlin/com/ustadmobile/util/test/ext/umAppDatabaseSharedTestExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/VerbEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiGroup.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/VerbEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StatementDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ReportSeriesExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ListExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/VerbDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContextXObjectStatementJoinDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContextXObjectStatementJoin.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContextXObjectStatementJoinDaoCommon.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/VerbDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/VerbLangMapEntryDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StatementDaoExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/VerbLangMapEntry.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/util/ext/ReportWithSeriesWithFiltersExtTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementContextActivityJoin.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiContextActivities.kt",
          "gradle/libs.versions.toml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/JsonExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
        ],
        "commitId" : "a8335ca434cca45f93a10601afde37eea0a6dc69",
        "timestamp" : 1716384165000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Xapi Implementation: add support for statement context activities.\u000a\u000aHandle serialization issue caused by the fact that the context activities can be a single object or an array of objects.\u000a",
        "date" : "2024-05-22 17:22:45 +0400",
        "id" : "a8335ca434cca45f93a10601afde37eea0a6dc69",
        "msg" : "Xapi Implementation: add support for statement context activities.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiContextActivities.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/JsonExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementContextActivityJoin.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiGroup.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiObjectType.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityLangMapEntry.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityLangMapEntryDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityEntityDao.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/StoreActivitiesUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiAgent.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
        ],
        "commitId" : "48e45a47880456962df8bf05d1e68a7b1928dab6",
        "timestamp" : 1716464920000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Store xAPI statements in database and fix statement object definition.\u000aFix handling of when an xAPI Statement object is an Actor or Group: this does not have a 'definition' child object like Activity.\u000aImplement and test activity storage in database (activity itself and lang map properties).\u000a",
        "date" : "2024-05-23 15:48:40 +0400",
        "id" : "48e45a47880456962df8bf05d1e68a7b1928dab6",
        "msg" : "Store xAPI statements in database and fix statement object definition.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityLangMapEntry.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityLangMapEntryDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiAgent.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiGroup.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/StoreActivitiesUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiObjectType.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiInteractionType.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityEntityDao.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/StoreActivitiesUseCase.kt"
        ],
        "commitId" : "ecaa45b4af76808f61684325fe710cb10e56ca08",
        "timestamp" : 1716471012000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Activity Serialization InteractionType to be an enum to match the xAPI spec. Change activity entity interactionType on database to use an int.\u000a",
        "date" : "2024-05-23 17:30:12 +0400",
        "id" : "ecaa45b4af76808f61684325fe710cb10e56ca08",
        "msg" : "Update Activity Serialization InteractionType to be an enum to match the xAPI spec. Change activity entity interactionType on database to use an int.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/StoreActivitiesUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiInteractionType.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityLangMapEntryDaoCommon.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityLangMapEntry.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityLangMapEntryDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityEntityDao.kt",
          "gradle/libs.versions.toml",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityInteractionEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/StoreActivitiesUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityInteractionDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityLangMapEntryDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
        ],
        "commitId" : "7b8f58e7f36b62f36b72eab3d0c4e3fe64b95175",
        "timestamp" : 1716547417000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Handle Xapi Activity interaction properties as per xAPI spec. Join interaction entity with lang map entry.\u000a",
        "date" : "2024-05-24 14:43:37 +0400",
        "id" : "7b8f58e7f36b62f36b72eab3d0c4e3fe64b95175",
        "msg" : "Handle Xapi Activity interaction properties as per xAPI spec. Join interaction entity with lang map entry.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/StoreActivitiesUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityInteractionDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityLangMapEntryDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityInteractionEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityLangMapEntryDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityLangMapEntry.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityLangMapEntryDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Result.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityInteractionDao.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiContextActivities.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityLangMapEntry.kt",
          "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/Xapi-About.txt",
          "gradle/libs.versions.toml",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/multi-choice-statement.json"
        ],
        "commitId" : "8cbb122796197f69f7daaff50e7ab95003220af1",
        "timestamp" : 1716555491000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add assertions to check storage of statement interaction entities and related langmap entries.\u000a",
        "date" : "2024-05-24 16:58:11 +0400",
        "id" : "8cbb122796197f69f7daaff50e7ab95003220af1",
        "msg" : "Add assertions to check storage of statement interaction entities and related langmap entries.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiContextActivities.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/Xapi-About.txt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityLangMapEntry.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Result.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityInteractionDao.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/multi-choice-statement.json"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityExtensionEntity.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/util/ext/ReportWithSeriesWithFiltersExtTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityExtensionDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "gradle/libs.versions.toml",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityInteractionEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/StoreActivitiesUseCase.kt"
        ],
        "commitId" : "d58630bcfb5d460d01c110b57ede6c28d6e8314e",
        "timestamp" : 1716567302000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Implement support for Xapi activity extensions.\u000a",
        "date" : "2024-05-24 20:15:02 +0400",
        "id" : "d58630bcfb5d460d01c110b57ede6c28d6e8314e",
        "msg" : "Implement support for Xapi activity extensions.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/util/ext/ReportWithSeriesWithFiltersExtTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityInteractionEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActivityExtensionDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/StoreActivitiesUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActivityExtensionEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/statement-with-object-actor.json",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
        ],
        "commitId" : "f2b6e11c9dfcea6e3e0acb5428d2dc3494fe8807",
        "timestamp" : 1716568418000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add Xapi support for statements where the object is an actor.\u000a",
        "date" : "2024-05-24 20:33:38 +0400",
        "id" : "f2b6e11c9dfcea6e3e0acb5428d2dc3494fe8807",
        "msg" : "Add Xapi support for statements where the object is an actor.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/statement-with-object-actor.json"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt",
          "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/statement-with-object-statementref.json",
          "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/Readme.txt",
          "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/Xapi-About.txt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementRef.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
        ],
        "commitId" : "7e44ef643c330d98650e071a9af9bd7dc803edd9",
        "timestamp" : 1716569340000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add Xapi support for statements where the object is a StatementRef.\u000a",
        "date" : "2024-05-24 20:49:00 +0400",
        "id" : "7e44ef643c330d98650e071a9af9bd7dc803edd9",
        "msg" : "Add Xapi support for statements where the object is a StatementRef.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/statement-with-object-statementref.json"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/Xapi-About.txt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/Readme.txt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementRef.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/statement-with-object-substatement.json",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
        ],
        "commitId" : "a40f7c147eb0f2d72b5208060021d7eef45a5bfb",
        "timestamp" : 1716573662000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add xAPI support for statement where object is substatement.\u000a",
        "date" : "2024-05-24 22:01:02 +0400",
        "id" : "a40f7c147eb0f2d72b5208060021d7eef45a5bfb",
        "msg" : "Add xAPI support for statement where object is substatement.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/statement-with-object-substatement.json"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
        ],
        "commitId" : "4551fcf8cb9acd6140df5ff97cfd0b40ae11beca",
        "timestamp" : 1716574017000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update migration 185 to include statement entity update (adds substatement boolean).\u000a",
        "date" : "2024-05-24 22:06:57 +0400",
        "id" : "4551fcf8cb9acd6140df5ff97cfd0b40ae11beca",
        "msg" : "Update migration 185 to include statement entity update (adds substatement boolean).",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/appendix-a-long-statement.json",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiContextActivities.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "gradle/libs.versions.toml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementContextActivityJoinDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/StoreActivitiesUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/EntityConstants.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementContextActivityJoin.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
        ],
        "commitId" : "6eb28eb1f82351918f4ee0f9f5e2808d9853d533",
        "timestamp" : 1716725676000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Xapi: add support for statementcontext activity joins to be stored in database.\u000aAdd unit tests and assertions to verify correct storage of statement context activities.\u000a",
        "date" : "2024-05-26 16:14:36 +0400",
        "id" : "6eb28eb1f82351918f4ee0f9f5e2808d9853d533",
        "msg" : "Xapi: add support for statementcontext activity joins to be stored in database.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiContextActivities.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/EntityConstants.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/resources/com/ustadmobile/core/domain/xapi/appendix-a-long-statement.json"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementContextActivityJoinDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementContextActivityJoin.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/StoreActivitiesUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xxhash/XXHashJvmTest.kt",
          "core/src/jsTest/kotlin/com/ustadmobile/core/domain/xxhash/XXHashJsTest.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64Js.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/LongExtCommon.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64FactoryJs.kt"
        ],
        "commitId" : "35c9888689b39b2620f099eea6e6ebada5121a85",
        "timestamp" : 1716729379000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add XXhasher64Js and XXHasher64FactoryJs.\u000a",
        "date" : "2024-05-26 17:16:19 +0400",
        "id" : "35c9888689b39b2620f099eea6e6ebada5121a85",
        "msg" : "Add XXhasher64Js and XXHasher64FactoryJs.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64FactoryJs.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xxhash/XXHasher64Js.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xxhash/XXHashJvmTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/LongExtCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsTest/kotlin/com/ustadmobile/core/domain/xxhash/XXHashJsTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/components/UstadBlockStatusProgressBarPreview.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailoverviewtab/ContentEntryDetailOverviewViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/ContentEntryAndDetail.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActorDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Result.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiResult.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detail/ContentEntryDetailViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/LaunchContentEntryVersionUseCase.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/UstadViewModel.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/epub/LaunchEpubUseCaseJvm.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/186.json",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/BlockStatusProgress.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/contentusagestatementrecorder/XapiContentUsageStatementRecorder.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/DefaultLaunchContentEntryVersionUseCase.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailoverviewtab/ContentEntryDetailOverviewScreen.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseJvm.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseAndroid.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/BlockStatus.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSession.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/theme/Color.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseJs.kt"
        ],
        "commitId" : "bbc65c3981268db6df04b2133a4177419dac359b",
        "timestamp" : 1716971228000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Progress display for Compose/Desktop ContentEntryDetail\u000a",
        "date" : "2024-05-29 12:27:08 +0400",
        "id" : "bbc65c3981268db6df04b2133a4177419dac359b",
        "msg" : "Progress display for Compose/Desktop ContentEntryDetail",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSession.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/theme/Color.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailoverviewtab/ContentEntryDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detail/ContentEntryDetailViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiResult.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/DefaultLaunchContentEntryVersionUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActorDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/BlockStatusProgress.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/components/UstadBlockStatusProgressBarPreview.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/UstadViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/epub/LaunchEpubUseCaseJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/ContentEntryAndDetail.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/LaunchContentEntryVersionUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/contentusagestatementrecorder/XapiContentUsageStatementRecorder.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/Result.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/186.json"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/BlockStatus.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/detailoverviewtab/ContentEntryDetailOverviewScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDaoCommon.kt",
          "gradle/libs.versions.toml",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailoverviewtab/ContentEntryDetailOverviewViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDao.kt"
        ],
        "commitId" : "78e33658b567a59beaa70c500539fd3fb8d00aca",
        "timestamp" : 1716997056000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update door version to fix replication of nullable entities and update display of user progress.\u000a",
        "date" : "2024-05-29 19:37:36 +0400",
        "id" : "78e33658b567a59beaa70c500539fd3fb8d00aca",
        "msg" : "Update door version to fix replication of nullable entities and update display of user progress.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailoverviewtab/ContentEntryDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/CourseBlockAndDisplayDetails.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detailoverview/ClazzDetailOverviewScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt"
        ],
        "commitId" : "9de1414dbc2732dd989405db50bab8230acf62ba",
        "timestamp" : 1717004421000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add display of progress to clazzdetailoverviewscreen on compose.\u000a",
        "date" : "2024-05-29 21:40:21 +0400",
        "id" : "9de1414dbc2732dd989405db50bab8230acf62ba",
        "msg" : "Add display of progress to clazzdetailoverviewscreen on compose.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/CourseBlockAndDisplayDetails.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detailoverview/ClazzDetailOverviewScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/004_008_group_users_add_assignment_and_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_007.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_004.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_006.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_005.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_012.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_008.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_012_peer_marking_for_individual_assignment.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml"
        ],
        "commitId" : "25346cc41b89f5f243e9367c55e23449ca586d73",
        "timestamp" : 1717070504000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "checklist 4 -5\u000a",
        "date" : "2024-05-30 16:01:44 +0400",
        "id" : "25346cc41b89f5f243e9367c55e23449ca586d73",
        "msg" : "checklist 4 -5",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_006.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_012.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_post_on_discussion_board.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_008.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_008_group_users_add_assignment_and_course_comments.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_012_peer_marking_for_individual_assignment.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_007.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/ContentEntryAndListDetail.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/list/ContentEntryListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailoverviewtab/ContentEntryDetailOverviewViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDaoCommon.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/UstadContentEntryListItem.kt"
        ],
        "commitId" : "97fd4d2d4d0d80dd97de24ad0c8646631e44ec0d",
        "timestamp" : 1717076775000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add display of progress status on contententry list screens.\u000aUpdate display of progress on ContentEntryDetail - do not show progress when the screen is opened from a course and the current active user is not a student\u000a",
        "date" : "2024-05-30 17:46:15 +0400",
        "id" : "97fd4d2d4d0d80dd97de24ad0c8646631e44ec0d",
        "msg" : "Add display of progress status on contententry list screens.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/UstadContentEntryListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/list/ContentEntryListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailoverviewtab/ContentEntryDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/ContentEntryAndListDetail.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDao.kt"
        ],
        "commitId" : "69aa8a1397514c53a6fefed9f899bb7f0c4b9bac",
        "timestamp" : 1717080482000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add pull progress entities over http for content entry list as required.\u000a",
        "date" : "2024-05-30 18:48:02 +0400",
        "id" : "69aa8a1397514c53a6fefed9f899bb7f0c4b9bac",
        "msg" : "Add pull progress entities over http for content entry list as required.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailoverviewtab/ContentEntryDetailOverviewScreen.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/BlockStatusProgress.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadBlockStatusProgressBar.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/UstadContentEntryListItem.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/util/ext/PropertiesBuilderExt.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/detailoverview/ClazzDetailOverviewCourseBlockListItem.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadBlockStatusProgressBar.kt"
        ],
        "commitId" : "7aa1238f7a8ad78968097c69de192b96efbf47cd",
        "timestamp" : 1717092250000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Progress display update for React/JS\u000a",
        "date" : "2024-05-30 22:04:10 +0400",
        "id" : "7aa1238f7a8ad78968097c69de192b96efbf47cd",
        "msg" : "Progress display update for React/JS",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/detailoverview/ClazzDetailOverviewCourseBlockListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/UstadContentEntryListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadBlockStatusProgressBar.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/util/ext/PropertiesBuilderExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/detailoverviewtab/ContentEntryDetailOverviewScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/BlockStatusProgress.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadBlockStatusProgressBar.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ReportSeriesExt.kt"
        ],
        "commitId" : "6d662f904624cbf69c2da952d5463e827695c7c9",
        "timestamp" : 1717093648000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add notes on report queries.\u000a",
        "date" : "2024-05-30 22:27:28 +0400",
        "id" : "6d662f904624cbf69c2da952d5463e827695c7c9",
        "msg" : "Add notes on report queries.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ReportSeriesExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/187.json",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/CourseBlock.kt"
        ],
        "commitId" : "247e8f5565d84b5e03ef0506e2c0238d143215f1",
        "timestamp" : 1717260158000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update CourseBlock scoring fields to use nullable floats.\u000a",
        "date" : "2024-06-01 20:42:38 +0400",
        "id" : "247e8f5565d84b5e03ef0506e2c0238d143215f1",
        "msg" : "Update CourseBlock scoring fields to use nullable floats.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/187.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/CourseBlock.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/ClazzAssignmentIntegrationTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/LineItem.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModelTest.kt"
        ],
        "commitId" : "b2a4d28da6e001acd83b88acd8d83f475fc1d6ca",
        "timestamp" : 1717260957000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update core jvm tests to handle courseblock min/max points being nullable.\u000a",
        "date" : "2024-06-01 20:55:57 +0400",
        "id" : "b2a4d28da6e001acd83b88acd8d83f475fc1d6ca",
        "msg" : "Update core jvm tests to handle courseblock min/max points being nullable.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/model/LineItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/ClazzAssignmentIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/UstadAssignmentSubmissionHeader.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadCourseBlockEdit.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/edit/ClazzAssignmentEditPreview.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/courseblock/edit/CourseBlockEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/FloatExt.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailScreenPreview.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/components/UstadCourseBlockEditPreview.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadNumberTextField.kt"
        ],
        "commitId" : "df73fadd94fb008da281313b32627fe2b8074cdd",
        "timestamp" : 1717317972000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update number text field on compose to handle decimal points and nullable numbers.\u000a",
        "date" : "2024-06-02 12:46:12 +0400",
        "id" : "df73fadd94fb008da281313b32627fe2b8074cdd",
        "msg" : "Update number text field on compose to handle decimal points and nullable numbers.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/components/UstadCourseBlockEditPreview.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadNumberTextField.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailScreenPreview.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/edit/ClazzAssignmentEditPreview.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/UstadAssignmentSubmissionHeader.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/courseblock/edit/CourseBlockEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/FloatExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadCourseBlockEdit.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadNumberTextField.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadNullableNumberTextField.kt"
        ],
        "commitId" : "16a1eaca425b90d26327595007dbbe50206a501b",
        "timestamp" : 1717318101000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Move nullable number text field into own file.\u000a",
        "date" : "2024-06-02 12:48:21 +0400",
        "id" : "16a1eaca425b90d26327595007dbbe50206a501b",
        "msg" : "Move nullable number text field into own file.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadNumberTextField.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadNullableNumberTextField.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/submitterdetail/CourseAssignmentMarkEdit.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadNullableNumberTextField.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadNumberTextField.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadCourseBlockEdit.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/BlockStatus.kt"
        ],
        "commitId" : "8e671801a24e2c8d9972f4da098d65e0af77c178",
        "timestamp" : 1717385621000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update React/JS version to accept decimal places for scoring.\u000a",
        "date" : "2024-06-03 09:03:41 +0530",
        "id" : "8e671801a24e2c8d9972f4da098d65e0af77c178",
        "msg" : "Update React/JS version to accept decimal places for scoring.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/submitterdetail/CourseAssignmentMarkEdit.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadNullableNumberTextField.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/BlockStatus.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadNumberTextField.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadCourseBlockEdit.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/CourseBlockAndDisplayDetailsExt.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/detailoverview/ClazzDetailOverviewCourseBlockListItem.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detailoverview/ClazzDetailOverviewScreen.kt"
        ],
        "commitId" : "908f062147d83a638b2b74e48b58d45e94aba99f",
        "timestamp" : 1717387270000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add display of points result to course outline.\u000a",
        "date" : "2024-06-03 09:31:10 +0530",
        "id" : "908f062147d83a638b2b74e48b58d45e94aba99f",
        "msg" : "Add display of points result to course outline.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/detailoverview/ClazzDetailOverviewCourseBlockListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detailoverview/ClazzDetailOverviewScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/CourseBlockAndDisplayDetailsExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDaoCommon.kt"
        ],
        "commitId" : "067972fa1d0f18572c884bdc5bec4bee893ae90a",
        "timestamp" : 1717390927000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix ContentEntry DAO query to use new field name.\u000a",
        "date" : "2024-06-03 10:32:07 +0530",
        "id" : "067972fa1d0f18572c884bdc5bec4bee893ae90a",
        "msg" : "Fix ContentEntry DAO query to use new field name.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDaoCommon.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearJob.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModel.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/ext/XapiStatementExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSession.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearUseCaseJvm.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
        ],
        "commitId" : "55cf48beecdae03849112411efe2b28d551a3a64",
        "timestamp" : 1717506089000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update implementation to save video progress when user navigates away\u000a",
        "date" : "2024-06-04 18:31:29 +0530",
        "id" : "55cf48beecdae03849112411efe2b28d551a3a64",
        "msg" : "Update implementation to save video progress when user navigates away",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSession.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModelTest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearUseCaseJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearJob.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/ext/XapiStatementExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/CourseBlock.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/CommonFloatExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/FloatExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/188.json",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt"
        ],
        "commitId" : "215c122fb98a0daecdfc6711d3c56d3e62fc8d88",
        "timestamp" : 1717610987000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Room migration fixes and initial usage statements for video on Android.\u000a",
        "date" : "2024-06-05 22:09:47 +0400",
        "id" : "215c122fb98a0daecdfc6711d3c56d3e62fc8d88",
        "msg" : "Room migration fixes and initial usage statements for video on Android.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/CommonFloatExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/188.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/CourseBlock.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/FloatExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearWorker.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearUseCaseAndroid.kt"
        ],
        "commitId" : "883f0e58ab9e87a07b8fce7a6841c105a1b9fb6d",
        "timestamp" : 1717682027000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Save progress statements for video viewing on Android\u000a",
        "date" : "2024-06-06 17:53:47 +0400",
        "id" : "883f0e58ab9e87a07b8fce7a6841c105a1b9fb6d",
        "msg" : "Save progress statements for video viewing on Android",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearWorker.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearUseCase.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnUnloadUseCaseJs.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/videocontent/VideoContentScreen.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/xapi/savestatementonclear/SaveStatementOnUnloadRoute.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnUnloadUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/XapiStatementsAndSession.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearUseCaseJs.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/hooks/useBeaconEffect.kt"
        ],
        "commitId" : "a0bc21ec3e23bc2572d8907c0dfe837d49daf35b",
        "timestamp" : 1717697540000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Save progress statements for video viewing on web\u000a\u000aIncluding when the user navigates away to an external site by using sendBeacon\u000a",
        "date" : "2024-06-06 22:12:20 +0400",
        "id" : "a0bc21ec3e23bc2572d8907c0dfe837d49daf35b",
        "msg" : "Save progress statements for video viewing on web",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/xapi/savestatementonclear/SaveStatementOnUnloadRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/XapiStatementsAndSession.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnUnloadUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnUnloadUseCaseJs.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearUseCaseJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/videocontent/VideoContentScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/hooks/useBeaconEffect.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonTest/kotlin/com/ustadmobile/core/test/CommonAssertions.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/noninteractivecontentusagestatementrecorder/NonInteractiveContentXapiStatementRecorder.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/noninteractivecontentusagestatementrecorder/NonInteractiveContentXapiStatementRecorderFactory.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/contentusagestatementrecorder/XapiContentUsageStatementRecorder.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/noninteractivecontentusagestatementrecorder/NonInteractiveContentXapiStatementRecorderTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiVerb.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/epubcontent/EpubContentViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/noninteractivecontent/AbstractNonInteractiveContentViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModelTest.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/components/LifecycleActiveEffect.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/epubcontent/EpubContentScreen.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModel.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/epubcontent/NoFocusScrollLinearLayoutManager.kt"
        ],
        "commitId" : "22b4a387152773cae4ae4eef3b3692aebbf767cd",
        "timestamp" : 1717948837000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Refactor handling of non interactive content progress.\u000a",
        "date" : "2024-06-09 20:00:37 +0400",
        "id" : "22b4a387152773cae4ae4eef3b3692aebbf767cd",
        "msg" : "Refactor handling of non interactive content progress.",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/contentusagestatementrecorder/XapiContentUsageStatementRecorder.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonTest/kotlin/com/ustadmobile/core/test/CommonAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/noninteractivecontentusagestatementrecorder/NonInteractiveContentXapiStatementRecorderTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/videocontent/VideoContentScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/noninteractivecontentusagestatementrecorder/NonInteractiveContentXapiStatementRecorder.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiVerb.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/noninteractivecontentusagestatementrecorder/NonInteractiveContentXapiStatementRecorderFactory.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/epubcontent/EpubContentScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/epubcontent/NoFocusScrollLinearLayoutManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/epubcontent/EpubContentViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/noninteractivecontent/AbstractNonInteractiveContentViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/components/LifecycleActiveEffect.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModelTest.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/epubcontent/EpubContentScreen.kt"
        ],
        "commitId" : "33365e9072bdfc68241ef76e80f7aaacb5c831f4",
        "timestamp" : 1717950757000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add progress tracking for epub on web.\u000a",
        "date" : "2024-06-09 20:32:37 +0400",
        "id" : "33365e9072bdfc68241ef76e80f7aaacb5c831f4",
        "msg" : "Add progress tracking for epub on web.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/epubcontent/EpubContentScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModelTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/VerbEntity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/XapiSessionEntity.kt"
        ],
        "commitId" : "101578af8b8e155e5e352ef452ac5534b5d9a011",
        "timestamp" : 1717954861000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add XapiSessionEntity to database\u000a",
        "date" : "2024-06-09 21:41:01 +0400",
        "id" : "101578af8b8e155e5e352ef452ac5534b5d9a011",
        "msg" : "Add XapiSessionEntity to database",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/XapiSessionEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/VerbEntity.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/004_008_group_users_add_assignment_and_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_008_group_users_add_assignment_and_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_011.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_003_user_add_private_comment.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_003_user_add_private_comment.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_002_users_add_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_009.yaml",
          "test-end-to-end/android-maestro/e2e-tests/student_bulk_import.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_010.yaml",
          "test-end-to-end/android-maestro/common/setDate.js",
          "test-end-to-end/android-maestro/e2e-tests/004_012_peer_marking_for_individual_assignment.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_013.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_012_peer_marking_for_individual_assignment.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_011.yaml",
          "test-end-to-end/webapp-cypress/run-cypress-test.sh",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_002_users_add_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_009.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_013.yaml",
          "test-end-to-end/android-maestro/common/setTime.js",
          "test-end-to-end/android-maestro/e2e-tests/004_010.yaml"
        ],
        "commitId" : "08774682cb780f17b61b6b823d2706c47d07780c",
        "timestamp" : 1718022940000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "checklist 4 -5\u000a",
        "date" : "2024-06-10 16:35:40 +0400",
        "id" : "08774682cb780f17b61b6b823d2706c47d07780c",
        "msg" : "checklist 4 -5",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_009.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/setTime.js"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_013.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_010.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_008_group_users_add_assignment_and_course_comments.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_011.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_009.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_013.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_008_group_users_add_assignment_and_course_comments.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_012_peer_marking_for_individual_assignment.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_003_user_add_private_comment.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/student_bulk_import.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_002_users_add_course_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/run-cypress-test.sh"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/setDate.js"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_010.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_003_user_add_private_comment.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_011.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_012_peer_marking_for_individual_assignment.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_002_users_add_course_comments.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/pdfcontent/PdfFileView.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/pdfcontent/PdfContentViewModel.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/189.json",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/XapiSessionEntity.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/embeddedhttp/EmbeddedHttpServer.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/pdfcontent/PdfFileView.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/epubcontent/EpubContentViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/pdfcontent/PdfContentScreen.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/pdfcontent/PdfFileComponent.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSession.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/epub/LaunchEpubUseCaseJvm.kt"
        ],
        "commitId" : "d20aeda9877666fd0bbb21034e2bb38f47b28a13",
        "timestamp" : 1718035463000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add Jetpack compose desktop and android progress tracking for PDF.\u000a",
        "date" : "2024-06-10 20:04:23 +0400",
        "id" : "d20aeda9877666fd0bbb21034e2bb38f47b28a13",
        "msg" : "Add Jetpack compose desktop and android progress tracking for PDF.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/epub/LaunchEpubUseCaseJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/pdfcontent/PdfContentViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/embeddedhttp/EmbeddedHttpServer.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/pdfcontent/PdfFileView.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/pdfcontent/PdfContentScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/pdfcontent/PdfFileView.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/epubcontent/EpubContentViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSession.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/XapiSessionEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/pdfcontent/PdfFileComponent.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/189.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniCNS-UTF32-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Korea1-1.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-zoomIn.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-GB1-0.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/LICENSE",
          "app-react/src/jsMain/resources/pdf-js/web/images/annotation-noicon.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/ETenms-B5-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/CNS1-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/gu-IN/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/images/treeitem-expanded.svg",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-currentOutlineItem.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/kk/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/sq/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS2004-UTF16-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/be/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/de/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniGB-UTF8-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/LICENSE",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/90pv-RKSJ-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitSerif.pfb",
          "app-react/src/jsMain/resources/pdf-js/web/images/altText_add.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/id/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSC-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/he/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/WP-Symbol.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/mk/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-rotateCw.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-CNS1-1.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-documentProperties.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UTF8-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitFixed.pfb",
          "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/LiberationSans-Regular.ttf",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UTF16-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-viewThumbnail.svg",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-presentationMode.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Japan1-0.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/gd/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/images/annotation-check.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/ETen-B5-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Roman.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/pt-PT/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSCpc-EUC-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UCS2-HW-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniCNS-UTF8-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/ETHK-B5-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Add-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSCms-UHC-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/uk/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-editorStamp.svg",
          "app-react/src/jsMain/resources/pdf-js/web/viewer.mjs.map",
          "app-react/src/jsMain/resources/pdf-js/web/locale/ar/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/sk/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKm314-B5-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/br/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-CNS1-2.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/dsb/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS2004-UTF8-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/fr/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-GB1-1.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKscs-B5-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/hy-AM/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Korea1-0.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/cursor-editorTextHighlight.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UCS2-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UTF32-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBT-EUC-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniGB-UTF32-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/compressed.tracemonkey-pldi-09.pdf",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniKS-UCS2-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/90ms-RKSJ-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-spreadNone.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/cak/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBT-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-scrollPage.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/RKSJ-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/annotation-comment.svg",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/pdfcontent/PdfContentScreen.kt",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-viewOutline.svg",
          "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitSymbol.pfb",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/B5-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/pl/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/tl/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniKS-UTF8-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniCNS-UCS2-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/viewer.mjs",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/B5-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/findbarButton-next.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBTpc-EUC-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniGB-UTF16-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-CNS1-0.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/78-RKSJ-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniCNS-UCS2-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBTpc-EUC-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniKS-UTF8-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/sco/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-GB1-4.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/sr/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/ro/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/ff/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/nl/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-scrollWrapped.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Japan1-4.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/NWP-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/LiberationSans-Bold.ttf",
          "app-react/src/jsMain/resources/pdf-js/web/images/gv-toolbarButton-download.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/ur/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/sc/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-editorFreeText.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/EUC-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-selectTool.svg",
          "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-spreadOdd.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/bs/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/fur/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Korea1-UCS2.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Korea1-2.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBT-EUC-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitFixedItalic.pfb",
          "app-react/src/jsMain/resources/pdf-js/web/debugger.css",
          "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-scrollHorizontal.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/oc/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-rotateCcw.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniGB-UTF16-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniCNS-UTF16-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSCms-UHC-HW-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitSerifBold.pfb",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Ext-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/EUC-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/szl/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-handTool.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/si/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS2004-UTF32-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/zh-CN/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/mr/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/GB-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-spreadEven.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/ltg/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/th/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Hankaku.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-search.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/kab/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/90msp-RKSJ-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Japan1-6.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKdla-B5-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Katakana.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSCms-UHC-HW-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJISX0213-UTF32-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UTF16-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/sv-SE/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-firstPage.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/hu/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-viewLayers.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/fy-NL/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-scrollVertical.svg",
          "app-react/src/jsMain/resources/pdf-js/web/images/loading.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJISX0213-UTF32-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/nb-NO/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/az/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/lij/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/LICENSE_FOXIT",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Ext-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/annotation-help.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/ckb/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Hiragana.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-zoomOut.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/B5pc-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/ru/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/GB-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/hi-IN/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKdla-B5-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/cursor-editorFreeText.svg",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-menuArrow.svg",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-pageDown.svg",
          "app-react/src/jsMain/resources/pdf-js/web/images/annotation-paragraph.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniCNS-UTF32-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Japan1-5.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-secondaryToolbarToggle.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-GB1-5.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-bookmark.svg",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-viewAttachments.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/RKSJ-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/pt-BR/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/CNS1-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/viewer.css",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/ETenms-B5-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/bn/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/es-ES/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/it/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/an/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/ne-NP/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniGB-UCS2-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/gn/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/LiberationSans-Italic.ttf",
          "app-react/src/jsMain/resources/pdf-js/web/locale/uz/viewer.ftl",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitDingbats.pfb",
          "app-react/src/jsMain/resources/pdf-js/web/locale/nn-NO/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJISPro-UTF8-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/tg/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/ga-IE/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/ka/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/lt/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/sat/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/debugger.mjs",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/CNS-EUC-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/B5pc-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-CNS1-4.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/LiberationSans-BoldItalic.ttf",
          "app-react/src/jsMain/resources/pdf-js/web/images/loading-icon.gif",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Japan1-3.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSCms-UHC-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniGB-UTF8-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/locale.json",
          "app-react/src/jsMain/resources/pdf-js/web/viewer.html",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-GB1-3.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSC-EUC-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/en-US/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/ta/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-sidebarToggle.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/et/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/ETHK-B5-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Japan1-2.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/ach/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/km/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/es-CL/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/xh/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKm314-B5-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS2004-UTF8-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/ETen-B5-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-editorInk.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniCNS-UTF16-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitFixedBoldItalic.pfb",
          "app-react/src/jsMain/resources/pdf-js/web/locale/son/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniCNS-UTF8-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/en-CA/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/images/annotation-note.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniGB-UTF32-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/90msp-RKSJ-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UCS2-HW-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSCpc-EUC-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/pa-IN/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/bo/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/ast/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/hsb/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBT-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/ia/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSC-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/scn/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/90pv-RKSJ-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/fa/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/ja/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS2004-UTF32-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/NWP-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Japan1-UCS2.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-CNS1-UCS2.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/kn/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/trs/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/images/editor-toolbar-delete.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/eo/viewer.ftl",
          "app-react/src/jsMain/kotlin/com/ustadmobile/hooks/useMessageEffect.kt",
          "app-react/src/jsMain/resources/pdf-js/web/locale/lo/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-GB1-2.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS2004-UTF16-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSC-Johab-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UTF32-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/ko/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/es-MX/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/da/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/LICENSE_LIBERATION",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UCS2-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/findbarButton-previous.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/rm/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/ca/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKscs-B5-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-CNS1-3.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/78-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBKp-EUC-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/zh-TW/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJISX02132004-UTF32-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/GB-EUC-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Ext-RKSJ-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKm471-B5-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/sl/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-openFile.svg",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-download.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/78-EUC-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/wo/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBK-EUC-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-pageUp.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/78-RKSJ-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/GB-EUC-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSC-Johab-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Ext-RKSJ-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/annotation-paperclip.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/en-GB/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBK2K-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBK-EUC-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKm471-B5-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBKp-EUC-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/skr/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBpc-EUC-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Japan1-1.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/78-EUC-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/tr/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/images/annotation-key.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/78ms-RKSJ-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniKS-UTF16-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/78-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-editorHighlight.svg",
          "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitSerifBoldItalic.pfb",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKdlb-B5-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/cs/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/images/cursor-editorFreeHighlight.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/my/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/hr/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/90ms-RKSJ-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-lastPage.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/vi/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/is/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniKS-UCS2-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniKS-UTF16-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Add-RKSJ-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/af/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitSerifItalic.pfb",
          "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-print.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/gl/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/el/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/meh/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/78ms-RKSJ-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-CNS1-5.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/te/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/CNS2-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Add-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/ms/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/CNS2-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Add-RKSJ-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/hye/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJISPro-UCS2-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/annotation-insert.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/eu/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/CNS-EUC-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/brx/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/bg/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/images/annotation-pushpin.svg",
          "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitFixedBold.pfb",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniKS-UTF32-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKdlb-B5-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKgccs-B5-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-CNS1-6.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-GB1-UCS2.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniKS-UTF32-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UTF8-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/altText_done.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/cy/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSC-EUC-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKgccs-B5-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/treeitem-collapsed.svg",
          "app-react/src/jsMain/resources/pdf-js/web/locale/fi/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/locale/es-AR/viewer.ftl",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBpc-EUC-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/annotation-newparagraph.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJISX02132004-UTF32-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/images/cursor-editorInk.svg",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBK2K-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniGB-UCS2-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJISPro-UCS2-HW-V.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/cmaps/83pv-RKSJ-H.bcmap",
          "app-react/src/jsMain/resources/pdf-js/web/locale/lv/viewer.ftl"
        ],
        "commitId" : "8e87dd152628ab9901d7e5f71e25693bc128d710",
        "timestamp" : 1718124820000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add support for PDF page change listening on JS version.\u000a",
        "date" : "2024-06-11 20:53:40 +0400",
        "id" : "8e87dd152628ab9901d7e5f71e25693bc128d710",
        "msg" : "Add support for PDF page change listening on JS version.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/GB-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBK-EUC-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/nn-NO/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Add-RKSJ-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/B5-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitFixedBoldItalic.pfb"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBK-EUC-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJISX02132004-UTF32-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/he/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Roman.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/lt/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/ltg/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniKS-UTF8-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-GB1-UCS2.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/CNS-EUC-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/ro/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/CNS1-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSC-Johab-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS2004-UTF16-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/be/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/lij/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Hankaku.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/ru/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-CNS1-UCS2.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/findbarButton-next.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-scrollWrapped.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UCS2-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/ast/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Korea1-1.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKdla-B5-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Ext-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS2004-UTF32-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Korea1-UCS2.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/rm/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/annotation-check.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-spreadNone.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/sc/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/ETen-B5-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-scrollVertical.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-zoomIn.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/son/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/ff/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniKS-UCS2-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/LiberationSans-Bold.ttf"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Japan1-1.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/annotation-key.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/cak/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSCms-UHC-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitDingbats.pfb"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/RKSJ-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-GB1-2.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/altText_done.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-currentOutlineItem.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/lv/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniCNS-UTF32-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-editorStamp.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/annotation-paragraph.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/af/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitSerifItalic.pfb"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/LiberationSans-Regular.ttf"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/90ms-RKSJ-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-viewOutline.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniGB-UTF8-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/NWP-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/altText_add.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-secondaryToolbarToggle.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJISX02132004-UTF32-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSC-EUC-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/treeitem-expanded.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Add-RKSJ-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/viewer.mjs.map"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniGB-UCS2-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJISPro-UCS2-HW-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJISPro-UTF8-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBTpc-EUC-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKdlb-B5-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/ta/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/hooks/useMessageEffect.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniKS-UTF16-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/si/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Korea1-0.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/fa/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitFixedBold.pfb"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-CNS1-1.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/ia/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/90msp-RKSJ-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/B5pc-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitFixed.pfb"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/EUC-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/CNS2-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Ext-RKSJ-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/sat/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKscs-B5-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-editorFreeText.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Japan1-6.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/nl/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/zh-CN/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKgccs-B5-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/90pv-RKSJ-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/ne-NP/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSCms-UHC-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/es-MX/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/szl/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/annotation-help.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSC-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniKS-UTF8-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/skr/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/tr/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/90ms-RKSJ-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UCS2-HW-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/brx/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/gd/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitSerifBold.pfb"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS2004-UTF16-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/hsb/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/ka/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/hu/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/78-EUC-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/ETHK-B5-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSCms-UHC-HW-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/eo/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/th/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/EUC-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/sco/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKm471-B5-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-firstPage.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/LiberationSans-BoldItalic.ttf"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UTF32-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-GB1-1.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniGB-UTF16-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/fy-NL/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJISPro-UCS2-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBKp-EUC-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/gu-IN/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBpc-EUC-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UTF8-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Add-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Hiragana.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniCNS-UTF16-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/CNS2-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/dsb/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-bookmark.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/pa-IN/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSC-EUC-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/90msp-RKSJ-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/annotation-newparagraph.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/km/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/LICENSE"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSCpc-EUC-H.bcmap"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/LICENSE_FOXIT"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-scrollPage.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/bn/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-editorInk.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/et/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/sl/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKdlb-B5-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/nb-NO/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-openFile.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/RKSJ-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/cursor-editorFreeText.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-CNS1-5.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Japan1-4.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/es-AR/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/90pv-RKSJ-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitSerif.pfb"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/ETen-B5-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKscs-B5-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniGB-UTF16-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/oc/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/tl/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/78-RKSJ-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/cursor-editorInk.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Japan1-UCS2.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/en-GB/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBT-EUC-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitSymbol.pfb"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS2004-UTF8-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/gv-toolbarButton-download.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/is/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/ar/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/gl/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UTF16-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBKp-EUC-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/78-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJISX0213-UTF32-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/hr/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniCNS-UTF32-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/debugger.mjs"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-GB1-4.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-spreadEven.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/viewer.html"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Japan1-5.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/kab/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/pt-PT/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/GB-EUC-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniGB-UTF8-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/mk/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/ja/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/loading-icon.gif"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSC-Johab-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UCS2-HW-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/scn/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/B5pc-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/el/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/en-US/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Ext-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/annotation-noicon.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-documentProperties.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/78ms-RKSJ-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-rotateCcw.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/ur/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/loading.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/ach/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/ga-IE/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBTpc-EUC-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKdla-B5-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/kk/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/pt-BR/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-GB1-3.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSCms-UHC-HW-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-editorHighlight.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/cursor-editorFreeHighlight.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-lastPage.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/annotation-insert.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-GB1-5.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-viewThumbnail.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBT-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/sk/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-menuArrow.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/annotation-comment.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/ca/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKm314-B5-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKm314-B5-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/bg/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Korea1-2.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniKS-UTF16-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniKS-UTF32-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/my/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/hye/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/sr/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/uz/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-CNS1-4.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-CNS1-2.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniGB-UTF32-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-selectTool.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/gn/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniKS-UCS2-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/viewer.mjs"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/zh-TW/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/findbarButton-previous.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/es-ES/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-zoomOut.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/LICENSE_LIBERATION"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/eu/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-handTool.svg"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/pdfcontent/PdfContentScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniGB-UCS2-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-search.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/sq/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/WP-Symbol.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-viewAttachments.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/editor-toolbar-delete.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/br/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/az/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/GB-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Katakana.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/annotation-note.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/kn/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/78-EUC-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBT-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBK2K-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniKS-UTF32-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-pageUp.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/bs/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/ETenms-B5-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-presentationMode.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Japan1-0.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-sidebarToggle.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/CNS-EUC-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Add-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSC-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/wo/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitFixedItalic.pfb"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/uk/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniCNS-UTF8-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniGB-UTF32-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/it/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/pl/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UTF8-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/annotation-pushpin.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-rotateCw.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-viewLayers.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-CNS1-3.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKm471-B5-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/compressed.tracemonkey-pldi-09.pdf"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/B5-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/debugger.css"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/cs/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/78-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/cursor-editorTextHighlight.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-GB1-0.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/GB-EUC-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/KSCpc-EUC-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-CNS1-6.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/LICENSE"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/treeitem-collapsed.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS2004-UTF32-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/cy/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/LiberationSans-Italic.ttf"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/83pv-RKSJ-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-scrollHorizontal.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/78-RKSJ-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBpc-EUC-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/hy-AM/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/ms/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/trs/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-CNS1-0.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Japan1-2.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/id/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Adobe-Japan1-3.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/HKgccs-B5-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UTF32-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/meh/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/fr/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/fur/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/en-CA/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/ko/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UTF16-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/CNS1-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/tg/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS2004-UTF8-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniCNS-UTF16-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/annotation-paperclip.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/ckb/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/de/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-pageDown.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/sv-SE/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJISX0213-UTF32-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/bo/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-download.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/78ms-RKSJ-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniCNS-UCS2-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/viewer.css"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniCNS-UCS2-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/lo/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/te/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/ETHK-B5-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniCNS-UTF8-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/fi/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/an/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/es-CL/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/mr/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/secondaryToolbarButton-spreadOdd.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/hi-IN/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/ETenms-B5-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBT-EUC-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/xh/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/vi/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/Ext-RKSJ-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/images/toolbarButton-print.svg"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/da/viewer.ftl"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/locale/locale.json"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/GBK2K-V.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/standard_fonts/FoxitSerifBoldItalic.pfb"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/NWP-H.bcmap"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/resources/pdf-js/web/cmaps/UniJIS-UCS2-H.bcmap"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/pdfcontent/PdfContentScreen.kt"
        ],
        "commitId" : "ff41c8bf9738a586680ae7cdc73093c666effc36",
        "timestamp" : 1718127038000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Pass PDF progress to viewmodel on Kotlin/JS\u000a",
        "date" : "2024-06-11 21:30:38 +0400",
        "id" : "ff41c8bf9738a586680ae7cdc73093c666effc36",
        "msg" : "Pass PDF progress to viewmodel on Kotlin/JS",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/pdfcontent/PdfContentScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/pdfcontent/PdfContentScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/epubcontent/EpubContentScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/hooks/useWindowFocusedEffect.kt"
        ],
        "commitId" : "279447c82580ec9c89147b71bca5fbeb1c35f9ca",
        "timestamp" : 1718128287000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Use focus/blur events on Kotlin/JS to track the time that the user is actively using an Epub/PDF.\u000a",
        "date" : "2024-06-11 21:51:27 +0400",
        "id" : "279447c82580ec9c89147b71bca5fbeb1c35f9ca",
        "msg" : "Use focus/blur events on Kotlin/JS to track the time that the user is actively using an Epub/PDF.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/epubcontent/EpubContentScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/hooks/useWindowFocusedEffect.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/pdfcontent/PdfContentScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/PersonExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/CourseGroupMemberAndPerson.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/embeddedhttp/EmbeddedHttpServer.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseGroupMemberDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/coursegroup/CreateXapiGroupForCourseGroupUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/ClazzAssignmentIntegrationTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiAgent.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/CourseBlockAndAssignment.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailScreenPreview.kt"
        ],
        "commitId" : "b70f53cae4d257b6f561923941222cf5c80003de",
        "timestamp" : 1718386978000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial statement generation for assignment mark.\u000a",
        "date" : "2024-06-14 21:42:58 +0400",
        "id" : "b70f53cae4d257b6f561923941222cf5c80003de",
        "msg" : "Initial statement generation for assignment mark.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/embeddedhttp/EmbeddedHttpServer.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailScreenPreview.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseGroupMemberDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/ClazzAssignmentIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiAgent.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/CourseBlockAndAssignment.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/CourseGroupMemberAndPerson.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/coursegroup/CreateXapiGroupForCourseGroupUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/PersonExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/person/list/PersonListScreenPreview.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzAssignmentWithTimezone.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/PersonExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/CourseGroupMemberPerson.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCaseTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzAssignment.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/components/virtuallist/VirtualListPreview.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzAssignmentWithMetrics.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseGroupMemberDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitassignment/SubmitAssignmentUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/PersonWithDisplayDetails.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/coursegroup/CreateXapiGroupForCourseGroupUseCaseTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/ClazzAssignmentAndBlock.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/CourseGroupMember.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzAssignmentWithCourseBlock.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzAssignmentDao.kt"
        ],
        "commitId" : "e71b015d2bf68aa73f5187fbe91dbea2b7abb096",
        "timestamp" : 1718463678000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add test for CreateXapiGroupForCourseGroupUseCaseTest\u000a",
        "date" : "2024-06-15 19:01:18 +0400",
        "id" : "e71b015d2bf68aa73f5187fbe91dbea2b7abb096",
        "msg" : "Add test for CreateXapiGroupForCourseGroupUseCaseTest",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzAssignmentWithTimezone.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/PersonExt.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/coursegroup/CreateXapiGroupForCourseGroupUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzAssignmentDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/components/virtuallist/VirtualListPreview.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitassignment/SubmitAssignmentUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/ClazzAssignmentAndBlock.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/PersonWithDisplayDetails.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCaseTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzAssignmentWithMetrics.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzAssignmentWithCourseBlock.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/CourseGroupMemberPerson.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzAssignment.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/person/list/PersonListScreenPreview.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/CourseGroupMember.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseGroupMemberDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt"
        ],
        "commitId" : "501fc4b6924a03da71d66fa6feab4a513335e054",
        "timestamp" : 1718474758000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update SubmitMarkUseCase to generate Xapi statement for assignment mark.\u000a",
        "date" : "2024-06-15 22:05:58 +0400",
        "id" : "501fc4b6924a03da71d66fa6feab4a513335e054",
        "msg" : "Update SubmitMarkUseCase to generate Xapi statement for assignment mark.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntityJson.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/progressreport/ClazzProgressReportPagingSource.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/StudentAndBlockStatuses.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/progressreport/ClazzProgressReportViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementEntityJsonDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
        ],
        "commitId" : "2ae903bd31936d6173efa86a65ff28b18da6df1b",
        "timestamp" : 1718543354000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Move StatementEntity.fullStatement json into a new entity (such that results can be displayed without downloading the full statement string).\u000a",
        "date" : "2024-06-16 17:09:14 +0400",
        "id" : "2ae903bd31936d6173efa86a65ff28b18da6df1b",
        "msg" : "Move StatementEntity.fullStatement json into a new entity (such that results can be displayed without downloading the full statement string).",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/StudentAndBlockStatuses.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntityJson.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementEntityJsonDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/progressreport/ClazzProgressReportPagingSource.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/progressreport/ClazzProgressReportViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/progressreport/ClazzProgressReportPagingSource.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detail/ClazzDetailViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/progressreport/ClazzProgressReportScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/progressreport/ClazzProgressReportViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzDao.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/progressreport/ClazzProgressReportScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/ClazzAndDetailPermissions.kt",
          "gradle/libs.versions.toml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detail/ClazzDetailScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/paging/RememberDoorRepoPager.kt",
          "lib-ui-compose/build.gradle.kts",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt"
        ],
        "commitId" : "c45c77ac4b91b44829fdc6264d482aa30d6a6f36",
        "timestamp" : 1718653710000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Work in progress student progress report.\u000a",
        "date" : "2024-06-17 23:48:30 +0400",
        "id" : "c45c77ac4b91b44829fdc6264d482aa30d6a6f36",
        "msg" : "Work in progress student progress report.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detail/ClazzDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/progressreport/ClazzProgressReportScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detail/ClazzDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/progressreport/ClazzProgressReportViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/progressreport/ClazzProgressReportPagingSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/paging/RememberDoorRepoPager.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/progressreport/ClazzProgressReportScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/ClazzAndDetailPermissions.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/build.gradle.kts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/190.json",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt"
        ],
        "commitId" : "7a62b590865f760a43b794f19ff4f5c95faeabc8",
        "timestamp" : 1718654237000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update CourseBlockDao to fix db typo.\u000a",
        "date" : "2024-06-17 23:57:17 +0400",
        "id" : "7a62b590865f760a43b794f19ff4f5c95faeabc8",
        "msg" : "Update CourseBlockDao to fix db typo.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/190.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android-baselineprofile/build.gradle.kts",
          "gradle/wrapper/gradle-wrapper.properties",
          "core/build.gradle",
          "gradle/libs.versions.toml",
          "build.gradle"
        ],
        "commitId" : "f5f9ec7fabf8c5336f3747e474b887d7323d3b36",
        "timestamp" : 1718709203000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Android Gradle Plugin and fix PDF dependency.\u000a\u000aAndroid PDF dependency artifact group name was changed.\u000a",
        "date" : "2024-06-18 15:13:23 +0400",
        "id" : "f5f9ec7fabf8c5336f3747e474b887d7323d3b36",
        "msg" : "Update Android Gradle Plugin and fix PDF dependency.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android-baselineprofile/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "gradle/wrapper/gradle-wrapper.properties"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "README.md",
          "app-android/README.md"
        ],
        "commitId" : "8e1919a253e2b64ca76b3bd6cd361aae7db9225e",
        "timestamp" : 1718709542000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update README to reflect new baseline profile requirements.\u000a",
        "date" : "2024-06-18 15:19:02 +0400",
        "id" : "8e1919a253e2b64ca76b3bd6cd361aae7db9225e",
        "msg" : "Update README to reflect new baseline profile requirements.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "edit",
            "file" : "app-android/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android-baselineprofile/build.gradle.kts",
          "gradle/libs.versions.toml",
          "app-android/build.gradle",
          "build.gradle"
        ],
        "commitId" : "c30d75434c2f14a463e39a1dc083f66eb9c5fa31",
        "timestamp" : 1718732325000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add Android emulator plugin to start emulator for baseline profile generation.\u000a",
        "date" : "2024-06-18 21:38:45 +0400",
        "id" : "c30d75434c2f14a463e39a1dc083f66eb9c5fa31",
        "msg" : "Add Android emulator plugin to start emulator for baseline profile generation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "app-android-baselineprofile/build.gradle.kts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/README.md",
          "README.md"
        ],
        "commitId" : "230e915f7e52056ef41d99ec247a736804a512a0",
        "timestamp" : 1718786045000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update README : Installing Android command line tools is required.\u000a",
        "date" : "2024-06-19 12:34:05 +0400",
        "id" : "230e915f7e52056ef41d99ec247a736804a512a0",
        "msg" : "Update README : Installing Android command line tools is required.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/README.md"
          },
          {
            "editType" : "edit",
            "file" : "README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/progressreport/ClazzProgressReportScreen.kt"
        ],
        "commitId" : "ea3790cdcc606416d589a10004361e7c043584de",
        "timestamp" : 1718874517000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Improve ClazzProgressReportScreen scrolling on web.\u000a\u000aUse a single element for both horizontal and vertical scrolling. Use CSS sticky property without requiring event listener to ensure pinning student names and headers is smooth.\u000a",
        "date" : "2024-06-20 13:08:37 +0400",
        "id" : "ea3790cdcc606416d589a10004361e7c043584de",
        "msg" : "Improve ClazzProgressReportScreen scrolling on web.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/progressreport/ClazzProgressReportScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/resources/index.css",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/progressreport/ClazzProgressReportScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/components/virtuallist/VirtualList.kt"
        ],
        "commitId" : "fede9d1414943708ea0bad064c3fb5ebd8edf6bf",
        "timestamp" : 1718878573000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update ClazzProgressReportScreen for web to show scrollbars.\u000a",
        "date" : "2024-06-20 14:16:13 +0400",
        "id" : "fede9d1414943708ea0bad064c3fb5ebd8edf6bf",
        "msg" : "Update ClazzProgressReportScreen for web to show scrollbars.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/components/virtuallist/VirtualList.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/resources/index.css"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/progressreport/ClazzProgressReportScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/add_new_student_inside_course.yaml",
          "test-end-to-end/android-maestro/common/add_module_block.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml",
          "test-end-to-end/android-maestro/common/edit_course.yaml",
          "test-end-to-end/android-maestro/common/create_course_with_1teacher_1student.yaml",
          "test-end-to-end/android-maestro/common/add_new_people.yaml",
          "test-end-to-end/android-maestro/common/create_course_with_1teacher_2students.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml",
          "test-end-to-end/android-maestro/common/add_text_block.yaml",
          "test-end-to-end/android-maestro/run-maestro-test.sh",
          "test-end-to-end/android-maestro/common/student_send_course_join_request_using_code.yaml",
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml",
          "test-end-to-end/android-maestro/common/add_new_teacher_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml",
          "test-end-to-end/android-maestro/common/add_course.yaml"
        ],
        "commitId" : "1e618262658bd7b9e500cb8204c725030effc036",
        "timestamp" : 1718892713000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "checklist changes\u000a",
        "date" : "2024-06-20 18:11:53 +0400",
        "id" : "1e618262658bd7b9e500cb8204c725030effc036",
        "msg" : "checklist changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_people.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_006_course_view_and_modules_can_expand_collapse.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_text_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_module_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_007_all_user_able_to_open_text_block.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_student_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/edit_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_new_teacher_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_1teacher_2students.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/student_send_course_join_request_using_code.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/create_course_with_1teacher_1student.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-test.sh"
        ],
        "commitId" : "7a938f2cd0bd07c3a4c8335fbc0992a9bc30177a",
        "timestamp" : 1718892758000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "checklist changes\u000a",
        "date" : "2024-06-20 18:12:38 +0400",
        "id" : "7a938f2cd0bd07c3a4c8335fbc0992a9bc30177a",
        "msg" : "checklist changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/student_send_course_join_request_using_code.yaml"
        ],
        "commitId" : "cd331ca41d2d1d058bc1caffd5d625a8e1100aee",
        "timestamp" : 1718893463000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "checklist changes\u000a",
        "date" : "2024-06-20 18:24:23 +0400",
        "id" : "cd331ca41d2d1d058bc1caffd5d625a8e1100aee",
        "msg" : "checklist changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/student_send_course_join_request_using_code.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/progressreport/ClazzProgressReportScreen.kt"
        ],
        "commitId" : "a789d6c8cd89903b12ffd40a2006a2b04b17faa4",
        "timestamp" : 1718903906000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update ClazzProgressReportScreen for web to set zIndex and background\u000a\u000a1. Set background color on pinned column and row for student progress report\u000a2. Set zIndex for pinned columns and rows\u000a3. Update spacer (top left) cell to stick on both x/y axis.\u000a",
        "date" : "2024-06-20 21:18:26 +0400",
        "id" : "a789d6c8cd89903b12ffd40a2006a2b04b17faa4",
        "msg" : "Update ClazzProgressReportScreen for web to set zIndex and background",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/progressreport/ClazzProgressReportScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadHorizontalScrollRow.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/components/UstadHorizontalScrollRow.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/components/UstadHorizontalScrollRow.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/progressreport/ClazzProgressReportScreen.kt",
          "lib-ui-compose/build.gradle.kts",
          "gradle/libs.versions.toml"
        ],
        "commitId" : "2d81f5e6b608c1a12e22962360b5031c5b42c23c",
        "timestamp" : 1718974427000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation of pinned scrolling for jetpack compose using a LazyColumn.\u000aLazyTable did not allow the use of scrollbars required for desktop.\u000a",
        "date" : "2024-06-21 16:53:47 +0400",
        "id" : "2d81f5e6b608c1a12e22962360b5031c5b42c23c",
        "msg" : "Initial implementation of pinned scrolling for jetpack compose using a LazyColumn.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadHorizontalScrollRow.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/progressreport/ClazzProgressReportScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/components/UstadHorizontalScrollRow.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/components/UstadHorizontalScrollRow.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detail/ClazzDetailScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detail/ClazzDetailViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/progressreport/ClazzProgressReportScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/progressreport/ClazzProgressReportViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/progressreport/ClazzProgressReportScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/progressreport/ClazzGradebookViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/ClazzGradebookScreen.kt"
        ],
        "commitId" : "efeb37662ebd0751c47059f98361a1a6d86a624e",
        "timestamp" : 1718979706000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Refactor clazz progress report to gradebook and update lazy column usage on Jetpack compose.\u000a",
        "date" : "2024-06-21 18:21:46 +0400",
        "id" : "efeb37662ebd0751c47059f98361a1a6d86a624e",
        "msg" : "Refactor clazz progress report to gradebook and update lazy column usage on Jetpack compose.",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/progressreport/ClazzProgressReportScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detail/ClazzDetailViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/progressreport/ClazzProgressReportScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/progressreport/ClazzProgressReportViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detail/ClazzDetailScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/progressreport/ClazzGradebookViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/ClazzGradebookScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/GradebookCourseblockHeader.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt"
        ],
        "commitId" : "966e96b5342113c7824cf701f307aa78637d27e0",
        "timestamp" : 1719066278000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Rotate course block title text for Gradebook on Jetpack compose.\u000a",
        "date" : "2024-06-22 18:24:38 +0400",
        "id" : "966e96b5342113c7824cf701f307aa78637d27e0",
        "msg" : "Rotate course block title text for Gradebook on Jetpack compose.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/GradebookCourseblockHeader.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/ClazzGradebookScreen.kt"
        ],
        "commitId" : "1ca066bf795b2a30eeb8b2269dcc2bc29ebd3fbb",
        "timestamp" : 1719132958000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Rotate course block title text for Gradebook on JS/React.\u000a",
        "date" : "2024-06-23 12:55:58 +0400",
        "id" : "1ca066bf795b2a30eeb8b2269dcc2bc29ebd3fbb",
        "msg" : "Rotate course block title text for Gradebook on JS/React.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/ClazzGradebookScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadScreenTabs.kt"
        ],
        "commitId" : "46b118edd229a83bf5d5d22f91145bf2bc43a463",
        "timestamp" : 1719144680000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix issue #890 - incorrect floating action button when swiping tabs\u000a",
        "date" : "2024-06-23 16:11:20 +0400",
        "id" : "46b118edd229a83bf5d5d22f91145bf2bc43a463",
        "msg" : "Fix issue #890 - incorrect floating action button when swiping tabs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadScreenTabs.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/GradebookCourseblockHeader.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadScreenTabs.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detail/ClazzDetailViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/progressreport/ClazzGradebookViewModel.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/ClazzGradebookScreen.kt"
        ],
        "commitId" : "f5dd86b4a0f5fd033504ca9a641d9a5ea038b85e",
        "timestamp" : 1719150479000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update gradebook design\u000aAdd icons on JS and Android\u000aAdaptive height and width on Android\u000aFull screen mode for Android\u000a",
        "date" : "2024-06-23 17:47:59 +0400",
        "id" : "f5dd86b4a0f5fd033504ca9a641d9a5ea038b85e",
        "msg" : "Update gradebook design",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/progressreport/ClazzGradebookViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/ClazzGradebookScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadScreenTabs.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/GradebookCourseblockHeader.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detail/ClazzDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/progressreport/ClazzProgressReportPagingSource.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/GradebookCourseblockHeader.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detail/ClazzDetailViewModel.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/progressreport/ClazzGradebookViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/CourseBlockAndGradebookDisplayDetails.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detail/ClazzDetailScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzProgressReportPagingSource.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/ClazzGradebookScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/CourseblockAndGradebookDisplayDetailsExt.kt"
        ],
        "commitId" : "8d73a1f1af93fb0f456b009d75eebcbb5d87c456",
        "timestamp" : 1719157176000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add image thumbnails to gradebook\u000a",
        "date" : "2024-06-23 19:39:36 +0400",
        "id" : "8d73a1f1af93fb0f456b009d75eebcbb5d87c456",
        "msg" : "Add image thumbnails to gradebook",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/CourseBlockDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzProgressReportPagingSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/progressreport/ClazzGradebookViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/CourseBlockAndGradebookDisplayDetails.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/GradebookCourseblockHeader.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/progressreport/ClazzProgressReportPagingSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/ClazzGradebookScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/CourseblockAndGradebookDisplayDetailsExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detail/ClazzDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detail/ClazzDetailViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/GradebookCourseblockHeader.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzDao.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/ClazzGradebookScreen.kt"
        ],
        "commitId" : "246da2308fe127489fb06fa80857c9aee6104b06",
        "timestamp" : 1719164047000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add zoom and line clamp for gradebook.\u000a",
        "date" : "2024-06-23 21:34:07 +0400",
        "id" : "246da2308fe127489fb06fa80857c9aee6104b06",
        "msg" : "Add zoom and line clamp for gradebook.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/GradebookCourseblockHeader.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/ClazzGradebookScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml"
        ],
        "commitId" : "12b2cda89e9a0bf1f1c8ab81adc2283b5c07abeb",
        "timestamp" : 1719224315000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "checklist changes\u000a",
        "date" : "2024-06-24 14:18:35 +0400",
        "id" : "12b2cda89e9a0bf1f1c8ab81adc2283b5c07abeb",
        "msg" : "checklist changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml"
        ],
        "commitId" : "088a84dfac54b2d832b4702ef608b7839250e5b3",
        "timestamp" : 1719233243000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "checklist changes\u000a",
        "date" : "2024-06-24 16:47:23 +0400",
        "id" : "088a84dfac54b2d832b4702ef608b7839250e5b3",
        "msg" : "checklist changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_002_student_joining_course_using_code.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
        ],
        "commitId" : "9699303f5c37c48d8c45eba737fc6a9cc8bfee06",
        "timestamp" : 1719238919000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "checklist changes\u000a",
        "date" : "2024-06-24 18:21:59 +0400",
        "id" : "9699303f5c37c48d8c45eba737fc6a9cc8bfee06",
        "msg" : "checklist changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/ScaledText.kt",
          "lib-ui-compose/build.gradle.kts",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadPersonAvatar.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/GradebookCourseblockHeader.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/util/ext/ModifierExt.kt",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/ScaledListItem.kt",
          "gradle/libs.versions.toml"
        ],
        "commitId" : "d9f4d92cc85519e4c56ab22f7deba459c076ffd5",
        "timestamp" : 1719247268000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add support to change the text size on gradebook and pinch/zoom on Android.\u000a",
        "date" : "2024-06-24 20:41:08 +0400",
        "id" : "d9f4d92cc85519e4c56ab22f7deba459c076ffd5",
        "msg" : "Add support to change the text size on gradebook and pinch/zoom on Android.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/ScaledListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/ScaledText.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadPersonAvatar.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/GradebookCourseblockHeader.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookLazyColumn.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/util/ext/ModifierExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-test.sh"
        ],
        "commitId" : "4c9fd1aa93cda3328acd6f97c03e38724a0da684",
        "timestamp" : 1719292673000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "checklist changes\u000a",
        "date" : "2024-06-25 09:17:53 +0400",
        "id" : "4c9fd1aa93cda3328acd6f97c03e38724a0da684",
        "msg" : "checklist changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-test.sh",
          "test-end-to-end/android-maestro/common/redirect_to_downloads.yaml",
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml",
          "test-end-to-end/android-maestro/common/copy_image_file_to_picture_folder.yaml"
        ],
        "commitId" : "af7b6579d2e33ab0434641d573306d169ab481f8",
        "timestamp" : 1719316811000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "admin adding profile pic flow changes are made\u000a",
        "date" : "2024-06-25 16:00:11 +0400",
        "id" : "af7b6579d2e33ab0434641d573306d169ab481f8",
        "msg" : "admin adding profile pic flow changes are made",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/copy_image_file_to_picture_folder.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/redirect_to_downloads.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
        ],
        "commitId" : "e6ff831a4e72a1b31cbbb0c662580b1b75b562bc",
        "timestamp" : 1719316961000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "admin adding profile pic flow changes are made\u000a",
        "date" : "2024-06-25 16:02:41 +0400",
        "id" : "e6ff831a4e72a1b31cbbb0c662580b1b75b562bc",
        "msg" : "admin adding profile pic flow changes are made",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookCell.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzProgressReportPagingSource.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadBlockStatusProgressBar.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt",
          "gradle/libs.versions.toml",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookCellPreview.kt"
        ],
        "commitId" : "1e6fac18372e35fb6825289ff9fe58c7f826c309",
        "timestamp" : 1719330771000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update ClazzProgressReportPagingSource and Gradebook Screen\u000a1) Update ClazzProgressReportPagingSource to load status of each courseblock for loaded students\u000a2) Show status for each student in Jetpack compose ClazzGradebook\u000a",
        "date" : "2024-06-25 19:52:51 +0400",
        "id" : "1e6fac18372e35fb6825289ff9fe58c7f826c309",
        "msg" : "Update ClazzProgressReportPagingSource and Gradebook Screen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzProgressReportPagingSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookCellPreview.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookCell.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadBlockStatusProgressBar.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/copy_image_file_to_picture_folder.yaml"
        ],
        "commitId" : "3919f5bdb3ae11d0a83fd29f0885c311ade430a4",
        "timestamp" : 1719375041000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "admin adding profile pic flow changes are made\u000a",
        "date" : "2024-06-26 08:10:41 +0400",
        "id" : "3919f5bdb3ae11d0a83fd29f0885c311ade430a4",
        "msg" : "admin adding profile pic flow changes are made",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/copy_image_file_to_picture_folder.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml",
          "test-end-to-end/android-maestro/common/copy_image_file_to_picture_folder.yaml"
        ],
        "commitId" : "82f7f58e9fdfc942eb543324127b8225ced28dfa",
        "timestamp" : 1719380315000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "admin adding profile pic flow changes are made\u000a",
        "date" : "2024-06-26 09:38:35 +0400",
        "id" : "82f7f58e9fdfc942eb543324127b8225ced28dfa",
        "msg" : "admin adding profile pic flow changes are made",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/copy_image_file_to_picture_folder.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/login_download_and_open_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml"
        ],
        "commitId" : "bbddd9071637a96cca54ae10e66b31e78f76787e",
        "timestamp" : 1719382923000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "admin adding profile pic flow changes are made\u000a",
        "date" : "2024-06-26 10:22:03 +0400",
        "id" : "bbddd9071637a96cca54ae10e66b31e78f76787e",
        "msg" : "admin adding profile pic flow changes are made",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/login_download_and_open_content.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-test.sh"
        ],
        "commitId" : "5ba1b1321b48961e7521b2e45d8c29a6d179584c",
        "timestamp" : 1719389367000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "admin adding profile pic flow changes are made\u000a",
        "date" : "2024-06-26 12:09:27 +0400",
        "id" : "5ba1b1321b48961e7521b2e45d8c29a6d179584c",
        "msg" : "admin adding profile pic flow changes are made",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/redirect_to_downloads.yaml",
          "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml"
        ],
        "commitId" : "4b03cad45fe916bad68445fc2cbbd07e96b22fa3",
        "timestamp" : 1719392151000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "admin adding profile pic flow changes are made\u000a",
        "date" : "2024-06-26 12:55:51 +0400",
        "id" : "4b03cad45fe916bad68445fc2cbbd07e96b22fa3",
        "msg" : "admin adding profile pic flow changes are made",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/redirect_to_downloads.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/clear_login_and_add_content.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookCell.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/hooks/useDoorRemoteMediator.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/CourseBlockExt.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadBlockStatusProgressBar.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/CourseBlockExt.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookCellPreview.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/ClazzGradebookScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/BlockStatusExt.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/ClazzGradebookCell.kt"
        ],
        "commitId" : "b146d4e26d1360274fd9a7043e9703c77a3e873a",
        "timestamp" : 1719394922000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update ClazzGradebookCell\u000a\u000a1. Update appearance logic to handle small spaces better; only show progress percentage if there is no final mark or completed status\u000a2. Gradebook background color set by threshold (defaults 0.75/0.5)\u000a3. Fix useDoorRemoteMediator on Kotlin/JS to work with any paging source that implements httploadable (e.g. the custom paging source for student report)\u000a",
        "date" : "2024-06-26 13:42:02 +0400",
        "id" : "b146d4e26d1360274fd9a7043e9703c77a3e873a",
        "msg" : "Update ClazzGradebookCell",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/CourseBlockExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookCellPreview.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/CourseBlockExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadBlockStatusProgressBar.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/ClazzGradebookCell.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookCell.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/hooks/useDoorRemoteMediator.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/ClazzGradebookScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/BlockStatusExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_005_admin_can_remove_content_and_download_again.yaml",
          "test-end-to-end/android-maestro/common/redirect_to_downloads.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
        ],
        "commitId" : "4c7ae2044669daace172f33ebaae847c9e365192",
        "timestamp" : 1719396548000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "admin adding profile pic flow changes are made\u000a",
        "date" : "2024-06-26 14:09:08 +0400",
        "id" : "4c7ae2044669daace172f33ebaae847c9e365192",
        "msg" : "admin adding profile pic flow changes are made",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_006_admin_can_cancel_content_download.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_005_admin_can_remove_content_and_download_again.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/redirect_to_downloads.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
        ],
        "commitId" : "a6d4b2e60743ce2e28bbb80a6ddc5a641364718a",
        "timestamp" : 1719403186000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "admin adding profile pic flow changes are made\u000a",
        "date" : "2024-06-26 15:59:46 +0400",
        "id" : "a6d4b2e60743ce2e28bbb80a6ddc5a641364718a",
        "msg" : "admin adding profile pic flow changes are made",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookCell.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntityJson.kt",
          "gradle/libs.versions.toml",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt"
        ],
        "commitId" : "3b3d7c57efa2c19ba8d8d959b2c0a7e9f5463104",
        "timestamp" : 1719405862000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Work in progress implementation of student progress query.\u000a1. Make StatementEntityJson a replicate entity\u000a2. Implement StatementDao query for all fields except scaledScore\u000a",
        "date" : "2024-06-26 16:44:22 +0400",
        "id" : "3b3d7c57efa2c19ba8d8d959b2c0a7e9f5463104",
        "msg" : "Work in progress implementation of student progress query.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntityJson.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookCell.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookCell.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/ScaledText.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "52a2118223618b2411faebc20e200f532616e717",
        "timestamp" : 1719411025000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation of query to select scores for class gradebook\u000a",
        "date" : "2024-06-26 18:10:25 +0400",
        "id" : "52a2118223618b2411faebc20e200f532616e717",
        "msg" : "Initial implementation of query to select scores for class gradebook",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookCell.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/ScaledText.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-test.sh"
        ],
        "commitId" : "48c5cffdcebaba03228d82d409fa5c3bd1d3c540",
        "timestamp" : 1719466012000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "admin adding profile pic flow changes are made\u000a",
        "date" : "2024-06-27 09:26:52 +0400",
        "id" : "48c5cffdcebaba03228d82d409fa5c3bd1d3c540",
        "msg" : "admin adding profile pic flow changes are made",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/README.md",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementEntityAndRelated.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt"
        ],
        "commitId" : "6da4de805e074d491c67f8f0d1b69a83115d922d",
        "timestamp" : 1719497978000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation of query to pull statement entities to show results over http.\u000a",
        "date" : "2024-06-27 18:19:38 +0400",
        "id" : "6da4de805e074d491c67f8f0d1b69a83115d922d",
        "msg" : "Initial implementation of query to pull statement entities to show results over http.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementEntityAndRelated.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/README.md"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDaoCommon.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/ClazzGradebookCell.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/CommonFloatExt.kt"
        ],
        "commitId" : "7448ebc75fb1042caad5043d48674039be8b20f9",
        "timestamp" : 1719500775000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Better implementation to fetch required StatementEntity(s) for gradebook and web appearance tidyup.\u000a",
        "date" : "2024-06-27 19:06:15 +0400",
        "id" : "7448ebc75fb1042caad5043d48674039be8b20f9",
        "msg" : "Better implementation to fetch required StatementEntity(s) for gradebook and web appearance tidyup.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/CommonFloatExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/ClazzGradebookCell.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzProgressReportPagingSource.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookPagingSource.kt"
        ],
        "commitId" : "854d69cdc1051e4cf2b7abc0b8f77bc3e1203d21",
        "timestamp" : 1719562429000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update gradebook query to avoid potential failure to display on first load.\u000a",
        "date" : "2024-06-28 12:13:49 +0400",
        "id" : "854d69cdc1051e4cf2b7abc0b8f77bc3e1203d21",
        "msg" : "Update gradebook query to avoid potential failure to display on first load.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzProgressReportPagingSource.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookPagingSource.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookCell.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/ClazzGradebookCell.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt"
        ],
        "commitId" : "e6b89c69405b23046a095b25b4ab7dce29537827",
        "timestamp" : 1719589850000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update gradebook - add tooltips and accessibility label text.\u000a",
        "date" : "2024-06-28 19:50:50 +0400",
        "id" : "e6b89c69405b23046a095b25b4ab7dce29537827",
        "msg" : "Update gradebook - add tooltips and accessibility label text.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/gradebook/ClazzGradebookCell.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookCell.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/RegisterRequest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/view/PersonAccountEditView.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModelTest.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/edit/PersonEditScreen.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/impl/UstadAccountManagerTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/PersonDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/Person.kt",
          "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/PersonAuthRegisterRouteTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/PersonWithAccount.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/PersonAuthRegisterRoute.kt"
        ],
        "commitId" : "9be91a8e7dc35aa4d6ecbe4ae3b6657d0cc1bf3f",
        "timestamp" : 1719735584000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove use of PersonWithAccount. Will make it possible to change Person into a data class.\u000a",
        "date" : "2024-06-30 12:19:44 +0400",
        "id" : "9be91a8e7dc35aa4d6ecbe4ae3b6657d0cc1bf3f",
        "msg" : "Remove use of PersonWithAccount. Will make it possible to change Person into a data class.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/person/edit/PersonEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/PersonDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/view/PersonAccountEditView.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/Person.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/impl/UstadAccountManagerTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/PersonAuthRegisterRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/PersonAuthRegisterRouteTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/RegisterRequest.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/PersonWithAccount.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/PersonExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiGroup.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/PersonAuthDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/coursegroup/CreateXapiGroupForCourseGroupUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/PersonDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/Person.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/coursegroup/CreateXapiGroupForCourseGroupUseCaseTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActor.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/PersonUidAndPasswordHashExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActorEntity.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/UmAppDatabaseKtorExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiAgent.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/PersonUidAndPasswordHash.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/UmAccountExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSession.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
        ],
        "commitId" : "e66466e8ac718843c348de5b806897bfc26c18e4",
        "timestamp" : 1719759626000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add personUid foreign key to ActorEntity\u000a\u000a1) Convert Person to a data class\u000a2) Add actorPersonUid to ActorEntity to handle mapping an ActorEntity to a person in a way that works with the Xapi Spec design.\u000a3) Update CreateXapiGroupForCourseGroupUseCase to handle providing the personUid for members of the group.\u000a4) Drop unused columns on Person entity\u000a",
        "date" : "2024-06-30 19:00:26 +0400",
        "id" : "e66466e8ac718843c348de5b806897bfc26c18e4",
        "msg" : "Add personUid foreign key to ActorEntity",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/PersonAuthDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/PersonUidAndPasswordHashExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSession.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/coursegroup/CreateXapiGroupForCourseGroupUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActorEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiGroup.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/UmAppDatabaseKtorExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiAgent.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/UmAccountExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/PersonExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/coursegroup/CreateXapiGroupForCourseGroupUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/PersonDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/Person.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/PersonUidAndPasswordHash.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActor.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/191.json"
        ],
        "commitId" : "1779388686a125bc6aba9ab33bab0f7da28f93c8",
        "timestamp" : 1719759742000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add database schema json\u000a",
        "date" : "2024-06-30 19:02:22 +0400",
        "id" : "1779388686a125bc6aba9ab33bab0f7da28f93c8",
        "msg" : "Add database schema json",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/191.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/GroupMemberActorJoin.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementEntityAndRelated.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "9dd2d1dea0ce7b43462c908bc8c944f7c86b550a",
        "timestamp" : 1719766011000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Handle including XapiStatement in findStatusForStudentsInClazzStatements\u000a",
        "date" : "2024-06-30 20:46:51 +0400",
        "id" : "9dd2d1dea0ce7b43462c908bc8c944f7c86b550a",
        "msg" : "Handle including XapiStatement in findStatusForStudentsInClazzStatements",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/GroupMemberActorJoin.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StatementEntityAndRelated.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "37d8776fbedf6ae1bed4fec0efe1b9dd5884ce26",
        "timestamp" : 1719768783000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Handle including XapiStatement in findStatusForStudentsInClazz\u000a",
        "date" : "2024-06-30 21:33:03 +0400",
        "id" : "37d8776fbedf6ae1bed4fec0efe1b9dd5884ce26",
        "msg" : "Handle including XapiStatement in findStatusForStudentsInClazz",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/GroupMemberActorJoinDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt"
        ],
        "commitId" : "c54b89eac5d4f35ae0a501fa08b24371ed4495d0",
        "timestamp" : 1719770061000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix XapiStatements handling of marks for group assignment\u000a",
        "date" : "2024-06-30 21:54:21 +0400",
        "id" : "c54b89eac5d4f35ae0a501fa08b24371ed4495d0",
        "msg" : "Fix XapiStatements handling of marks for group assignment",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/GroupMemberActorJoinDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "fc21060a0590d1daac00f59a2f41d28046869d32",
        "timestamp" : 1719772762000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix XapiStatements handling of marks for group assignment pull over http\u000a",
        "date" : "2024-06-30 22:39:22 +0400",
        "id" : "fc21060a0590d1daac00f59a2f41d28046869d32",
        "msg" : "Fix XapiStatements handling of marks for group assignment pull over http",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
        ],
        "commitId" : "087ec2be0c4a90b2971aa471893d21a753d74ef9",
        "timestamp" : 1719814657000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add destination parameter for pushcontent on testserver controller.\u000a",
        "date" : "2024-07-01 10:17:37 +0400",
        "id" : "087ec2be0c4a90b2971aa471893d21a753d74ef9",
        "msg" : "Add destination parameter for pushcontent on testserver controller.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "CODING-STYLE.md"
        ],
        "commitId" : "7e6434bccf3bdc2bce51f466e455a17db98ad57e",
        "timestamp" : 1719823111000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update CODING-STYLE.md\u000a",
        "date" : "2024-07-01 12:38:31 +0400",
        "id" : "7e6434bccf3bdc2bce51f466e455a17db98ad57e",
        "msg" : "Update CODING-STYLE.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "CODING-STYLE.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/open_image_in_pictures.yaml",
          "test-end-to-end/android-maestro/common/redirect_to_downloads.yaml",
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml",
          "test-end-to-end/android-maestro/common/select_picture_from_files.yaml",
          "test-end-to-end/android-maestro/common/copy_image_file_to_picture_folder.yaml"
        ],
        "commitId" : "c1df5eccaf260371d8eb4682cf87425ee1b6bf41",
        "timestamp" : 1719830829000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "admin adding profile pic flow changes are made\u000a",
        "date" : "2024-07-01 14:47:09 +0400",
        "id" : "c1df5eccaf260371d8eb4682cf87425ee1b6bf41",
        "msg" : "admin adding profile pic flow changes are made",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/copy_image_file_to_picture_folder.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/select_picture_from_files.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/redirect_to_downloads.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/open_image_in_pictures.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/open_image_in_pictures.yaml",
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml",
          "test-end-to-end/android-maestro/common/select_picture_from_files.yaml"
        ],
        "commitId" : "95f7387a95277b5217260be10236a6b7ab28ef05",
        "timestamp" : 1719840868000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "admin adding profile pic flow changes are made\u000a",
        "date" : "2024-07-01 17:34:28 +0400",
        "id" : "95f7387a95277b5217260be10236a6b7ab28ef05",
        "msg" : "admin adding profile pic flow changes are made",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/select_picture_from_files.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/open_image_in_pictures.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "3ecb62b80fc5fa8a483e1f9b0a4f6a7395bfacdc",
        "timestamp" : 1719850320000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Handle showing gradebook result for peer-marked assignment.\u000a",
        "date" : "2024-07-01 20:12:00 +0400",
        "id" : "3ecb62b80fc5fa8a483e1f9b0a4f6a7395bfacdc",
        "msg" : "Handle showing gradebook result for peer-marked assignment.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/open_image_in_pictures.yaml",
          "test-end-to-end/android-maestro/common/redirect_to_downloads.yaml",
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml",
          "test-end-to-end/android-maestro/common/select_picture_from_files.yaml"
        ],
        "commitId" : "7c5b864ff66ea104583240ca2fb186cb114f5b2f",
        "timestamp" : 1719903882000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "admin adding profile pic flow changes are made\u000a",
        "date" : "2024-07-02 11:04:42 +0400",
        "id" : "7c5b864ff66ea104583240ca2fb186cb114f5b2f",
        "msg" : "admin adding profile pic flow changes are made",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/redirect_to_downloads.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/select_picture_from_files.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/open_image_in_pictures.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
        ],
        "commitId" : "6e4443f4ed83fac7d28f91722c18b14f66aa3e4d",
        "timestamp" : 1720000788000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "admin adding profile pic flow changes are made\u000a",
        "date" : "2024-07-03 13:59:48 +0400",
        "id" : "6e4443f4ed83fac7d28f91722c18b14f66aa3e4d",
        "msg" : "admin adding profile pic flow changes are made",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDaoCommon.kt",
          "gradle/libs.versions.toml",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "da23e46cf66e6b3468bb44725d89eeae890efedf",
        "timestamp" : 1720007541000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Work in progress - update to findStatusForStudentsInClazzStatements to find statements only as per the paging source pagination\u000a",
        "date" : "2024-07-03 15:52:21 +0400",
        "id" : "da23e46cf66e6b3468bb44725d89eeae890efedf",
        "msg" : "Work in progress - update to findStatusForStudentsInClazzStatements to find statements only as per the paging source pagination",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gradle/libs.versions.toml",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt"
        ],
        "commitId" : "adc0d819a0d6837c864d10495e034abd8c096bba",
        "timestamp" : 1720009609000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update to findStatusForStudentsInClazzStatements to find statements only as per the paging source pagination\u000a",
        "date" : "2024-07-03 16:26:49 +0400",
        "id" : "adc0d819a0d6837c864d10495e034abd8c096bba",
        "msg" : "Update to findStatusForStudentsInClazzStatements to find statements only as per the paging source pagination",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookViewModel.kt"
        ],
        "commitId" : "bcbb30d175a7c71eeac46aa753757ebff601074c",
        "timestamp" : 1720010596000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update to findStatusForStudentsInClazzStatements to always apply learning records view permission check.\u000a",
        "date" : "2024-07-03 16:43:16 +0400",
        "id" : "bcbb30d175a7c71eeac46aa753757ebff601074c",
        "msg" : "Update to findStatusForStudentsInClazzStatements to always apply learning records view permission check.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
        ],
        "commitId" : "f90face0c6e15f24c5d3536fe73af818ef675807",
        "timestamp" : 1720028185000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix assignment mark recording for peer marked assignments so that it is viewed on gradebook\u000a",
        "date" : "2024-07-03 21:36:25 +0400",
        "id" : "f90face0c6e15f24c5d3536fe73af818ef675807",
        "msg" : "Fix assignment mark recording for peer marked assignments so that it is viewed on gradebook",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
        ],
        "commitId" : "07bfef61e77779ce8f268d7817c5cf68110ca810",
        "timestamp" : 1720030458000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix assignment xapi statement creation - fix context instructor handling in database.\u000a\u000aEnsures that the peer mark is displayed correctly.\u000a",
        "date" : "2024-07-03 22:14:18 +0400",
        "id" : "07bfef61e77779ce8f268d7817c5cf68110ca810",
        "msg" : "Fix assignment xapi statement creation - fix context instructor handling in database.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "1ef0bc8589957b667bef61812633f3bc721483d8",
        "timestamp" : 1720089328000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial simplification of query to StatementDao.findStatusForStudentsInClazzStatements\u000a",
        "date" : "2024-07-04 14:35:28 +0400",
        "id" : "1ef0bc8589957b667bef61812633f3bc721483d8",
        "msg" : "Initial simplification of query to StatementDao.findStatusForStudentsInClazzStatements",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "86c63563787c5792449706f23435ebb776f5f74a",
        "timestamp" : 1720091689000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial simplification of query to StatementDao.findStatusForStudentsInClazzStatements\u000a",
        "date" : "2024-07-04 15:14:49 +0400",
        "id" : "86c63563787c5792449706f23435ebb776f5f74a",
        "msg" : "Initial simplification of query to StatementDao.findStatusForStudentsInClazzStatements",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "bfb2c2a244ee86941cf9f71d568d16b65c5abff1",
        "timestamp" : 1720097659000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Final (hopefully) simplification of query StatementDao.findStatusForStudentsInClazzStatements\u000a",
        "date" : "2024-07-04 16:54:19 +0400",
        "id" : "bfb2c2a244ee86941cf9f71d568d16b65c5abff1",
        "msg" : "Final (hopefully) simplification of query StatementDao.findStatusForStudentsInClazzStatements",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
        ],
        "commitId" : "4c8013f125505bd7ef5c135e12d2fe4d80515f6f",
        "timestamp" : 1720112802000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Xapi update column names on StatementEntity and link authorityActorUid to actorUid foreign key.\u000a",
        "date" : "2024-07-04 21:06:42 +0400",
        "id" : "4c8013f125505bd7ef5c135e12d2fe4d80515f6f",
        "msg" : "Xapi update column names on StatementEntity and link authorityActorUid to actorUid foreign key.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/build.gradle",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/192.json"
        ],
        "commitId" : "7d785e7b40909fc0e557b9ee113e859a73672451",
        "timestamp" : 1720169575000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Merge primary\u000a",
        "date" : "2024-07-05 12:52:55 +0400",
        "id" : "7d785e7b40909fc0e557b9ee113e859a73672451",
        "msg" : "Merge primary",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/192.json"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/build.gradle"
        ],
        "commitId" : "54dbf895fce77725a241bacbf266871cb8775357",
        "timestamp" : 1720174260000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix core android unit test compilation error.\u000a",
        "date" : "2024-07-05 14:11:00 +0400",
        "id" : "54dbf895fce77725a241bacbf266871cb8775357",
        "msg" : "Fix core android unit test compilation error.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModel.kt"
        ],
        "commitId" : "5528926f585e283d6496d4fa1b01e85ae0b246b4",
        "timestamp" : 1720179028000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Preset default points for new assignment.\u000a",
        "date" : "2024-07-05 15:30:28 +0400",
        "id" : "5528926f585e283d6496d4fa1b01e85ae0b246b4",
        "msg" : "Preset default points for new assignment.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
        ],
        "commitId" : "2af3497aab45e57f3ea68703e8fff767f00f6148",
        "timestamp" : 1720339023000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Postgres migration fixes: fix syntax for setting default column value, fix removal of obsolete person columns.\u000a",
        "date" : "2024-07-07 11:57:03 +0400",
        "id" : "2af3497aab45e57f3ea68703e8fff767f00f6148",
        "msg" : "Postgres migration fixes: fix syntax for setting default column value, fix removal of obsolete person columns.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActorEntity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/193.json",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/GroupMemberActorJoin.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
        ],
        "commitId" : "4880545d2411e45abac5f9a044a31dd7d21738b0",
        "timestamp" : 1720349764000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add indexes to speed up statement gradebook related queries.\u000aAdd completionOrProgress property to StatementEntity to make it quick to filter out statements that are not relevant to completion queries.\u000a",
        "date" : "2024-07-07 14:56:04 +0400",
        "id" : "4880545d2411e45abac5f9a044a31dd7d21738b0",
        "msg" : "Add indexes to speed up statement gradebook related queries.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/193.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/ActorEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/GroupMemberActorJoin.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/193.json"
        ],
        "commitId" : "0d5596dba25e0f79078834741ae3e87e76ba7b95",
        "timestamp" : 1720353731000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add db schema 193\u000a",
        "date" : "2024-07-07 16:02:11 +0400",
        "id" : "0d5596dba25e0f79078834741ae3e87e76ba7b95",
        "msg" : "Add db schema 193",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/193.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
        ],
        "commitId" : "754e17aa0f9fff0e604a68409b47bc835c618d57",
        "timestamp" : 1720357599000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Ensure that all replication pull queries use pagination offset/limit for gradebook screen.\u000a",
        "date" : "2024-07-07 17:06:39 +0400",
        "id" : "754e17aa0f9fff0e604a68409b47bc835c618d57",
        "msg" : "Ensure that all replication pull queries use pagination offset/limit for gradebook screen.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/Person.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/DiscussionPost.kt",
          "build.gradle"
        ],
        "commitId" : "746ab00fe72505da42ea540321de05906325a59b",
        "timestamp" : 1720372697000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add fields back to Person and DiscussionPost.\u000a\u000aPrevious versions of Door (that are used in production versions of Ustad) cannot handle a replication response.\u000a",
        "date" : "2024-07-07 21:18:17 +0400",
        "id" : "746ab00fe72505da42ea540321de05906325a59b",
        "msg" : "Add fields back to Person and DiscussionPost.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/DiscussionPost.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/Person.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementContextActivityJoin.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/194.json",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementContextActivityJoin.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiContextActivities.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementContextActivityJoinDao.kt"
        ],
        "commitId" : "15a55a59eb7740d8c9b4a8c5020fedabbd952235",
        "timestamp" : 1720440909000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Consolidate migrations to add Xapi tables all at once.\u000a",
        "date" : "2024-07-08 16:15:09 +0400",
        "id" : "15a55a59eb7740d8c9b4a8c5020fedabbd952235",
        "msg" : "Consolidate migrations to add Xapi tables all at once.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StatementContextActivityJoin.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiContextActivities.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/194.json"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementContextActivityJoinDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementContextActivityJoin.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/MessageReadDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/LocallyAvailableContainer.kt",
          "gradle/libs.versions.toml",
          "core/src/jsMain/kotlin/com/ustadmobile/core/util/ext/ContainerEntryFileDaoExtExpect.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ext/ClazzWithHolidayCalendarAndSchoolAndTerminologyExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ChatMember.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ContainerEntryWithMd5Ext.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDao.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "lib-database/build.gradle",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/detailoverview/ClazzDetailOverviewCourseBlockListItem.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/SchoolMemberWithPerson.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/EntityRoleCommon.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazz/edit/ClazzEditScreenPreview.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/194.json",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/NetworkNodeDaoCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ChatMemberDao.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StateContentDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContainerEntryFileDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerEntryFile.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzWithHolidayCalendarAndSchoolAndTerminology.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentJobDao.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/detailoverview/ClazzDetailOverviewScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/dbpremigrate/DbPreMigrate.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ScrapeQueueItemDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ClazzWithHolidayCalendarAndSchoolExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/XLangMapEntryDao.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/util/ext/ContainerEntryFileDaoExtExpect.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerFilesWithContentEntry.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/MessageRead.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/Container.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ScrapeQueueItemWithScrapeRun.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementAndSessionDetailDisplay.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContainerEntryFileDaoExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContentEntryWithParentChildJoinAndStatusAndMostRecentContainer.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContentJobItemAndContentJob.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ContainerEntryFileDaoCommonExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ClazzWithSchoolExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/NetworkNode.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerManifest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContainerETagDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/SchoolMemberDaoCommon.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/edit/ClazzEditScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/Person.kt",
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detailoverview/ClazzDetailOverviewScreenPreview.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/School.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ReportSeriesExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementEntityAndDisplayDetails.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ChatDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/NetworkNodeWithStatusResponsesAndHistory.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContainerEntryDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/SchoolMember.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerImportJob.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StateDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StateContentEntity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ChatWithLatestMessageAndCount.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/AccessToken.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/io/ConcatenatedEntry.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzWithDisplayDetails.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContainerEntryFileCommon.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerEntryWithContainerEntryFile.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/XLangMapEntry.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContentEntryContentJobItemParams.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/SchoolDetailOverviewViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/PersonDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerEntryWithMd5.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/NetworkNodeDaoExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/UserSessionDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerUidAndMimeType.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/edit/ClazzEditScreen.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/dbpremigrate/DbPreMigrateAndroid.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/passwordreset/PasswordReset.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazz/list/ClazzListViewModelTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/EntryStatusResponse.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/Chat.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerWithContentEntry.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/SchoolEditScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzWithSchool.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ext/SchoolWithHolidayCalendarExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/PersonAuthDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ConnectivityStatusDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ContainerEntryFileDaoExtExpect.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ScheduleDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerETag.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/SchoolDetailOverviewScreen.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/SchoolMemberDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ScrapeQueueItem.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerEntry.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContainerDao.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/xapi/XapiZipContentImporterTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzWithHolidayCalendarAndAndTerminology.kt",
          "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/CommonKtorTestDiModule.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/Role.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/NetworkNodeDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerEntryFileUidAndPath.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/LocallyAvailableContainerDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/SchoolEditViewModel.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/SchoolDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ScrapeRun.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/db/ext/MigrateContainerToContentEntryVersion.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/AlreadyEnroledInSchoolException.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/SchoolWithMemberCountAndLocation.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/SchoolDaoCommon.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/UmAppDatabaseExt.kt",
          "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/TestContainerMountRoute.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StateEntity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContainerImportJobDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/SchoolWithHolidayCalendar.kt"
        ],
        "commitId" : "1878adccb9f9e4ad166f0bdaf446fd2d3182165a",
        "timestamp" : 1720528932000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove obsolete entities from database. Attempt to avoid Room verification issues.\u000a",
        "date" : "2024-07-09 16:42:12 +0400",
        "id" : "1878adccb9f9e4ad166f0bdaf446fd2d3182165a",
        "msg" : "Remove obsolete entities from database. Attempt to avoid Room verification issues.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/xapi/XapiZipContentImporterTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ConnectivityStatusDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/EntryStatusResponse.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/edit/ClazzEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/edit/ClazzEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/SchoolDetailOverviewViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContainerEntryDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detailoverview/ClazzDetailOverviewScreenPreview.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/SchoolMemberWithPerson.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentEntryDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/TestContainerMountRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ScrapeQueueItemDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/LocallyAvailableContainer.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/194.json"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/NetworkNodeDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/view/clazz/edit/ClazzEditScreenPreview.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/SchoolMember.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ReportSeriesExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ChatDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/UmAppDatabaseExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StateDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ChatMemberDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/NetworkNodeDaoExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzWithSchool.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerManifest.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ContainerEntryFileDaoExtExpect.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ext/ClazzWithHolidayCalendarAndSchoolAndTerminologyExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ChatWithLatestMessageAndCount.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/SchoolWithHolidayCalendar.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerFilesWithContentEntry.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ChatMember.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/SchoolDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/io/ConcatenatedEntry.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/db/ext/MigrateContainerToContentEntryVersion.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ClazzWithSchoolExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContentJobDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/NetworkNodeWithStatusResponsesAndHistory.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/SchoolMemberDaoCommon.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerETag.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/LocallyAvailableContainerDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ScrapeQueueItem.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerEntryWithContainerEntryFile.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerUidAndMimeType.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerEntry.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/SchoolMemberDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/util/ext/ContainerEntryFileDaoExtExpect.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/XLangMapEntryDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ext/SchoolWithHolidayCalendarExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/EntityRoleCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/UserSessionDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/AlreadyEnroledInSchoolException.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StateEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/SchoolDetailOverviewScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StateContentEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/SchoolEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContainerEntryFileDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/SchoolDaoCommon.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/MessageRead.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/Container.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/NetworkNodeDaoCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/PersonDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContainerETagDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzWithDisplayDetails.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/PersonAuthDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/NetworkNode.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/detailoverview/ClazzDetailOverviewScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/util/ext/ContainerEntryFileDaoExtExpect.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ClazzWithHolidayCalendarAndSchoolExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzWithHolidayCalendarAndAndTerminology.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/StateContentDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/MessageReadDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/build.gradle"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContainerEntryFileDaoExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ClazzWithHolidayCalendarAndSchoolAndTerminology.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContentEntryWithParentChildJoinAndStatusAndMostRecentContainer.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/AccessToken.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/School.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/SchoolEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementEntityAndDisplayDetails.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerEntryFileUidAndPath.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContentJobItemAndContentJob.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/detailoverview/ClazzDetailOverviewCourseBlockListItem.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerImportJob.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/dbpremigrate/DbPreMigrateAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerEntryWithMd5.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContainerImportJobDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/CommonKtorTestDiModule.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerEntryFile.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/passwordreset/PasswordReset.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContainerEntryFileCommon.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ScheduleDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/Chat.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContainerWithContentEntry.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/dbpremigrate/DbPreMigrate.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/SchoolWithMemberCountAndLocation.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ContentEntryContentJobItemParams.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/StatementAndSessionDetailDisplay.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ContainerEntryWithMd5Ext.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ClazzEnrolmentDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/Role.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/ContainerEntryFileDaoCommonExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/ContainerDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/Person.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ScrapeRun.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/XLangMapEntry.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazz/list/ClazzListViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/ScrapeQueueItemWithScrapeRun.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/contententry/edit/ContentEntryEditViewModelTest.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/blob/upload/BlobUploadClientUseCaseJvm.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detailoverview/ClazzDetailOverviewScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/CoursePermissionExt.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/blob/download/AbstractEnqueueContentManifestDownloadUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/edit/ClazzEnrolmentEditViewModel.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/blob/download/AbstractEnqueueBlobDownloadClientUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/save/SaveContentEntryUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/coursegroup/CreateXapiGroupForCourseGroupUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/courseterminology/edit/CourseTerminologyEditViewModelTest.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/contententry/importcontent/EnqueueImportContentEntryUseCaseAndroid.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/ClazzAssignmentIntegrationTest.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/importcontent/EnqueueImportContentEntryUseCaseJvm.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/assignment/submitassignment/SubmitAssignmentUseCaseTest.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/ClazzTitleExt.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/coursegroup/CreateXapiGroupForCourseGroupUseCaseTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/courseblock/textblockdetail/TextBlockDetailViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/discussionpost/edit/DiscussionPostEditViewModel.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/blob/download/ContentManifestDownloadJob.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/util/ext/ReportWithSeriesWithFiltersExtTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/person/bulkadd/BulkAddPersonsUseCaseImpl.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GrantExternalAppPermissionUseCaseAndroid.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/blob/savepicture/SavePictureUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/pdfcontent/PdfContentViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/clazzmemberlist/ClazzMemberListViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/peerreviewallocation/UpdatePeerReviewAllocationUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/UmAppDatabaseKtorExt.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/SiteRoute.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/blob/upload/BlobUploadClientJob.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submittername/GetAssignmentSubmitterNameUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/siteterms/GetLocaleForSiteTermsUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/test/viewmodeltest/ViewModelTestBuilder.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/cachelock/UpdateCacheLockJoinUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/site/detail/SiteDetailViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/epubcontent/EpubContentViewModelTest.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/LeavingReasonEditViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/StoreActivitiesUseCase.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/blob/upload/AbstractEnqueueBlobUploadClientUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/site/edit/SiteEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/clazzenrolment/pendingenrolment/ApproveOrDeclinePendingEnrolmentUseCase.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/account/SetPasswordServerUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzlog/attendancelist/ClazzLogListAttendanceViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/ResolveXapiLaunchHrefUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/site/termsdetail/SiteTermsDetailViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/edit/ContentEntryEditViewModel.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/contententry/server/ContentEntryVersionServerUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detail/ClazzDetailViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/upload/BlobUploadClientUseCaseJvmTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/person/AddNewPersonUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/edit/ClazzEnrolmentEditViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/schedule/ClazzLogCreator.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/saveandmanifest/SaveLocalUriAndManifestUploadIntegrationTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/deleteditem/DeletedItemListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/blob/download/MakeContentEntryAvailableOfflineUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/ClazzViewModelUtilExt.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/blob/download/CancelDownloadUseCaseJvm.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/systempermission/edit/SystemPermissionEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModel.kt",
          "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/PersonAuthRegisterRouteTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/courseblock/edit/CourseBlockEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/blob/upload/UpdateFailedTransferJobUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/detail/PersonDetailViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/clazzenrolment/pendingenrolment/EnrolIntoCourseUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/coursegroupset/list/CourseGroupSetListViewModelTest.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/permissiondetail/CoursePermissionDetailViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detail/ClazzAssignmentDetailViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/LeavingReasonEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/schedule/TestClazzLogCreator.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModelTest.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/cachelock/CreateCacheLocksForActiveContentEntryVersionUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/list/ClazzEnrolmentListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/coursegroupset/list/CourseGroupSetListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/EndSessionParentChildJoinSyncListener.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/courseterminology/list/CourseTerminologyListViewModelTest.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/account/AuthManagerTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/blob/transferjobitem/TransferJobItemStatusUpdater.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/contententry/delete/DeleteContentEntryParentChildJoinUseCaseTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/blob/download/ContentManifestDownloadUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detail/submissionstab/ClazzAssignmentDetailSubmissionsTabViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/list/PersonListViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/util/UstadTestRule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailoverviewtab/ContentEntryDetailOverviewViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/contententry/detailoverviewtab/ContentEntryDetailOverviewViewModelTest.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/coursegroupset/edit/CourseGroupSetEditViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/detail/PersonDetailViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/settings/SettingsViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/epub/EpubContentImporterCommonJvmTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/parentalconsentmanagement/ParentalConsentManagementViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookPagingSource.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/submissionstab/ClazzAssignmentDetailSubmissionsTabViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/permissionlist/CoursePermissionListViewModel.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/person/bulkadd/EnqueueBulkAddPersonServerUseCase.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/blob/download/CancelDownloadUseCaseAndroid.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/coursegroupset/edit/CourseGroupSetEditViewModel.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/blob/upload/CancelBlobUploadClientUseCaseAndroid.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzlog/editattendance/ClazzLogEditAttendanceViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/delete/DeleteContentEntryParentChildJoinUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookViewModel.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/blob/upload/CancelBlobUploadClientUseCaseJvm.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/coursegroupset/detail/CourseGroupSetDetailViewModelTest.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/contententry/importcontent/ContentEntryImportJobRoute.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/StoreExternalAppPermissionUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/passwordreset/PasswordReset.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModelTest.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/dbpremigrate/DbPreMigrateAndroid.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/blob/download/BlobDownloadClientUseCaseCommonJvm.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazz/list/ClazzListViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/messagelist/MessageListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/blob/saveandupload/SaveAndUploadLocalUrisUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/peerreviewerallocationedit/PeerReviewerAllocationEditViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/importcontent/ImportContentEntryUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/PersonAuthRegisterRoute.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/parentalconsentmanagement/ParentalConsentManagementViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/deleteditem/DeletePermanentlyUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/peerreviewallocation/UpdatePeerReviewAllocationUseCaseTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/clazz/CreateNewClazzUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/systempermission/detail/SystemPermissionDetailViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/clazzenrolment/pendingenrolment/RequestEnrolmentUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzlog/attendancelist/ClazzLogListAttendanceViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazz/detail/ClazzDetailViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/deleteditem/RestoreDeletedItemUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/epubcontent/EpubContentViewModel.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/h5p/H5PContentImporter.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/discussionpost/courediscussiondetail/CourseDiscussionDetailViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/permissionedit/CoursePermissionEditViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpServerUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/importcontent/CancelImportContentEntryServerUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/impl/UstadAccountManagerTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/move/MoveContentEntriesUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitassignment/SubmitAssignmentUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/discussionpost/detail/DiscussionPostDetailViewModel.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/blob/savelocaluris/SaveLocalUrisAsBlobUseCaseJs.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/blob/download/BlobDownloadJob.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/list/ClazzListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/conversationlist/ConversationListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/usersession/ValidateUserSessionOnServerUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/blob/transferjobitem/UpdateTransferJobItemEtagUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/submissiondetail/CourseAssignmentSubmissionDetailViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/coursegroupset/detail/CourseGroupSetDetailViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/clazzenrolment/pendingenrolment/RequestEnrolmentUseCaseJvmTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/list/ContentEntryListViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/xfertestnode/XferTestClient.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/courseterminology/edit/CourseTerminologyEditViewModel.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/account/AuthManagerEncryptExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/peerreviewerallocationedit/PeerReviewerAllocationEditViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/clazzmemberlist/ClazzMemberListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/bulkaddselectfile/BulkAddPersonSelectFileViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/AuthManager.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/download/ContentManifestDownloadUseCaseTest.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzlog/edit/ClazzLogEditAttendanceViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/UmAppDatabaseExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/courseterminology/list/CourseTerminologyListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/account/VerifyClientUserSessionUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModelTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
        ],
        "commitId" : "76515d659c0ec6b7104b3babcc9f5dda343fca20",
        "timestamp" : 1720543478000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Set room to generate Kotlin. Change DAOs to use a function instead val.\u000a",
        "date" : "2024-07-09 20:44:38 +0400",
        "id" : "76515d659c0ec6b7104b3babcc9f5dda343fca20",
        "msg" : "Set room to generate Kotlin. Change DAOs to use a function instead val.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/peerreviewerallocationedit/PeerReviewerAllocationEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/ClazzTitleExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/site/edit/SiteEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/blob/download/ContentManifestDownloadUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazz/list/ClazzListViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/xfertestnode/XferTestClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/impl/UstadAccountManagerTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/UmAppDatabaseKtorExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/courseterminology/edit/CourseTerminologyEditViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/account/VerifyClientUserSessionUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/blob/download/CancelDownloadUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/contententry/delete/DeleteContentEntryParentChildJoinUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/coursegroupset/edit/CourseGroupSetEditViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/SiteRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/blob/transferjobitem/UpdateTransferJobItemEtagUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/coursegroupset/edit/CourseGroupSetEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/blob/upload/CancelBlobUploadClientUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzlog/attendancelist/ClazzLogListAttendanceViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzlog/editattendance/ClazzLogEditAttendanceViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/AuthManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/clazzenrolment/pendingenrolment/ApproveOrDeclinePendingEnrolmentUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/submissiondetail/CourseAssignmentSubmissionDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/edit/ClazzAssignmentEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/contententry/server/ContentEntryVersionServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/systempermission/edit/SystemPermissionEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/peerreviewallocation/UpdatePeerReviewAllocationUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/clazzmemberlist/ClazzMemberListViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/PersonAuthRegisterRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/StoreExternalAppPermissionUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/test/viewmodeltest/ViewModelTestBuilder.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/importcontent/CancelImportContentEntryServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/StoreActivitiesUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/ResolveXapiLaunchHrefUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/blob/download/AbstractEnqueueContentManifestDownloadUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/deleteditem/DeletedItemListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/save/SaveContentEntryUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/blob/savepicture/SavePictureUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/schedule/ClazzLogCreator.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/coursegroup/CreateXapiGroupForCourseGroupUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/submitterdetail/ClazzAssignmentSubmitterDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/contententry/edit/ContentEntryEditViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/importcontent/ImportContentEntryUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/courseblock/edit/CourseBlockEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazz/detail/ClazzDetailViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitassignment/SubmitAssignmentUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detail/ClazzAssignmentDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/clazz/CreateNewClazzUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/blob/upload/UpdateFailedTransferJobUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/list/ClazzListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/util/ext/ReportWithSeriesWithFiltersExtTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/settings/SettingsViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/permissionedit/CoursePermissionEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/clitools/passwordreset/PasswordReset.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/edit/ContentEntryEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/blob/download/MakeContentEntryAvailableOfflineUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/account/AuthManagerTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/site/termsdetail/SiteTermsDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/clazzmemberlist/ClazzMemberListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/courseblock/textblockdetail/TextBlockDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/discussionpost/edit/DiscussionPostEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/person/AddNewPersonUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/upload/BlobUploadClientUseCaseJvmTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/UmAppDatabaseExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterHttpServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/permissionlist/CoursePermissionListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detailoverview/ClazzAssignmentDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/blob/upload/AbstractEnqueueBlobUploadClientUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/coursegroupset/list/CourseGroupSetListViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/LeavingReasonEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/delete/DeleteContentEntryParentChildJoinUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/detail/PersonDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/permissiondetail/CoursePermissionDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/blob/upload/CancelBlobUploadClientUseCaseJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/courseterminology/edit/CourseTerminologyEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/epubcontent/EpubContentViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/edit/ClazzEnrolmentEditViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/EndSessionParentChildJoinSyncListener.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/parentalconsentmanagement/ParentalConsentManagementViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/coursegroupset/detail/CourseGroupSetDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/list/PersonListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/peerreviewerallocationedit/PeerReviewerAllocationEditViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/blob/download/BlobDownloadClientUseCaseCommonJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/discussionpost/courediscussiondetail/CourseDiscussionDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazz/detailoverview/ClazzDetailOverviewViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/util/UstadTestRule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/contententry/detailoverviewtab/ContentEntryDetailOverviewViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/blob/download/BlobDownloadJob.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/courseterminology/list/CourseTerminologyListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/gradebook/ClazzGradebookPagingSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/detail/submissionstab/ClazzAssignmentDetailSubmissionsTabViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/cachelock/UpdateCacheLockJoinUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpointTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/ClazzViewModelUtilExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/saveandmanifest/SaveLocalUriAndManifestUploadIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzlog/attendancelist/ClazzLogListAttendanceViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/deleteditem/RestoreDeletedItemUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailoverviewtab/ContentEntryDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/coursegroupset/list/CourseGroupSetListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/messagelist/MessageListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/account/SetPasswordServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/blob/savelocaluris/SaveLocalUrisAsBlobUseCaseJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/UstadAccountManager.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/blob/transferjobitem/TransferJobItemStatusUpdater.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/discussionpost/detail/DiscussionPostDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/importcontent/EnqueueImportContentEntryUseCaseJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/clazzenrolment/pendingenrolment/RequestEnrolmentUseCaseJvmTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/edit/ClazzEnrolmentEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/edit/PersonEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/interop/externalapppermission/GrantExternalAppPermissionUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/site/detail/SiteDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submittername/GetAssignmentSubmitterNameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/account/AuthManagerEncryptExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/person/bulkadd/BulkAddPersonsUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/clazzenrolment/pendingenrolment/RequestEnrolmentUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/blob/download/AbstractEnqueueBlobDownloadClientUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/blob/upload/BlobUploadClientUseCaseJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/epubcontent/EpubContentViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/message/conversationlist/ConversationListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/contententry/importcontent/EnqueueImportContentEntryUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/dbpremigrate/DbPreMigrateAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/oneroster/OneRosterEndpoint.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/courseterminology/list/CourseTerminologyListViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/blob/upload/BlobUploadClientJob.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/ClazzAssignmentIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/coursegroup/CreateXapiGroupForCourseGroupUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/list/ContentEntryListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/parentalconsentmanagement/ParentalConsentManagementViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/LeavingReasonEditViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/detailoverview/ClazzDetailOverviewScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzlog/edit/ClazzLogEditAttendanceViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/clazzassignment/submissionstab/ClazzAssignmentDetailSubmissionsTabViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/detail/ClazzDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/download/ContentManifestDownloadUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/edit/ClazzEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/deleteditem/DeletePermanentlyUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/usersession/ValidateUserSessionOnServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/blob/download/CancelDownloadUseCaseJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/coursegroupset/detail/CourseGroupSetDetailViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/siteterms/GetLocaleForSiteTermsUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/accountedit/PersonAccountEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/person/bulkaddselectfile/BulkAddPersonSelectFileViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/blob/download/ContentManifestDownloadJob.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/contententry/importcontent/ContentEntryImportJobRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/cachelock/CreateCacheLocksForActiveContentEntryVersionUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazzenrolment/list/ClazzEnrolmentListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/blob/saveandupload/SaveAndUploadLocalUrisUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/assignment/submitassignment/SubmitAssignmentUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/peerreviewallocation/UpdatePeerReviewAllocationUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/clazz/CoursePermissionExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/person/bulkadd/EnqueueBulkAddPersonServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/systempermission/detail/SystemPermissionDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/move/MoveContentEntriesUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/schedule/TestClazzLogCreator.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/pdfcontent/PdfContentViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/person/detail/PersonDetailViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/h5p/H5PContentImporter.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/PersonAuthRegisterRouteTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/clazzenrolment/pendingenrolment/EnrolIntoCourseUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/epub/EpubContentImporterCommonJvmTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/dbpremigrate/DbPreMigrate.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/dbpremigrate/DbPreMigrateAndroid.kt"
        ],
        "commitId" : "39747dba3437e25813c2782278479d12add1456b",
        "timestamp" : 1720704364000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove PreMigrate.\u000a",
        "date" : "2024-07-11 17:26:04 +0400",
        "id" : "39747dba3437e25813c2782278479d12add1456b",
        "msg" : "Remove PreMigrate.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/dbpremigrate/DbPreMigrate.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/redirect/RedirectViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/dbpremigrate/DbPreMigrateAndroid.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
        ],
        "commitId" : "6d48557ffd2c30ec4d7651e7ae3325ab041ff5ae",
        "timestamp" : 1720713822000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add code to demonstrate migration issue.\u000a",
        "date" : "2024-07-11 20:03:42 +0400",
        "id" : "6d48557ffd2c30ec4d7651e7ae3325ab041ff5ae",
        "msg" : "Add code to demonstrate migration issue.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md"
        ],
        "commitId" : "563afee725073abd80a6b7564cab1f622454261f",
        "timestamp" : 1720782505000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add documentation on Virtual Hosting subdomains to INSTALL.md\u000a",
        "date" : "2024-07-12 15:08:25 +0400",
        "id" : "563afee725073abd80a6b7564cab1f622454261f",
        "msg" : "Add documentation on Virtual Hosting subdomains to INSTALL.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gradle/libs.versions.toml"
        ],
        "commitId" : "2b1f70f2fa14cacc69cb77393bdeaa2e5ae8ff9d",
        "timestamp" : 1720974183000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Door version to 0.79.11 which fixes migration issue #904 .\u000a",
        "date" : "2024-07-14 20:23:03 +0400",
        "id" : "2b1f70f2fa14cacc69cb77393bdeaa2e5ae8ff9d",
        "msg" : "Update Door version to 0.79.11 which fixes migration issue #904 .",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/it/strings.xml"
        ],
        "commitId" : "3cdb4227ad73aeda9e9bbc019dee1d5d01d567c5",
        "timestamp" : 1720978167000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Added translation using Weblate (Italian)\u000a",
        "date" : "2024-07-14 19:29:27 +0200",
        "id" : "3cdb4227ad73aeda9e9bbc019dee1d5d01d567c5",
        "msg" : "Added translation using Weblate (Italian)",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/commonMain/resources/MR/it/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/it/plurals_weblate.xml"
        ],
        "commitId" : "4752bc2fac2345792123df95a2219482a9a81db3",
        "timestamp" : 1720978191000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Added translation using Weblate (Italian)\u000a",
        "date" : "2024-07-14 19:29:51 +0200",
        "id" : "4752bc2fac2345792123df95a2219482a9a81db3",
        "msg" : "Added translation using Weblate (Italian)",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/commonMain/resources/MR/it/plurals_weblate.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gradle/libs.versions.toml",
          "app-android/build.gradle"
        ],
        "commitId" : "0e53ee828d62246875aa0031ef58052abb48755e",
        "timestamp" : 1720980324000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update door to Version 0.79.12 and remove old Google Play lib\u000a\u000a Door update improves handling of situations where a newer server receives requests from an older client.\u000a\u000aOld Google Play lib no longer supported, also no longer used in app, so removed.\u000a",
        "date" : "2024-07-14 22:05:24 +0400",
        "id" : "0e53ee828d62246875aa0031ef58052abb48755e",
        "msg" : "Update door to Version 0.79.12 and remove old Google Play lib",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
        ],
        "commitId" : "a3508fffa8492af42fb2f1641945cdd0a42189f2",
        "timestamp" : 1720980542000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove schema Jsons for intermediate version sthat are not required since migration has been merged.\u000a",
        "date" : "2024-07-14 22:09:02 +0400",
        "id" : "a3508fffa8492af42fb2f1641945cdd0a42189f2",
        "msg" : "Remove schema Jsons for intermediate version sthat are not required since migration has been merged.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/174.json",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/186.json",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/192.json",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/190.json",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/189.json",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/193.json",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/191.json",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/187.json",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/188.json",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/175.json"
        ],
        "commitId" : "b6e6a82b79806ac35e30925754e5e15be8908bff",
        "timestamp" : 1720980550000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove schema Jsons for intermediate version sthat are not required since migration has been merged.\u000a",
        "date" : "2024-07-14 22:09:10 +0400",
        "id" : "b6e6a82b79806ac35e30925754e5e15be8908bff",
        "msg" : "Remove schema Jsons for intermediate version sthat are not required since migration has been merged.",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/186.json"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/174.json"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/188.json"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/175.json"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/191.json"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/190.json"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/189.json"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/193.json"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/187.json"
          },
          {
            "editType" : "delete",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/192.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/README.md"
        ],
        "commitId" : "1cd51127b00d7327d70ba640eb2a728be441ec89",
        "timestamp" : 1720980768000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add notes on bundled app-react resources.\u000a",
        "date" : "2024-07-14 22:12:48 +0400",
        "id" : "1cd51127b00d7327d70ba640eb2a728be441ec89",
        "msg" : "Add notes on bundled app-react resources.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-react/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/build.gradle",
          "lib-database/build.gradle"
        ],
        "commitId" : "c6a05bf7556f0fa2fc4c9d4885dff98650bd48d6",
        "timestamp" : 1720982707000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove generateKotlin from lib-database room due to attempt to avoid lint issue.\u000a",
        "date" : "2024-07-14 22:45:07 +0400",
        "id" : "c6a05bf7556f0fa2fc4c9d4885dff98650bd48d6",
        "msg" : "Remove generateKotlin from lib-database room due to attempt to avoid lint issue.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/AndroidManifest.xml",
          "app-android/src/main/java/com/ustadmobile/port/android/view/VerticalTextView.kt",
          "app-android/build.gradle",
          "gradle/libs.versions.toml",
          "app-android/src/main/res/values/strings.xml"
        ],
        "commitId" : "e845dac255b2e73b85e604ae77c120d503107b23",
        "timestamp" : 1720984431000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix lint errors\u000a\u000a1. Remove VerticalTextView\u000a2. Update Aztec version and add post_notifications permission\u000a3. Remove seismic library and sensor permission\u000a4. Remove unused strings.xml from app-android\u000a",
        "date" : "2024-07-14 23:13:51 +0400",
        "id" : "e845dac255b2e73b85e604ae77c120d503107b23",
        "msg" : "Fix lint errors",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/AndroidManifest.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/VerticalTextView.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/values/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/webpack.config.d/no-fs-buffer-polyfill.js",
          "app-react/webpack.config.d/no-fs-buffer-polyfill.js"
        ],
        "commitId" : "cc49c2aeab8ce193a2bc7fe7de057a135e76c62a",
        "timestamp" : 1720986559000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Attempt to fix Jenkins build webpack error.\u000a",
        "date" : "2024-07-14 23:49:19 +0400",
        "id" : "cc49c2aeab8ce193a2bc7fe7de057a135e76c62a",
        "msg" : "Attempt to fix Jenkins build webpack error.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/webpack.config.d/no-fs-buffer-polyfill.js"
          },
          {
            "editType" : "add",
            "file" : "app-react/webpack.config.d/no-fs-buffer-polyfill.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/InsertDefaultSiteCallbackTest.kt",
          "core/webpack.config.d/no-fs-buffer-polyfill.js",
          "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/ext/UmAppDatabaseKtorTestExt.kt",
          "app-react/webpack.config.d/no-fs-buffer-polyfill.js"
        ],
        "commitId" : "fc64882080f2aa48e3bbd854558582cce8cdb65a",
        "timestamp" : 1720988422000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix app-ktor-server test compilation\u000a",
        "date" : "2024-07-15 00:20:22 +0400",
        "id" : "fc64882080f2aa48e3bbd854558582cce8cdb65a",
        "msg" : "Fix app-ktor-server test compilation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/webpack.config.d/no-fs-buffer-polyfill.js"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/ext/UmAppDatabaseKtorTestExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/InsertDefaultSiteCallbackTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/webpack.config.d/no-fs-buffer-polyfill.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "sharedse/src/jvmTest/kotlin/com/ustadmobile/sharedse/util/UstadTestRuleSe.kt",
          "sharedse/src/jvmTest/kotlin/com/ustadmobile/test/util/ext/DiBinderExt.kt"
        ],
        "commitId" : "9fa7f4a2aade4ae00ad349b9518590e83ec2df3c",
        "timestamp" : 1720993109000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fixed sharedse test compilation\u000a",
        "date" : "2024-07-15 01:38:29 +0400",
        "id" : "9fa7f4a2aade4ae00ad349b9518590e83ec2df3c",
        "msg" : "Fixed sharedse test compilation",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "sharedse/src/jvmTest/kotlin/com/ustadmobile/sharedse/util/UstadTestRuleSe.kt"
          },
          {
            "editType" : "delete",
            "file" : "sharedse/src/jvmTest/kotlin/com/ustadmobile/test/util/ext/DiBinderExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md"
        ],
        "commitId" : "b86bb99ddb3a5ad77ddaacc977425fe7f82b8972",
        "timestamp" : 1721026037000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update INSTALL.md documentation to better reflect the setup process for single learning space and multi learning space systems.\u000a",
        "date" : "2024-07-15 10:47:17 +0400",
        "id" : "b86bb99ddb3a5ad77ddaacc977425fe7f82b8972",
        "msg" : "Update INSTALL.md documentation to better reflect the setup process for single learning space and multi learning space systems.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/README.md"
        ],
        "commitId" : "8810d965f0d4cf88f2547b75b4eba5e085fb87e9",
        "timestamp" : 1721026586000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update app-ktor-server documentation on building production zip bundle.\u000a",
        "date" : "2024-07-15 10:56:26 +0400",
        "id" : "8810d965f0d4cf88f2547b75b4eba5e085fb87e9",
        "msg" : "Update app-ktor-server documentation on building production zip bundle.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/README.md"
        ],
        "commitId" : "c4f609b80314751686bc4ce3511d0340854de02a",
        "timestamp" : 1721026598000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update app-ktor-server documentation on building production zip bundle.\u000a",
        "date" : "2024-07-15 10:56:38 +0400",
        "id" : "c4f609b80314751686bc4ce3511d0340854de02a",
        "msg" : "Update app-ktor-server documentation on building production zip bundle.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/README.md"
        ],
        "commitId" : "1111509fd5f0abcc01f7434269e41ce50306e13b",
        "timestamp" : 1721026623000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update app-ktor-server documentation on building production zip bundle.\u000a",
        "date" : "2024-07-15 10:57:03 +0400",
        "id" : "1111509fd5f0abcc01f7434269e41ce50306e13b",
        "msg" : "Update app-ktor-server documentation on building production zip bundle.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md"
        ],
        "commitId" : "de20950a96721866bf5a74a52dee515fdd9fd8e4",
        "timestamp" : 1721026891000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update INSTALL.md to make steps on Ubuntu easier to follow according to version.\u000a",
        "date" : "2024-07-15 11:01:31 +0400",
        "id" : "de20950a96721866bf5a74a52dee515fdd9fd8e4",
        "msg" : "Update INSTALL.md to make steps on Ubuntu easier to follow according to version.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md"
        ],
        "commitId" : "691b470f2cd3cff49a9864be497b45601915a6d7",
        "timestamp" : 1721027097000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update install documentation on usage of a binary built from source.\u000a",
        "date" : "2024-07-15 11:04:57 +0400",
        "id" : "691b470f2cd3cff49a9864be497b45601915a6d7",
        "msg" : "Update install documentation on usage of a binary built from source.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
        ],
        "commitId" : "1463637e17591ad655d08b0bfc6482fe51638a79",
        "timestamp" : 1721027726000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add support to trigger media file scanner on testserver-controller.\u000a",
        "date" : "2024-07-15 11:15:26 +0400",
        "id" : "1463637e17591ad655d08b0bfc6482fe51638a79",
        "msg" : "Add support to trigger media file scanner on testserver-controller.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md"
        ],
        "commitId" : "2c5d971a92a4adcab55f537b8f97dec059eaeee2",
        "timestamp" : 1721031076000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update documentation on using multiple learning space systems - password generation.\u000a",
        "date" : "2024-07-15 12:11:16 +0400",
        "id" : "2c5d971a92a4adcab55f537b8f97dec059eaeee2",
        "msg" : "Update documentation on using multiple learning space systems - password generation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
        ],
        "commitId" : "5a3e5bab0f27cee78ab2f8ac2923bf14bdacf7a6",
        "timestamp" : 1721031366000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "profile pic\u000a",
        "date" : "2024-07-15 12:16:06 +0400",
        "id" : "5a3e5bab0f27cee78ab2f8ac2923bf14bdacf7a6",
        "msg" : "profile pic",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
        ],
        "commitId" : "5986f5694bd77e230bcfd0d0c39d6617c1a9a743",
        "timestamp" : 1721034022000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix TestServercontroller adding media to gallery.\u000a",
        "date" : "2024-07-15 13:00:22 +0400",
        "id" : "5986f5694bd77e230bcfd0d0c39d6617c1a9a743",
        "msg" : "Fix TestServercontroller adding media to gallery.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/select_picture_from_files.yaml"
        ],
        "commitId" : "b52ca5ca8d53d07cdc94f3cf323f481b9ea41715",
        "timestamp" : 1721036511000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "profile pic\u000a",
        "date" : "2024-07-15 13:41:51 +0400",
        "id" : "b52ca5ca8d53d07cdc94f3cf323f481b9ea41715",
        "msg" : "profile pic",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/select_picture_from_files.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "keystore.properties.example"
        ],
        "commitId" : "7b53c1c2e01c4f7934692677ee00bb6e2045f7c5",
        "timestamp" : 1721036545000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "profile pic\u000a",
        "date" : "2024-07-15 13:42:25 +0400",
        "id" : "7b53c1c2e01c4f7934692677ee00bb6e2045f7c5",
        "msg" : "profile pic",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "keystore.properties.example"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-files/Profile_Pic/adminPic_pexels.txt",
          "test-end-to-end/test-files/Profile_Pic/admin_pic.jpg"
        ],
        "commitId" : "5028a4a1c44df5fd0aa6b1c1fedb6991d807306c",
        "timestamp" : 1721037191000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "profile pic\u000a",
        "date" : "2024-07-15 13:53:11 +0400",
        "id" : "5028a4a1c44df5fd0aa6b1c1fedb6991d807306c",
        "msg" : "profile pic",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/Profile_Pic/adminPic_pexels.txt"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-files/Profile_Pic/admin_pic.jpg"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/AppConfigExt.kt",
          "app-ktor-server/src/dist/ustad-server.conf"
        ],
        "commitId" : "74ea78670294cc059e91791775aacf31a35cfc97",
        "timestamp" : 1721040092000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add app-ktor-server fileProperty\u000a",
        "date" : "2024-07-15 14:41:32 +0400",
        "id" : "74ea78670294cc059e91791775aacf31a35cfc97",
        "msg" : "Add app-ktor-server fileProperty",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/AppConfigExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/dist/ustad-server.conf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-files/Profile_Pic/adminPic_pexels.txt",
          "test-end-to-end/test-files/Profile_Pic/admin_pic.jpg",
          "test-end-to-end/test-files/content/adminProfilePic_pexels.txt",
          "test-end-to-end/test-files/content/admin_pic.jpg",
          "test-end-to-end/test-files/content/admin_profilePic.jpg",
          "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml"
        ],
        "commitId" : "74f0f2796566e2ec9c795d5b3f905d8e14bc3c54",
        "timestamp" : 1721042015000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "profile pic\u000a",
        "date" : "2024-07-15 15:13:35 +0400",
        "id" : "74f0f2796566e2ec9c795d5b3f905d8e14bc3c54",
        "msg" : "profile pic",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-files/Profile_Pic/adminPic_pexels.txt"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-files/Profile_Pic/admin_pic.jpg"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/adminProfilePic_pexels.txt"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/test-files/content/admin_pic.jpg"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/test-files/content/admin_profilePic.jpg"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-desktop/compose-desktop.pro",
          "app-android/proguard-rules.pro"
        ],
        "commitId" : "3346c5f2954025c6f6091663eee71c4c0201f1c4",
        "timestamp" : 1721055499000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix issue #907 - crash on opening epub when using Android release variant\u000a\u000aThis was caused by the fact that XXHash factories are using reflection. Needed to add keep rules.\u000a",
        "date" : "2024-07-15 18:58:19 +0400",
        "id" : "3346c5f2954025c6f6091663eee71c4c0201f1c4",
        "msg" : "Fix issue #907 - crash on opening epub when using Android release variant",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-desktop/compose-desktop.pro"
          },
          {
            "editType" : "edit",
            "file" : "app-android/proguard-rules.pro"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppBar.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/App.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/UstadViewModel.kt"
        ],
        "commitId" : "69091a930d59e3830218b03399750b72663928f4",
        "timestamp" : 1721057066000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix issue #897 - settings icon not shown after login\u000a",
        "date" : "2024-07-15 19:24:26 +0400",
        "id" : "69091a930d59e3830218b03399750b72663928f4",
        "msg" : "Fix issue #897 - settings icon not shown after login",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/AppBar.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/UstadViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/App.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "build.gradle"
        ],
        "commitId" : "40f19bf28fba46052af861617daca479e36ac24c",
        "timestamp" : 1721061139000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Bump version\u000a",
        "date" : "2024-07-15 20:32:19 +0400",
        "id" : "40f19bf28fba46052af861617daca479e36ac24c",
        "msg" : "Bump version",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/App.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/SizeClass.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/edit/ClazzAssignmentEditScreen.kt"
        ],
        "commitId" : "93aa73f6f8a8cebe8ebe8c408cb95e0440b47160",
        "timestamp" : 1721063560000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix Issue #886 display of assign reviewers button issue on small screens\u000a",
        "date" : "2024-07-15 21:12:40 +0400",
        "id" : "93aa73f6f8a8cebe8ebe8c408cb95e0440b47160",
        "msg" : "Fix Issue #886 display of assign reviewers button issue on small screens",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzassignment/edit/ClazzAssignmentEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/App.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/app/SizeClass.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml",
          "test-end-to-end/test-files/content/Pdf_Content.pdf",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
        ],
        "commitId" : "31aeb8a3c245a0c6b147dc6400a3117bea26edb2",
        "timestamp" : 1721106565000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Add pdf & Video Content\u000a",
        "date" : "2024-07-16 09:09:25 +0400",
        "id" : "31aeb8a3c245a0c6b147dc6400a3117bea26edb2",
        "msg" : "Add pdf & Video Content",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_002-epub.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-files/content/Pdf_Content.pdf"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/share/SendAppFileUseCaseAndroid.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/settings/SettingsScreen.kt",
          "app-android/src/main/res/xml/file_provider_path.xml",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/settings/SettingsViewModel.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/share/SendAppFileUseCase.kt"
        ],
        "commitId" : "f90a05b76c03535d7580eadc6aa7c021e8497249",
        "timestamp" : 1721120803000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant.deshmukh",
          "fullName" : "prashant.deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Offline installation and sharing functionality.\u000a",
        "date" : "2024-07-16 14:36:43 +0530",
        "id" : "f90a05b76c03535d7580eadc6aa7c021e8497249",
        "msg" : "Offline installation and sharing functionality.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/settings/SettingsViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/share/SendAppFileUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/settings/SettingsScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/share/SendAppFileUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/res/xml/file_provider_path.xml"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "img/onboarding_add_org.svg",
          "img/individual_restore.svg",
          "img/onboarding_individual.svg",
          "img/individual_create.svg",
          "img/onboarding_existing.svg"
        ],
        "commitId" : "d3b4fca92716dd2d447ef6e05fc7dda6c47cea15",
        "timestamp" : 1721123580000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant.deshmukh",
          "fullName" : "prashant.deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Offline installation and sharing functionality.\u000a",
        "date" : "2024-07-16 15:23:00 +0530",
        "id" : "d3b4fca92716dd2d447ef6e05fc7dda6c47cea15",
        "msg" : "Offline installation and sharing functionality.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "img/onboarding_individual.svg"
          },
          {
            "editType" : "add",
            "file" : "img/onboarding_existing.svg"
          },
          {
            "editType" : "add",
            "file" : "img/individual_restore.svg"
          },
          {
            "editType" : "add",
            "file" : "img/onboarding_add_org.svg"
          },
          {
            "editType" : "add",
            "file" : "img/individual_create.svg"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/source/images/sharing3.jpg",
          "docs/source/images/installation4.jpg",
          "docs/source/images/sharing2.jpg",
          "docs/source/installation.rst",
          "docs/source/index.rst",
          "docs/source/images/sharing1.jpg",
          "docs/source/images/installation3.jpg",
          "docs/source/images/installation1.jpg",
          "docs/source/images/installation2.jpg"
        ],
        "commitId" : "2805c661bee55f92303b9d1ded17252de6773a69",
        "timestamp" : 1721124489000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant.deshmukh",
          "fullName" : "prashant.deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Offline installation and sharing functionality.\u000a",
        "date" : "2024-07-16 15:38:09 +0530",
        "id" : "2805c661bee55f92303b9d1ded17252de6773a69",
        "msg" : "Offline installation and sharing functionality.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "docs/source/images/installation1.jpg"
          },
          {
            "editType" : "add",
            "file" : "docs/source/images/installation2.jpg"
          },
          {
            "editType" : "add",
            "file" : "docs/source/installation.rst"
          },
          {
            "editType" : "add",
            "file" : "docs/source/images/installation3.jpg"
          },
          {
            "editType" : "add",
            "file" : "docs/source/images/sharing3.jpg"
          },
          {
            "editType" : "add",
            "file" : "docs/source/images/installation4.jpg"
          },
          {
            "editType" : "add",
            "file" : "docs/source/images/sharing1.jpg"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/index.rst"
          },
          {
            "editType" : "add",
            "file" : "docs/source/images/sharing2.jpg"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/source/installation.rst"
        ],
        "commitId" : "0a4721777a2fa316fe286d61c1f21818e384cb7e",
        "timestamp" : 1721127619000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Installation\u000a",
        "date" : "2024-07-16 15:00:19 +0400",
        "id" : "0a4721777a2fa316fe286d61c1f21818e384cb7e",
        "msg" : "Installation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/source/installation.rst"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadChipsDemo.kt"
        ],
        "commitId" : "af6e31d661886a465fbb6c715c56709ab7d4187f",
        "timestamp" : 1721135345000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add chips field demonstration (for use in invitation).\u000a",
        "date" : "2024-07-16 17:09:05 +0400",
        "id" : "af6e31d661886a465fbb6c715c56709ab7d4187f",
        "msg" : "Add chips field demonstration (for use in invitation).",
        "paths" : [
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadChipsDemo.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/entities/UstadScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-react/src/jsMain/kotlin/com/ustadmobile/hooks/useDoorRemoteMediator.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/list/ClazzListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadNothingHereYet.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzlog/attendancelist/ClazzLogListAttendanceScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/list/ContentEntryListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/conversationlist/ConversationListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/coursegroupset/list/CourseGroupSetListScreen.kt",
          "gradle/libs.versions.toml",
          "app-react/src/jsMain/kotlin/com/ustadmobile/util/ext/InfiniteQueryResultExt.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/paging/RememberDoorRepoPager.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/list/ClazzListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/coursegroupset/list/CourseGroupSetListScreen.kt",
          "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzlog/attendancelist/ClazzLogListAttendanceScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/conversationlist/ConversationListScreen.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/list/PersonListScreen.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadNothingHereYet.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/list/ContentEntryListScreen.kt"
        ],
        "commitId" : "9a948ae858c0c7566a5eb0af987c2c0af726bdfc",
        "timestamp" : 1721153623000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add initial empty state (nothing here message) on lists if/when loading is done and list is empty.\u000a",
        "date" : "2024-07-16 22:13:43 +0400",
        "id" : "9a948ae858c0c7566a5eb0af987c2c0af726bdfc",
        "msg" : "Add initial empty state (nothing here message) on lists if/when loading is done and list is empty.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/gradebook/ClazzGradebookScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/contententry/list/ContentEntryListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/coursegroupset/list/CourseGroupSetListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/mui/components/UstadNothingHereYet.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazz/list/ClazzListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/paging/RememberDoorRepoPager.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/coursegroupset/list/CourseGroupSetListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/contententry/list/ContentEntryListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/message/conversationlist/ConversationListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/hooks/useDoorRemoteMediator.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazzlog/attendancelist/ClazzLogListAttendanceScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/components/UstadNothingHereYet.kt"
          },
          {
            "editType" : "add",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/util/ext/InfiniteQueryResultExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/message/conversationlist/ConversationListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/clazzlog/attendancelist/ClazzLogListAttendanceScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/com/ustadmobile/view/clazz/list/ClazzListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/person/list/PersonListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_008_group_users_add_assignment_and_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_003_user_add_private_comment.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/001_004_admin_can_delete_content.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/001_001_admin_can_add_content_003-video.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_002_users_add_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/common/setDate.js",
          "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml",
          "test-end-to-end/android-maestro/run-maestro-test.sh",
          "test-end-to-end/android-maestro/common/setTime.js"
        ],
        "commitId" : "3e230686f654492306cf76fddf839917cc627632",
        "timestamp" : 1721310030000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Assignment Changes\u000a",
        "date" : "2024-07-18 17:40:30 +0400",
        "id" : "3e230686f654492306cf76fddf839917cc627632",
        "msg" : "Assignment Changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/setDate.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_008_group_users_add_assignment_and_course_comments.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/001_004_admin_can_delete_content.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_002_users_add_course_comments.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/001_001_admin_can_add_content_003-video.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_003_user_add_private_comment.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/setTime.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/share/SendAppFileUseCaseAndroid.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/settings/SettingsScreen.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/settings/SettingsViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/share/SendAppFileUseCase.kt"
        ],
        "commitId" : "fcd03e51bcd9f0aba804ffab20df8f202ea0d538",
        "timestamp" : 1721331986000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "- Bottom sheet opens on share button click with options: 1) Share APK file, 2) Share app store link.\u000a- Generated Play Store link for current package.\u000a- Retrieved activity context from AbstractActivity.\u000a",
        "date" : "2024-07-19 01:16:26 +0530",
        "id" : "fcd03e51bcd9f0aba804ffab20df8f202ea0d538",
        "msg" : "- Bottom sheet opens on share button click with options: 1) Share APK file, 2) Share app store link.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/share/SendAppFileUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/settings/SettingsScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/settings/SettingsViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/share/SendAppFileUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/contententry/getlocalurlforcontent/GetLocalUrlForContentUseCaseCommonJvm.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiHttpSessionUseCaseLocal.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/XapiSessionEntity.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/embeddedhttp/EmbeddedHttpServer.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AppActivity.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/getapiurl/GetApiUrlUseCaseEmbeddedServer.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseJvm.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/getapiurl/GetApiUrlUseCase.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseAndroid.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiHttpSessionUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSession.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/epub/LaunchEpubUseCaseJvm.kt"
        ],
        "commitId" : "ed6706b0fece5e40cde17d5f01bb8503a841baeb",
        "timestamp" : 1721376540000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add GetApiUrlUseCase and use for epub / xapi existing use cases.\u000a",
        "date" : "2024-07-19 12:09:00 +0400",
        "id" : "ed6706b0fece5e40cde17d5f01bb8503a841baeb",
        "msg" : "Add GetApiUrlUseCase and use for epub / xapi existing use cases.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/getapiurl/GetApiUrlUseCaseEmbeddedServer.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/contententry/getlocalurlforcontent/GetLocalUrlForContentUseCaseCommonJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSession.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/embeddedhttp/EmbeddedHttpServer.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/XapiSessionEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiHttpSessionUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/epub/LaunchEpubUseCaseJvm.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/getapiurl/GetApiUrlUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AppActivity.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiHttpSessionUseCaseLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseAndroid.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiHttpSessionUseCaseLocal.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/noninteractivecontentusagestatementrecorder/NonInteractiveContentXapiStatementRecorderTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/DefaultLaunchContentEntryVersionUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModelTest.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseJvm.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseAndroid.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/LaunchContentEntryVersionUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/ResolveXapiLaunchHrefUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiHttpSessionUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSession.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/UstadViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCaseDirect.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/epub/LaunchEpubUseCaseJvm.kt"
        ],
        "commitId" : "7315c965877bdd368b5fcdac238b40c90ef9c102",
        "timestamp" : 1721394080000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add Xapi Rustici launch args to url when opening xAPI content on Android and Desktop.\u000a",
        "date" : "2024-07-19 17:01:20 +0400",
        "id" : "7315c965877bdd368b5fcdac238b40c90ef9c102",
        "msg" : "Add Xapi Rustici launch args to url when opening xAPI content on Android and Desktop.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/LaunchContentEntryVersionUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCaseDirect.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/epub/LaunchEpubUseCaseJvm.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiHttpSessionUseCaseLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/DefaultLaunchContentEntryVersionUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/ResolveXapiLaunchHrefUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/noninteractivecontentusagestatementrecorder/NonInteractiveContentXapiStatementRecorderTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSession.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/UstadViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseJvm.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiHttpSessionUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/xapi/starthttpsession/StartXapiSessionRoute.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/getapiurl/GetApiUrlUseCaseDirect.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCase.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseJs.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCaseJs.kt"
        ],
        "commitId" : "fa21ee715274fa9319ee839b64ce9ebfc5bea9fa",
        "timestamp" : 1721397039000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add xAPI launch parameters for Xapi launch on JS.\u000a",
        "date" : "2024-07-19 17:50:39 +0400",
        "id" : "fa21ee715274fa9319ee839b64ce9ebfc5bea9fa",
        "msg" : "Add xAPI launch parameters for Xapi launch on JS.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/getapiurl/GetApiUrlUseCaseDirect.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCaseJs.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/xapi/starthttpsession/StartXapiSessionRoute.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeaderListExt.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MappedHttpHeaders.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/blob/upload/BlobUploadClientUseCaseJvm.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/saveandmanifest/SaveLocalUriAsBlobAndManifestUseCaseJvmTest.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MapHttpHeadersAdapter.kt",
          "lib-ihttp-okhttp/consumer-rules.pro",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/CacheStoreTextExt.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponse.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/util/ext/HttpHeaderExt.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/embeddedhttp/EmbeddedHttpServer.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/request/BaseHttpRequest.kt",
          "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/blob/upload/AbstractEnqueueBlobUploadClientUseCase.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilder.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/blob/upload/BlobUploadServerUseCase.kt",
          "lib-cache/src/commonJvmMain/kotlin/com/ustadmobile/libcache/headers/LastModifiedHeader.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/util/KtorApplicationRequestCacheRequestAdapter.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/util/KtorApplicationRequestIHttpRequestAdapter.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/h5p/H5PContentImporterTest.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/contententry/server/ContentEntryVersionServerUseCase.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/upload/BlobUploadClientUseCaseJvmTest.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/pdf/PdfContentImporterJvmTest.kt",
          "lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/CacheRoute.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MergedHeaders.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/xfertestnode/XferTestNode.kt",
          "lib-cache/src/commonJvmMain/kotlin/com/ustadmobile/libcache/okhttp/OkHttpHeadersAdapter.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/test/CacheAssertions.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/blob/savelocaluris/SaveLocalUrisAsBlobsUseCaseJvm.kt",
          "core/build.gradle",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeaders.kt",
          "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersImpl.kt",
          "lib-cache/src/commonJvmMain/kotlin/com/ustadmobile/libcache/okhttp/HttpRequestOkHttpAdapter.kt",
          "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/TestContentEntryVersionRoute.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/embeddedhttp/EmbeddedHttpServerTest.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt",
          "lib-ihttp-core/README.md",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeader.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/epub/EpubContentImporterCommonJvmTest.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt",
          "lib-ihttp-okhttp/build.gradle.kts",
          "lib-cache/src/commonJvmMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheHeadersAdapter.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/request/HttpRequest.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/contententry/server/WebResourceRequestExt.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt",
          "lib-cache/build.gradle.kts",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt",
          "lib-ihttp-core/.gitignore",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt",
          "lib-ihttp-okhttp/proguard-rules.pro",
          "lib-cache/src/commonJvmMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt",
          "lib-cache/src/commonJvmMain/kotlin/com/ustadmobile/libcache/okhttp/OkHttpRequestAdapter.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/request/RequestBuilder.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/upload/BlobUploadServerUseCaseTest.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/media/VideoContentImporterJvmTest.kt",
          "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/xapi/XapiZipContentImporterTest.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/api/content/ContentEntryVersionRoute.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/KtorHeadersAdapter.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/ApplicationCallExt.kt",
          "settings.gradle",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt",
          "lib-ihttp-okhttp/.gitignore",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/LastModifiedHeader.kt",
          "lib-cache/src/commonJvmMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt",
          "lib-ihttp-core/build.gradle.kts",
          "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt"
        ],
        "commitId" : "9e365eece77e8f5f859d05bc387feff32269af24",
        "timestamp" : 1721571581000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial version of lib-ihttp\u000a\u000aAdd new common module with interfaces that can be used by (common) API implementation logic.\u000aFix DI issue that prevented download for offline working on JVM/Desktop.\u000a",
        "date" : "2024-07-21 18:19:41 +0400",
        "id" : "9e365eece77e8f5f859d05bc387feff32269af24",
        "msg" : "Initial version of lib-ihttp",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeader.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/contententry/server/ContentEntryVersionServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/request/HttpRequest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonJvmMain/kotlin/com/ustadmobile/libcache/headers/LastModifiedHeader.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/pdf/PdfContentImporterJvmTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/blob/upload/AbstractEnqueueBlobUploadClientUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/upload/BlobUploadClientUseCaseJvmTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/LastModifiedHeader.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-cache/src/commonJvmMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheHeadersAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/proguard-rules.pro"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonJvmMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/media/VideoContentImporterJvmTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/request/BaseHttpRequest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/test/CacheAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/TestContentEntryVersionRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/xfertestnode/XferTestNode.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonJvmMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/h5p/H5PContentImporterTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/xapi/XapiZipContentImporterTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/blob/upload/BlobUploadClientUseCaseJvm.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/util/KtorApplicationRequestIHttpRequestAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/CacheRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/saveandmanifest/SaveLocalUriAsBlobAndManifestUseCaseJvmTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/upload/BlobUploadServerUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/api/content/ContentEntryVersionRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponse.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "settings.gradle"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/contentformats/epub/EpubContentImporterCommonJvmTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-cache/src/commonJvmMain/kotlin/com/ustadmobile/libcache/okhttp/HttpRequestOkHttpAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-cache/src/commonJvmMain/kotlin/com/ustadmobile/libcache/okhttp/OkHttpHeadersAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/CacheStoreTextExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/embeddedhttp/EmbeddedHttpServer.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MappedHttpHeaders.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/request/RequestBuilder.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilder.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeaderListExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/blob/upload/BlobUploadServerUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MergedHeaders.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/domain/blob/savelocaluris/SaveLocalUrisAsBlobsUseCaseJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MapHttpHeadersAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/embeddedhttp/EmbeddedHttpServerTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/util/ext/HttpHeaderExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/KtorHeadersAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/ApplicationCallExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-cache/src/commonJvmMain/kotlin/com/ustadmobile/libcache/okhttp/OkHttpRequestAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/README.md"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/util/KtorApplicationRequestCacheRequestAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/contententry/server/WebResourceRequestExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/consumer-rules.pro"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeaders.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/run-maestro-test.sh"
        ],
        "commitId" : "e3c9fc39d4504098c40460d87c4cf925b021ba3f",
        "timestamp" : 1721627397000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Assignment Changes\u000a",
        "date" : "2024-07-22 09:49:57 +0400",
        "id" : "e3c9fc39d4504098c40460d87c4cf925b021ba3f",
        "msg" : "Assignment Changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/run-maestro-test.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml",
          "test-end-to-end/android-maestro/common/setDate.js",
          "test-end-to-end/android-maestro/common/select_picture_from_files.yaml"
        ],
        "commitId" : "7a87a7312b68f7e54fb50a8ca21de5a8521ba115",
        "timestamp" : 1721654731000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Assignment Changes\u000a",
        "date" : "2024-07-22 17:25:31 +0400",
        "id" : "7a87a7312b68f7e54fb50a8ca21de5a8521ba115",
        "msg" : "Assignment Changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_008_course_blocks_title_field_is_mandatory.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/setDate.js"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/select_picture_from_files.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/select_picture_from_files.yaml"
        ],
        "commitId" : "7566b4f3b874cf1a3fa0e67dea92fa384def31da",
        "timestamp" : 1721662403000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Assignment Changes\u000a",
        "date" : "2024-07-22 19:33:23 +0400",
        "id" : "7566b4f3b874cf1a3fa0e67dea92fa384def31da",
        "msg" : "Assignment Changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/select_picture_from_files.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSessionExt.kt",
          "lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCase.kt",
          "gradle/libs.versions.toml",
          "lib-ihttp-iostreams/.gitignore",
          "lib-ihttp-okhttp/build.gradle.kts",
          "lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt",
          "lib-ihttp-nanohttpd/.gitignore",
          "lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt",
          "lib-ihttp-iostreams/build.gradle.kts",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCaseDirect.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt",
          "settings.gradle",
          "lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/XapiSessionEntity.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt",
          "lib-ihttp-nanohttpd/build.gradle.kts",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/embeddedhttp/EmbeddedHttpServer.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt",
          "lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/HttpApiException.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModelTest.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt",
          "core/build.gradle",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt",
          "lib-ihttp-iostreams/README.md",
          "lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/ResolveXapiLaunchHrefUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/util/KtorApplicationRequestIHttpRequestAdapter.kt",
          "lib-ihttp-core/build.gradle.kts",
          "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt"
        ],
        "commitId" : "e487641aeb26924f556c930b953e3b3cfa8942ea",
        "timestamp" : 1721720404000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial XapiHttpServerUseCase implementation.\u000a",
        "date" : "2024-07-23 11:40:04 +0400",
        "id" : "e487641aeb26924f556c930b953e3b3cfa8942ea",
        "msg" : "Initial XapiHttpServerUseCase implementation.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-iostreams/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt"
          },
          {
            "editType" : "edit",
            "file" : "settings.gradle"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-iostreams/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/ResolveXapiLaunchHrefUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCaseDirect.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-nanohttpd/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModelTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-nanohttpd/.gitignore"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/util/KtorApplicationRequestIHttpRequestAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/embeddedhttp/EmbeddedHttpServer.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-core/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/XapiSessionEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/interop/HttpApiException.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSessionExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-okhttp/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-iostreams/README.md"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml",
          "test-end-to-end/android-maestro/common/select_picture_from_files.yaml"
        ],
        "commitId" : "ceb517b7cfe1230da4fbaa12fee28f2f48d046f4",
        "timestamp" : 1721721966000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Add image file\u000a",
        "date" : "2024-07-23 12:06:06 +0400",
        "id" : "ceb517b7cfe1230da4fbaa12fee28f2f48d046f4",
        "msg" : "Add image file",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/select_picture_from_files.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
        ],
        "commitId" : "c8598b5420d3e4d11bed89db63a5472b0f050d76",
        "timestamp" : 1721729296000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Add image file\u000a",
        "date" : "2024-07-23 14:08:16 +0400",
        "id" : "c8598b5420d3e4d11bed89db63a5472b0f050d76",
        "msg" : "Add image file",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/006_001_users_can_send_messages.yaml"
        ],
        "commitId" : "2b9b0e6db807b18a1927e97dca412fe642b031b2",
        "timestamp" : 1721738615000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "message\u000a",
        "date" : "2024-07-23 16:43:35 +0400",
        "id" : "2b9b0e6db807b18a1927e97dca412fe642b031b2",
        "msg" : "message",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/006_001_users_can_send_messages.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/195.json",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StateEntity.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateEntityDao.kt"
        ],
        "commitId" : "74514ab8c837e4ec2bb640677c182fdf0082e120",
        "timestamp" : 1721808803000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add StateEntity to UmAppDatabase for Xapi state handling.\u000a",
        "date" : "2024-07-24 12:13:23 +0400",
        "id" : "74514ab8c837e4ec2bb640677c182fdf0082e120",
        "msg" : "Add StateEntity to UmAppDatabase for Xapi state handling.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/195.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StateEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateEntityDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_010.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_011.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_013_peer_marking_for_group_assignment.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_011_group_users_multiple_assignment_submission_allowed.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_010_group_users_single_assignment_submission_allowed.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_009_group_users_add_private_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_013.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_009.yaml"
        ],
        "commitId" : "a2b370041a18b06f88f02c83f1c3eacbffbeb13c",
        "timestamp" : 1721809655000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "failed tests\u000a",
        "date" : "2024-07-24 12:27:35 +0400",
        "id" : "a2b370041a18b06f88f02c83f1c3eacbffbeb13c",
        "msg" : "failed tests",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_013.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_011.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_011_group_users_multiple_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_010_group_users_single_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_009_group_users_add_private_comments.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_013_peer_marking_for_group_assignment.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_009.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_010.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateParams.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateParamsExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/StringExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateEntityDao.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/embeddedhttp/EmbeddedHttpServerTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StateEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
        ],
        "commitId" : "a77e8694185545f7c8d427d13067bf413d1f558d",
        "timestamp" : 1721812610000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation of StoreXapiStateUseCase.\u000a",
        "date" : "2024-07-24 13:16:50 +0400",
        "id" : "a77e8694185545f7c8d427d13067bf413d1f558d",
        "msg" : "Initial implementation of StoreXapiStateUseCase.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/StringExt.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/embeddedhttp/EmbeddedHttpServerTest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateParamsExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StateEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateParams.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/StringExt.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateEntityDao.kt"
        ],
        "commitId" : "d7a8d45defc6ef1eb2306eef0144f83f06f72a17",
        "timestamp" : 1721814239000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Implement access control for Xapi SaveState use case.\u000a",
        "date" : "2024-07-24 13:43:59 +0400",
        "id" : "d7a8d45defc6ef1eb2306eef0144f83f06f72a17",
        "msg" : "Implement access control for Xapi SaveState use case.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/StringExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateEntityDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt"
        ],
        "commitId" : "f9dbf2951425dccd8c011219617ff1acc0e56ad6",
        "timestamp" : 1721837363000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation of xAPI state retrieval\u000a",
        "date" : "2024-07-24 20:09:23 +0400",
        "id" : "f9dbf2951425dccd8c011219617ff1acc0e56ad6",
        "msg" : "Initial implementation of xAPI state retrieval",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/share/SendAppFileUseCaseAndroid.kt",
          "docs/source/images/sharing3.jpg",
          "img/onboarding_individual.svg",
          "img/onboarding_existing.svg",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt",
          "img/onboarding_add_org.svg",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/accountlist/AccountListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/settings/SettingsViewModel.kt",
          "docs/source/images/installation3.jpg",
          "docs/source/images/sharing4.jpg",
          "docs/source/images/installation1.jpg",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/share/SendAppFileUseCase.kt",
          "docs/source/images/installation4.jpg",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/settings/SettingsScreen.kt",
          "docs/source/images/sharing2.jpg",
          "img/individual_restore.svg",
          "docs/source/installation.rst",
          "img/individual_create.svg",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/share/ShareAppUseCase.kt",
          "docs/source/images/sharing1.jpg",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/share/ShareAppUseCaseAndroid.kt",
          "docs/source/images/installation2.jpg"
        ],
        "commitId" : "6a5ef079b96ea1a89d94f957e0d2eb9a88a86e2a",
        "timestamp" : 1721890592000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Added requested changes and updates to the offline sharing installation.\u000a",
        "date" : "2024-07-25 12:26:32 +0530",
        "id" : "6a5ef079b96ea1a89d94f957e0d2eb9a88a86e2a",
        "msg" : "Added requested changes and updates to the offline sharing installation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/accountlist/AccountListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/images/sharing2.jpg"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AbstractAppActivity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "add",
            "file" : "docs/source/images/sharing4.jpg"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/share/SendAppFileUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/settings/SettingsViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/images/installation4.jpg"
          },
          {
            "editType" : "add",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/share/ShareAppUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/images/sharing1.jpg"
          },
          {
            "editType" : "delete",
            "file" : "img/onboarding_individual.svg"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/settings/SettingsScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/images/installation3.jpg"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "img/onboarding_existing.svg"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/images/sharing3.jpg"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/installation.rst"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/share/ShareAppUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/images/installation2.jpg"
          },
          {
            "editType" : "delete",
            "file" : "img/individual_create.svg"
          },
          {
            "editType" : "delete",
            "file" : "img/individual_restore.svg"
          },
          {
            "editType" : "delete",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/share/SendAppFileUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "img/onboarding_add_org.svg"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/images/installation1.jpg"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/settings/SettingsScreen.kt",
          "translate-screenshots/share_app.png",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt",
          "translate-screenshots/send_app_link.png",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/accountlist/AccountListScreen.kt",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/settings/SettingsViewModel.kt",
          "translate-screenshots/send_apk_file.png"
        ],
        "commitId" : "c95e2f1773b7621cd629988805cee2223b756591",
        "timestamp" : 1721896985000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Added requested changes and updates to the offline sharing installation.\u000a",
        "date" : "2024-07-25 14:13:05 +0530",
        "id" : "c95e2f1773b7621cd629988805cee2223b756591",
        "msg" : "Added requested changes and updates to the offline sharing installation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/accountlist/AccountListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/settings/SettingsScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "translate-screenshots/send_apk_file.png"
          },
          {
            "editType" : "add",
            "file" : "translate-screenshots/share_app.png"
          },
          {
            "editType" : "add",
            "file" : "translate-screenshots/send_app_link.png"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/settings/SettingsViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt"
        ],
        "commitId" : "9077cf181e823df0de8524c1529673a5136fa04c",
        "timestamp" : 1721897050000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Added requested changes and updates to the offline sharing installation.\u000a",
        "date" : "2024-07-25 14:14:10 +0530",
        "id" : "9077cf181e823df0de8524c1529673a5136fa04c",
        "msg" : "Added requested changes and updates to the offline sharing installation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt"
        ],
        "commitId" : "40615aa8d81423437db704c862ba25b6e30c5fa0",
        "timestamp" : 1721901510000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Revert changes to AccountListViewModel not related to pull request.\u000a",
        "date" : "2024-07-25 13:58:30 +0400",
        "id" : "40615aa8d81423437db704c862ba25b6e30c5fa0",
        "msg" : "Revert changes to AccountListViewModel not related to pull request.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/settings/SettingsViewModel.kt",
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/settings/SettingsScreen.kt"
        ],
        "commitId" : "e4f56980907427403d210662b846ba7c9e391d09",
        "timestamp" : 1721901885000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Revert changes to SettingsScreen / ViewModel.\u000a",
        "date" : "2024-07-25 14:04:45 +0400",
        "id" : "e4f56980907427403d210662b846ba7c9e391d09",
        "msg" : "Revert changes to SettingsScreen / ViewModel.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/settings/SettingsScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/settings/SettingsViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/accountlist/AccountListScreen.kt"
        ],
        "commitId" : "7ad020c3a7bb3625326739b4031322efbfa2bff7",
        "timestamp" : 1721902576000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Tidy AccountListScreen to follow Kotlin coding style.\u000a",
        "date" : "2024-07-25 14:16:16 +0400",
        "id" : "7ad020c3a7bb3625326739b4031322efbfa2bff7",
        "msg" : "Tidy AccountListScreen to follow Kotlin coding style.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/accountlist/AccountListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/base/strings.xml"
        ],
        "commitId" : "e403df8beb93208f81b3611329de346134e3f44b",
        "timestamp" : 1721903029000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove old string for share app (had incorrect capitalization).\u000a",
        "date" : "2024-07-25 14:23:49 +0400",
        "id" : "e403df8beb93208f81b3611329de346134e3f44b",
        "msg" : "Remove old string for share app (had incorrect capitalization).",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/source/installation.rst"
        ],
        "commitId" : "3913d4588bf70736bee221676f25c3af27849caa",
        "timestamp" : 1721904209000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "Added requested changes and updates to the offline sharing installation.\u000a",
        "date" : "2024-07-25 16:13:29 +0530",
        "id" : "3913d4588bf70736bee221676f25c3af27849caa",
        "msg" : "Added requested changes and updates to the offline sharing installation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/source/installation.rst"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StateEntity.kt"
        ],
        "commitId" : "1dc56c1af340ebcac8cbbdca189f48bd3ce6a23c",
        "timestamp" : 1721911407000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update StateEntity: previous version incorrectly assumed all state content would be JSON.\u000a",
        "date" : "2024-07-25 16:43:27 +0400",
        "id" : "1dc56c1af340ebcac8cbbdca189f48bd3ce6a23c",
        "msg" : "Update StateEntity: previous version incorrectly assumed all state content would be JSON.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StateEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/accountlist/AccountListScreen.kt"
        ],
        "commitId" : "120efa45a69eb83a4e11028e31e75b7ac8488238",
        "timestamp" : 1721970639000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "fixed visibility of share app option according platform.\u000a",
        "date" : "2024-07-26 10:40:39 +0530",
        "id" : "120efa45a69eb83a4e11028e31e75b7ac8488238",
        "msg" : "fixed visibility of share app option according platform.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/accountlist/AccountListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/accountlist/AccountListScreen.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt"
        ],
        "commitId" : "793bad156e84891d56269526c54d1e07f9dd7e8b",
        "timestamp" : 1721972610000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "fixed visibility of share app option according platform.\u000a",
        "date" : "2024-07-26 11:13:30 +0530",
        "id" : "793bad156e84891d56269526c54d1e07f9dd7e8b",
        "msg" : "fixed visibility of share app option according platform.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/commonMain/kotlin/com/ustadmobile/libuicompose/view/accountlist/AccountListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/accountlist/AccountListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/source/images/sharing3.jpg",
          "docs/source/images/sharing2.jpg",
          "docs/source/images/sharing1.jpg",
          "docs/source/installation.rst"
        ],
        "commitId" : "611dd7a0960a30f186c3c8ed0742370165182e05",
        "timestamp" : 1721976268000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "updated manual documentation.\u000a",
        "date" : "2024-07-26 12:14:28 +0530",
        "id" : "611dd7a0960a30f186c3c8ed0742370165182e05",
        "msg" : "updated manual documentation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/source/images/sharing3.jpg"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/images/sharing2.jpg"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/images/sharing1.jpg"
          },
          {
            "editType" : "edit",
            "file" : "docs/source/installation.rst"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/source/installation.rst"
        ],
        "commitId" : "4f7c1f082833737d32dcf3b58fe57af4ae85a8ce",
        "timestamp" : 1721976371000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
          "fullName" : "Prashant Deshmukh"
        },
        "authorEmail" : "prashant.deshmukh@sutara.org",
        "comment" : "updated manual documentation.\u000a",
        "date" : "2024-07-26 12:16:11 +0530",
        "id" : "4f7c1f082833737d32dcf3b58fe57af4ae85a8ce",
        "msg" : "updated manual documentation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/source/installation.rst"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".readthedocs.yaml",
          "docs/requirements.txt"
        ],
        "commitId" : "535f7e7a8f50294744a9fad3b8e65cc695c087f6",
        "timestamp" : 1721987113000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add requirements.txt for readthedocs.\u000a",
        "date" : "2024-07-26 13:45:13 +0400",
        "id" : "535f7e7a8f50294744a9fad3b8e65cc695c087f6",
        "msg" : "Add requirements.txt for readthedocs.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".readthedocs.yaml"
          },
          {
            "editType" : "add",
            "file" : "docs/requirements.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/195.json",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateEntityDao.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StateEntity.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCaseDirect.kt"
        ],
        "commitId" : "3ad8c615962ba2f51c1ae3478ebe9ff4ec8622f9",
        "timestamp" : 1721989723000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update Xapi state storage and retrieval to handle non-JSON data.\u000a",
        "date" : "2024-07-26 14:28:43 +0400",
        "id" : "3ad8c615962ba2f51c1ae3478ebe9ff4ec8622f9",
        "msg" : "Update Xapi state storage and retrieval to handle non-JSON data.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/195.json"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCaseDirect.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StateEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/IHttpRequestExt.kt",
          "lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt"
        ],
        "commitId" : "22692fa8ae10a0f26e1375f44ade3eb9d245eb7d",
        "timestamp" : 1721994794000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add support for Xapi state to store binary data.\u000a",
        "date" : "2024-07-26 15:53:14 +0400",
        "id" : "22692fa8ae10a0f26e1375f44ade3eb9d245eb7d",
        "msg" : "Add support for Xapi state to store binary data.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/IHttpRequestExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateEntityDao.kt"
        ],
        "commitId" : "ea476ac934982d0452ae5c373d0ea82e6f1b4756",
        "timestamp" : 1722014185000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add integration test for Xapi state with binary data.\u000a",
        "date" : "2024-07-26 21:16:25 +0400",
        "id" : "ea476ac934982d0452ae5c373d0ea82e6f1b4756",
        "msg" : "Add integration test for Xapi state with binary data.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateEntityDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/dist/systemd/ustad-server.service",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/UmAppDatabaseKtorExt.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/DiTag.kt",
          "build.gradle",
          "app-ktor-server/src/dist/README.txt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt",
          "INSTALL.md"
        ],
        "commitId" : "02abd2670bfcc57d3103f30b4143ca6a1d33769d",
        "timestamp" : 1722183267000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add support and docs for starting server on boot using systemd.\u000a",
        "date" : "2024-07-28 20:14:27 +0400",
        "id" : "02abd2670bfcc57d3103f30b4143ca6a1d33769d",
        "msg" : "Add support and docs for starting server on boot using systemd.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/dist/README.txt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/dist/systemd/ustad-server.service"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/DiTag.kt"
          },
          {
            "editType" : "edit",
            "file" : "build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/UmAppDatabaseKtorExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md",
          "app-ktor-server/src/dist/README.txt"
        ],
        "commitId" : "a15c081ccd1023e8b67df78c0fe36531ac7223b1",
        "timestamp" : 1722260642000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update documentation on using the systemd script.\u000a",
        "date" : "2024-07-29 17:44:02 +0400",
        "id" : "a15c081ccd1023e8b67df78c0fe36531ac7223b1",
        "msg" : "Update documentation on using the systemd script.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/dist/README.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt"
        ],
        "commitId" : "1980807bdf659055c2f6bf33a7cc7579e7c688f6",
        "timestamp" : 1722316596000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add storage size limit enforcement for xAPI state.\u000a",
        "date" : "2024-07-30 09:16:36 +0400",
        "id" : "1980807bdf659055c2f6bf33a7cc7579e7c688f6",
        "msg" : "Add storage size limit enforcement for xAPI state.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/ApplicationCallExt.kt",
          "settings.gradle",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnUnloadUseCaseJs.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt",
          "lib-ihttp-ktor-server/src/main/java/com/ustadmobile/ihttp/ktorserver/ApplicationRequestExt.kt",
          "app-ktor-server/build.gradle",
          "gradle/libs.versions.toml",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/IStringValuesExt.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCaseJs.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/util/DirectivesToMap.kt",
          "lib-ihttp-ktor-server/.gitignore",
          "lib-ihttp-ktor-server/src/main/java/com/ustadmobile/ihttp/ktorserver/RespondIHttpResponse.kt",
          "lib-ihttp-ktor-server/src/main/java/com/ustadmobile/ihttp/ktorserver/KtorApplicationRequestIHttpRequestAdapter.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/xfertestnode/XferTestServer.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/CacheRoute.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/xapi/XapiRoute.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/api/content/ContentEntryVersionRoute.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt",
          "lib-ihttp-ktor-server/build.gradle.kts",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/util/KtorApplicationRequestIHttpRequestAdapter.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/RequestExt.kt"
        ],
        "commitId" : "d9fc3986111e21835f351711ac4c13d0c047ad1a",
        "timestamp" : 1722349312000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add support to run xAPI session over http in web version.\u000a",
        "date" : "2024-07-30 18:21:52 +0400",
        "id" : "d9fc3986111e21835f351711ac4c13d0c047ad1a",
        "msg" : "Add support to run xAPI session over http in web version.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/blob/xfertestnode/XferTestServer.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/ext/IStringValuesExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "settings.gradle"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-ktor-server/.gitignore"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/CacheRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/ApplicationCallExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/api/content/ContentEntryVersionRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-ktor-server/src/main/java/com/ustadmobile/ihttp/ktorserver/RespondIHttpResponse.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-ktor-server/src/main/java/com/ustadmobile/ihttp/ktorserver/ApplicationRequestExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCaseJs.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-ktor-server/src/main/java/com/ustadmobile/ihttp/ktorserver/KtorApplicationRequestIHttpRequestAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/util/DirectivesToMap.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnUnloadUseCaseJs.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/xapi/XapiRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/util/KtorApplicationRequestIHttpRequestAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/RequestExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-ktor-server/build.gradle.kts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/util/UstadTestRule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/test/viewmodeltest/ViewModelTestBuilder.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiJson.kt",
          "app-android/src/main/res/drawable/cover.png",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt",
          "app-android/src/main/res/drawable/ic_baseline_chat_24.xml",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
        ],
        "commitId" : "c04fe339dce5d9867e996d29f9034b248c855b0d",
        "timestamp" : 1722351185000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update use of Kotlinx Serialization for xAPI to avoid encoding defaults (as per xAPI spec).\u000a",
        "date" : "2024-07-30 18:53:05 +0400",
        "id" : "c04fe339dce5d9867e996d29f9034b248c855b0d",
        "msg" : "Update use of Kotlinx Serialization for xAPI to avoid encoding defaults (as per xAPI spec).",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/dimodules/JvmBackendDiModule.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/cover.png"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/test/viewmodeltest/ViewModelTestBuilder.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiJson.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/util/UstadTestRule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_chat_24.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml"
        ],
        "commitId" : "a2f377a7f14de4d4d6ec096e7533501039b98bb9",
        "timestamp" : 1722411111000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes in assignment test\u000a",
        "date" : "2024-07-31 11:31:51 +0400",
        "id" : "a2f377a7f14de4d4d6ec096e7533501039b98bb9",
        "msg" : "changes in assignment test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/006_001_users_can_send_messages.yaml"
        ],
        "commitId" : "56f71c31eec2833246bb4e6d7bd1f1b1ad6ed2ea",
        "timestamp" : 1722411145000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes in assignment test\u000a",
        "date" : "2024-07-31 11:32:25 +0400",
        "id" : "56f71c31eec2833246bb4e6d7bd1f1b1ad6ed2ea",
        "msg" : "changes in assignment test",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/006_001_users_can_send_messages.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateEntityDao.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActorDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StateIdAndLastModified.kt",
          "gradle/libs.versions.toml",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/ListXapiStateIdsUseCase.kt"
        ],
        "commitId" : "f9dd1190e0f306e796171fb2a150b320a35fe265",
        "timestamp" : 1722420381000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Implement Xapi State list state ids.\u000a",
        "date" : "2024-07-31 14:06:21 +0400",
        "id" : "f9dd1190e0f306e796171fb2a150b320a35fe265",
        "msg" : "Implement Xapi State list state ids.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/ActorDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/composites/xapi/StateIdAndLastModified.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/ListXapiStateIdsUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/002_004_teacher_can_see_student_progress_in_each_course_blocks.yaml"
        ],
        "commitId" : "65b4ed80a5845e3ab318aa38ec7cf78b7f567904",
        "timestamp" : 1722430856000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "new test check student progress report\u000a",
        "date" : "2024-07-31 17:00:56 +0400",
        "id" : "65b4ed80a5845e3ab318aa38ec7cf78b7f567904",
        "msg" : "new test check student progress report",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_004_teacher_can_see_student_progress_in_each_course_blocks.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateDeleteCommandDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateEntityDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/DeleteXapiStateUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StateDeleteCommand.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt"
        ],
        "commitId" : "6e9c2aaba4cb21ee0e32b97d9d6024c2c8535bbd",
        "timestamp" : 1722431949000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add DeleteXapiStateUseCase\u000a",
        "date" : "2024-07-31 17:19:09 +0400",
        "id" : "6e9c2aaba4cb21ee0e32b97d9d6024c2c8535bbd",
        "msg" : "Add DeleteXapiStateUseCase",
        "paths" : [
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/DeleteXapiStateUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StateDeleteCommand.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateDeleteCommandDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
        ],
        "commitId" : "656990064051dd88e1a5e19855588f4f85b2c7eb",
        "timestamp" : 1722432476000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add support for state delete to XapiHttpServerUseCase\u000a",
        "date" : "2024-07-31 17:27:56 +0400",
        "id" : "656990064051dd88e1a5e19855588f4f85b2c7eb",
        "msg" : "Add support for state delete to XapiHttpServerUseCase",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_004_teacher_can_see_student_progress_in_each_course_blocks.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_004_course_title_is_mandatory.yaml"
        ],
        "commitId" : "7028c91adade1fe57966b22ba675e13648f77db2",
        "timestamp" : 1722517150000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "new tests\u000a",
        "date" : "2024-08-01 16:59:10 +0400",
        "id" : "7028c91adade1fe57966b22ba675e13648f77db2",
        "msg" : "new tests",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_004_course_title_is_mandatory.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_005_course_title_is_mandatory.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_004_teacher_can_see_student_progress_in_each_course_blocks.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
        ],
        "commitId" : "d96a6ed10ccf720a3f9f1d170f91ea056b8e17b1",
        "timestamp" : 1722521072000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "new tests\u000a",
        "date" : "2024-08-01 18:04:32 +0400",
        "id" : "d96a6ed10ccf720a3f9f1d170f91ea056b8e17b1",
        "msg" : "new tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/h5p/H5PContentImporter.kt"
        ],
        "commitId" : "455100493c512188803ab5695bee4e598533e120",
        "timestamp" : 1722521987000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add support to receive xAPI statements for H5P content.\u000a",
        "date" : "2024-08-01 18:19:47 +0400",
        "id" : "455100493c512188803ab5695bee4e598533e120",
        "msg" : "Add support to receive xAPI statements for H5P content.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/h5p/H5PContentImporter.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
        ],
        "commitId" : "31ce9eada4b8973cd6eceb0c0d8f135d00c7cabd",
        "timestamp" : 1722582093000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "google permission\u000a",
        "date" : "2024-08-02 11:01:33 +0400",
        "id" : "31ce9eada4b8973cd6eceb0c0d8f135d00c7cabd",
        "msg" : "google permission",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/noninteractivecontentusagestatementrecorder/NonInteractiveContentXapiStatementRecorderFactory.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/LaunchContentEntryVersionUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCaseDirect.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/noninteractivecontentusagestatementrecorder/NonInteractiveContentXapiStatementRecorder.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/XapiSessionEntity.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/test/viewmodeltest/ViewModelTestBuilder.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/noninteractivecontentusagestatementrecorder/NonInteractiveContentXapiStatementRecorderTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/ListXapiStateIdsUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseJvm.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/ResolveXapiLaunchHrefUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSession.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearUseCase.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnUnloadUseCaseJs.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearUseCaseAndroid.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSessionExt.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearUseCaseJs.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCase.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearWorker.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModelTest.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/ext/XapiSessionEntityExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/UstadViewModel.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/epub/LaunchEpubUseCaseJvm.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/xapi/starthttpsession/StartXapiSessionRoute.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearJob.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/DeleteXapiStateUseCase.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearUseCaseJvm.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCaseJs.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/DefaultLaunchContentEntryVersionUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/noninteractivecontent/AbstractNonInteractiveContentViewModel.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModelTest.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseAndroid.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/XapiStatementsAndSession.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseJs.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
        ],
        "commitId" : "c59abca8acfe556130ee0cfa4fd226dcf4ecaba4",
        "timestamp" : 1722609442000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove XapiSession data class. Move to using XapiSessionEntity .\u000a",
        "date" : "2024-08-02 18:37:22 +0400",
        "id" : "c59abca8acfe556130ee0cfa4fd226dcf4ecaba4",
        "msg" : "Remove XapiSession data class. Move to using XapiSessionEntity .",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearUseCaseJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearUseCaseJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/impl/di/CommonDomainModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnUnloadUseCaseJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/DeleteXapiStateUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearWorker.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/DefaultLaunchContentEntryVersionUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/ListXapiStateIdsUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearJob.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StatementDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/noninteractivecontent/AbstractNonInteractiveContentViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/XapiStatementsAndSession.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateUseCaseIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/ResolveXapiLaunchHrefUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/test/viewmodeltest/ViewModelTestBuilder.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/XapiSessionEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/UstadViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/LaunchContentEntryVersionUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCaseJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/test/clientservertest/ClientServerIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSession.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/videocontent/VideoContentViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCaseDirect.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/noninteractivecontentusagestatementrecorder/NonInteractiveContentXapiStatementRecorder.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/assignment/submitmark/SubmitMarkUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/ext/XapiSessionEntityExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatementObject.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/noninteractivecontentusagestatementrecorder/NonInteractiveContentXapiStatementRecorderFactory.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/xapi/starthttpsession/StartXapiSessionRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiSessionExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/xapi/savestatementonclear/SaveStatementOnClearUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/domain/xapi/noninteractivecontentusagestatementrecorder/NonInteractiveContentXapiStatementRecorderTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/epub/LaunchEpubUseCaseJvm.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/TestContentEntryVersionRoute.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/view/AppActivity.kt",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/198.json",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/XapiSessionEntity.kt"
        ],
        "commitId" : "d12909dc5837ea2246ca03ba5684d90b436bd347",
        "timestamp" : 1722610655000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix TestContentEntryVersionRoute\u000a",
        "date" : "2024-08-02 18:57:35 +0400",
        "id" : "d12909dc5837ea2246ca03ba5684d90b436bd347",
        "msg" : "Fix TestContentEntryVersionRoute",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/AppActivity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/198.json"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/TestContentEntryVersionRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/XapiSessionEntity.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/ResumeOrStartXapiSessionUseCase.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/ResumeOrStartXapiSessionUseCaseLocal.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailoverviewtab/ContentEntryDetailOverviewViewModel.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/DefaultLaunchContentEntryVersionUseCase.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseJvm.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModelTest.kt",
          "core/src/androidMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseAndroid.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModel.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/LaunchContentEntryVersionUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/ResolveXapiLaunchHrefUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/account/UserSessionWithPersonAndEndpoint.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/ext/XapiSessionEntityExt.kt",
          "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/epub/LaunchEpubUseCaseJvm.kt"
        ],
        "commitId" : "03b00bc18418fd74d49bc6cadb9b9b89ad032426",
        "timestamp" : 1722772516000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial Xapi automatic session resumption.\u000a",
        "date" : "2024-08-04 15:55:16 +0400",
        "id" : "03b00bc18418fd74d49bc6cadb9b9b89ad032426",
        "msg" : "Initial Xapi automatic session resumption.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/account/UserSessionWithPersonAndEndpoint.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/epub/LaunchEpubUseCaseJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModelTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/androidMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/ResumeOrStartXapiSessionUseCaseLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/DefaultLaunchContentEntryVersionUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/ext/XapiSessionEntityExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/LaunchContentEntryVersionUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/contententry/detailoverviewtab/ContentEntryDetailOverviewViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/ResolveXapiLaunchHrefUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/ResumeOrStartXapiSessionUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/ResumeOrStartXapiSessionUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/xapi/starthttpsession/StartXapiSessionRoute.kt",
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/ResumeOrStartXapiSessionUseCaseLocal.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/session/ResumeOrStartXapiSessionUseCaseLocal.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/session/ResumeOrStartXapiSessionUseCase.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCase.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCaseJs.kt",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModelTest.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/CallExt.kt",
          "app-react/src/jsMain/kotlin/UstadJsDi.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/session/ResumeOrStartXapiSessionUseCaseJs.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/ResolveXapiLaunchHrefUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/xapi/session/ResumeOrStartXapiSessionRoute.kt",
          "core/src/jsMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseJs.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCaseDirect.kt"
        ],
        "commitId" : "58fb915c50c49f638e1bd4b3052058d39ceb26de",
        "timestamp" : 1722780161000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Implement Xapi State resumption for content launched on Web.\u000a",
        "date" : "2024-08-04 18:02:41 +0400",
        "id" : "58fb915c50c49f638e1bd4b3052058d39ceb26de",
        "msg" : "Implement Xapi State resumption for content launched on Web.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/impl/di/DomainDiModuleJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/session/ResumeOrStartXapiSessionUseCaseLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/xapi/starthttpsession/StartXapiSessionRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/viewmodel/xapicontent/XapiContentViewModelTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCaseDirect.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/ext/CallExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/ResolveXapiLaunchHrefUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/contententry/launchcontent/xapi/LaunchXapiUseCaseJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "add",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/domain/xapi/session/ResumeOrStartXapiSessionRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/session/ResumeOrStartXapiSessionUseCaseJs.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/ResumeOrStartXapiSessionUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-react/src/jsMain/kotlin/UstadJsDi.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/jsMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/StartXapiSessionOverHttpUseCaseJs.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/session/ResumeOrStartXapiSessionUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/starthttpsession/ResumeOrStartXapiSessionUseCaseLocal.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/ext/XapiStatementExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
        ],
        "commitId" : "ef74c4ae84805b94b896de3e42f097290dbd7b7c",
        "timestamp" : 1722787379000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix capturing progress statements for Articulate content.\u000a",
        "date" : "2024-08-04 20:02:59 +0400",
        "id" : "ef74c4ae84805b94b896de3e42f097290dbd7b7c",
        "msg" : "Fix capturing progress statements for Articulate content.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/XapiStatementResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/model/XapiStatement.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/ext/XapiStatementExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/session/ResumeOrStartXapiSessionUseCaseLocal.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
        ],
        "commitId" : "0a37dbbb1eede5873490e3f9b1a8fa6be9c5b063",
        "timestamp" : 1722841654000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update session resumption logic - resume session even if marked complete.\u000a",
        "date" : "2024-08-05 11:07:34 +0400",
        "id" : "0a37dbbb1eede5873490e3f9b1a8fa6be9c5b063",
        "msg" : "Update session resumption logic - resume session even if marked complete.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/session/ResumeOrStartXapiSessionUseCaseLocal.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "build.gradle"
        ],
        "commitId" : "a85ca135298b5a7adaa2a49897cb615100447460",
        "timestamp" : 1722841850000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Bump version.\u000a",
        "date" : "2024-08-05 11:10:50 +0400",
        "id" : "a85ca135298b5a7adaa2a49897cb615100447460",
        "msg" : "Bump version.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
        ],
        "commitId" : "8d5f5f9e28568828f594dfe4066e7ad6f8f6a057",
        "timestamp" : 1722843865000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "External link changed\u000a",
        "date" : "2024-08-05 11:44:25 +0400",
        "id" : "8d5f5f9e28568828f594dfe4066e7ad6f8f6a057",
        "msg" : "External link changed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
        ],
        "commitId" : "d8611ae3a08c7f719f285419b14a1bb8deba4dd3",
        "timestamp" : 1722847735000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix XapiSessionEntityDao\u000a",
        "date" : "2024-08-05 12:48:55 +0400",
        "id" : "d8611ae3a08c7f719f285419b14a1bb8deba4dd3",
        "msg" : "Fix XapiSessionEntityDao",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/XapiSessionEntityDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
        ],
        "commitId" : "96a2582a7b4d27c7df89755e43fc93d937729d65",
        "timestamp" : 1722849675000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "External link changed\u000a",
        "date" : "2024-08-05 13:21:15 +0400",
        "id" : "96a2582a7b4d27c7df89755e43fc93d937729d65",
        "msg" : "External link changed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
        ],
        "commitId" : "0e3044fe03e7942de3944b26624ebaee9ea21491",
        "timestamp" : 1722853131000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "External link changed\u000a",
        "date" : "2024-08-05 14:18:51 +0400",
        "id" : "0e3044fe03e7942de3944b26624ebaee9ea21491",
        "msg" : "External link changed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/h5p/H5PContentImporter.kt"
        ],
        "commitId" : "f3b2c0579628662cd751472e496b195f818cb506",
        "timestamp" : 1722881276000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "H5P importer update and maestro End-to-end testing updates:\u000aIncrease video extended wait timeouts.\u000aH5P importer: add fallback if structuredClone is not available.\u000a",
        "date" : "2024-08-05 22:07:56 +0400",
        "id" : "f3b2c0579628662cd751472e496b195f818cb506",
        "msg" : "H5P importer update and maestro End-to-end testing updates:",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_003-video.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/h5p/H5PContentImporter.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "PULLREQUEST-CHECKLIST.md"
        ],
        "commitId" : "ee20e974fc5eb64bd146969094af3c51b9dca68d",
        "timestamp" : 1722931931000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update PULLREQUEST-CHECKLIST.md\u000a",
        "date" : "2024-08-06 12:12:11 +0400",
        "id" : "ee20e974fc5eb64bd146969094af3c51b9dca68d",
        "msg" : "Update PULLREQUEST-CHECKLIST.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "PULLREQUEST-CHECKLIST.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "PULLREQUEST-CHECKLIST.md"
        ],
        "commitId" : "03906d841e06b6ce93585972846fdca6a92ecebd",
        "timestamp" : 1722932107000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update PULLREQUEST-CHECKLIST.md\u000a",
        "date" : "2024-08-06 12:15:07 +0400",
        "id" : "03906d841e06b6ce93585972846fdca6a92ecebd",
        "msg" : "Update PULLREQUEST-CHECKLIST.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "PULLREQUEST-CHECKLIST.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/components/UstadImageSelectButton.kt"
        ],
        "commitId" : "5e3aec9b7dee02014e158bf5104bfd4a5ed22f6e",
        "timestamp" : 1723021810000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add select from file option on Android for selecting picture\u000a",
        "date" : "2024-08-07 13:10:10 +0400",
        "id" : "5e3aec9b7dee02014e158bf5104bfd4a5ed22f6e",
        "msg" : "Add select from file option on Android for selecting picture",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/components/UstadImageSelectButton.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/components/UstadImageSelectButton.kt",
          "translate-screenshots/select_picture_from_gallery.png",
          "translate-screenshots/remove_picture.png",
          "core/src/commonMain/resources/MR/base/strings.xml",
          "translate-screenshots/select_picture_from_files.png",
          "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/components/UstadImageSelectButton.kt"
        ],
        "commitId" : "1212370eed94f51b229df689168c8303471fa660",
        "timestamp" : 1723022680000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update terminology for image selection and add screenshots.\u000a",
        "date" : "2024-08-07 13:24:40 +0400",
        "id" : "1212370eed94f51b229df689168c8303471fa660",
        "msg" : "Update terminology for image selection and add screenshots.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/base/strings.xml"
          },
          {
            "editType" : "add",
            "file" : "translate-screenshots/select_picture_from_gallery.png"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/androidMain/kotlin/com/ustadmobile/libuicompose/components/UstadImageSelectButton.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ui-compose/src/desktopMain/kotlin/com/ustadmobile/libuicompose/components/UstadImageSelectButton.kt"
          },
          {
            "editType" : "add",
            "file" : "translate-screenshots/remove_picture.png"
          },
          {
            "editType" : "add",
            "file" : "translate-screenshots/select_picture_from_files.png"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
        ],
        "commitId" : "cd275ad6a6aafeca89fa1896e7b8570b36f7e20f",
        "timestamp" : 1723022968000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove testserver-controller support for scan media.\u000a\u000aNo longer required - gallery experience is not consistent enough for Maestro testing.\u000a",
        "date" : "2024-08-07 13:29:28 +0400",
        "id" : "cd275ad6a6aafeca89fa1896e7b8570b36f7e20f",
        "msg" : "Remove testserver-controller support for scan media.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "PULLREQUEST-CHECKLIST.md"
        ],
        "commitId" : "566744ecf274970b6bd6131d9580e22e2f85d943",
        "timestamp" : 1723032990000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update PULLREQUEST-CHECKLIST.md\u000a\u000aUpdate pull request checklist requirements for end to end testing\u000a",
        "date" : "2024-08-07 16:16:30 +0400",
        "id" : "566744ecf274970b6bd6131d9580e22e2f85d943",
        "msg" : "Update PULLREQUEST-CHECKLIST.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "PULLREQUEST-CHECKLIST.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/google_permission.yaml",
          "test-end-to-end/android-maestro/common/add_profile_pic.yaml",
          "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
        ],
        "commitId" : "08a9b052dcaeb67404a7301a75fd4db2c2e4483e",
        "timestamp" : 1723035308000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "google chrome update - changes\u000a",
        "date" : "2024-08-07 16:55:08 +0400",
        "id" : "08a9b052dcaeb67404a7301a75fd4db2c2e4483e",
        "msg" : "google chrome update - changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/add_profile_pic.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/google_permission.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/002_009_people_add_and_remove_profile_pic.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/006_001_users_can_send_messages.yaml"
        ],
        "commitId" : "a86636d6beb342a1d89846751541da15a0997dac",
        "timestamp" : 1723035428000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes\u000a",
        "date" : "2024-08-07 16:57:08 +0400",
        "id" : "a86636d6beb342a1d89846751541da15a0997dac",
        "msg" : "changes",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/e2e-tests/006_001_users_can_send_messages.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/chrome-first-run-without-account.yaml",
          "test-end-to-end/android-maestro/README.md",
          "test-end-to-end/android-maestro/update-chrome-yaml/update-chrome.yaml",
          "test-end-to-end/android-maestro/update-chrome-yaml/stopandfail.yaml",
          "test-end-to-end/android-maestro/chrome-updater/extract-chrome.sh",
          "test-end-to-end/android-maestro/update-chrome2/google-play-click-options-and-wait-for-close.yaml",
          "test-end-to-end/android-maestro/update-chrome2/google-play-sign-in-wait-for-close.yaml",
          "test-end-to-end/android-maestro/common/chrome-first-run-check.yaml",
          "test-end-to-end/android-maestro/update-chrome2/update-chrome2.yaml",
          "test-end-to-end/android-maestro/update-chrome2/update-chrome2.sh",
          "test-end-to-end/android-maestro/common/chrome-first-run-accept-and-continue.yaml",
          "test-end-to-end/android-maestro/update-chrome2/accept-without-account.yaml",
          "test-end-to-end/android-maestro/update-chrome-yaml/chrome.yaml",
          "test-end-to-end/android-maestro/update-chrome2/update-dialog.yaml",
          "test-end-to-end/android-maestro/update-chrome-yaml/run.sh",
          "test-end-to-end/android-maestro/common/chrome-first-run-tap-accept-or-use-without-account.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
        ],
        "commitId" : "e341b6f48b584c1bdbaf6d900fb51e9ef725da0e",
        "timestamp" : 1723116055000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update handling of Chrome first run.\u000a",
        "date" : "2024-08-08 15:20:55 +0400",
        "id" : "e341b6f48b584c1bdbaf6d900fb51e9ef725da0e",
        "msg" : "Update handling of Chrome first run.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/update-chrome2/accept-without-account.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/update-chrome2/update-chrome2.sh"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_001-h5p.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/chrome-first-run-check.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/update-chrome2/update-chrome2.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/update-chrome2/google-play-click-options-and-wait-for-close.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/chrome-first-run-tap-accept-or-use-without-account.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/chrome-first-run-without-account.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/update-chrome-yaml/run.sh"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/update-chrome-yaml/update-chrome.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/update-chrome2/update-dialog.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/update-chrome-yaml/stopandfail.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/chrome-updater/extract-chrome.sh"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/update-chrome-yaml/chrome.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/chrome-first-run-accept-and-continue.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/update-chrome2/google-play-sign-in-wait-for-close.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/chrome-first-run-without-account.yaml",
          "test-end-to-end/android-maestro/update-chrome-yaml/stopandfail.yaml",
          "test-end-to-end/android-maestro/update-chrome-yaml/update-chrome.yaml",
          "test-end-to-end/android-maestro/README.md",
          "test-end-to-end/android-maestro/chrome-updater/extract-chrome.sh",
          "test-end-to-end/android-maestro/update-chrome2/google-play-click-options-and-wait-for-close.yaml",
          "test-end-to-end/android-maestro/update-chrome2/google-play-sign-in-wait-for-close.yaml",
          "test-end-to-end/android-maestro/common/google_permission.yaml",
          "test-end-to-end/android-maestro/update-chrome2/update-chrome2.yaml",
          "test-end-to-end/android-maestro/update-chrome2/update-chrome2.sh",
          "test-end-to-end/android-maestro/update-chrome2/accept-without-account.yaml",
          "test-end-to-end/android-maestro/common/chrome-first-run-accept-ad-privacy.yaml",
          "test-end-to-end/android-maestro/update-chrome-yaml/chrome.yaml",
          "test-end-to-end/android-maestro/update-chrome2/update-dialog.yaml",
          "test-end-to-end/android-maestro/update-chrome-yaml/run.sh"
        ],
        "commitId" : "25ae17b128b35e0f0e98c4d21cc8dee05217fadb",
        "timestamp" : 1723120832000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove obsolete chrome update code. Update Maestro testing README on handling of Chrome versions.\u000aUpdate chrome first run script to handle accepting ad privacy prompt.\u000a",
        "date" : "2024-08-08 16:40:32 +0400",
        "id" : "25ae17b128b35e0f0e98c4d21cc8dee05217fadb",
        "msg" : "Remove obsolete chrome update code. Update Maestro testing README on handling of Chrome versions.",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/google_permission.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/update-chrome2/update-chrome2.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/update-chrome-yaml/stopandfail.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/update-chrome-yaml/update-chrome.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/README.md"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/update-chrome2/google-play-sign-in-wait-for-close.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/chrome-updater/extract-chrome.sh"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/update-chrome2/update-chrome2.sh"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/chrome-first-run-without-account.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/update-chrome-yaml/run.sh"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/chrome-first-run-accept-ad-privacy.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/update-chrome2/accept-without-account.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/update-chrome2/google-play-click-options-and-wait-for-close.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/update-chrome2/update-dialog.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/update-chrome-yaml/chrome.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/test-files/content/Assignment_File.pdf",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_008_group_users_add_assignment_and_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_003_user_add_private_comment.yaml",
          "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml",
          "test-end-to-end/android-maestro/common/open_pdf_file.yaml",
          "test-end-to-end/android-maestro/common/add_6_students_by_bulk_import.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/common/student_bulk_upload_csv.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_012_peer_marking_for_individual_assignment.yaml",
          "test-end-to-end/webapp-cypress/run-cypress-test.sh",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_013_peer_marking_for_group_assignment.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_002_users_add_course_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_009_group_users_add_private_comments.yaml",
          "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_010_group_users_single_assignment_submission_allowed.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml",
          "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml",
          "test-end-to-end/android-maestro/e2e-tests.disabled/004_011_group_users_multiple_assignment_submission_allowed.yaml"
        ],
        "commitId" : "12c27c4183ab37f4d59c2f404a8e8a1535cd2cd9",
        "timestamp" : 1723124530000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes as per review comments\u000a",
        "date" : "2024-08-08 17:42:10 +0400",
        "id" : "12c27c4183ab37f4d59c2f404a8e8a1535cd2cd9",
        "msg" : "changes as per review comments",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_002_users_add_course_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/webapp-cypress/run-cypress-test.sh"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_003_user_add_private_comment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_008_group_users_add_assignment_and_course_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_009_group_users_add_private_comments.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_012_peer_marking_for_individual_assignment.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_003_users_can_add_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_001_add_discussionBoard.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/test-files/content/Assignment_File.pdf"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/001_001_admin_can_add_content_004-pdf.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_002_teacher_can_edit_discussion_board.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/student_bulk_upload_csv.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_006_assignment_grace_period_finished.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/add_6_students_by_bulk_import.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_004_multiple_submission_possible_for_student.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_011_group_users_multiple_assignment_submission_allowed.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_013_peer_marking_for_group_assignment.yaml"
          },
          {
            "editType" : "delete",
            "file" : "test-end-to-end/android-maestro/common/open_pdf_file.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_001_add_or_edit_course_permission_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_006_users_can_delete_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_005_assignment_after_deadline_and_before_grace_Period.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_007_user_enter_assignment_page_before_graceperiod_but_submission_after_grace_Period.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/005_004_users_can_add_internal_links_as_post_on_discussion_board.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests.disabled/004_010_group_users_single_assignment_submission_allowed.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml",
          "test-end-to-end/android-maestro/common/chrome-first-run-accept-and-continue.yaml"
        ],
        "commitId" : "ffe4051a08e42b9173a93489b9ac126bd47cdf62",
        "timestamp" : 1723127702000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes as per review comments\u000a",
        "date" : "2024-08-08 18:35:02 +0400",
        "id" : "ffe4051a08e42b9173a93489b9ac126bd47cdf62",
        "msg" : "changes as per review comments",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/chrome-first-run-accept-and-continue.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
        ],
        "commitId" : "c89adb28b234897bd50c96cf632cb5c818db3d07",
        "timestamp" : 1723129193000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "change on 003_005 test\u000a",
        "date" : "2024-08-08 18:59:53 +0400",
        "id" : "c89adb28b234897bd50c96cf632cb5c818db3d07",
        "msg" : "change on 003_005 test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/003_005_add_new_content_block_inside_course.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml"
        ],
        "commitId" : "d5f299945fed8c41a61966f5d18d857b32bbabdc",
        "timestamp" : 1723198473000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes on test 004_001\u000a",
        "date" : "2024-08-09 14:14:33 +0400",
        "id" : "d5f299945fed8c41a61966f5d18d857b32bbabdc",
        "msg" : "changes on test 004_001",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/004_001_assignment_creation_submission_grading.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateParamsExt.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StateEntity.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/h5puserdata/H5PUserDataEndpointUseCase.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/h5p/H5PContentImporter.kt"
        ],
        "commitId" : "c29572ab9bbc5c6e98236d81d364e3b15fc0882d",
        "timestamp" : 1723211563000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation of saving h5p userdata.\u000a",
        "date" : "2024-08-09 17:52:43 +0400",
        "id" : "c29572ab9bbc5c6e98236d81d364e3b15fc0882d",
        "msg" : "Initial implementation of saving h5p userdata.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StateEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/h5p/H5PContentImporter.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/h5puserdata/H5PUserDataEndpointUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/XapiStateParamsExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StateEntity.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/IHttpRequestXapiHttpExt.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/h5puserdata/H5PUserDataEndpointUseCase.kt",
          "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/h5p/H5PContentImporter.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateEntityDao.kt"
        ],
        "commitId" : "c27a5c9cf1adc581a1e045eab70be096030b6acd",
        "timestamp" : 1723380918000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Implement H5P UserData - working to save userdata state and preload.\u000a",
        "date" : "2024-08-11 16:55:18 +0400",
        "id" : "c27a5c9cf1adc581a1e045eab70be096030b6acd",
        "msg" : "Implement H5P UserData - working to save userdata state and preload.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonJvmMain/kotlin/com/ustadmobile/core/contentformats/h5p/H5PContentImporter.kt"
          },
          {
            "editType" : "add",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/IHttpRequestXapiHttpExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/h5puserdata/H5PUserDataEndpointUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StateEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateEntityDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/h5puserdata/H5PUserDataEndpointUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt"
        ],
        "commitId" : "20300896186abdaf9a36e466aa84b5cb07e2a8ac",
        "timestamp" : 1723383769000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Implement h5p userdata retrieve on demand. Refactor H5PUserDataEndpointUseCase .\u000a",
        "date" : "2024-08-11 17:42:49 +0400",
        "id" : "20300896186abdaf9a36e466aa84b5cb07e2a8ac",
        "msg" : "Implement h5p userdata retrieve on demand. Refactor H5PUserDataEndpointUseCase .",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/h5puserdata/H5PUserDataEndpointUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "lib-test-common/build.gradle",
          "app-android/build.gradle",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/util/UstadTestRule.kt",
          "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt",
          "sharedse/src/jvmTest/kotlin/com/ustadmobile/sharedse/impl/http/IHTTPSessionExtTest.kt",
          "app-ktor-server/build.gradle",
          "gradle/libs.versions.toml",
          "core/src/jvmTest/kotlin/com/ustadmobile/core/schedule/TestClazzLogCreator.kt",
          "lib-ihttp-ktor-server/src/main/java/com/ustadmobile/ihttp/ktorserver/KtorApplicationRequestIHttpRequestAdapter.kt",
          "core/build.gradle",
          "sharedse/build.gradle",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "lib-database/build.gradle",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/199.json",
          "testserver-controller/build.gradle"
        ],
        "commitId" : "343d958bfe669df482fbfbebb45608563da67b90",
        "timestamp" : 1723389952000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Implement Ktor request bodyAsFormUrlEncodedDataMap . Remove Gson.\u000a",
        "date" : "2024-08-11 19:25:52 +0400",
        "id" : "343d958bfe669df482fbfbebb45608563da67b90",
        "msg" : "Implement Ktor request bodyAsFormUrlEncodedDataMap . Remove Gson.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testserver-controller/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-test-common/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/schedule/TestClazzLogCreator.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/jvmTest/kotlin/com/ustadmobile/core/util/UstadTestRule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "testserver-controller/src/main/java/com/ustadmobile/test/http/TestServerController.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-ktor-server/src/main/java/com/ustadmobile/ihttp/ktorserver/KtorApplicationRequestIHttpRequestAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "sharedse/src/jvmTest/kotlin/com/ustadmobile/sharedse/impl/http/IHTTPSessionExtTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/199.json"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "sharedse/build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/PersonAuthRegisterRouteTest.kt",
          "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/TestSiteRoute.kt"
        ],
        "commitId" : "639dc8648b3c04cd6c0f7535b94e64c5c2de1d6a",
        "timestamp" : 1723394025000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix app-ktor-server test compilation.\u000a",
        "date" : "2024-08-11 20:33:45 +0400",
        "id" : "639dc8648b3c04cd6c0f7535b94e64c5c2de1d6a",
        "msg" : "Fix app-ktor-server test compilation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/TestSiteRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/test/kotlin/com/ustadmobile/lib/rest/PersonAuthRegisterRouteTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/res/drawable/ic_baseline_touch_app_24.xml",
          "app-android/src/main/res/drawable-xxhdpi/baseline_assignment_turned_in_black_24.png",
          "app-android/src/main/java/com/ustadmobile/port/android/view/composable/UstadDetailField.kt",
          "app-android/src/main/res/drawable-xxxhdpi/ic_filedownload_bitmap.png",
          "app-android/src/main/res/drawable/ic_outline_assignment_outline_24.xml",
          "app-android/src/main/res/drawable-hdpi/ic_add_white_24dp.png",
          "app-android/src/main/res/color/drawitem_fgcolor2.xml",
          "app-android/src/main/res/drawable/ic_format_list_numbered_black_24dp.xml",
          "app-android/src/main/res/drawable-mdpi/baseline_assignment_turned_in_black_48.png",
          "app-android/src/main/res/drawable/ic_arrow_downward_24.xml",
          "app-android/src/main/res/drawable/ic_baseline_post_add_24.xml",
          "app-android/src/main/res/drawable/ic_baseline_keyboard_arrow_down_24.xml",
          "app-android/src/main/res/drawable/ic_photo_camera_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_format_textdirection_l_to_r_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_baseline_done_all_24.xml",
          "app-android/src/main/res/drawable/ic_nearby_black_24px.xml",
          "app-android/src/main/res/drawable/ic_arrow_drop_up_black_24dp.xml",
          "app-android/src/main/res/drawable-mdpi/baseline_assignment_turned_in_black_36.png",
          "app-android/src/main/res/drawable/ic_school_black_24dp.xml",
          "app-android/src/main/res/drawable-xhdpi/baseline_assignment_turned_in_black_36.png",
          "app-android/src/main/res/drawable/ic_email_black_24dp.xml",
          "app-android/src/main/res/drawable-xhdpi/baseline_assignment_turned_in_black_24.png",
          "app-android/src/main/res/drawable/ic_format_indent_decrease_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_format_align_justify_black_24dp.xml",
          "app-android/src/main/res/drawable/link.xml",
          "app-android/src/main/res/drawable/ic_baseline_visibility_24.xml",
          "app-android/src/main/res/drawable/ic_format_bold_black_24dp.xml",
          "app-android/src/main/res/drawable/simple_circle_with_text.xml",
          "app-android/src/main/res/drawable/ic_menu_white_24dp.xml",
          "app-android/src/main/res/drawable/ic_text_fields_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_baseline_featured_play_list_24.xml",
          "app-android/src/main/res/drawable/verb_progress.xml",
          "app-android/src/main/res/drawable/ic_checkbox_multiple_marked.xml",
          "app-android/src/main/res/drawable-xhdpi/baseline_assignment_turned_in_black_48.png",
          "app-android/src/main/res/drawable/ic_expand_more_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_baseline_meeting_room_24.xml",
          "app-android/src/main/res/drawable/ic_event_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_signal_cellular_connected_no_internet_4_bar_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_done_white_24dp.xml",
          "app-android/src/main/res/drawable/shape_bg_bubble_incoming.xml",
          "app-android/src/main/res/drawable/view_download_status_button_progress_circle.xml",
          "app-android/src/main/res/drawable/ic_baseline_offline_pin_24.xml",
          "app-android/src/main/res/drawable/ic_baseline_security_24.xml",
          "app-android/src/main/res/drawable/ic_insert_drive_file_black_24dp.xml",
          "app-android/src/main/res/drawable-mdpi/ic_add_white_24dp.png",
          "app-android/src/main/res/drawable/ic_exit_to_app_black_24dp.xml",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StateEntity.kt",
          "app-android/src/main/res/drawable/ic_baseline_timer_12.xml",
          "app-android/src/main/res/drawable/ic_baseline_logout_24.xml",
          "app-android/src/main/res/drawable-xxhdpi/baseline_assignment_turned_in_black_48.png",
          "app-android/src/main/res/drawable/ic_baseline_supervised_user_circle_24.xml",
          "app-android/src/main/res/drawable-mdpi/icpng_error_black_24dp.png",
          "app-android/src/main/res/drawable-xxxhdpi/baseline_assignment_turned_in_black_18.png",
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/199.json",
          "app-android/src/main/res/drawable-xxxhdpi/baseline_assignment_turned_in_black_48.png",
          "app-android/src/main/res/drawable-hdpi/baseline_assignment_turned_in_black_48.png",
          "app-android/src/main/res/drawable/verb_complete.xml",
          "app-android/src/main/res/drawable/ic_baseline_comment_24.xml",
          "app-android/src/main/res/drawable/ic_account_balance_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_check_circle_black_24dp.xml",
          "app-android/src/main/res/drawable-xhdpi/ic_filedownload_bitmap.png",
          "app-android/src/main/res/drawable/ic_person_pin_white_24dp.xml",
          "app-android/src/main/res/drawable/verb_answered.xml",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "app-android/src/main/res/drawable-xxxhdpi/ic_add_white_24dp.png",
          "app-android/src/main/res/drawable/ic_pin_drop_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_format_textdirection_r_to_l_white_24dp.xml",
          "app-android/src/main/res/drawable/ic_round_book.xml",
          "app-android/src/main/res/drawable/ic_delete_black_24dp.xml",
          "app-android/src/main/res/drawable-mdpi/ic_filedownload_bitmap.png",
          "app-android/src/main/res/drawable/ic_powered_by_ustad_logo.xml",
          "app-android/src/main/res/drawable/ic_arrow_forward_black_24dp.xml",
          "app-android/src/main/res/drawable/pre_lollipop_btn_unpressed_entry_details.xml",
          "app-android/src/main/res/drawable/ic_assignment_24px.xml",
          "app-android/src/main/res/drawable/verb_attempt.xml",
          "app-android/src/main/res/drawable/ic_content_fail.xml",
          "app-android/src/main/res/color/pre_lollipop_btn_selector_txt_onboarding.xml",
          "app-android/src/main/res/drawable/ic_baseline_play_circle_filled_24.xml",
          "app-android/src/main/res/drawable/ic_piled_pages.xml",
          "app-android/src/main/res/drawable-xxhdpi/ic_edit_white_24dp.png",
          "app-android/src/main/res/drawable-v21/view_download_status_button_progress_circle.xml",
          "app-android/src/main/res/drawable/ic_undo_white_24dp.xml",
          "app-android/src/main/res/drawable-hdpi/baseline_assignment_turned_in_black_36.png",
          "app-android/src/main/res/drawable/ic_baseline_vpn_key_24.xml",
          "app-android/src/main/res/drawable/ic_round_folder.xml",
          "app-android/src/main/res/drawable/ic_baseline_emoji_events_24.xml",
          "app-android/src/main/res/drawable/ic_baseline_addchart_24.xml",
          "app-android/src/main/res/drawable/ic_format_textdirection_l_to_r_white_24dp.xml",
          "app-android/src/main/res/drawable/ic_baseline_pause_24.xml",
          "app-android/src/main/res/drawable/ic_phone_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_number_superscript.xml",
          "app-android/src/main/res/drawable/simple_circle.xml",
          "app-android/src/main/res/drawable/ic_cloud_download_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_book_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_baseline_add_task_24.xml",
          "app-android/src/main/res/drawable/ic_baseline_settings_backup_restore_12.xml",
          "app-android/src/main/res/drawable/ic_lens_black_24dp.xml",
          "app-android/src/main/java/com/ustadmobile/port/android/view/HolidayCalendarDetailFragment.kt",
          "app-android/src/main/res/drawable/ic_format_italic_black_24dp.xml",
          "app-android/src/main/res/drawable/library_books_24px.xml",
          "app-android/src/main/res/drawable/ic_folder_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_baseline_how_to_reg_24.xml",
          "app-android/src/main/res/drawable/ic_group_white_24dp.xml",
          "app-android/src/main/res/drawable/ic_format_list_bulleted_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_content_complete.xml",
          "app-android/src/main/res/drawable/ic_round_upload_file_24.xml",
          "app-android/src/main/java/com/ustadmobile/port/android/view/composable/UstadQuickActionButton.kt",
          "app-android/src/main/res/drawable/ic_baseline_folder_open_24.xml",
          "app-android/src/main/res/drawable-hdpi/ic_filedownload_bitmap.png",
          "app-android/src/main/res/drawable/verb_interactive.xml",
          "app-android/src/main/res/drawable/ic_add_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_more_vert_black_24dp.xml",
          "app-android/src/main/res/drawable-xhdpi/icpng_error_black_24dp.png",
          "app-android/src/main/res/drawable/ic_call_bcd4_24dp.xml",
          "app-android/src/main/res/drawable/expo2020_logo.xml",
          "app-android/src/main/res/drawable/ic_calendar_today_24px_.xml",
          "app-android/src/main/res/drawable/ic_person_white_90dp.xml",
          "app-android/src/main/res/drawable-v21/bg_listitem.xml",
          "app-android/src/main/res/drawable/ic_format_strikethrough_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_format_align_right_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_loading_from_nearby_device.xml",
          "app-android/src/main/res/drawable-xhdpi/baseline_assignment_turned_in_black_18.png",
          "app-android/src/main/res/drawable-xxxhdpi/ic_edit_white_24dp.png",
          "app-android/src/main/res/drawable-v21/ic_edit_white_24dp.xml",
          "app-android/src/main/res/color/containerview_draweritem_fgcolor.xml",
          "app-android/src/main/res/drawable/ic_export.xml",
          "app-android/src/main/res/drawable/verb_passed.xml",
          "app-android/src/main/res/drawable/ic_baseline_forum_24.xml",
          "app-android/src/main/res/drawable/ic_report_24dp.xml",
          "app-android/src/main/res/drawable/ic_document_preview.xml",
          "app-android/src/main/res/drawable/workspace_join_24px.xml",
          "app-android/src/main/res/drawable/ic_add_a_photo_24.xml",
          "app-android/src/main/res/drawable/ic_irc.xml",
          "app-android/src/main/res/drawable-hdpi/icpng_error_black_24dp.png",
          "app-android/src/main/res/drawable/baseline_crisis_alert_24.xml",
          "app-android/src/main/res/drawable/ic_format_align_left_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_perm_contact_calendar_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_group_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_arrow_drop_down_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_info_outline_black_12dp.xml",
          "app-android/src/main/res/drawable/article_24px.xml",
          "app-android/src/main/res/drawable/text_doc_24px.xml",
          "app-android/src/main/res/drawable/ic_outline_file_copy_24.xml",
          "app-android/src/main/res/drawable/ic_error_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_send_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_baseline_sms_24.xml",
          "app-android/src/main/res/drawable/ic_undraw_access_denied.xml",
          "app-android/src/main/res/drawable/ic_number_subscript.xml",
          "app-android/build.gradle",
          "app-android/src/main/res/drawable-xxxhdpi/baseline_assignment_turned_in_black_24.png",
          "app-android/src/main/res/drawable/download_archive_tray.xml",
          "app-android/src/main/res/drawable/ic_perm_media_black_24dp.xml",
          "app-android/src/main/res/drawable-ldpi/ic_filedownload_bitmap.png",
          "app-android/src/main/res/drawable/bg_selected_item.xml",
          "app-android/src/main/res/drawable/ic_login_24px.xml",
          "app-android/src/main/res/drawable/person_with_key.xml",
          "app-android/src/main/res/drawable-xxxhdpi/icpng_filedownload_bitmap.png",
          "app-android/src/main/res/drawable/ic_baseline_insert_link_24.xml",
          "app-android/src/main/res/drawable/ic_baseline_keyboard_arrow_up_24.xml",
          "app-android/src/main/res/drawable-hdpi/ic_edit_white_24dp.png",
          "app-android/src/main/res/drawable/book_24px.xml",
          "app-android/src/main/res/drawable/ic_visibility_state_selector.xml",
          "app-android/src/main/res/drawable/video_youtube.xml",
          "app-android/src/main/res/drawable-xxhdpi/baseline_assignment_turned_in_black_18.png",
          "app-android/src/main/res/drawable/ic_create_new_folder_white_24dp.xml",
          "app-android/src/main/res/drawable/ic_people_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_empty.xml",
          "app-android/src/main/res/drawable/ic_delay.xml",
          "app-android/src/main/res/drawable/ic_reorder_grey_500_24dp.xml",
          "app-android/src/main/res/drawable/ic_text_format_white_24dp.xml",
          "app-android/src/main/res/color/enable_disable_text.xml",
          "app-android/src/main/res/drawable/ic_checkbox_blank.xml",
          "app-android/src/main/res/drawable-hdpi/baseline_assignment_turned_in_black_18.png",
          "app-android/src/main/res/drawable/profile_menu_bg.xml",
          "app-android/src/main/res/drawable/ic_baseline_close_24_white.xml",
          "app-android/src/main/res/drawable/pre_lollipop_btn_pressed_entry_details.xml",
          "app-android/src/main/res/drawable/ic_format_size_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_baseline_edit_24.xml",
          "app-android/src/main/res/drawable/ic_workspace_add.xml",
          "app-android/src/main/res/drawable/ic_redo_white_24dp.xml",
          "app-android/src/main/res/drawable/ic_format_textdirection_r_to_l_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_format_underlined_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_audiotrack_24px.xml",
          "app-android/src/main/res/drawable/ic_person_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_insert_link_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_arrow_forward_white_24dp.xml",
          "app-android/src/main/res/drawable/bg_selected_quiz.xml",
          "app-android/src/main/res/drawable-hdpi/baseline_assignment_turned_in_black_24.png",
          "app-android/src/main/res/drawable/ic_settings_white_24dp.xml",
          "app-android/src/main/res/drawable/ic_arrow_upward_24.xml",
          "app-android/src/main/res/drawable/progress_bar_drawable.xml",
          "app-android/src/main/res/drawable/ic_baseline_share_24.xml",
          "app-android/src/main/res/drawable/ic_file_download_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_multiple_choice.xml",
          "app-android/src/main/res/drawable/ic_message_bcd4_24dp.xml",
          "app-android/src/main/res/drawable-v21/ic_add_white_24dp.xml",
          "app-android/src/main/res/drawable/verb_failed.xml",
          "app-android/src/main/res/drawable-mdpi/baseline_assignment_turned_in_black_24.png",
          "app-android/src/main/res/drawable-xxhdpi/icpng_error_black_24dp.png",
          "app-android/src/main/java/com/ustadmobile/port/android/view/LanguageDetailFragment.kt",
          "app-android/src/main/res/drawable-xhdpi/ic_add_white_24dp.png",
          "app-android/src/main/res/drawable/ic_event_available_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_format_indent_increase_black_24dp.xml",
          "app-android/src/main/res/drawable/collections_24px.xml",
          "app-android/src/main/res/drawable/ic_badge_24dp.xml",
          "app-android/src/main/res/drawable/ic_location_pin_24dp.xml",
          "app-android/src/main/res/drawable/ic_account_circle_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_outline_book_24.xml",
          "app-android/src/main/res/drawable/ic_create_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_move.xml",
          "app-android/src/main/res/drawable/ic_date_range_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_baseline_task_alt_24.xml",
          "app-android/src/main/res/drawable/ic_more_vert_grey_500_24dp.xml",
          "app-android/src/main/res/drawable/ic_language_blue_grey_600_24dp.xml",
          "app-android/src/main/res/drawable-mdpi/baseline_assignment_turned_in_black_18.png",
          "app-android/src/main/res/drawable-xhdpi/ic_edit_white_24dp.png",
          "app-android/src/main/res/drawable/ic_close_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_format_align_center_black_24dp.xml",
          "app-android/src/main/res/drawable/ic_round_drive_folder_upload_24.xml",
          "app-android/src/main/res/drawable/ic_book_white_24dp.xml",
          "app-android/src/main/res/drawable/ic_baseline_visibility_off_24.xml",
          "app-android/src/main/res/drawable-xxhdpi/ic_add_white_24dp.png",
          "app-android/src/main/res/drawable/bg_listitem.xml",
          "app-android/src/main/res/drawable/ic_circle.xml",
          "app-android/src/main/res/drawable-xxhdpi/ic_filedownload_bitmap.png",
          "app-android/src/main/res/drawable/divider_bottom.xml",
          "app-android/src/main/res/drawable-xxxhdpi/baseline_assignment_turned_in_black_36.png",
          "app-android/src/main/res/drawable/ic_arrow_back_white_24dp.xml",
          "app-android/src/main/res/drawable/ic_ustad_logo.xml",
          "app-android/src/main/res/drawable/ic_baseline_title_24.xml",
          "app-android/src/main/res/drawable/baseline_assignment_turned_in_24.xml",
          "app-android/src/main/res/drawable-mdpi/ic_edit_white_24dp.png",
          "app-android/src/main/res/drawable-xxhdpi/baseline_assignment_turned_in_black_36.png"
        ],
        "commitId" : "46ac85f8d66c106960bbd1cd2d4cc74aaa112aca",
        "timestamp" : 1723399194000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add StateEntity migration. Remove obsolete Android drawables.\u000a",
        "date" : "2024-08-11 21:59:54 +0400",
        "id" : "46ac85f8d66c106960bbd1cd2d4cc74aaa112aca",
        "msg" : "Add StateEntity migration. Remove obsolete Android drawables.",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/article_24px.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_round_upload_file_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/pre_lollipop_btn_pressed_entry_details.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/verb_interactive.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_people_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_text_format_white_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/simple_circle_with_text.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_content_fail.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_folder_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_add_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_more_vert_grey_500_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xhdpi/baseline_assignment_turned_in_black_18.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_insert_link_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_error_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_badge_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_audiotrack_24px.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_play_circle_filled_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_multiple_choice.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_text_fields_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_format_textdirection_r_to_l_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_account_balance_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xxhdpi/baseline_assignment_turned_in_black_18.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_email_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_format_align_justify_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_group_white_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-mdpi/baseline_assignment_turned_in_black_18.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_piled_pages.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_irc.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_featured_play_list_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_nearby_black_24px.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xxxhdpi/ic_add_white_24dp.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_post_add_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_visibility_state_selector.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_pin_drop_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xxhdpi/ic_filedownload_bitmap.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_keyboard_arrow_up_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-mdpi/baseline_assignment_turned_in_black_36.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_format_list_bulleted_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_add_a_photo_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xhdpi/icpng_error_black_24dp.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_round_folder.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_check_circle_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_format_align_left_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-mdpi/ic_add_white_24dp.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_meeting_room_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_export.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_format_indent_decrease_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_insert_link_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_round_book.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_edit_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_send_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/shape_bg_bubble_incoming.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/composable/UstadQuickActionButton.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_sms_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_settings_backup_restore_12.xml"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_format_indent_increase_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/verb_passed.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/LanguageDetailFragment.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/baseline_assignment_turned_in_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-hdpi/ic_edit_white_24dp.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/color/containerview_draweritem_fgcolor.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xxhdpi/ic_edit_white_24dp.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/bg_listitem.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_arrow_drop_down_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/video_youtube.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_addchart_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_file_download_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-hdpi/baseline_assignment_turned_in_black_18.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_arrow_downward_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_supervised_user_circle_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/verb_complete.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_keyboard_arrow_down_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_create_new_folder_white_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/HolidayCalendarDetailFragment.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_done_all_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_person_white_90dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_pause_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/baseline_crisis_alert_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_arrow_back_white_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/person_with_key.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_share_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_delete_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_insert_drive_file_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_create_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_vpn_key_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_cloud_download_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_folder_open_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_circle.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_photo_camera_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_checkbox_blank.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_more_vert_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_location_pin_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_format_align_right_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_message_bcd4_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/link.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xxxhdpi/ic_edit_white_24dp.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_round_drive_folder_upload_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-hdpi/baseline_assignment_turned_in_black_24.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-mdpi/ic_filedownload_bitmap.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_document_preview.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/text_doc_24px.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_format_list_numbered_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_perm_contact_calendar_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-v21/ic_add_white_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_touch_app_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_format_size_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-mdpi/ic_edit_white_24dp.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/bg_selected_quiz.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_book_white_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_title_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_perm_media_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_school_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/color/pre_lollipop_btn_selector_txt_onboarding.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/lib/db/entities/xapi/StateEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/divider_bottom.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_exit_to_app_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_call_bcd4_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_expand_more_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_language_blue_grey_600_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/view/composable/UstadDetailField.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_format_italic_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_loading_from_nearby_device.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/bg_selected_item.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_menu_white_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xhdpi/ic_filedownload_bitmap.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/pre_lollipop_btn_unpressed_entry_details.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_redo_white_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/profile_menu_bg.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xhdpi/ic_add_white_24dp.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/collections_24px.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_arrow_drop_up_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_timer_12.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_person_pin_white_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_ustad_logo.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_add_task_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_comment_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_arrow_forward_white_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_delay.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/simple_circle.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_phone_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-mdpi/baseline_assignment_turned_in_black_24.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_group_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_format_textdirection_l_to_r_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/verb_attempt.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-hdpi/icpng_error_black_24dp.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/verb_answered.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_visibility_off_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_person_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_assignment_24px.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_how_to_reg_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_event_available_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/verb_failed.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xxhdpi/baseline_assignment_turned_in_black_48.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_outline_assignment_outline_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xxhdpi/ic_add_white_24dp.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_format_underlined_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/view_download_status_button_progress_circle.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_format_align_center_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/verb_progress.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xhdpi/baseline_assignment_turned_in_black_48.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-hdpi/baseline_assignment_turned_in_black_36.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xxxhdpi/baseline_assignment_turned_in_black_48.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-v21/view_download_status_button_progress_circle.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-hdpi/ic_filedownload_bitmap.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_event_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_date_range_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_offline_pin_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_report_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_logout_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xhdpi/baseline_assignment_turned_in_black_36.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xhdpi/baseline_assignment_turned_in_black_24.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_outline_file_copy_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_reorder_grey_500_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-v21/ic_edit_white_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-v21/bg_listitem.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_info_outline_black_12dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-mdpi/baseline_assignment_turned_in_black_48.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xxhdpi/baseline_assignment_turned_in_black_36.png"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_format_bold_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/progress_bar_drawable.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_move.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_book_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/expo2020_logo.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_number_superscript.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_format_strikethrough_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_format_textdirection_l_to_r_white_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_arrow_forward_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_arrow_upward_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xxhdpi/icpng_error_black_24dp.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_workspace_add.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xxxhdpi/baseline_assignment_turned_in_black_36.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_forum_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_number_subscript.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_powered_by_ustad_logo.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/library_books_24px.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-hdpi/baseline_assignment_turned_in_black_48.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xxhdpi/baseline_assignment_turned_in_black_24.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_settings_white_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_content_complete.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xhdpi/ic_edit_white_24dp.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_close_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-hdpi/ic_add_white_24dp.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xxxhdpi/ic_filedownload_bitmap.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_account_circle_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_outline_book_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-mdpi/icpng_error_black_24dp.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_checkbox_multiple_marked.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xxxhdpi/baseline_assignment_turned_in_black_24.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_empty.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_lens_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_close_24_white.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/workspace_join_24px.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_login_24px.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/color/enable_disable_text.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/color/drawitem_fgcolor2.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_security_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_calendar_today_24px_.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xxxhdpi/icpng_filedownload_bitmap.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_undraw_access_denied.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/download_archive_tray.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_visibility_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_done_white_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_undo_white_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-xxxhdpi/baseline_assignment_turned_in_black_18.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_task_alt_24.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/199.json"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_format_textdirection_r_to_l_white_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable-ldpi/ic_filedownload_bitmap.png"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/book_24px.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_signal_cellular_connected_no_internet_4_bar_black_24dp.xml"
          },
          {
            "editType" : "delete",
            "file" : "app-android/src/main/res/drawable/ic_baseline_emoji_events_24.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt",
          "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt",
          "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt",
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/h5puserdata/H5PUserDataEndpointUseCase.kt"
        ],
        "commitId" : "a7e3c84439db9b16c77bef3cc9a00064d8f09fc1",
        "timestamp" : 1723445178000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add check on Xapi server state endpoints to ensure that agent parameter matches with session.\u000aAdd utf-8 encoding to content type returned.\u000a",
        "date" : "2024-08-12 10:46:18 +0400",
        "id" : "a7e3c84439db9b16c77bef3cc9a00064d8f09fc1",
        "msg" : "Add check on Xapi server state endpoints to ensure that agent parameter matches with session.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/java/com/ustadmobile/port/android/impl/UstadApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/StoreXapiStateUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/http/XapiHttpServerUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/RetrieveXapiStateUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/xapi/state/h5puserdata/H5PUserDataEndpointUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-desktop/src/main/java/com/ustadmobile/port/desktop/DesktopDomainDiModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-ktor-server/src/main/kotlin/com/ustadmobile/lib/rest/UmRestApplication.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/my/strings.xml",
          "core/src/commonMain/resources/MR/fa/strings.xml",
          "core/src/commonMain/resources/MR/rw/strings.xml",
          "core/src/commonMain/resources/MR/bn/strings.xml",
          "core/src/commonMain/resources/MR/tg/strings.xml",
          "core/src/commonMain/resources/MR/ru/strings.xml",
          "core/src/commonMain/resources/MR/fr/strings.xml",
          "core/src/commonMain/resources/MR/ps/strings.xml",
          "core/src/commonMain/resources/MR/ar/strings.xml",
          "core/src/commonMain/resources/MR/ne/strings.xml"
        ],
        "commitId" : "1853a602dd6481e2ae21ff49d2dbe4b188098d8a",
        "timestamp" : 1723445624000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Update translation files\u000a\u000aUpdated by \"Cleanup translation files\" hook in Weblate.\u000a\u000aTranslation: Ustad Mobile/User Interface\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/user-interface/\u000a",
        "date" : "2024-08-12 08:53:44 +0200",
        "id" : "1853a602dd6481e2ae21ff49d2dbe4b188098d8a",
        "msg" : "Update translation files",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/fr/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/my/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/bn/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/fa/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ne/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ru/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/tg/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/rw/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ps/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ar/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
        ],
        "commitId" : "c3c90c50af5e6d90690622aa61250a83da135e5a",
        "timestamp" : 1723448237000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes on test 005_005\u000a",
        "date" : "2024-08-12 11:37:17 +0400",
        "id" : "c3c90c50af5e6d90690622aa61250a83da135e5a",
        "msg" : "changes on test 005_005",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/e2e-tests/005_005_users_can_add_external_links_as_post_on_discussion_board.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/ru/strings.xml"
        ],
        "commitId" : "d69a1be3c03807c10800be2ad6cc5b3e58911289",
        "timestamp" : 1723453758000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Russian)\u000a\u000aCurrently translated at 100.0% (1101 of 1101 strings)\u000a\u000aTranslation: Ustad Mobile/User Interface\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/user-interface/ru/\u000a",
        "date" : "2024-08-12 11:09:18 +0200",
        "id" : "d69a1be3c03807c10800be2ad6cc5b3e58911289",
        "msg" : "Translated using Weblate (Russian)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ru/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/tg/strings.xml"
        ],
        "commitId" : "a13683a05232f2492ae927a2564d9d477d6ac1a5",
        "timestamp" : 1723453758000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Tajik)\u000a\u000aCurrently translated at 100.0% (1101 of 1101 strings)\u000a\u000aTranslation: Ustad Mobile/User Interface\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/user-interface/tg/\u000a",
        "date" : "2024-08-12 11:09:18 +0200",
        "id" : "a13683a05232f2492ae927a2564d9d477d6ac1a5",
        "msg" : "Translated using Weblate (Tajik)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/tg/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "test-end-to-end/android-maestro/common/chrome-first-run-check.yaml",
          "test-end-to-end/android-maestro/common/chrome-first-run-accept-and-continue.yaml",
          "test-end-to-end/android-maestro/common/chrome-first-run-tap-notification-no-thanks.yaml"
        ],
        "commitId" : "a9dbb8a135fef10b0c732df50c48c37101c6c749",
        "timestamp" : 1723457683000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "changes on test 005_005\u000a",
        "date" : "2024-08-12 14:14:43 +0400",
        "id" : "a9dbb8a135fef10b0c732df50c48c37101c6c749",
        "msg" : "changes on test 005_005",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/chrome-first-run-check.yaml"
          },
          {
            "editType" : "edit",
            "file" : "test-end-to-end/android-maestro/common/chrome-first-run-accept-and-continue.yaml"
          },
          {
            "editType" : "add",
            "file" : "test-end-to-end/android-maestro/common/chrome-first-run-tap-notification-no-thanks.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "translate-screenshots/compression_medium.png",
          "translate-screenshots/compression_highest.png",
          "translate-screenshots/compression_lowest.png",
          "translate-screenshots/compression_low.png",
          "build.gradle",
          "translate-screenshots/compression_high.png",
          "translate-screenshots/size.png",
          "translate-screenshots/nothing_here_yet.png",
          "translate-screenshots/gradebook.png",
          "translate-screenshots/compression_none.png"
        ],
        "commitId" : "4103264d81d9f9afa01414ac8f11d7463092073d",
        "timestamp" : 1723457921000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Bump version and add screenshots for translations\u000a",
        "date" : "2024-08-12 14:18:41 +0400",
        "id" : "4103264d81d9f9afa01414ac8f11d7463092073d",
        "msg" : "Bump version and add screenshots for translations",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "translate-screenshots/compression_medium.png"
          },
          {
            "editType" : "edit",
            "file" : "build.gradle"
          },
          {
            "editType" : "add",
            "file" : "translate-screenshots/size.png"
          },
          {
            "editType" : "add",
            "file" : "translate-screenshots/compression_high.png"
          },
          {
            "editType" : "edit",
            "file" : "translate-screenshots/compression_none.png"
          },
          {
            "editType" : "add",
            "file" : "translate-screenshots/compression_highest.png"
          },
          {
            "editType" : "edit",
            "file" : "translate-screenshots/compression_low.png"
          },
          {
            "editType" : "add",
            "file" : "translate-screenshots/compression_lowest.png"
          },
          {
            "editType" : "add",
            "file" : "translate-screenshots/nothing_here_yet.png"
          },
          {
            "editType" : "add",
            "file" : "translate-screenshots/gradebook.png"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/kotlin/com/ustadmobile/core/domain/person/AddNewPersonUseCase.kt"
        ],
        "commitId" : "0bd14e38ae33ff4faec03e2e2a2e0863345b6d28",
        "timestamp" : 1723459791000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update AddNewPersonUseCase to handle when a person already has personUid set.\u000a",
        "date" : "2024-08-12 14:49:51 +0400",
        "id" : "0bd14e38ae33ff4faec03e2e2a2e0863345b6d28",
        "msg" : "Update AddNewPersonUseCase to handle when a person already has personUid set.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/kotlin/com/ustadmobile/core/domain/person/AddNewPersonUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "build.gradle"
        ],
        "commitId" : "6d0fe7bddbd536c3abc261dc37a9593d96371750",
        "timestamp" : 1723474189000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Bump version.\u000a",
        "date" : "2024-08-12 18:49:49 +0400",
        "id" : "6d0fe7bddbd536c3abc261dc37a9593d96371750",
        "msg" : "Bump version.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt",
          "build.gradle"
        ],
        "commitId" : "7a448fdff315a345dc77e734d8184186bc730a8f",
        "timestamp" : 1723477280000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix migration of XapiSessionEntity\u000a",
        "date" : "2024-08-12 19:41:20 +0400",
        "id" : "7a448fdff315a345dc77e734d8184186bc730a8f",
        "msg" : "Fix migration of XapiSessionEntity",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/UmAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "build.gradle"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/ext/UmAppDatabaseMigrations.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/200.json",
          "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateEntityDao.kt"
        ],
        "commitId" : "f0ef92fa9a9b244b53b480e53da2b730b04706a7",
        "timestamp" : 1723622972000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix StateEntityDao to make retrieving state entities on start of an Xapi session work as expected.\u000a",
        "date" : "2024-08-14 12:09:32 +0400",
        "id" : "f0ef92fa9a9b244b53b480e53da2b730b04706a7",
        "msg" : "Fix StateEntityDao to make retrieving state entities on start of an Xapi session work as expected.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-database/schemas/com.ustadmobile.core.db.UmAppDatabase/200.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-database/src/commonMain/kotlin/com/ustadmobile/core/db/dao/xapi/StateEntityDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/fa/strings.xml"
        ],
        "commitId" : "edb017451420ef3f782a3a8e575f2b5bbd3e26e9",
        "timestamp" : 1723795117000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Persian)\u000a\u000aCurrently translated at 100.0% (1101 of 1101 strings)\u000a\u000aTranslation: Ustad Mobile/User Interface\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/user-interface/fa/\u000a",
        "date" : "2024-08-16 09:58:37 +0200",
        "id" : "edb017451420ef3f782a3a8e575f2b5bbd3e26e9",
        "msg" : "Translated using Weblate (Persian)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/fa/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "core/src/commonMain/resources/MR/ps/strings.xml"
        ],
        "commitId" : "412ff46022159d3e55bb817421a0dab3e3d45639",
        "timestamp" : 1723795118000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
          "fullName" : "hosted"
        },
        "authorEmail" : "hosted@weblate.org",
        "comment" : "Translated using Weblate (Pashto)\u000a\u000aCurrently translated at 100.0% (1101 of 1101 strings)\u000a\u000aTranslation: Ustad Mobile/User Interface\u000aTranslate-URL: https://hosted.weblate.org/projects/ustad-mobile/user-interface/ps/\u000a",
        "date" : "2024-08-16 09:58:38 +0200",
        "id" : "412ff46022159d3e55bb817421a0dab3e3d45639",
        "msg" : "Translated using Weblate (Pashto)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "core/src/commonMain/resources/MR/ps/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "build.gradle"
        ],
        "commitId" : "d00affbf4f7c405199e3afbdbdc2bd9b55637458",
        "timestamp" : 1723795282000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Bump version\u000a",
        "date" : "2024-08-16 12:01:22 +0400",
        "id" : "d00affbf4f7c405199e3afbdbdc2bd9b55637458",
        "msg" : "Bump version",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "build.gradle"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "build.gradle"
        ],
        "commitId" : "7b431ca3c8be45041ece36aa0ea38f3904fa98f0",
        "timestamp" : 1723799728000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Bump version\u000a",
        "date" : "2024-08-16 13:15:28 +0400",
        "id" : "7b431ca3c8be45041ece36aa0ea38f3904fa98f0",
        "msg" : "Bump version",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "build.gradle"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant.deshmukh",
      "fullName" : "prashant.deshmukh"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
      "fullName" : "noreply"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
      "fullName" : "Mike Dawson"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/prashant",
      "fullName" : "Prashant Deshmukh"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
      "fullName" : "Pooja Ravi"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/hosted",
      "fullName" : "hosted"
    }
  ]
}