All notable changes to this project will be documented in this file.
- Use new
/ex-app/statusendpoint forset_init_statusinstead of deprecated/apps/status/{appId}
- ExApps: Use FileLock with atomic rename for safe concurrent model downloads. #396
- Upgrade
caldavdependency foricalendar7.x compatibility. #397
- Include the Response object in NextcloudException #394
- Fix custom progress bar with huggingface_hub >= 1.1.0. #391 Thanks to @danxuliu
- TaskProcessing: Add next_task_batch endpoint (#383)
- Handle bot join messages properly to get conversation id and name (#385)
- TaskProcessing: Add trigger_handler to set_handlers() (#382)
- ExApps: Now exception is raised during model download if there was error to prevent incorrect ExApp installation. #376
- ExApps: Broken models download ue a typo in the previous PRs. #376
- Added wipe method to UsersAPI. #368 Thanks to @MrAalen
- Switch from
httpxlibrary to theniquestslibrary. #375 Thanks to @Ousret
- ExApps(NC32+): field
sensitiveto theSettingsFieldclass (Declarative Settings) and to thePreferencesExAPIclass. #357
- ExApps:
AppAPIAuthMiddleware: correct handling ofdisable_forparameter. #357 Thanks to @BerengarWLehr
- ExApps:
nc_py_api.ex_app.events_listener.EventsListenerwas removed in favor ofnc_py_api.webhooks. #348
- Method
download2streamnot working correctly when Nextcloud returns compressed content. #352 Thanks to @PatrickPromitzer for reporting this.
- Optional
response_typeparameter ofnextcloud.ocsmethod for calling OCS endpoints that return raw data. #341 Thanks to @janepie
- ExApps(NC32+): When using
HaRP, useunix-socketinstead ofhost:port.
- Files:
FSNodenow havecreation_dateproperty. #335 Thanks to @SunnyFarmDay
- ExApps: no longer require the
AA-VERSIONheader. (Nextcloud 32+) #336 - ExApps:
AppAPIAuthMiddlewarenow secures thewebsocketconnection. (Nextcloud 32+) #338
- Default "User-Agent" for ExApps now set to
ExApp/appid/version (httpx/version). #329 System Trust Storefrom now are used by default. #328
- Chunked Upload V2 not working on Nextcloud 30 and later. #324 Thanks to @DrZoidberg09
- New
webhooks.unregister_allmethod. #309
- Files:
useranduser_pathproperties inFSNodewhen Nextcloud located in the sub-path. #297 Thanks to @vwbusguy files.download_directory_as_zipmethod now supports upcoming Nextcloud 31. #304
- NextcloudApp:
setup_nextcloud_loggingfunction to support transparently sending logs to Nextcloud. #294
- NextcloudApp:
nc.lognow suppresses all exceptions to safe call it anywhere(for example in exception handlers). #293
message_typeproperty to TalkBotMessage. #292
- NextcloudApp:
TextProcessing,Speech2TextandTranslationAI Providers API was removed. #289
- NextcloudApp: rework of TaskProcessing provider API. #284
nc.files.makedirsnot working properly on Windows. #280 Thanks to @Wuli6
- Corrected behaviour of
ocsfunction forGroup Foldersapp routes(they are not fully OCS API). #279 - NextcloudApp:
get_computation_devicefunction now correctly returns result in upper_case. #278
- Initial Webhooks API support for the upcoming Nextcloud 30. #272
- NextcloudApp:
fetch_models_taskfunction now saves paths to downloaded models. #274 Thanks to @kyteinsky
LoginFlowV2implementation by @blvdek #255files.get_tagsfunction to get all tags assigned to the file or directory. #260- NextcloudApp:
nc.ui.files_dropdown_menu.register_exto register new version of FileActions(AppAPI 2.6.0+) #252 - NextcloudApp:
enabled_stateproperty to check if the current ExApp is disabled or enabled. #268 - NextcloudApp: support for the new AI API for the Nextcloud 30. #254
- NextcloudApp:
occcommands registration API(AppAPI 2.5.0+). #247 - NextcloudApp:
Nodesevents listener registration API(AppAPI 2.5.0+). #249
- Incorrect
Display namewhen creating user, which led to the parameter being ignored. #239 Thanks to @derekbuckley
Update with new features only for NextcloudApp class. #233
ex_app.get_computation_devicefunction for retrieving GPU type(only with AppAPI2.5.0+).ex_app.integration_fastapi.fetch_models_taskare now public function, addedprogress_init_start_valueparam.- Global authentication when used now sets
request.scope["username"]for easy use.
UiActionFileInfoclass marked as deprecated, insteadActionFileInfoclass should be used.
- Files:
lockandunlockmethods, lock file information toFsNode. #227
- NextcloudApp:
MachineTranslationprovider registration - added optionalactionDetectLangparam. #229
- NextcloudApp:
set_handlers:models_to_fetchcan now accept direct links to a files to download. #217 - NextcloudApp: DeclarativeSettings UI API for Nextcloud
29. #222
- NextcloudApp: adjusted code related to changes in AppAPI
2.0.3#216 - NextcloudApp:
set_handlersrework of optional parameters see PR for information. #226
- class
Share: added missingfile_source_id,can_edit,can_deleteproperties. #206 - NextcloudApp:
AppAPIAuthMiddlewarefor easy cover all endpoints. #205 - NextcloudApp: API for registering
MachineTranslationproviders(avalaible from Nextcloud 29). #207
- large amount of incompatible changes for
AppAPI 2.0, see PR for description. #212 - class
Share.raw_data marked as deprecated and changed to_raw_data. #206 ex_app.talk_bot_app/ex_app.atalk_bot_apprenamed toex_app.talk_bot_msg/ex_app.atalk_bot_msg.
download_logmethod to downloadnextcloud.log. #199- NextcloudApp: API for registering
Speech to Textproviders(avalaible from Nextcloud 29). #196 - NextcloudApp: API for registering
Text Processingproviders(avalaible from Nextcloud 29). #198 - NextcloudApp: added
get_model_pathwrapper around huggingface_hub:snapshot_download. #202
- OCS: Correctly handling of
HTTP 204 No Contentstatus. #197
- files: proper url encoding of special chars in
mkdiranddeletemethods. #191 Thanks to @tobenary - files: proper url encoding of special chars in all other
DAVmethods. #194
- The
ocsmethod is now public, making it easy to use Nextcloud OCS that has not yet been described. #187
- implemented
AsyncNextcloudandAsyncNextcloudAppclasses. #181
- set_handlers:
enabled_handler,heartbeat_handler,init_handlernow can be async(Coroutines). #175 #181 - set_handlers:
models_to_fetchandmodels_download_paramsunited in one more flexible parameter. #184 - drop Python 3.9 support. #180
- internal code refactoring and clean-up #177
- Ability to develop applications with
UI, example of such app, support for all new stuff ofAppAPI 1.4. #168
- AppAPI: added authentication to the
/initendpoint. #162
move,copy,trashbin_restorecorrectly setutf-8headers. #157 Thanks to @tschechnikerupload_streamcorrectly setutf-8headers. #159headerscan now behttpx.Headersand not onlydict. #158
- Support for the new
/initAppAPI endpoint and the ability to automatically load models fromhuggingface. #151
- All examples were adjusted to changes in AppAPI.
- The examples now use FastAPIs
lifespaninstead of the deprecatedon_event.
As the project moves closer to beta, final unification changes are being made.
This release contains some breaking changes in users, notifications API.
- Support for users avatars(
get_avatar). #149 __repr__method added for most objects(previously it was only present forFsNode). #147
users.get_detailsrenamed toget_userand returns a class instead of a dictionary. #145- Optional argument
displaynameinusers.createrenamed todisplay_name. - The
apps.ExAppInfoclass has been rewritten in the same format as all the others. #146 notifications.Notificationclass has been rewritten in the same format as all the others.
users.get_detailswith empty parameter in some cases was raised exception.- ClientMode: in case when LDAP was used as user backend, user login differs from
user id, and most API failed with 404. #148
- CalendarAPI with the help of caldav package. #136
- NotesAPI #137
- TalkAPI:
list_participantsmethod to list conversation participants. #142
- TalkAPI: In One-to-One conversations the
status_messageandstatus_iconfields were always empty. - Missing CSS styles in the documentation. #143
- TalkAPI:
send_fileto easy sendFsNodeto Talk chat.receive_messagescan return theTalkFileMessagesubclass of usualTalkMessagewith additional functionality.
- NextcloudApp: The
ex_app.verify_versionfunction to simply check whether the application has been updated.
- NextcloudApp: Updated
info.xmlin examples to reflect upcoming changes in the AppStore
- FilesAPI: Chunked v2 upload support, enabled by default.
- New option to disable
chunked v2 uploadif there is a need for that:CHUNKED_UPLOAD_V2 - TalkAPI: Poll API support(create_poll, get_poll, vote_poll, close_poll).
- TalkAPI: Conversation avatar API(get_conversation_avatar, set_conversation_avatar, delete_conversation_avatar)
- Default
chunk_sizeargument is now 5Mb instead of 4Mb.
- NextcloudApp:
ex_app.persistent_storagefunction that returns path for the Application persistent storage. - NextcloudApp:
from nc_py_api.ex_app import persist_transformers_cache- automatic use of persistent app directory for the AI models caching.
- FilesAPI:
FsNode.infoaddedmimetypeproperty.
- AppEcosystem_V2 Project was renamed to App_API, adjust all routes, examples, and docs for this.
- The Application Authentication mechanism was changed to a much simple one.
- ActivityAPI:
get_filtersandget_activities. #112 - FilesAPI: added
tagssupport. #115
- FilesAPI: removed
listfavmethod, use new more powerfullist_by_criteriamethod. #115
NotificationInfo.time- was always incorrectly parsed and equal todatetime(1970,1,1)
- Basic APIs for Nextcloud Talk(Part 2) #111
makedirscorrectly work with paths started with/listdircorrectly handlesexclude_self=Truewhen inputpathstarts with/
- TrashBin API:
trashbin_listtrashbin_restoretrashbin_deletetrashbin_cleanup
- File Versions API:
get_versionsandrestore_version.
- Created
FsNodefromUiActionFileInfonow have thefile_idwith the NC instance ID as from the DAV requests.
- Nextcloud Talk API for bots + example
- Basic APIs for Nextcloud Talk(Part 1)
require_capabilities/check_capabilitiescan accept value withdot: likefiles_sharing.api_enabledand check for sub-values.- Refactored all API(except
Files) again.
options.NPA_NC_CERTbug, when setting throw.envfile.
FsNodecan be created from NextcloudUiActionFileInforeply.
files.finderror when searching by"name". Thanks to @CooperGerman
Nextcloud.response_headersproperty, to get headers from last response.
- Reworked skeleton for the applications, added skeleton to examples.
- Finished
ShareAPI.
optionserror when setting timeouts with the.envfile.- ShareAPI.create wrong handling of
share_withparameter.
- APIs for enabling\disabling External Applications.
- FileAPI:
download_directory_as_zipmethod.
- Much more documentation.
- Regroup APIs, hopes for the last time.
- Assign groups in user creation
Notifications APIoptionsnow independent in eachNextcloudclass. They can be specified in kwargs, environment or.envfiles.
- Switched to
hatchingas a build system, now correct install optional dependencies. - Renamed methods, attributes that was
shadowing a Python builtins. Enabled additionalRufflinters checks. - Regroup APIs, now Users related stuff starts with
user, file related stuff withfile, UI stuff withgui.
- More documentation.
- Reworked
User Status API,Users Group API - Reworked return type for
weather_status.get_location - Reworked
Files API:mkdir,upload,copy,movereturn newFsNodeobject. - Reworked
listdir: addeddepthparameter. - Reworked
FsNode: changedinfofromTypedDicttodataclass, correct fields names with correct descriptions. FsNodenow allows comparison for equality.
- First
Files SharingAPIs.
- Updated documentation, description.
- Updated
FsNodeclass with properties for parsing permissions.
VERIFY_NC_CERTIFICATEoption.apps.ex_app_get_listandapps.ex_app_get_infomethods.files.download2streamandfiles.upload_streammethods.- most of
FileAPIcan acceptFsNodeas a path.
- License changed to
BSD-3 Clause
nextcloud_urlcan contain/at the end.- work of
logsduringenable/disableevents.
heartbeatendpoint support for AppEcosystemV2.
app_cfgproperty in theNextcloudAppclass.
- All input environment variables now in Upper Case.
- Written from the scratch new version of the Nextcloud Python Client. Deep Alpha.