diff --git a/data/apps.json b/data/apps.json
index 2741c5c9ef71f8768b74a883c9b54713a1296f90..e5d1a79e1b7c9d3be0277fd96f6c69dc234bed60 100644
--- a/data/apps.json
+++ b/data/apps.json
@@ -2965,7 +2965,7 @@
     "issueTracker": "https://github.com/nextcloud/calendar/issues",
     "website": "https://github.com/nextcloud/calendar/",
     "created": "2016-10-01T12:40:39.060903Z",
-    "lastModified": "2024-04-18T16:32:35.079403Z",
+    "lastModified": "2024-04-22T17:13:01.447475Z",
     "releases": [
       {
         "version": "4.7.0-rc.2",
@@ -3142,6 +3142,31 @@
         },
         "signatureDigest": "sha512"
       },
+      {
+        "version": "4.7.0",
+        "phpExtensions": [],
+        "databases": [],
+        "shellCommands": [],
+        "phpVersionSpec": ">=8.0.0 <8.4.0",
+        "platformVersionSpec": ">=26.0.0 <30.0.0",
+        "minIntSize": 32,
+        "download": "https://github.com/nextcloud-releases/calendar/releases/download/v4.7.0/calendar-v4.7.0.tar.gz",
+        "created": "2024-04-22T17:13:01.346971Z",
+        "licenses": [
+          "agpl"
+        ],
+        "lastModified": "2024-04-22T17:13:01.630853Z",
+        "isNightly": false,
+        "rawPhpVersionSpec": ">=8.0 <=8.3",
+        "rawPlatformVersionSpec": ">=26 <=29",
+        "signature": "dZ234zHN4RUc9wDZsjXGGbHFu7ksjJf6Dn+1xX/CBb7OQ4e7PmfEN1oEumhlaCG+01utxTJf90sTR9NWKdwvdTCKS3JvSKmd16D2e45pO+4Ig6R6izMR/nsAROqmvMnFiKBcnzhI/CyFwb4YbpnlJn8vqk5OzSsCdZDw5+pGio9Kvl5Iir04P/T8qGclrGCvyPgxurqGOskmQoZ2MTHGvOi4yrdmL57G4hvfh57l+gW6XmiUrzNWqXF7zvvQl2aqkqFbFYR+Fr+tdnZ44beXERyZKaTBgoFALc3K0vfluR2teJshSbEiorjg5/jo/6BlFPNvFwMSSvNmyFePn+jCweedHfyLLQ0H3orRzA7wfZOIm2KtTnmtKn/4kux82zts0oF4hJRQQ1anNPfSLYzukhVfX9AwAzfYeNiJCo14KLWA3WkIWi3IcLk0xuHzjifaZGTsNh9pTaQorFJfKp4bH9PP0OFnhIvO86bWII8TY70JIkqD8USQ5Io5KiXF7cC2INcObecdPWkZKWpGprrS+VQA5kmDbT/K45IMSfdUTzQ1B5Y5jl/DlvsqbmOSwZeHPpkUzzaSZfGRleXY6MpfpsQ9vMxUjsKa5EmzqXOf6aY2Y/GLLyhREEePqCgnytXtcGDsn5Dt9P0DflRfR8LRNab/K0ONJfrFqd+lE+JS5CY=",
+        "translations": {
+          "en": {
+            "changelog": "### Added\n- Ability to invite circles to events\n- Custom public calendar subscriptions\n- Automatically find free slots for an event\n- Calendar widget for publicly shared calendars\n### Changed\n- Editor redesign\n### Fixed\n- Find attendees via email address\n- Misplaced empty content"
+          }
+        },
+        "signatureDigest": "sha512"
+      },
       {
         "version": "4.6.7",
         "phpExtensions": [],
@@ -19868,19 +19893,19 @@
         "phpVersionSpec": "*",
         "platformVersionSpec": ">=25.0.0 <29.0.0",
         "minIntSize": 32,
-        "download": "https://github.com/nextcloud/integration_openproject/releases/download/v2.6.0/integration_openproject-2.6.0.tar.gz",
-        "created": "2024-01-17T10:39:11.632809Z",
+        "download": "https://github.com/nextcloud/integration_openproject/releases/download/v2.6.0-20240117-nightly/integration_openproject-2.6.0-20240117-nightly.tar.gz",
+        "created": "2024-01-16T07:12:09.578930Z",
         "licenses": [
           "agpl"
         ],
-        "lastModified": "2024-01-17T10:39:11.754987Z",
-        "isNightly": false,
+        "lastModified": "2024-01-16T07:12:09.591499Z",
+        "isNightly": true,
         "rawPhpVersionSpec": "*",
         "rawPlatformVersionSpec": ">=25 <=28",
-        "signature": "TzOPgYARJ5qT+RkxxIwPu8pichQjyfnuuuiBhORyd2aqcI+pgsupCsFoGuHVHOQmvULO665c5QZa0xovXXu5plq+gGY+EJ9JcA9NsSua/kKe0aLsuVpBIrS1sEk6TUcCPPLIK89GFAspBmwylk+0/UiH5E1PSbrLDegk1+XafS2GtHHn3THxaYyroCz9TEf4pp3zN5n8b7YpIhFNXQPVtb0Qk48bVxnM73e3oKkWr7m7Y7i1w2YbHpHxrUUK5WJO53bhswN2WAcEu9ozzPTpwxABjcG7zZhpeydhNhh97TpSdFmp+ndejyMi6+KYvqlBPO0HdFmFbqiRcrppkIUDfUi3H+eRk5xaBkNTifiLvGLIiTSl0cgg4dZ5+vlqwsoV7rpIMdvImHwCQFvmoM/7ze3DJzwSt/K4DKBZVGRNwFgBis+o2H9yWopPBW//K7gOYVE43TPLkKIdusXZ3d57KjjiQqs4idIUu/dnMt4CH4z7HnYBIl72cQywmmmJrSwoSx8y4xsrIumvarylvlnKQ6NnJCOxI4o5vpadtyR8iecxEVjX9pwd/IreB1qlfsXFcv+nYyDwpiqV0sTJ2Dm87GhpGFZeXq+0AjrKWmtdqfQyfCs3f6M0TmWnJF9UEHwIfL59pl06m7h1KokFaH+rJitqthopQePS5SUbbkR0thI=",
+        "signature": "VylMDjhwYSIYSlDBk38M9ZCrtfhrVS0yzzYixUd3k2VULU+8SftjjZa2+LiBmxoRsJqzajxYo4mgzfVlpGfWNZGIRYWCpee2IihtYuuZjDXPmOkeZJKbFdaICy+RIHI7qBkFYoAQPFqJbVbFq/n9s4SdbPHs1cmCUpw2BtTbjTrUtYJHDdydeHAZtcFgqGmfxtcjFnLAOioeqF17o2dM1qvZLvc0l8kOOLomgB2paRyZrtO3sDJs7cA9XcK5eKJR7S+PdjORVgvbs40s0mS4Sts9a+1TU9JSA0SYOm4xti33gcc5r+Aaw7EfxpfkzmhCLc49IPSeHJbZrPzECnAC+7G4QQoyHacVMam+7UQzaQG2ms0fR95WXkxk/yHkpUwEeJ5ab3vx6XiTsO2dz2s6t+62Q6x6RifYZlH8qMGMyKQI4y+JHajiejzuvDdFzT2eT0g+5mPXZ6Eo/UidA+dd9H2i0WQ6+fgCWrlZX0ce5zSO4WlWiHRF+rr7vpECZkAijMsrePG11i6rXQH0ZU9dUW9HUSHCkPAYq7kPkfoX78w0rCi4gYZe6Bx7LqR39mnizfGPtSVFxOEoD/90lXo6u7s/mL61GVLKXdWP0QhrfNQS1EVXp0ulAig3jbNe/sNSXg3GQthHlO1uXvE224i0H5EyCrov4HqXKDpIvNEZIpk=",
         "translations": {
           "en": {
-            "changelog": "### Changed\n- This release expects OpenProject version 13.2 or newer\n- [What's Changed](https://github.com/nextcloud/integration_openproject/releases/tag/v2.6.0)"
+            "changelog": ""
           }
         },
         "signatureDigest": "sha512"
@@ -19893,19 +19918,19 @@
         "phpVersionSpec": "*",
         "platformVersionSpec": ">=25.0.0 <29.0.0",
         "minIntSize": 32,
-        "download": "https://github.com/nextcloud/integration_openproject/releases/download/v2.6.0-20240117-nightly/integration_openproject-2.6.0-20240117-nightly.tar.gz",
-        "created": "2024-01-16T07:12:09.578930Z",
+        "download": "https://github.com/nextcloud/integration_openproject/releases/download/v2.6.0/integration_openproject-2.6.0.tar.gz",
+        "created": "2024-01-17T10:39:11.632809Z",
         "licenses": [
           "agpl"
         ],
-        "lastModified": "2024-01-16T07:12:09.591499Z",
-        "isNightly": true,
+        "lastModified": "2024-01-17T10:39:11.754987Z",
+        "isNightly": false,
         "rawPhpVersionSpec": "*",
         "rawPlatformVersionSpec": ">=25 <=28",
-        "signature": "VylMDjhwYSIYSlDBk38M9ZCrtfhrVS0yzzYixUd3k2VULU+8SftjjZa2+LiBmxoRsJqzajxYo4mgzfVlpGfWNZGIRYWCpee2IihtYuuZjDXPmOkeZJKbFdaICy+RIHI7qBkFYoAQPFqJbVbFq/n9s4SdbPHs1cmCUpw2BtTbjTrUtYJHDdydeHAZtcFgqGmfxtcjFnLAOioeqF17o2dM1qvZLvc0l8kOOLomgB2paRyZrtO3sDJs7cA9XcK5eKJR7S+PdjORVgvbs40s0mS4Sts9a+1TU9JSA0SYOm4xti33gcc5r+Aaw7EfxpfkzmhCLc49IPSeHJbZrPzECnAC+7G4QQoyHacVMam+7UQzaQG2ms0fR95WXkxk/yHkpUwEeJ5ab3vx6XiTsO2dz2s6t+62Q6x6RifYZlH8qMGMyKQI4y+JHajiejzuvDdFzT2eT0g+5mPXZ6Eo/UidA+dd9H2i0WQ6+fgCWrlZX0ce5zSO4WlWiHRF+rr7vpECZkAijMsrePG11i6rXQH0ZU9dUW9HUSHCkPAYq7kPkfoX78w0rCi4gYZe6Bx7LqR39mnizfGPtSVFxOEoD/90lXo6u7s/mL61GVLKXdWP0QhrfNQS1EVXp0ulAig3jbNe/sNSXg3GQthHlO1uXvE224i0H5EyCrov4HqXKDpIvNEZIpk=",
+        "signature": "TzOPgYARJ5qT+RkxxIwPu8pichQjyfnuuuiBhORyd2aqcI+pgsupCsFoGuHVHOQmvULO665c5QZa0xovXXu5plq+gGY+EJ9JcA9NsSua/kKe0aLsuVpBIrS1sEk6TUcCPPLIK89GFAspBmwylk+0/UiH5E1PSbrLDegk1+XafS2GtHHn3THxaYyroCz9TEf4pp3zN5n8b7YpIhFNXQPVtb0Qk48bVxnM73e3oKkWr7m7Y7i1w2YbHpHxrUUK5WJO53bhswN2WAcEu9ozzPTpwxABjcG7zZhpeydhNhh97TpSdFmp+ndejyMi6+KYvqlBPO0HdFmFbqiRcrppkIUDfUi3H+eRk5xaBkNTifiLvGLIiTSl0cgg4dZ5+vlqwsoV7rpIMdvImHwCQFvmoM/7ze3DJzwSt/K4DKBZVGRNwFgBis+o2H9yWopPBW//K7gOYVE43TPLkKIdusXZ3d57KjjiQqs4idIUu/dnMt4CH4z7HnYBIl72cQywmmmJrSwoSx8y4xsrIumvarylvlnKQ6NnJCOxI4o5vpadtyR8iecxEVjX9pwd/IreB1qlfsXFcv+nYyDwpiqV0sTJ2Dm87GhpGFZeXq+0AjrKWmtdqfQyfCs3f6M0TmWnJF9UEHwIfL59pl06m7h1KokFaH+rJitqthopQePS5SUbbkR0thI=",
         "translations": {
           "en": {
-            "changelog": ""
+            "changelog": "### Changed\n- This release expects OpenProject version 13.2 or newer\n- [What's Changed](https://github.com/nextcloud/integration_openproject/releases/tag/v2.6.0)"
           }
         },
         "signatureDigest": "sha512"
@@ -23468,7 +23493,7 @@
     "issueTracker": "https://github.com/nextcloud/mail/issues",
     "website": "https://github.com/nextcloud/mail#readme",
     "created": "2016-10-19T19:41:41.710285Z",
-    "lastModified": "2024-04-15T08:07:54.858548Z",
+    "lastModified": "2024-04-22T17:37:44.817279Z",
     "releases": [
       {
         "version": "3.6.0-rc.3",
@@ -23595,6 +23620,31 @@
         },
         "signatureDigest": "sha512"
       },
+      {
+        "version": "3.6.0",
+        "phpExtensions": [],
+        "databases": [],
+        "shellCommands": [],
+        "phpVersionSpec": ">=8.0.0 <8.4.0",
+        "platformVersionSpec": ">=26.0.0 <30.0.0",
+        "minIntSize": 32,
+        "download": "https://github.com/nextcloud-releases/mail/releases/download/v3.6.0/mail-v3.6.0.tar.gz",
+        "created": "2024-04-22T17:37:44.770012Z",
+        "licenses": [
+          "agpl"
+        ],
+        "lastModified": "2024-04-22T17:37:44.865612Z",
+        "isNightly": false,
+        "rawPhpVersionSpec": ">=8.0 <=8.3",
+        "rawPlatformVersionSpec": ">=26 <=29",
+        "signature": "FsyJHTiARwmHWYlO30Q9e7BkhXPWBwEKTk2oBLsYMHgAVWShc0bNQReYDjha81N4TumTYwOhN4mGRpBaqQOi9xXLd3+jHNAS4dgsJVyIXa41IyQypu/wEolKPPhJHWj68G/rQ1cAy/KBdtmSRZUAuEzsk/GXrSjOLeNafl9zI6rKjXd97xExwGE0XoTrtO45CYpD84njBb7Q+JyzdkHIR3b2r0EZt/B4MPB3xJZIl3pqUvXFY5TGbhLlD9s9vwiLRccAk3UUkIBIqNS4p6NVpvY2XxyhszRdkrb8gVe0mA3Gk5faUeG83pLBPMXEQ2rW+ZHy9pvN9zks/pHC0f97452l1/x6zeYiPCENdFWnw4Dyh+5O0DcESTa7lMmc3DuivbA6jhMJBO+cG536qnpDAYldZIH3GuOKeEL2eB1dF7MIgGQfqhNOxs5/XlXSZaZQ17yDagii12gXNAPUT369ATiDhgEPfa7cb5B8sTsDKvJZECCOOU0OkTsKRtxXCkSpzjoa5mPMAacfQI/brDYAZGy49JL/QyUp3nD6RS84KsCDzurKNu/d93tH+R83fj5MXvkn07QKj6Tn8prCNrkX2eXcZ1sf94FOXm2m3FB1w1Hvpishc86oIoqXYqSnJ7oVIOlJ2Enzxpnr0I5Afkm2jhweL4onvQjiclIuQ8HGLsw=",
+        "translations": {
+          "en": {
+            "changelog": "### Added\n* Selection of untrusted S/MIME certificates\n* Suggested replies\n* LLM suggested event titles and agendas\n* Maximize composer modal\n* Descriptions for events created from threads\n* Full list and horizontal split layout options\n* Editor toolbar\n### Changed\n* Move threads with drag and drop\n* One feature setting for all LLM features\n* Faster background sync\n### Fixed\n* Database index usages\n* Division by zero\n* Autoconfig via MX DNS records\n* iCloud IMAP compatibility\n* IMAP/SMTP security buttons on the setup page\n* Message suck in outbox when storing on IMAP fails (temporarily)\n* Accidentaly leaving the tab while a draft has not been saved\n* Display from, to, cc, bcc correctly on advance search"
+          }
+        },
+        "signatureDigest": "sha512"
+      },
       {
         "version": "3.5.8",
         "phpExtensions": [],
@@ -25992,8 +26042,33 @@
     "issueTracker": "https://github.com/owncloud/music/issues",
     "website": "https://github.com/owncloud/music",
     "created": "2017-07-27T20:44:13.379611Z",
-    "lastModified": "2024-01-27T18:34:19.549234Z",
+    "lastModified": "2024-04-21T20:13:07.312461Z",
     "releases": [
+      {
+        "version": "1.11.0",
+        "phpExtensions": [],
+        "databases": [],
+        "shellCommands": [],
+        "phpVersionSpec": ">=7.1.0 <8.4.0",
+        "platformVersionSpec": ">=13.0.0 <30.0.0",
+        "minIntSize": 32,
+        "download": "https://github.com/owncloud/music/releases/download/v1.11.0/music_1.11.0_for_nextcloud.tar.gz",
+        "created": "2024-04-21T20:13:07.276756Z",
+        "licenses": [
+          "agpl"
+        ],
+        "lastModified": "2024-04-21T20:13:07.364699Z",
+        "isNightly": false,
+        "rawPhpVersionSpec": ">=7.1 <=8.3",
+        "rawPlatformVersionSpec": ">=13 <=29",
+        "signature": "XYxYVghxB8WWfiQeaGguP6YUiSj3d+XI3NUFnBGrAzGieE8OKcvmaxZwyQifBCX4\nR/Tiy6x66+z0Q1SoH3GfejcuJ/Lw+iOIMq6ASPj5CDrZuh7V2xna1N4vxf7USHoU\ng7Ag6JQBZtPpI2+hQ7TVKyfFq3jLv2gehVbDuR1T+1LdOgbbx6cxGXVuQm1C6ILT\nUlNeXWGQARia97NXf4J8O9cVTIpPBsT9LkaN9mk4vo91C52R1/kU4MUmGjOOoPkO\nzxgHxh96w2oI4/d4gsmL1Iow/XEfjXkHy+c18X0Y0MksSnbX4GE3S0qY4ZTAv0e1\nkqjQ9njzqq3piGEQeubwOT5rJ1xFLpy1MMLGM1dugc3SGdl9J4hKxZpqTiJGHXYz\n+nS7Mym5FDaoaOjw0jSpbrGPQRKracRJESH9KPcngEmftD+7zHhTSmMFqSktTLCr\nfV/iFWCt0eRk/uwEGicnTnR2yxtMiB8SfqWCMYTOhQvrnLsYS/EC5UxGZR1+0ojv\nz4jSIwNQM98RCQDYGmVXMhPFdkJn6o+vnGdLviTs2c7fSkYDPCTsYJ/UR3MVwWbF\nA7chgAcq7Q0of2JXF3+P1N9WaZvuOluGILdUGPmytea5AoALezTXjb5V1VmzUyet\nTQUHAkS54uu/2wIvdepjdAbL/+lP4uJAMxhzfjKx58E=",
+        "translations": {
+          "en": {
+            "changelog": "### Added\n- Advanced search view\n  [#1141](https://github.com/owncloud/music/pull/1141)\n- Support for Nextcloud 29\n  [#1132](https://github.com/owncloud/music/issues/1132)\n- Ampache API:\n  * Option to change the session timeout with the `config.php` key `music.ampache_session_expiry_time`\n    [#1134](https://github.com/owncloud/music/issues/1134)\n  * Support for the actions `search`, `user`, `user_playlists`, `user_smartlists`, `playlist_add`, `index`, `scrobble`\n  * Support for the advanced search rule `bitrate` on songs\n- Subsonic API:\n  * Support for the method `getOpenSubsonicExtensions`\n\n### Changed\n- Ampache API:\n  * Advanced search operators `matches regex` and `does not match regex` supported also on SQLite (this is important to properly support [Ample](https://github.com/mitchray/ample))\n  * Advanced search operators `sounds like` and `does not sound like` supported also on SQLite, and on PgSQL if module `fuzzystrmatch` is installed\n  * Advanced search rules `album_genre` and `artist_genre` supported also on PgSQL\n  * Authentication tag can be delivered also using the bearer token header (required to support Ample v3)\n    [#1140](https://github.com/owncloud/music/issues/1140)\n  * All results with property `art` have also the property `has_art`\n  * Implicitly record the track as played with the actions `download` and `stream`\n\n### Fixed\n- Playlist file not playing within Files in case the first track of the list is in unsupported format\n- Some Finnish translations being replaced with English (since v1.9.0)\n- Error \"Cannot set response code - headers already sent\" logged on each played song on PHP 8.3\n  [#1133](https://github.com/owncloud/music/issues/1133)\n- Files player: Menu icon for \"Import list to Music\" not adjusted correctly for the dark theme\n- Standard NC viewer opened instead of embedded Music player when opening file from Dashboard on NC28+\n  [#1126](https://github.com/owncloud/music/issues/1126)\n- Music app page loading randomly failing on Chrome\n  [#1137](https://github.com/owncloud/music/issues/1137)\n- Ampache API:\n  * API not working on ownCloud 10.14.0 (HTTP error 500 on all Ampache API calls)\n    [#1138](https://github.com/owncloud/music/issues/1138)\n  * Advanced search rule `playlist_name` not being case insensitive like the other string rules\n  * Advanced search rules `playlist` and `playlist_name` not working with SQLite\n  * Advanced search operator `does not sound like` not working\n  * Advanced search numeric rules (e.g. `year`, `played_times`, `album_count`) not working properly on SQLite\n  * Advanced search rules `album_count` and `song_count` never finding artists whose respective count is 0\n  * Incorrect root node name on the actions `user_preference` and `user_preferences`\n- Subsonic API:\n  * Method `getAlbumInfo2` response having incorrect root element name\n    [#1125](https://github.com/owncloud/music/pull/1125) @perillamint\n  * On NC28+, every XML API call logged an error 'Undefined array key \"\" at /var/www/html/lib/private/AppFramework/Http.php#128'.\n    [#1142](https://github.com/owncloud/music/issues/1142)"
+          }
+        },
+        "signatureDigest": "sha512"
+      },
       {
         "version": "1.10.0",
         "phpExtensions": [],
@@ -26052,17 +26127,17 @@
     "isFeatured": false,
     "authors": [
       {
-        "name": "Morris Jobke (original author)",
+        "name": "Pauli Järvinen (current author)",
         "mail": "",
         "homepage": ""
       },
       {
-        "name": "Jan-Christoph Borchardt (original design)",
+        "name": "Morris Jobke (original author)",
         "mail": "",
         "homepage": ""
       },
       {
-        "name": "Pauli Järvinen (current author)",
+        "name": "Jan-Christoph Borchardt (original design)",
         "mail": "",
         "homepage": ""
       }
@@ -42208,7 +42283,7 @@
     "issueTracker": "https://github.com/nextcloud/spreed/issues",
     "website": "https://github.com/nextcloud/spreed",
     "created": "2016-11-23T09:49:36.743591Z",
-    "lastModified": "2024-04-18T21:42:30.383278Z",
+    "lastModified": "2024-04-22T12:47:00.781062Z",
     "releases": [
       {
         "version": "18.0.7",