diff --git a/data/apps.json b/data/apps.json
index 241050dbae58668db4be8b9ad30b3660ef084911..74b886c68535d2f71addb5bacb484fc2888e943d 100644
--- a/data/apps.json
+++ b/data/apps.json
@@ -17890,7 +17890,7 @@
     "issueTracker": "https://github.com/nextcloud/mail/issues",
     "website": "https://github.com/nextcloud/mail#readme",
     "created": "2016-10-19T19:41:41.710285Z",
-    "lastModified": "2022-11-30T14:03:19.147248Z",
+    "lastModified": "2022-12-05T15:22:48.501303Z",
     "releases": [
       {
         "version": "1.14.4",
@@ -22933,8 +22933,39 @@
     "issueTracker": "https://github.com/H2CK/oidc/issues",
     "website": "https://github.com/H2CK/oidc",
     "created": "2022-03-15T21:28:03.253395Z",
-    "lastModified": "2022-10-21T20:39:53.330772Z",
+    "lastModified": "2022-12-05T09:35:06.483685Z",
     "releases": [
+      {
+        "version": "0.2.7",
+        "phpExtensions": [
+          {
+            "id": "openssl",
+            "versionSpec": "*",
+            "rawVersionSpec": "*"
+          }
+        ],
+        "databases": [],
+        "shellCommands": [],
+        "phpVersionSpec": "*",
+        "platformVersionSpec": ">=21.0.0 <26.0.0",
+        "minIntSize": 32,
+        "download": "https://github.com/H2CK/oidc/releases/download/0.2.7/oidc-0.2.7.tar.gz",
+        "created": "2022-12-05T09:35:06.474032Z",
+        "licenses": [
+          "agpl"
+        ],
+        "lastModified": "2022-12-05T09:35:06.566353Z",
+        "isNightly": false,
+        "rawPhpVersionSpec": "*",
+        "rawPlatformVersionSpec": ">=21 <=25",
+        "signature": "CjZyggLeMOteOjrxPDgcGDwC4Jz/RkBzICBh8nDkSdPLNDCTf5LuFXwLbCXigFMkvtG1nRruRveaijWQGN/OQYUF+MvTMLigJeNdBIbAWZ1hfVFGnRp2ShM81DXKfhAa5OqXmmoq0bxhAgKBr+qWYlD8I0rDGbjAtEQrbPSfWA//vPBGbQKk1L4zv8wd3IkXYwzYvK+esUy2ZqyPCZYCGXtNWNCg0rCpDRAEbmUZ2UsWsjGUulZwZ9Qjp9DAETYYeS42blQ9QEjo8N2ZeuGcbp/1Y0FxABaEdg6vQUjg2VO8dYix/KgQvj+TWXDe55i6eShQfFDp5Z+WSsjTBAL472Fp4RNuouUjibeB88kal1ZC7NkNCr5ArN3mE34j8q9MZDO8oIv0clZR2/cPVGXBWYdpot1I61EB0x/4tqeN1d9nTRBPz2HsCJcn7wr/gl/KQAe4wHFyAq1K1MtgdbjHz1u3IOHXtmsRgnaOhO+HQPUpwu7nfPfHamztB2A9maDz/0G6NWQyxzNgeem+jSvYgG71iEx/FQyhsQ3Qo8+RqEC4uvKMDW1T+k6U/1eQ+mIuvzNQJjH+5KAOMR0P05zQPUJoiGaxoLFoGof3Kp5buxTTOeNhEeFlRY/6mo8j4dtLuT2OCdrI6tw+Lf0i5oiYKGQfjLCkVeQqxCq4+0ildUE=",
+        "translations": {
+          "en": {
+            "changelog": "### Changed\n\n- Updated package dependencies. Requires now Node 16."
+          }
+        },
+        "signatureDigest": "sha512"
+      },
       {
         "version": "0.2.6",
         "phpExtensions": [
@@ -29632,6 +29663,108 @@
     "certificate": "-----BEGIN CERTIFICATE-----\nMIIEBDCCAuwCAhHaMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD\nVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI\nMTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB\ndXRob3JpdHkwHhcNMjIwODExMTY0MTMzWhcNMzIxMTE2MTY0MTMzWjAUMRIwEAYD\nVQQDDAlzYWxhdHRpbWUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDD\n0lyb8KoDVNqqi3hMNm3hy3KHE0XX4GtzDQrSO+3IvxRD/pQj+Fj95mvSRwY7/ECs\n6rGxY5GEEEaAUZxSt2tZ/9oafN8CTnFeqFeFSugzJt5VY+vJSl3b8UnkqYQWLzEC\nAG+bMew7JL2t0PEoIhiLa5TUT28GTXi7GdrOo6jlcLPlnL/E38P6ci/pWxVAL7d9\ngBATzexWjE8O++c98WDILrG7rzfDkeuP83SXhHsKy/mHggoSRFnb9Q14v+kQ/6SB\nrcqqXWMF6+97zZzUBpNQU/vdsbOyTjq3Gh/zz+QwaK82s6JKj6RtHr3Hqh15RWZj\nCNP2QAsYYa7mS2PzPP5iINBFTXigkdj0zvHccjGUFpWmBMKSwZOb5DJreeHMEm5D\nQcUzU85CI8DqTuF1yk4+O5lBVJKufSQXFGv+f0zbuGRay/PDNlreZK1cqpJXgSyT\nCLJBkxTwKqh79SCFYRIp0KBlIVLeC44aUukwJ1/wC1oJ+Pv03nLkNbd0p8erjo75\nDFqeFnSAOJHf0xkd8ytRaVUlMlA6kO4snRIF9ODLT4mpCH992ru9XiA3RnzQFvne\nqdovZHV0ywtThKSUhwwkmF5Z+D/sLhFrjXRqKzAm+oubRIYkYtYJNWCVwW0HmTdm\nC/AAF4E6ti4DA1WyYo5rmVUiolLr6WYVqurMghHRLwIDAQABMA0GCSqGSIb3DQEB\nCwUAA4IBAQBNi9Ln4Y1NzOXs9gh3RkTIjkfSk1il6TJ5BI2wOqOFPs71GAmqyUhD\npwRIKi5YxtG86gwbQKRtx9IIfp1/CeNr88Z5cFX/To9H3jJs72YG3TbfYHhIDp8U\noqs5Z1sxQ2DdErV6ovJORVT1xNPwTj3XA8/W6fXfAnbn0HtJ2mGC+zyYAvmYDbU3\nGf+KDdVvEdzIVgd7qZOdkXSLTD9C/YrfGTM17UzGrG7Q6vUNNQ+J22AQdGHawbZD\nM8ME5wSKmxRNIp3upy0WkiYCcZs/Wgh4y2c5X7TI/sZNhevl40n9m8yD/lO/KgWH\nBIusTWmN7oxhd67Oqa5UCCRiOe7LUbx8\n-----END CERTIFICATE-----",
     "discussion": "https://help.nextcloud.com/c/apps/salattime"
   },
+  {
+    "id": "sciencemesh",
+    "categories": [
+      "integration"
+    ],
+    "userDocs": "",
+    "adminDocs": "",
+    "developerDocs": "",
+    "issueTracker": "https://github.com/pondersource/sciencemesh-nextcloud/issues",
+    "website": "",
+    "created": "2022-12-05T14:01:10.337087Z",
+    "lastModified": "2022-12-05T14:01:27.256441Z",
+    "releases": [
+      {
+        "version": "0.0.1",
+        "phpExtensions": [],
+        "databases": [],
+        "shellCommands": [],
+        "phpVersionSpec": "*",
+        "platformVersionSpec": ">=15.0.0 <26.0.0",
+        "minIntSize": 32,
+        "download": "https://github.com/pondersource/nc-sciencemesh/blob/main/release/sciencemesh.tar.gz?raw=true",
+        "created": "2022-12-05T14:01:27.249401Z",
+        "licenses": [
+          "agpl"
+        ],
+        "lastModified": "2022-12-05T14:01:27.305097Z",
+        "isNightly": false,
+        "rawPhpVersionSpec": "*",
+        "rawPlatformVersionSpec": ">=15 <=25",
+        "signature": "Y/9VNTRiKX4CFNFufbdYg7X6BGS8onGV9nYiNbWUPl1+70mY4q0xAIrj++oBajlw\nEyukFxtfpGVw2bBWCxAzF+pg1a5WEXw0g2w5eE9RdmguOL1lQ+47UAc7AhlnY+Yz\n+Vhzi4XVOExbPsUriY30+fd6mcQRX/eNg3Uwf/PL6eFqLAWgZRr94QqOrlW4Ll+9\nMoq+NRI1gM+5znM+2nlHjShvStvHWvBurxccUhsEnIYSKKFAl4zfuXdrIqAiHN3q\nBXBTWFdqz69o0Bc4HFN3sjuq19Ayyc1JHZvyVIgsQhGjyydH45r3WO7D7Qw1+qev\nVpPBtYkL33I6Lz4g5rFJ6I+bRbmQRfVew2r5qVRTULgLJD6U+2fupmVR84CqDKvQ\nPG1BGMty5wedO77GDoTKccHeBrwBVyQLRS5S0Q0w6PFEGuxY7Qihp654TlDYM4rU\nwK/qAIl+27iySsiDEIBjMNiLiabpwJ/2m7GUkvi4+xbqrjWycOawX2L4HdZs5ian\n8f4+nWijkm4G+8eXFCSHZ3P+yHdIBiqa03uHxtbLSFVkRzxHkNK12lQK+R+CiAE+\nm9YBlkm5ngon5pL4PO7JDQSwGRjge5J12UP4CEEP4tqvKX3yCRTKXDR3xp+u/FgL\n9I/W7mxTHF0ayp9VUYiOTD9gR58GkXhVq/ZIW1i9vxQ=",
+        "translations": {
+          "en": {
+            "changelog": ""
+          }
+        },
+        "signatureDigest": "sha512"
+      }
+    ],
+    "screenshots": [],
+    "translations": {
+      "en": {
+        "name": "ScienceMesh",
+        "summary": "Connect your Nextcloud server to the ScienceMesh project",
+        "description": "# ScienceMesh"
+      }
+    },
+    "isFeatured": false,
+    "authors": [
+      {
+        "name": "Ben Peachey (Muze)",
+        "mail": "",
+        "homepage": ""
+      },
+      {
+        "name": "Ismoil Shifoev (Ponder Source)",
+        "mail": "",
+        "homepage": ""
+      },
+      {
+        "name": "Benz Schenk (Ponder Source)",
+        "mail": "",
+        "homepage": ""
+      },
+      {
+        "name": "Triantafullenia Doumani (Ponder Source)",
+        "mail": "",
+        "homepage": ""
+      },
+      {
+        "name": "Yvo Brevoort (Muze)",
+        "mail": "yvo@muze.nl",
+        "homepage": ""
+      },
+      {
+        "name": "Michiel de Jong (Ponder Source)",
+        "mail": "michiel@pondersource.com",
+        "homepage": ""
+      },
+      {
+        "name": "Muze B.V.",
+        "mail": "info@muze.nl",
+        "homepage": "https://www.muze.nl"
+      },
+      {
+        "name": "Stichting Ponder Source",
+        "mail": "support@pondersource.com",
+        "homepage": "https://pondersource.com"
+      },
+      {
+        "name": "ScienceMesh Community",
+        "mail": "",
+        "homepage": "https://sciencemesh.io"
+      }
+    ],
+    "ratingRecent": 0.5,
+    "ratingOverall": 0.5,
+    "ratingNumRecent": 0,
+    "ratingNumOverall": 0,
+    "certificate": "-----BEGIN CERTIFICATE-----\nMIIEBjCCAu4CAhFlMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD\nVQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI\nMTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB\ndXRob3JpdHkwHhcNMjEwMTIwMTYxODUzWhcNMzEwNDI4MTYxODUzWjAWMRQwEgYD\nVQQDDAtzY2llbmNlbWVzaDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB\nALE7XjIzoq1O8YR0CKW8JLS3wLxtXjL3WWWJY4IdTTDuizg5VHukQosn4/hfiqMV\nXIMFpA4cxqW6ZYgjndvZ+33t6/8AruMgd6kciZqJGmG1pVjnfTYxkQQBSYoPthsm\nvQSQE5VLq3nn8w0zn31skg1L88uZ4fb03PQhmwhjLdZnuT0xp4mydrmSiAvWAWDH\noK2stDKc4As5dWPXyIyFl1M4iPYnq4xE9wGAUqTaNP8wtxmG+cl/kuqEJllPaESl\n82RWHPLMgOJifq0XAQBq607rsc4TPSw1opc+E3dbd8Gdrtj4j2iYiDU61nuZYdwC\ntwru1+NBc4XXuzOjqUqh6XkSMDMuxXKI7apYf9Mp360qDhGOnpyhy8qoq/4ezYxb\nnTOHSZrOFksb7MyBlR1JD2Zfnp2vhWpA5k7gxrN/9dLHYkdnOs3P+BunU3C5m5qc\npoau6xKkPNHYPKMZXeneU3KSGRrG2Kqr+mmKne1ug46FoaX+2t+3wO7sLLhi3QWR\nyM3LlDTLy5A8xwjCnkEBoDD5LvRGlM7p7/wVW9jUCoIO81nSBkqPaIfdId6205xp\n2+HNOk9E7NGH1n8wsc+jGCuf83TDKWCy+28zAB1i9DkA1DXuWv/Q9BOyW9fvYnLE\noC1h/Kuk6r55X2249vQNGOnN5cWrjAebtM5WkSttLISDAgMBAAEwDQYJKoZIhvcN\nAQELBQADggEBAB+dyE9CUpYan88u9y77yQWQklaYNb64KXIZzYSPku01K4gxnpwd\nEKd3Iwd3unR280VnxKhdWjhlpKYZiKeC+fmx2JRQVM57r6ehuTxhauUhew+A33cZ\nro2LuNqlJnW3u1525dR8gc+SWCLJpFWUIr4Bm8tTH2wFQSJX1Hzyxq4BpKBXCeBW\nhgkoQz4Mo9epGZcQgUm7CFDy9pRfRgfxDvohmNQmJiXQ/tC7aNKsnnPmmQbulchh\nHbAVW9eU4oU0WIpLGMIdDczSzHI4UUQi0JOxzSL0DoV/mi0KUHUwXeJJwepzTwr3\nIa+QNMZ5sUQ7MNOP9hj/TIDb2ta6liRPe5s=\n-----END CERTIFICATE-----",
+    "discussion": "https://help.nextcloud.com/c/apps/sciencemesh"
+  },
   {
     "id": "secrets",
     "categories": [
@@ -31202,8 +31335,44 @@
     "issueTracker": "https://github.com/the-djmaze/snappymail/issues",
     "website": "https://snappymail.eu",
     "created": "2022-10-17T19:05:46.114755Z",
-    "lastModified": "2022-12-02T15:45:24.949673Z",
+    "lastModified": "2022-12-05T12:12:51.289523Z",
     "releases": [
+      {
+        "version": "2.22.6",
+        "phpExtensions": [
+          {
+            "id": "zlib",
+            "versionSpec": "*",
+            "rawVersionSpec": "*"
+          },
+          {
+            "id": "mbstring",
+            "versionSpec": "*",
+            "rawVersionSpec": "*"
+          }
+        ],
+        "databases": [],
+        "shellCommands": [],
+        "phpVersionSpec": ">=7.4.0",
+        "platformVersionSpec": ">=20.0.0 <27.0.0",
+        "minIntSize": 64,
+        "download": "https://snappymail.eu/repository/nextcloud/snappymail-2.22.6-nextcloud.tar.gz",
+        "created": "2022-12-05T12:12:51.277505Z",
+        "licenses": [
+          "agpl"
+        ],
+        "lastModified": "2022-12-05T12:12:51.340727Z",
+        "isNightly": false,
+        "rawPhpVersionSpec": ">=7.4",
+        "rawPlatformVersionSpec": ">=20 <=26",
+        "signature": "jVhIMqCUwoRC3Nt+5hgt0xQ+b6tsCHw4kMnQlX2QQFbmlqz0nxoBhPnToWOHKrq7\nrUCXUTzkp0BI1u36XX3mQjTqBSWSuj2H9/fM8WpHtsus5CE23zCot1600w+Hsi2R\nxkMG16HkknYC6jiSKOPCn816gdo0JPtu4Gm5BlsfkgTywhcxjn65w6Iz73ewAi85\nNAqXLX5rwTrbulLCnVtAjlMwREGJw79Igujo81lBKB86J82mAPpNrQ5SLWBdf+s2\nZjvMF69a6eZpbcNOZ6hpaqvHyjaykw2LLmAHIFlSe+UdMBX4DnzyrnfXcWK7GDHZ\nildpSVnUV2IqKGILoYLUGjuMQQAPtlCn2bqEoatnwZ8q1HDXcrDZW4R3Klk3ifb/\nwajvCe9t8M7X9VWYZhxwK8OCe7knMS++5JAQMzxa+tcsvqo0qxDXrAVgCYhYKQpb\n323JmJTMXkIWqBcmlDS8APtxtPC4jvcNLX6kz4HQ5rBEwIjgTZjtSxPu7kclnt9+\nM/4sXeJIks6yxcd9BXPMpF6oSJSdDF5pUVju8lKeoTTBbx4Q/jhkai51CnUedp5I\nqcYusJPMwkko7jrb1t0s/CWTWwE9ro0mY9mbpcLC0+S15yBVn0R6eie905NQVR6N\nOXVutN+BZCDelWNyz/1ocLLv9lloyXXdBv/a1hkaQu4=",
+        "translations": {
+          "en": {
+            "changelog": "### Changed\n- Narrow MessageList wraps star icon\n  [#737](https://github.com/the-djmaze/snappymail/pull/737)\n- Use UIDVALIDITY when HIGHESTMODSEQ not available, maybe solves\n  [#745](https://github.com/the-djmaze/snappymail/pull/745)\n- No need to generate 1000's of ID's for MessageListByRequestIndexOrUids()\n- Update Chinese translation by @mayswind\n\n### Fixed\n- PluginProperty DefaultValue contained array while it should not\n  [#741](https://github.com/the-djmaze/snappymail/pull/741)\n\n### Removed\n- IMAP SELECT/EXAMINE unset `UNSEEN` because IMAP4rev2 deprecated"
+          }
+        },
+        "signatureDigest": "sha512"
+      },
       {
         "version": "2.22.5",
         "phpExtensions": [
@@ -38393,8 +38562,33 @@
     "issueTracker": "https://github.com/rullzer/twofactor_reminder/issues",
     "website": "https://github.com/rullzer/twofactor_reminder",
     "created": "2022-10-12T06:30:47.912741Z",
-    "lastModified": "2022-10-12T06:46:02.669590Z",
+    "lastModified": "2022-12-05T19:30:27.637902Z",
     "releases": [
+      {
+        "version": "1.0.0",
+        "phpExtensions": [],
+        "databases": [],
+        "shellCommands": [],
+        "phpVersionSpec": "*",
+        "platformVersionSpec": ">=24.0.0 <27.0.0",
+        "minIntSize": 32,
+        "download": "https://github.com/rullzer/twofactor_reminder/releases/download/v1.0.0/twofactor_reminder.tar.gz",
+        "created": "2022-12-05T19:30:27.629339Z",
+        "licenses": [
+          "agpl"
+        ],
+        "lastModified": "2022-12-05T19:30:27.729803Z",
+        "isNightly": false,
+        "rawPhpVersionSpec": "*",
+        "rawPlatformVersionSpec": ">=24 <=26",
+        "signature": "jvsgz/95VTTl1BnzhqMe67LOp64B9iu2xyrwVmY31nayM3dKblPJuhMVOdgzpqy5hsCFIxH3q7MS/SlhidhFmzl0yaca75UWAzJGBlTZE+1wKegA2GFrJ/5CgEVvnSxXtBm+FGs2ETNvj0rWN14hbSZb+s2OewD2N/IP7LsWKfs7slot7KZ7E4Z9B5tjKH/EEy20hJ6CGx/A9pgaNJv+/fhqIv/O+bBWNKPXEx39sN4Udt8YpoWHHtlfDQBh3+NiNYH//VoCjecHOS4DFzK2KAmdcCPYmHtj9O4q+L4w8WMCtmYF9rknv3YynjM+FgiXiOrp/1chyvu6Eiy3ozzxJU2romyge41I+kMFyZh3ZSyMd13NdKyiBRx2YmxZNVFx7sTvoXdEZ/IHL7xkCyVlEdJvoPTC2RQanI1Gr92wH6VDuO/9rAwCFDhm5Oy6eeHL7lNZDFxxTUv0dk9wpxLrfuZEVZaP5Aah08Xlg6EDdHSJRl/8YqHm0OseoRguBQq65gvLZ4nRnNxAIY1mKUMH353IPZnP4/MjKubYhzs8e1x5cBQBc4lk+oeNRACP7ZEWtzaKQ8ahKjKTCZnZuMCUbmEeOH4WvM3Jtp21KDSWjpoYCG4WOJ1BdcGRaQ4x9s7NlPOEuGkw3OLSFJeiZxpcqPCMmdQaA1d4Dh9BrUirZRY=",
+        "translations": {
+          "en": {
+            "changelog": ""
+          }
+        },
+        "signatureDigest": "sha512"
+      },
       {
         "version": "0.0.1",
         "phpExtensions": [],
@@ -38424,7 +38618,7 @@
     "screenshots": [],
     "translations": {
       "en": {
-        "name": "Two Factor Reminder",
+        "name": "Two factor reminder",
         "summary": "Remind people to turn on 2FA",
         "description": "2FA should be the standard these days. However a lot of people forget to enable it. This app will send them a notification once a month."
       }