All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- ExAppProxy: added bruteforce protection option for ExApp routes. #368
- ExAppOCS: added miscellaneous method to get Nextcloud instance base URL. #383
- AppAPIAuth optimization: use throttler only when needed to lower the number of requests. #369
- ExAppProxy: the order of checks of the ExApp routes was changed. #366
- ExAppProxy: improve logic and logging with more explicit messages. #365
- Drop support for Nextcloud 27. #374
- TaskProcessing: fixed bug when provider wasn't removed on unregister. #370
- OCC: ExApp unregister command now doesn't remove volume by default. #381
- WebhooksListener: added removal of the webhook listeners on ExApp unregister. #382
- ApiScopes are deprecated and removed. #373
Breaking change: Task processing API for NC30 AI API. (llm2 and translate2 apps)
- Added logging in a separate file of ExApp requests made on behalf of user. #360
- Task processing API was finalized. #359
- ExAppProxy: Proxy: do not set timeout for requests to ExApps. #357
- Bumped axios dependency from 1.6.2 to 1.7.4 #361
- ExAppProxy: do not forward untrusted headers to ExApp. #354
Breaking change: new mandatory (if ExAppProxy is used) ExApp routes declaration to register ExApp routes allowed to be called from Nextcloud or other origins.
- ExAppProxy: Breaking change added new mandatory (if ExAppProxy is used) routes declaration in
info.xml
to register ExApp routes allowed to be called from Nextcloud or other origins. #327 - New OCS API endpoint to setAppInitProgress. The old one is marked as deprecated. #319
- Added default timeout for requestToExApp function set to 3s. #277
- PublicFunction: added new method
getExApp
. #326 - TaskProcessing: added possibility to define custom task types. #324 @provokateurin
- AdminSettings: added possibility to edit Deploy daemon. #338 @vstelmakh
- ExAppProxy: added
X-Origin-IP
header for rate-limiting purposes. #351
- ExApp system flag is now deprecated and removed to optimize performance and simplicity. #323
- PublicFunctions changes:
exAppRequestWithUserInit
andasyncExAppRequestWithUserInit
are now deprecated. #323 - Admin settings actions on Deploy daemons now require a password confirmation. #342
- Changed the ExApp Docker image naming (
<image-name>:version_tag-<compute_device_type>
), the previous one is marked as deprecated (<image-name>-<compute_device>:version_tag
). #340 - AppAPI now does not disable ExApp if the ExApp version has changed (
EX-APP-VERSION
header). #341 COMPUTE_DEVICE
environment variable is now always in upper case. #339
- Allow ExApps management disable and remove actions if default Deploy daemon is not accessible. #314
- Fixed Deploy daemon availability check using ping timeout set to 3s. #314
- Fix Test Deploy
image_pull
andinit
steps status update. #315 - Minor fixes to TaskProcessing provider. #336 @marcelklehr
- Fixed critical bug with work with APCu cache. #348
- ExAppProxy: preserve original
Authentication
passed to ExApp via Docker Socket Proxy. #334 - ExAppProxy: send all headers and raw data to ExApp. #330
- Nextcloud URL state warning in the Register daemon form for HTTPS configuration. #312
- Fix ExApp proxy to preserve the url params. #296
- Added missing pass through of cookies in ExApp proxy. #296
- Added missing multipart/form-data support for ExApp proxy. #296
- Fixed HTTP caching issue for application/json requests in ExApp proxy. #296
- Fixed TopMenu API to allow using iframes. #311
- Added File Actions v2 version with redirect to the ExApp UI. #284
- Added async requestToExApp public functions. #290
- Added OCS API for synchronous requestToExApp functions. #290
- Reworked scopes for database/cache requests optimization, drop old ex_app_scopes table. #285
- Corrected "Download ExApp logs" button availability in "Test deploy". #289
- Fixed incorrect init_timeout setting key in the UI. #288
- Test deploy button in Admin settings for each Daemon configuration. #279
- Different compute device configuration for Daemon (NVIDIA, AMD, CPU). #267
- Ability to add optional parameters when registering a daemon, for example OVERRIDE_APP_HOST. #269
- API for registering OCC commands. #272
- Correct support of the Docker
HEALTHCHECK
instruction. #273 - Support of pulling "custom" images for the selected compute device. #274
- Fixed notification icon absolute url. #268
- API for listening to file system events. #259
- Optimizations(1) related to speed up handling the incoming ExApps requests. #262
occ app_api:scopes:list
command removed as not needed. #262
- Corrected error handling for
occ
commands:register
andupdate
. #258 SensitiveParameter
is applied to variables containing secrets, preventing them from being leaked to the logs. #261
--all
and--showonly
flags toocc app_api:app:update
command. #256
- Fixed incorrect notifications handling producing a lot of errors in the log. #252
- Replaced single ExApp caching with list caching, should improve performance. #253
TEXT_PROCESSING
andMACHINE_TRANSLATION
API scopes. #249
- Added missing check for the presence of a header for AppAPI authentication, which could lead to increased load on the server. #251
- Bump follow-redirects package from
1.15.5
to1.15.6
#250
app_api_system
session flag for Nextcloud server to bypass rate limits for system ExApps. #248
- ExAppProxy: adjusted how
headers
are passing from ExApp to client. #246
- Declarative Settings API was merged into Nextcloud Server, adjusted AppAPI code. #247
- Support of
L10N
translations for ExApps. #227
- Allowed removing of ExApp from UI during "init" stage. #235
- Reset of "Error" state for ExApp in Update/Enable actions. #236
- PublicFunctions.php:
exAppRequestWithUserInit
can accept emptyuserId
. #238 - ISpeechToTextProviderWithUserId is now available in STT implementation. #240
deploy
command was deprecated, nowregister
anddeploy
is one step. #233- Installation of ExApps algorithm has been rewritten to provide a more comfortable experience. #233
- Translation provider API correctly supports "language detection" feature. #232
- Removed not needed
-e
parameter forocc:app_api:app:deploy
. #222
- OCS API
log
always fail during ExAppinit
state. #224 - AI providers: undefined method call to ExApp. #226
- Added RestartPolicy option (Admin settings) #220
- Added ExApp init timeout option (Admin settings) #220
- Removed support of
Optional
API scopes. #220
- More correct handling of the ExApps installation process when Nextcloud has a non-default directory location(e.g.
Unraid
). #217 - Correct handling of the action of stopping a Docker container when the action is already in progress. #217
- Correct handling of the ExApp deletion action, when during deletion you refresh the page and click delete again. #217
- MalformedUriException: Unable to parse URI exception - when the daemon has invalid URL. #216
AppAPI 2.0. Breaking changes to Deploy daemons configuration and ExApps networking. AppAPI Docker Socket Proxy.
- Added filesplugin batch actions implementation. #203
- Added MachineTranslation providers API. #210
- Deploy daemons management improvements and configuration templates. #212
- Added removal of ExApps on Deploy daemon deletion. #212
- Changed TextProcessing providers API flow to asynchronous. #208
- Changed SpeechToText providers API flow to asynchronous. #209
- TopMenuAPI: support of params in styles/js ExApp URLs. #193 (Thanks to @splitt3r)
- NC28: FileActionsAPI wasn't working without specifying an icon. #198
- Bug introduced in the previous version, when the
userId
for some part of AppAPI becamenull
. #199
- Support for
ALL
APIs scope, that allows to call any Nextcloud endpoints bypassing the API Scope check. #190
- Fixed incorrect DeployConfig SSL params parsing. #188 (Thanks to @raudraido)
- Incorrect HTTP status during invalid auth. #190
- Added ability for
requestToExApp
andaeRequestToExApp
methods, to sendmultipart
requests. #168
- Processing of invalid default Nextcloud URL/incorrect url with slash at the end. #169
occ app_api:app:register
error message in case of missing deploy of ExApp. #172- Default Docker Daemon(
not for AIO
) configuration should be better now. #173 - UI fixes:
Update
button not working in some cases, missedUninstall
button. #177
- Links to new apps that uses AppAPI. #158
- Invalid timeout condition check for
/init
endpoint. #155
Maintenance update of npm packages to support NC28
- Changed AIO auto-created daemon with gpu enabled to separate one (#134)
- Changed AIO detection to use new env (#150)
Attempt to fix release on appstore side.
This release contains breaking changes, all ExApps should be updated accordingly to it.
- A request proxy from Frontend to ExApps, ExApps can now have a user interface like regular applications.
- New OCS endpoints to register entry in Nextcloud Top Menu. #135
- Ability to specify multiple mime types for FileAction Menu. #95
- UI: FileActions OCS API was reworked, make it simpler to use and be in line with new UI API. #141
- Correct cleaning of ExApp stuff upon deletion.
- Oracle DB fixes and adjustments with additional tests.
- Tons of other bugfixes, adjustments and CI tests.
This release contains breaking changes, all ExApps should be updated accordingly to it.
- A request proxy from Frontend to ExApps, ExApps can now have a user interface like regular applications.
- New OCS endpoints to register entry in Nextcloud Top Menu. #135
- Ability to specify multiple mime types for FileAction Menu. #95
- UI: FileActions OCS API was reworked, make it simpler to use and be in line with new UI API. #141
- Correct cleaning of ExApp stuff upon deletion.
- Oracle DB fixes and adjustments with additional tests.
- Tons of other bugfixes, adjustments and CI tests.
- Reworked: algorithm of
app:register
and occ cli command, "/init" endpoint now is optional. #128 - Reworked:
app_api:app:unregister
occ cli command, make it much robust. #127
- Proper pass-through of NVIDIA GPU into External apps containers. #130
- Fix "of the fix" of the bug in requestToExApp function introduced in previous release.
- Fix bug in requestToExApp function introduced in previous release.
- Prototypes of functions for calling external applications and PHP have been redesigned. #112 @bigcat88, @kyteinsky
- ExApp init (
/init
) endpoint now called with AppAPI auth too. #111
- UI error when default daemon missing. #109
- FilesActions API: correct cast of file's permission to the number.
- Docs: ExApp install flow described. #108
- Added ExApp initialization progress
- Added disabled state of app management actions if default Deploy daemon is not accessible
- Added support for new fileActions registration (Nextcloud 28)
- Invalid download of ex. applications from the AppStore. #88
- First release