Skip to main content

AI-Hub - Releases

← App details

Nextcloud 35

AI-Hub 0.1.0
Release Details
UpdatedOct. 7, 2026, 10:58 p.m.
Changelog

Added

  • Saving a conversation (the owner, 2026-10-06): /apps/ai_hub/conversation reads a remembered conversation back, …/save writes it to the person's Files as Markdown (AI-Hub/<app>/<date> <time> <first question>.md, in their language and time zone, images as "[n images]"), …/summary has the model sum it up once and saves that, …/forget drops it; from PHP transcript(), saveTranscript(), summarize(). A scenario's optional transcript callable shapes how its turns read when saved.
  • Images with a question: an app may send up to 4 PNG, JPEG, GIF or WebP images (5 MB each) with a question, checked again on the server, and every engine passes them on — the Claude, Gemini and OpenAI-compatible APIs, and the Claude command line through a stream-json message. The Gemini command line takes none, and status() says so (images). A remembered conversation keeps a mark in place of the images, never the images themselves. / 質問に画像(PNG・JPEG・GIF・WebP、1 枚 5MB まで、4 枚まで)を付けられるようにした。サーバーでも確かめ、各エンジンに渡す(Claude・Gemini・OpenAI 互換の API、Claude のコマンドラインは stream-json で)。Gemini のコマンドラインは画像を受け取れず、status() の images で分かる。記録する会話には画像そのものでなく印だけを残す。
  • Per-app additional prompt: in the administration settings each connected app (and Nextcloud's Task Processing) can be given its own instructions, added to every question that app sends, after the app's own instructions. Text from documents and records still never counts as an instruction. / 管理者設定で、アプリごと(Nextcloud の Task Processing を含む)に追加プロンプトを書けるようにした。そのアプリが送るすべての質問に、アプリ自身の指示の後に加わる。文書やレコードの中の文は従来どおり指示として扱わない。

Changed

  • A remembered conversation lasts as long as the login it was held in (the owner, 2026-10-06): it is kept under the login (Nextcloud's auth token of the browser session, or the app password), so a new login starts a new conversation; logging out drops the conversations of that login; one unused for twelve hours (was a day) is dropped. The records kept the old way were removed. A caller with no login of its own is seeded from the history it sends when its record has lapsed. The answer says fresh when it began afresh, so a page can clear the turns it still shows.
  • A scenario can carry the app's own rule on who may ask (allow), and AI-Hub checks it on every way in; the OCS endpoint answers only the scenarios an app opened to it (ocs), so an app's gate cannot be gone round by calling AI-Hub directly.
  • The Claude API is given room for long answers (16,384 output tokens, up from 4,096), and an answer cut off at the limit is noted in the log.
  • The Gemini command line tool is given its prompt on stdin, so a long context no longer runs into the kernel's argument limit.

Fixed

  • The Claude command line no longer leaves a file in its home for every question: it is run with --no-session-persistence and with its auto memory off (CLAUDE_CODE_DISABLE_AUTO_MEMORY), and no longer resumes sessions of its own (it is handed the stored transcript, as every engine is), so .claude/projects under its home stops growing.
  • A remembered conversation is keyed by a hash of app, user and token: a user id holding _ could collide with another user's conversation.
  • When the Claude command line tool cannot resume its session, the dead session id is dropped instead of being tried again (and failing again) on every later turn.
  • The per-session working folders of the command line tool are swept with their conversation.
  • Each message handed to the model is capped, as the context already was.

  • CalcBase, the spreadsheet of the Base series, is listed from the start among the apps that connect, as the others of the series are.

Removed

  • The "tools for administrators" setting, which no request ever used; the tools setting that remains applies to Nextcloud's own Task Processing and the connection test, and says so.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEATCCAukCAhRIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYxMDA3MTUyMjA4WhcNMzcwMTEyMTUyMjA4WjARMQ8wDQYD
VQQDDAZhaV9odWIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDgCX0t
cwuLLeA0Be8Xr24TUTgxA3oNnMiAT2Kl/cEiEqSRkfnzhHYQQjk83EXY+tfOZieO
PhtkLORillgmYDgZcUZ+ftcglnBklshK23WWYx3d34cFBzpxYB13XdowblR2fc9/
C4Cg4f3/f9vEQarQeIHJ0rlZ4X8sav94+HbiVsLl0oIzu/rjBXTPQq662Y9ydxQX
vRK2wyEG1z4rhCWGnBUeSIKCDrIkbBWgX11FAJtku9L6Xxvb174lv5tMMI+AyEZx
6zoOM0SjI9P8ScbGYDZV9KcGs4E3vW/ToanRiJ51mQM/Kb1aWtk6i5WUbmjYTsbn
3xIM0O752hnCWNPQXs21iS4tZRcgyXG3HWUxXNbe2C8HVWBxw0UuiCxwjqdk07PJ
ptF5yrvVDOWW3ySBdJye/GYVs26E3rWqtAZ3RPevVplqQdX0o7tPttvZqj5u5Irr
26GxecXnU1Rdtxgve4YfQ7uRvC3pCYJ4dGr23Trwau5K6cpQHXWUqySAs5g80fjv
nMxbnTNml3/KF6BPU2FRPdwexq96YhMBG7cwJDuhUOIYt52wfZxxLpQ/9WKkXcgb
CNtDiL3OaD5oy3iVOjgwxyGAZLvoxLxJ/wqmuDGicEFyXl54g5AvN8VYcb8fYNEf
i0qs1fH6OB5lxOhuA6nxNLm0bZqiBoEHFMso+QIDAQABMA0GCSqGSIb3DQEBCwUA
A4IBAQACrMqX+QZcuAqJrG/4z2HiRgEz4bsrTXa9gj5jr9PljexgytSO1UigwnPa
tWtJLfrNw4v0TiL0Nyr38HQAsbuWf5qyEe1dacGizkkakz1pVCyy9S31lZTVYmv8
8j8KP928omYr7EJgWj9scMLa7ih4DMWfQ269M1PrG9FDdT6yjLlh6DWLXGt3qQPr
/L403TnHGhvZ32BDwJKRj6jLNSiCJ5wgpl/3Qsbby/tKy7n0X9kG7WuDSWrIXsnd
rsvTl09aLy/Mh+kjUPfKyf+mXPbI5nFnzRswZ2b5EOtcBKan5MIQX/7X7GserLjI
hqKYQ6hSdEzwv+vzE7WcbTzzdO+b
-----END CERTIFICATE-----
SignatureJHiaHPmt6z6xcyeefLWGiBVWgaiMU0ehDPl5ND/2cIFgYFUAsXlJdrZ8Hmm94Mtp9Cjz3VsyX/bKUCPVUErkHsqlv2vp/eDVNuusS9lsvUdGsfdLllSu+2XfnFHh/xulxI4Zg5LSH3aeTA8+MBeM9d6Rh8A6PpGPdYjijCWBpmUo2IV+Ql59MYawKeDEZhTGDjdob4ef5E8n4yK9zH8YWc0t72HNy2HiLeaJ7egqIMUHULL57IjbGN/KtUWtnmEe8bRGLT5MaQW7vlj8Q5+DoZQtHKv/iam9ajW6oPGe7Un+g5QTw5o/F1T9Ux2yWZu/6Plcysn18DJVnq/NQpvKgEwQxaBAyU8hFOrk3i4MuCt8ONgUOb6++UgAoTEb0MwJVV0A0ArqUsXD27CZXFhPUIuZxrH9zfBs3YAzIBqsv4IH1Y182o27qJhA9IQrvewiMEaO86XZD+QriJzmiF4AQAbNumpXfdQh2rSZXa9s5YxgkuP2K23MFrfwlrYybYNrO2xZgJWiprBTtA3y/33V1KLIrdGbfjUoFhVOUSg3ce5fdxfIgP+c4AHuYn5yrQ5U7+WzqTBBqTDmtuE7OhoicnCkyqJX0TjrI+x7Toxi9mcqhAhczCSxNj8gWXEzXjOMeCKS//I8OmZMBphLXv0Smi8tuXbCI5lFxDXbi8phtm8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<36.0.0
Minimum Integer bits32
PHP>=8.1.0

Nextcloud 34

AI-Hub 0.1.0
Release Details
UpdatedOct. 7, 2026, 10:58 p.m.
Changelog

Added

  • Saving a conversation (the owner, 2026-10-06): /apps/ai_hub/conversation reads a remembered conversation back, …/save writes it to the person's Files as Markdown (AI-Hub/<app>/<date> <time> <first question>.md, in their language and time zone, images as "[n images]"), …/summary has the model sum it up once and saves that, …/forget drops it; from PHP transcript(), saveTranscript(), summarize(). A scenario's optional transcript callable shapes how its turns read when saved.
  • Images with a question: an app may send up to 4 PNG, JPEG, GIF or WebP images (5 MB each) with a question, checked again on the server, and every engine passes them on — the Claude, Gemini and OpenAI-compatible APIs, and the Claude command line through a stream-json message. The Gemini command line takes none, and status() says so (images). A remembered conversation keeps a mark in place of the images, never the images themselves. / 質問に画像(PNG・JPEG・GIF・WebP、1 枚 5MB まで、4 枚まで)を付けられるようにした。サーバーでも確かめ、各エンジンに渡す(Claude・Gemini・OpenAI 互換の API、Claude のコマンドラインは stream-json で)。Gemini のコマンドラインは画像を受け取れず、status() の images で分かる。記録する会話には画像そのものでなく印だけを残す。
  • Per-app additional prompt: in the administration settings each connected app (and Nextcloud's Task Processing) can be given its own instructions, added to every question that app sends, after the app's own instructions. Text from documents and records still never counts as an instruction. / 管理者設定で、アプリごと(Nextcloud の Task Processing を含む)に追加プロンプトを書けるようにした。そのアプリが送るすべての質問に、アプリ自身の指示の後に加わる。文書やレコードの中の文は従来どおり指示として扱わない。

Changed

  • A remembered conversation lasts as long as the login it was held in (the owner, 2026-10-06): it is kept under the login (Nextcloud's auth token of the browser session, or the app password), so a new login starts a new conversation; logging out drops the conversations of that login; one unused for twelve hours (was a day) is dropped. The records kept the old way were removed. A caller with no login of its own is seeded from the history it sends when its record has lapsed. The answer says fresh when it began afresh, so a page can clear the turns it still shows.
  • A scenario can carry the app's own rule on who may ask (allow), and AI-Hub checks it on every way in; the OCS endpoint answers only the scenarios an app opened to it (ocs), so an app's gate cannot be gone round by calling AI-Hub directly.
  • The Claude API is given room for long answers (16,384 output tokens, up from 4,096), and an answer cut off at the limit is noted in the log.
  • The Gemini command line tool is given its prompt on stdin, so a long context no longer runs into the kernel's argument limit.

Fixed

  • The Claude command line no longer leaves a file in its home for every question: it is run with --no-session-persistence and with its auto memory off (CLAUDE_CODE_DISABLE_AUTO_MEMORY), and no longer resumes sessions of its own (it is handed the stored transcript, as every engine is), so .claude/projects under its home stops growing.
  • A remembered conversation is keyed by a hash of app, user and token: a user id holding _ could collide with another user's conversation.
  • When the Claude command line tool cannot resume its session, the dead session id is dropped instead of being tried again (and failing again) on every later turn.
  • The per-session working folders of the command line tool are swept with their conversation.
  • Each message handed to the model is capped, as the context already was.

  • CalcBase, the spreadsheet of the Base series, is listed from the start among the apps that connect, as the others of the series are.

Removed

  • The "tools for administrators" setting, which no request ever used; the tools setting that remains applies to Nextcloud's own Task Processing and the connection test, and says so.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEATCCAukCAhRIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYxMDA3MTUyMjA4WhcNMzcwMTEyMTUyMjA4WjARMQ8wDQYD
VQQDDAZhaV9odWIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDgCX0t
cwuLLeA0Be8Xr24TUTgxA3oNnMiAT2Kl/cEiEqSRkfnzhHYQQjk83EXY+tfOZieO
PhtkLORillgmYDgZcUZ+ftcglnBklshK23WWYx3d34cFBzpxYB13XdowblR2fc9/
C4Cg4f3/f9vEQarQeIHJ0rlZ4X8sav94+HbiVsLl0oIzu/rjBXTPQq662Y9ydxQX
vRK2wyEG1z4rhCWGnBUeSIKCDrIkbBWgX11FAJtku9L6Xxvb174lv5tMMI+AyEZx
6zoOM0SjI9P8ScbGYDZV9KcGs4E3vW/ToanRiJ51mQM/Kb1aWtk6i5WUbmjYTsbn
3xIM0O752hnCWNPQXs21iS4tZRcgyXG3HWUxXNbe2C8HVWBxw0UuiCxwjqdk07PJ
ptF5yrvVDOWW3ySBdJye/GYVs26E3rWqtAZ3RPevVplqQdX0o7tPttvZqj5u5Irr
26GxecXnU1Rdtxgve4YfQ7uRvC3pCYJ4dGr23Trwau5K6cpQHXWUqySAs5g80fjv
nMxbnTNml3/KF6BPU2FRPdwexq96YhMBG7cwJDuhUOIYt52wfZxxLpQ/9WKkXcgb
CNtDiL3OaD5oy3iVOjgwxyGAZLvoxLxJ/wqmuDGicEFyXl54g5AvN8VYcb8fYNEf
i0qs1fH6OB5lxOhuA6nxNLm0bZqiBoEHFMso+QIDAQABMA0GCSqGSIb3DQEBCwUA
A4IBAQACrMqX+QZcuAqJrG/4z2HiRgEz4bsrTXa9gj5jr9PljexgytSO1UigwnPa
tWtJLfrNw4v0TiL0Nyr38HQAsbuWf5qyEe1dacGizkkakz1pVCyy9S31lZTVYmv8
8j8KP928omYr7EJgWj9scMLa7ih4DMWfQ269M1PrG9FDdT6yjLlh6DWLXGt3qQPr
/L403TnHGhvZ32BDwJKRj6jLNSiCJ5wgpl/3Qsbby/tKy7n0X9kG7WuDSWrIXsnd
rsvTl09aLy/Mh+kjUPfKyf+mXPbI5nFnzRswZ2b5EOtcBKan5MIQX/7X7GserLjI
hqKYQ6hSdEzwv+vzE7WcbTzzdO+b
-----END CERTIFICATE-----
SignatureJHiaHPmt6z6xcyeefLWGiBVWgaiMU0ehDPl5ND/2cIFgYFUAsXlJdrZ8Hmm94Mtp9Cjz3VsyX/bKUCPVUErkHsqlv2vp/eDVNuusS9lsvUdGsfdLllSu+2XfnFHh/xulxI4Zg5LSH3aeTA8+MBeM9d6Rh8A6PpGPdYjijCWBpmUo2IV+Ql59MYawKeDEZhTGDjdob4ef5E8n4yK9zH8YWc0t72HNy2HiLeaJ7egqIMUHULL57IjbGN/KtUWtnmEe8bRGLT5MaQW7vlj8Q5+DoZQtHKv/iam9ajW6oPGe7Un+g5QTw5o/F1T9Ux2yWZu/6Plcysn18DJVnq/NQpvKgEwQxaBAyU8hFOrk3i4MuCt8ONgUOb6++UgAoTEb0MwJVV0A0ArqUsXD27CZXFhPUIuZxrH9zfBs3YAzIBqsv4IH1Y182o27qJhA9IQrvewiMEaO86XZD+QriJzmiF4AQAbNumpXfdQh2rSZXa9s5YxgkuP2K23MFrfwlrYybYNrO2xZgJWiprBTtA3y/33V1KLIrdGbfjUoFhVOUSg3ce5fdxfIgP+c4AHuYn5yrQ5U7+WzqTBBqTDmtuE7OhoicnCkyqJX0TjrI+x7Toxi9mcqhAhczCSxNj8gWXEzXjOMeCKS//I8OmZMBphLXv0Smi8tuXbCI5lFxDXbi8phtm8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<36.0.0
Minimum Integer bits32
PHP>=8.1.0

Nextcloud 33

AI-Hub 0.1.0
Release Details
UpdatedOct. 7, 2026, 10:58 p.m.
Changelog

Added

  • Saving a conversation (the owner, 2026-10-06): /apps/ai_hub/conversation reads a remembered conversation back, …/save writes it to the person's Files as Markdown (AI-Hub/<app>/<date> <time> <first question>.md, in their language and time zone, images as "[n images]"), …/summary has the model sum it up once and saves that, …/forget drops it; from PHP transcript(), saveTranscript(), summarize(). A scenario's optional transcript callable shapes how its turns read when saved.
  • Images with a question: an app may send up to 4 PNG, JPEG, GIF or WebP images (5 MB each) with a question, checked again on the server, and every engine passes them on — the Claude, Gemini and OpenAI-compatible APIs, and the Claude command line through a stream-json message. The Gemini command line takes none, and status() says so (images). A remembered conversation keeps a mark in place of the images, never the images themselves. / 質問に画像(PNG・JPEG・GIF・WebP、1 枚 5MB まで、4 枚まで)を付けられるようにした。サーバーでも確かめ、各エンジンに渡す(Claude・Gemini・OpenAI 互換の API、Claude のコマンドラインは stream-json で)。Gemini のコマンドラインは画像を受け取れず、status() の images で分かる。記録する会話には画像そのものでなく印だけを残す。
  • Per-app additional prompt: in the administration settings each connected app (and Nextcloud's Task Processing) can be given its own instructions, added to every question that app sends, after the app's own instructions. Text from documents and records still never counts as an instruction. / 管理者設定で、アプリごと(Nextcloud の Task Processing を含む)に追加プロンプトを書けるようにした。そのアプリが送るすべての質問に、アプリ自身の指示の後に加わる。文書やレコードの中の文は従来どおり指示として扱わない。

Changed

  • A remembered conversation lasts as long as the login it was held in (the owner, 2026-10-06): it is kept under the login (Nextcloud's auth token of the browser session, or the app password), so a new login starts a new conversation; logging out drops the conversations of that login; one unused for twelve hours (was a day) is dropped. The records kept the old way were removed. A caller with no login of its own is seeded from the history it sends when its record has lapsed. The answer says fresh when it began afresh, so a page can clear the turns it still shows.
  • A scenario can carry the app's own rule on who may ask (allow), and AI-Hub checks it on every way in; the OCS endpoint answers only the scenarios an app opened to it (ocs), so an app's gate cannot be gone round by calling AI-Hub directly.
  • The Claude API is given room for long answers (16,384 output tokens, up from 4,096), and an answer cut off at the limit is noted in the log.
  • The Gemini command line tool is given its prompt on stdin, so a long context no longer runs into the kernel's argument limit.

Fixed

  • The Claude command line no longer leaves a file in its home for every question: it is run with --no-session-persistence and with its auto memory off (CLAUDE_CODE_DISABLE_AUTO_MEMORY), and no longer resumes sessions of its own (it is handed the stored transcript, as every engine is), so .claude/projects under its home stops growing.
  • A remembered conversation is keyed by a hash of app, user and token: a user id holding _ could collide with another user's conversation.
  • When the Claude command line tool cannot resume its session, the dead session id is dropped instead of being tried again (and failing again) on every later turn.
  • The per-session working folders of the command line tool are swept with their conversation.
  • Each message handed to the model is capped, as the context already was.

  • CalcBase, the spreadsheet of the Base series, is listed from the start among the apps that connect, as the others of the series are.

Removed

  • The "tools for administrators" setting, which no request ever used; the tools setting that remains applies to Nextcloud's own Task Processing and the connection test, and says so.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEATCCAukCAhRIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYxMDA3MTUyMjA4WhcNMzcwMTEyMTUyMjA4WjARMQ8wDQYD
VQQDDAZhaV9odWIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDgCX0t
cwuLLeA0Be8Xr24TUTgxA3oNnMiAT2Kl/cEiEqSRkfnzhHYQQjk83EXY+tfOZieO
PhtkLORillgmYDgZcUZ+ftcglnBklshK23WWYx3d34cFBzpxYB13XdowblR2fc9/
C4Cg4f3/f9vEQarQeIHJ0rlZ4X8sav94+HbiVsLl0oIzu/rjBXTPQq662Y9ydxQX
vRK2wyEG1z4rhCWGnBUeSIKCDrIkbBWgX11FAJtku9L6Xxvb174lv5tMMI+AyEZx
6zoOM0SjI9P8ScbGYDZV9KcGs4E3vW/ToanRiJ51mQM/Kb1aWtk6i5WUbmjYTsbn
3xIM0O752hnCWNPQXs21iS4tZRcgyXG3HWUxXNbe2C8HVWBxw0UuiCxwjqdk07PJ
ptF5yrvVDOWW3ySBdJye/GYVs26E3rWqtAZ3RPevVplqQdX0o7tPttvZqj5u5Irr
26GxecXnU1Rdtxgve4YfQ7uRvC3pCYJ4dGr23Trwau5K6cpQHXWUqySAs5g80fjv
nMxbnTNml3/KF6BPU2FRPdwexq96YhMBG7cwJDuhUOIYt52wfZxxLpQ/9WKkXcgb
CNtDiL3OaD5oy3iVOjgwxyGAZLvoxLxJ/wqmuDGicEFyXl54g5AvN8VYcb8fYNEf
i0qs1fH6OB5lxOhuA6nxNLm0bZqiBoEHFMso+QIDAQABMA0GCSqGSIb3DQEBCwUA
A4IBAQACrMqX+QZcuAqJrG/4z2HiRgEz4bsrTXa9gj5jr9PljexgytSO1UigwnPa
tWtJLfrNw4v0TiL0Nyr38HQAsbuWf5qyEe1dacGizkkakz1pVCyy9S31lZTVYmv8
8j8KP928omYr7EJgWj9scMLa7ih4DMWfQ269M1PrG9FDdT6yjLlh6DWLXGt3qQPr
/L403TnHGhvZ32BDwJKRj6jLNSiCJ5wgpl/3Qsbby/tKy7n0X9kG7WuDSWrIXsnd
rsvTl09aLy/Mh+kjUPfKyf+mXPbI5nFnzRswZ2b5EOtcBKan5MIQX/7X7GserLjI
hqKYQ6hSdEzwv+vzE7WcbTzzdO+b
-----END CERTIFICATE-----
SignatureJHiaHPmt6z6xcyeefLWGiBVWgaiMU0ehDPl5ND/2cIFgYFUAsXlJdrZ8Hmm94Mtp9Cjz3VsyX/bKUCPVUErkHsqlv2vp/eDVNuusS9lsvUdGsfdLllSu+2XfnFHh/xulxI4Zg5LSH3aeTA8+MBeM9d6Rh8A6PpGPdYjijCWBpmUo2IV+Ql59MYawKeDEZhTGDjdob4ef5E8n4yK9zH8YWc0t72HNy2HiLeaJ7egqIMUHULL57IjbGN/KtUWtnmEe8bRGLT5MaQW7vlj8Q5+DoZQtHKv/iam9ajW6oPGe7Un+g5QTw5o/F1T9Ux2yWZu/6Plcysn18DJVnq/NQpvKgEwQxaBAyU8hFOrk3i4MuCt8ONgUOb6++UgAoTEb0MwJVV0A0ArqUsXD27CZXFhPUIuZxrH9zfBs3YAzIBqsv4IH1Y182o27qJhA9IQrvewiMEaO86XZD+QriJzmiF4AQAbNumpXfdQh2rSZXa9s5YxgkuP2K23MFrfwlrYybYNrO2xZgJWiprBTtA3y/33V1KLIrdGbfjUoFhVOUSg3ce5fdxfIgP+c4AHuYn5yrQ5U7+WzqTBBqTDmtuE7OhoicnCkyqJX0TjrI+x7Toxi9mcqhAhczCSxNj8gWXEzXjOMeCKS//I8OmZMBphLXv0Smi8tuXbCI5lFxDXbi8phtm8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<36.0.0
Minimum Integer bits32
PHP>=8.1.0

Nextcloud 32

AI-Hub 0.1.0
Release Details
UpdatedOct. 7, 2026, 10:58 p.m.
Changelog

Added

  • Saving a conversation (the owner, 2026-10-06): /apps/ai_hub/conversation reads a remembered conversation back, …/save writes it to the person's Files as Markdown (AI-Hub/<app>/<date> <time> <first question>.md, in their language and time zone, images as "[n images]"), …/summary has the model sum it up once and saves that, …/forget drops it; from PHP transcript(), saveTranscript(), summarize(). A scenario's optional transcript callable shapes how its turns read when saved.
  • Images with a question: an app may send up to 4 PNG, JPEG, GIF or WebP images (5 MB each) with a question, checked again on the server, and every engine passes them on — the Claude, Gemini and OpenAI-compatible APIs, and the Claude command line through a stream-json message. The Gemini command line takes none, and status() says so (images). A remembered conversation keeps a mark in place of the images, never the images themselves. / 質問に画像(PNG・JPEG・GIF・WebP、1 枚 5MB まで、4 枚まで)を付けられるようにした。サーバーでも確かめ、各エンジンに渡す(Claude・Gemini・OpenAI 互換の API、Claude のコマンドラインは stream-json で)。Gemini のコマンドラインは画像を受け取れず、status() の images で分かる。記録する会話には画像そのものでなく印だけを残す。
  • Per-app additional prompt: in the administration settings each connected app (and Nextcloud's Task Processing) can be given its own instructions, added to every question that app sends, after the app's own instructions. Text from documents and records still never counts as an instruction. / 管理者設定で、アプリごと(Nextcloud の Task Processing を含む)に追加プロンプトを書けるようにした。そのアプリが送るすべての質問に、アプリ自身の指示の後に加わる。文書やレコードの中の文は従来どおり指示として扱わない。

Changed

  • A remembered conversation lasts as long as the login it was held in (the owner, 2026-10-06): it is kept under the login (Nextcloud's auth token of the browser session, or the app password), so a new login starts a new conversation; logging out drops the conversations of that login; one unused for twelve hours (was a day) is dropped. The records kept the old way were removed. A caller with no login of its own is seeded from the history it sends when its record has lapsed. The answer says fresh when it began afresh, so a page can clear the turns it still shows.
  • A scenario can carry the app's own rule on who may ask (allow), and AI-Hub checks it on every way in; the OCS endpoint answers only the scenarios an app opened to it (ocs), so an app's gate cannot be gone round by calling AI-Hub directly.
  • The Claude API is given room for long answers (16,384 output tokens, up from 4,096), and an answer cut off at the limit is noted in the log.
  • The Gemini command line tool is given its prompt on stdin, so a long context no longer runs into the kernel's argument limit.

Fixed

  • The Claude command line no longer leaves a file in its home for every question: it is run with --no-session-persistence and with its auto memory off (CLAUDE_CODE_DISABLE_AUTO_MEMORY), and no longer resumes sessions of its own (it is handed the stored transcript, as every engine is), so .claude/projects under its home stops growing.
  • A remembered conversation is keyed by a hash of app, user and token: a user id holding _ could collide with another user's conversation.
  • When the Claude command line tool cannot resume its session, the dead session id is dropped instead of being tried again (and failing again) on every later turn.
  • The per-session working folders of the command line tool are swept with their conversation.
  • Each message handed to the model is capped, as the context already was.

  • CalcBase, the spreadsheet of the Base series, is listed from the start among the apps that connect, as the others of the series are.

Removed

  • The "tools for administrators" setting, which no request ever used; the tools setting that remains applies to Nextcloud's own Task Processing and the connection test, and says so.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEATCCAukCAhRIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYxMDA3MTUyMjA4WhcNMzcwMTEyMTUyMjA4WjARMQ8wDQYD
VQQDDAZhaV9odWIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDgCX0t
cwuLLeA0Be8Xr24TUTgxA3oNnMiAT2Kl/cEiEqSRkfnzhHYQQjk83EXY+tfOZieO
PhtkLORillgmYDgZcUZ+ftcglnBklshK23WWYx3d34cFBzpxYB13XdowblR2fc9/
C4Cg4f3/f9vEQarQeIHJ0rlZ4X8sav94+HbiVsLl0oIzu/rjBXTPQq662Y9ydxQX
vRK2wyEG1z4rhCWGnBUeSIKCDrIkbBWgX11FAJtku9L6Xxvb174lv5tMMI+AyEZx
6zoOM0SjI9P8ScbGYDZV9KcGs4E3vW/ToanRiJ51mQM/Kb1aWtk6i5WUbmjYTsbn
3xIM0O752hnCWNPQXs21iS4tZRcgyXG3HWUxXNbe2C8HVWBxw0UuiCxwjqdk07PJ
ptF5yrvVDOWW3ySBdJye/GYVs26E3rWqtAZ3RPevVplqQdX0o7tPttvZqj5u5Irr
26GxecXnU1Rdtxgve4YfQ7uRvC3pCYJ4dGr23Trwau5K6cpQHXWUqySAs5g80fjv
nMxbnTNml3/KF6BPU2FRPdwexq96YhMBG7cwJDuhUOIYt52wfZxxLpQ/9WKkXcgb
CNtDiL3OaD5oy3iVOjgwxyGAZLvoxLxJ/wqmuDGicEFyXl54g5AvN8VYcb8fYNEf
i0qs1fH6OB5lxOhuA6nxNLm0bZqiBoEHFMso+QIDAQABMA0GCSqGSIb3DQEBCwUA
A4IBAQACrMqX+QZcuAqJrG/4z2HiRgEz4bsrTXa9gj5jr9PljexgytSO1UigwnPa
tWtJLfrNw4v0TiL0Nyr38HQAsbuWf5qyEe1dacGizkkakz1pVCyy9S31lZTVYmv8
8j8KP928omYr7EJgWj9scMLa7ih4DMWfQ269M1PrG9FDdT6yjLlh6DWLXGt3qQPr
/L403TnHGhvZ32BDwJKRj6jLNSiCJ5wgpl/3Qsbby/tKy7n0X9kG7WuDSWrIXsnd
rsvTl09aLy/Mh+kjUPfKyf+mXPbI5nFnzRswZ2b5EOtcBKan5MIQX/7X7GserLjI
hqKYQ6hSdEzwv+vzE7WcbTzzdO+b
-----END CERTIFICATE-----
SignatureJHiaHPmt6z6xcyeefLWGiBVWgaiMU0ehDPl5ND/2cIFgYFUAsXlJdrZ8Hmm94Mtp9Cjz3VsyX/bKUCPVUErkHsqlv2vp/eDVNuusS9lsvUdGsfdLllSu+2XfnFHh/xulxI4Zg5LSH3aeTA8+MBeM9d6Rh8A6PpGPdYjijCWBpmUo2IV+Ql59MYawKeDEZhTGDjdob4ef5E8n4yK9zH8YWc0t72HNy2HiLeaJ7egqIMUHULL57IjbGN/KtUWtnmEe8bRGLT5MaQW7vlj8Q5+DoZQtHKv/iam9ajW6oPGe7Un+g5QTw5o/F1T9Ux2yWZu/6Plcysn18DJVnq/NQpvKgEwQxaBAyU8hFOrk3i4MuCt8ONgUOb6++UgAoTEb0MwJVV0A0ArqUsXD27CZXFhPUIuZxrH9zfBs3YAzIBqsv4IH1Y182o27qJhA9IQrvewiMEaO86XZD+QriJzmiF4AQAbNumpXfdQh2rSZXa9s5YxgkuP2K23MFrfwlrYybYNrO2xZgJWiprBTtA3y/33V1KLIrdGbfjUoFhVOUSg3ce5fdxfIgP+c4AHuYn5yrQ5U7+WzqTBBqTDmtuE7OhoicnCkyqJX0TjrI+x7Toxi9mcqhAhczCSxNj8gWXEzXjOMeCKS//I8OmZMBphLXv0Smi8tuXbCI5lFxDXbi8phtm8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<36.0.0
Minimum Integer bits32
PHP>=8.1.0

Nextcloud 31

AI-Hub 0.1.0
Release Details
UpdatedOct. 7, 2026, 10:58 p.m.
Changelog

Added

  • Saving a conversation (the owner, 2026-10-06): /apps/ai_hub/conversation reads a remembered conversation back, …/save writes it to the person's Files as Markdown (AI-Hub/<app>/<date> <time> <first question>.md, in their language and time zone, images as "[n images]"), …/summary has the model sum it up once and saves that, …/forget drops it; from PHP transcript(), saveTranscript(), summarize(). A scenario's optional transcript callable shapes how its turns read when saved.
  • Images with a question: an app may send up to 4 PNG, JPEG, GIF or WebP images (5 MB each) with a question, checked again on the server, and every engine passes them on — the Claude, Gemini and OpenAI-compatible APIs, and the Claude command line through a stream-json message. The Gemini command line takes none, and status() says so (images). A remembered conversation keeps a mark in place of the images, never the images themselves. / 質問に画像(PNG・JPEG・GIF・WebP、1 枚 5MB まで、4 枚まで)を付けられるようにした。サーバーでも確かめ、各エンジンに渡す(Claude・Gemini・OpenAI 互換の API、Claude のコマンドラインは stream-json で)。Gemini のコマンドラインは画像を受け取れず、status() の images で分かる。記録する会話には画像そのものでなく印だけを残す。
  • Per-app additional prompt: in the administration settings each connected app (and Nextcloud's Task Processing) can be given its own instructions, added to every question that app sends, after the app's own instructions. Text from documents and records still never counts as an instruction. / 管理者設定で、アプリごと(Nextcloud の Task Processing を含む)に追加プロンプトを書けるようにした。そのアプリが送るすべての質問に、アプリ自身の指示の後に加わる。文書やレコードの中の文は従来どおり指示として扱わない。

Changed

  • A remembered conversation lasts as long as the login it was held in (the owner, 2026-10-06): it is kept under the login (Nextcloud's auth token of the browser session, or the app password), so a new login starts a new conversation; logging out drops the conversations of that login; one unused for twelve hours (was a day) is dropped. The records kept the old way were removed. A caller with no login of its own is seeded from the history it sends when its record has lapsed. The answer says fresh when it began afresh, so a page can clear the turns it still shows.
  • A scenario can carry the app's own rule on who may ask (allow), and AI-Hub checks it on every way in; the OCS endpoint answers only the scenarios an app opened to it (ocs), so an app's gate cannot be gone round by calling AI-Hub directly.
  • The Claude API is given room for long answers (16,384 output tokens, up from 4,096), and an answer cut off at the limit is noted in the log.
  • The Gemini command line tool is given its prompt on stdin, so a long context no longer runs into the kernel's argument limit.

Fixed

  • The Claude command line no longer leaves a file in its home for every question: it is run with --no-session-persistence and with its auto memory off (CLAUDE_CODE_DISABLE_AUTO_MEMORY), and no longer resumes sessions of its own (it is handed the stored transcript, as every engine is), so .claude/projects under its home stops growing.
  • A remembered conversation is keyed by a hash of app, user and token: a user id holding _ could collide with another user's conversation.
  • When the Claude command line tool cannot resume its session, the dead session id is dropped instead of being tried again (and failing again) on every later turn.
  • The per-session working folders of the command line tool are swept with their conversation.
  • Each message handed to the model is capped, as the context already was.

  • CalcBase, the spreadsheet of the Base series, is listed from the start among the apps that connect, as the others of the series are.

Removed

  • The "tools for administrators" setting, which no request ever used; the tools setting that remains applies to Nextcloud's own Task Processing and the connection test, and says so.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEATCCAukCAhRIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYxMDA3MTUyMjA4WhcNMzcwMTEyMTUyMjA4WjARMQ8wDQYD
VQQDDAZhaV9odWIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDgCX0t
cwuLLeA0Be8Xr24TUTgxA3oNnMiAT2Kl/cEiEqSRkfnzhHYQQjk83EXY+tfOZieO
PhtkLORillgmYDgZcUZ+ftcglnBklshK23WWYx3d34cFBzpxYB13XdowblR2fc9/
C4Cg4f3/f9vEQarQeIHJ0rlZ4X8sav94+HbiVsLl0oIzu/rjBXTPQq662Y9ydxQX
vRK2wyEG1z4rhCWGnBUeSIKCDrIkbBWgX11FAJtku9L6Xxvb174lv5tMMI+AyEZx
6zoOM0SjI9P8ScbGYDZV9KcGs4E3vW/ToanRiJ51mQM/Kb1aWtk6i5WUbmjYTsbn
3xIM0O752hnCWNPQXs21iS4tZRcgyXG3HWUxXNbe2C8HVWBxw0UuiCxwjqdk07PJ
ptF5yrvVDOWW3ySBdJye/GYVs26E3rWqtAZ3RPevVplqQdX0o7tPttvZqj5u5Irr
26GxecXnU1Rdtxgve4YfQ7uRvC3pCYJ4dGr23Trwau5K6cpQHXWUqySAs5g80fjv
nMxbnTNml3/KF6BPU2FRPdwexq96YhMBG7cwJDuhUOIYt52wfZxxLpQ/9WKkXcgb
CNtDiL3OaD5oy3iVOjgwxyGAZLvoxLxJ/wqmuDGicEFyXl54g5AvN8VYcb8fYNEf
i0qs1fH6OB5lxOhuA6nxNLm0bZqiBoEHFMso+QIDAQABMA0GCSqGSIb3DQEBCwUA
A4IBAQACrMqX+QZcuAqJrG/4z2HiRgEz4bsrTXa9gj5jr9PljexgytSO1UigwnPa
tWtJLfrNw4v0TiL0Nyr38HQAsbuWf5qyEe1dacGizkkakz1pVCyy9S31lZTVYmv8
8j8KP928omYr7EJgWj9scMLa7ih4DMWfQ269M1PrG9FDdT6yjLlh6DWLXGt3qQPr
/L403TnHGhvZ32BDwJKRj6jLNSiCJ5wgpl/3Qsbby/tKy7n0X9kG7WuDSWrIXsnd
rsvTl09aLy/Mh+kjUPfKyf+mXPbI5nFnzRswZ2b5EOtcBKan5MIQX/7X7GserLjI
hqKYQ6hSdEzwv+vzE7WcbTzzdO+b
-----END CERTIFICATE-----
SignatureJHiaHPmt6z6xcyeefLWGiBVWgaiMU0ehDPl5ND/2cIFgYFUAsXlJdrZ8Hmm94Mtp9Cjz3VsyX/bKUCPVUErkHsqlv2vp/eDVNuusS9lsvUdGsfdLllSu+2XfnFHh/xulxI4Zg5LSH3aeTA8+MBeM9d6Rh8A6PpGPdYjijCWBpmUo2IV+Ql59MYawKeDEZhTGDjdob4ef5E8n4yK9zH8YWc0t72HNy2HiLeaJ7egqIMUHULL57IjbGN/KtUWtnmEe8bRGLT5MaQW7vlj8Q5+DoZQtHKv/iam9ajW6oPGe7Un+g5QTw5o/F1T9Ux2yWZu/6Plcysn18DJVnq/NQpvKgEwQxaBAyU8hFOrk3i4MuCt8ONgUOb6++UgAoTEb0MwJVV0A0ArqUsXD27CZXFhPUIuZxrH9zfBs3YAzIBqsv4IH1Y182o27qJhA9IQrvewiMEaO86XZD+QriJzmiF4AQAbNumpXfdQh2rSZXa9s5YxgkuP2K23MFrfwlrYybYNrO2xZgJWiprBTtA3y/33V1KLIrdGbfjUoFhVOUSg3ce5fdxfIgP+c4AHuYn5yrQ5U7+WzqTBBqTDmtuE7OhoicnCkyqJX0TjrI+x7Toxi9mcqhAhczCSxNj8gWXEzXjOMeCKS//I8OmZMBphLXv0Smi8tuXbCI5lFxDXbi8phtm8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<36.0.0
Minimum Integer bits32
PHP>=8.1.0

Nextcloud 30

AI-Hub 0.1.0
Release Details
UpdatedOct. 7, 2026, 10:58 p.m.
Changelog

Added

  • Saving a conversation (the owner, 2026-10-06): /apps/ai_hub/conversation reads a remembered conversation back, …/save writes it to the person's Files as Markdown (AI-Hub/<app>/<date> <time> <first question>.md, in their language and time zone, images as "[n images]"), …/summary has the model sum it up once and saves that, …/forget drops it; from PHP transcript(), saveTranscript(), summarize(). A scenario's optional transcript callable shapes how its turns read when saved.
  • Images with a question: an app may send up to 4 PNG, JPEG, GIF or WebP images (5 MB each) with a question, checked again on the server, and every engine passes them on — the Claude, Gemini and OpenAI-compatible APIs, and the Claude command line through a stream-json message. The Gemini command line takes none, and status() says so (images). A remembered conversation keeps a mark in place of the images, never the images themselves. / 質問に画像(PNG・JPEG・GIF・WebP、1 枚 5MB まで、4 枚まで)を付けられるようにした。サーバーでも確かめ、各エンジンに渡す(Claude・Gemini・OpenAI 互換の API、Claude のコマンドラインは stream-json で)。Gemini のコマンドラインは画像を受け取れず、status() の images で分かる。記録する会話には画像そのものでなく印だけを残す。
  • Per-app additional prompt: in the administration settings each connected app (and Nextcloud's Task Processing) can be given its own instructions, added to every question that app sends, after the app's own instructions. Text from documents and records still never counts as an instruction. / 管理者設定で、アプリごと(Nextcloud の Task Processing を含む)に追加プロンプトを書けるようにした。そのアプリが送るすべての質問に、アプリ自身の指示の後に加わる。文書やレコードの中の文は従来どおり指示として扱わない。

Changed

  • A remembered conversation lasts as long as the login it was held in (the owner, 2026-10-06): it is kept under the login (Nextcloud's auth token of the browser session, or the app password), so a new login starts a new conversation; logging out drops the conversations of that login; one unused for twelve hours (was a day) is dropped. The records kept the old way were removed. A caller with no login of its own is seeded from the history it sends when its record has lapsed. The answer says fresh when it began afresh, so a page can clear the turns it still shows.
  • A scenario can carry the app's own rule on who may ask (allow), and AI-Hub checks it on every way in; the OCS endpoint answers only the scenarios an app opened to it (ocs), so an app's gate cannot be gone round by calling AI-Hub directly.
  • The Claude API is given room for long answers (16,384 output tokens, up from 4,096), and an answer cut off at the limit is noted in the log.
  • The Gemini command line tool is given its prompt on stdin, so a long context no longer runs into the kernel's argument limit.

Fixed

  • The Claude command line no longer leaves a file in its home for every question: it is run with --no-session-persistence and with its auto memory off (CLAUDE_CODE_DISABLE_AUTO_MEMORY), and no longer resumes sessions of its own (it is handed the stored transcript, as every engine is), so .claude/projects under its home stops growing.
  • A remembered conversation is keyed by a hash of app, user and token: a user id holding _ could collide with another user's conversation.
  • When the Claude command line tool cannot resume its session, the dead session id is dropped instead of being tried again (and failing again) on every later turn.
  • The per-session working folders of the command line tool are swept with their conversation.
  • Each message handed to the model is capped, as the context already was.

  • CalcBase, the spreadsheet of the Base series, is listed from the start among the apps that connect, as the others of the series are.

Removed

  • The "tools for administrators" setting, which no request ever used; the tools setting that remains applies to Nextcloud's own Task Processing and the connection test, and says so.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEATCCAukCAhRIMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYxMDA3MTUyMjA4WhcNMzcwMTEyMTUyMjA4WjARMQ8wDQYD
VQQDDAZhaV9odWIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDgCX0t
cwuLLeA0Be8Xr24TUTgxA3oNnMiAT2Kl/cEiEqSRkfnzhHYQQjk83EXY+tfOZieO
PhtkLORillgmYDgZcUZ+ftcglnBklshK23WWYx3d34cFBzpxYB13XdowblR2fc9/
C4Cg4f3/f9vEQarQeIHJ0rlZ4X8sav94+HbiVsLl0oIzu/rjBXTPQq662Y9ydxQX
vRK2wyEG1z4rhCWGnBUeSIKCDrIkbBWgX11FAJtku9L6Xxvb174lv5tMMI+AyEZx
6zoOM0SjI9P8ScbGYDZV9KcGs4E3vW/ToanRiJ51mQM/Kb1aWtk6i5WUbmjYTsbn
3xIM0O752hnCWNPQXs21iS4tZRcgyXG3HWUxXNbe2C8HVWBxw0UuiCxwjqdk07PJ
ptF5yrvVDOWW3ySBdJye/GYVs26E3rWqtAZ3RPevVplqQdX0o7tPttvZqj5u5Irr
26GxecXnU1Rdtxgve4YfQ7uRvC3pCYJ4dGr23Trwau5K6cpQHXWUqySAs5g80fjv
nMxbnTNml3/KF6BPU2FRPdwexq96YhMBG7cwJDuhUOIYt52wfZxxLpQ/9WKkXcgb
CNtDiL3OaD5oy3iVOjgwxyGAZLvoxLxJ/wqmuDGicEFyXl54g5AvN8VYcb8fYNEf
i0qs1fH6OB5lxOhuA6nxNLm0bZqiBoEHFMso+QIDAQABMA0GCSqGSIb3DQEBCwUA
A4IBAQACrMqX+QZcuAqJrG/4z2HiRgEz4bsrTXa9gj5jr9PljexgytSO1UigwnPa
tWtJLfrNw4v0TiL0Nyr38HQAsbuWf5qyEe1dacGizkkakz1pVCyy9S31lZTVYmv8
8j8KP928omYr7EJgWj9scMLa7ih4DMWfQ269M1PrG9FDdT6yjLlh6DWLXGt3qQPr
/L403TnHGhvZ32BDwJKRj6jLNSiCJ5wgpl/3Qsbby/tKy7n0X9kG7WuDSWrIXsnd
rsvTl09aLy/Mh+kjUPfKyf+mXPbI5nFnzRswZ2b5EOtcBKan5MIQX/7X7GserLjI
hqKYQ6hSdEzwv+vzE7WcbTzzdO+b
-----END CERTIFICATE-----
SignatureJHiaHPmt6z6xcyeefLWGiBVWgaiMU0ehDPl5ND/2cIFgYFUAsXlJdrZ8Hmm94Mtp9Cjz3VsyX/bKUCPVUErkHsqlv2vp/eDVNuusS9lsvUdGsfdLllSu+2XfnFHh/xulxI4Zg5LSH3aeTA8+MBeM9d6Rh8A6PpGPdYjijCWBpmUo2IV+Ql59MYawKeDEZhTGDjdob4ef5E8n4yK9zH8YWc0t72HNy2HiLeaJ7egqIMUHULL57IjbGN/KtUWtnmEe8bRGLT5MaQW7vlj8Q5+DoZQtHKv/iam9ajW6oPGe7Un+g5QTw5o/F1T9Ux2yWZu/6Plcysn18DJVnq/NQpvKgEwQxaBAyU8hFOrk3i4MuCt8ONgUOb6++UgAoTEb0MwJVV0A0ArqUsXD27CZXFhPUIuZxrH9zfBs3YAzIBqsv4IH1Y182o27qJhA9IQrvewiMEaO86XZD+QriJzmiF4AQAbNumpXfdQh2rSZXa9s5YxgkuP2K23MFrfwlrYybYNrO2xZgJWiprBTtA3y/33V1KLIrdGbfjUoFhVOUSg3ce5fdxfIgP+c4AHuYn5yrQ5U7+WzqTBBqTDmtuE7OhoicnCkyqJX0TjrI+x7Toxi9mcqhAhczCSxNj8gWXEzXjOMeCKS//I8OmZMBphLXv0Smi8tuXbCI5lFxDXbi8phtm8=
Signature digestsha512
Dependencies
Required Nextcloud versions >=30.0.0,<36.0.0
Minimum Integer bits32
PHP>=8.1.0