All notable changes to this project will be documented in this file.
- New
webhooks.unregister_all
method. #309
- Files:
user
anduser_path
properties inFSNode
when Nextcloud located in the sub-path. #297 Thanks to @vwbusguy files.download_directory_as_zip
method now supports upcoming Nextcloud 31. #304
- NextcloudApp:
setup_nextcloud_logging
function to support transparently sending logs to Nextcloud. #294
- NextcloudApp:
nc.log
now suppresses all exceptions to safe call it anywhere(for example in exception handlers). #293
message_type
property to TalkBotMessage. #292
- NextcloudApp:
TextProcessing
,Speech2Text
andTranslation
AI Providers API was removed. #289
- NextcloudApp: rework of TaskProcessing provider API. #284
nc.files.makedirs
not working properly on Windows. #280 Thanks to @Wuli6
- Corrected behaviour of
ocs
function forGroup Folders
app routes(they are not fully OCS API). #279 - NextcloudApp:
get_computation_device
function now correctly returns result in upper_case. #278
- Initial Webhooks API support for the upcoming Nextcloud 30. #272
- NextcloudApp:
fetch_models_task
function now saves paths to downloaded models. #274 Thanks to @kyteinsky
LoginFlowV2
implementation by @blvdek #255files.get_tags
function to get all tags assigned to the file or directory. #260- NextcloudApp:
nc.ui.files_dropdown_menu.register_ex
to register new version of FileActions(AppAPI 2.6.0+) #252 - NextcloudApp:
enabled_state
property to check if the current ExApp is disabled or enabled. #268 - NextcloudApp: support for the new AI API for the Nextcloud 30. #254
- NextcloudApp:
occ
commands registration API(AppAPI 2.5.0+). #247 - NextcloudApp:
Nodes
events listener registration API(AppAPI 2.5.0+). #249
- Incorrect
Display name
when 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_device
function for retrieving GPU type(only with AppAPI2.5.0
+).ex_app.integration_fastapi.fetch_models_task
are now public function, addedprogress_init_start_value
param.- Global authentication when used now sets
request.scope["username"]
for easy use.
UiActionFileInfo
class marked as deprecated, insteadActionFileInfo
class should be used.
- Files:
lock
andunlock
methods, lock file information toFsNode
. #227
- NextcloudApp:
MachineTranslation
provider registration - added optionalactionDetectLang
param. #229
- NextcloudApp:
set_handlers
:models_to_fetch
can 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_handlers
rework of optional parameters see PR for information. #226
- class
Share
: added missingfile_source_id
,can_edit
,can_delete
properties. #206 - NextcloudApp:
AppAPIAuthMiddleware
for easy cover all endpoints. #205 - NextcloudApp: API for registering
MachineTranslation
providers(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_app
renamed toex_app.talk_bot_msg
/ex_app.atalk_bot_msg
.
download_log
method to downloadnextcloud.log
. #199- NextcloudApp: API for registering
Speech to Text
providers(avalaible from Nextcloud 29). #196 - NextcloudApp: API for registering
Text Processing
providers(avalaible from Nextcloud 29). #198 - NextcloudApp: added
get_model_path
wrapper around huggingface_hub:snapshot_download. #202
- OCS: Correctly handling of
HTTP 204 No Content
status. #197
- files: proper url encoding of special chars in
mkdir
anddelete
methods. #191 Thanks to @tobenary - files: proper url encoding of special chars in all other
DAV
methods. #194
- The
ocs
method is now public, making it easy to use Nextcloud OCS that has not yet been described. #187
- implemented
AsyncNextcloud
andAsyncNextcloudApp
classes. #181
- set_handlers:
enabled_handler
,heartbeat_handler
,init_handler
now can be async(Coroutines). #175 #181 - set_handlers:
models_to_fetch
andmodels_download_params
united 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
/init
endpoint. #162
move
,copy
,trashbin_restore
correctly setutf-8
headers. #157 Thanks to @tschechnikerupload_stream
correctly setutf-8
headers. #159headers
can now behttpx.Headers
and not onlydict
. #158
- Support for the new
/init
AppAPI endpoint and the ability to automatically load models fromhuggingface
. #151
- All examples were adjusted to changes in AppAPI.
- The examples now use FastAPIs
lifespan
instead 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_details
renamed toget_user
and returns a class instead of a dictionary. #145- Optional argument
displayname
inusers.create
renamed todisplay_name
. - The
apps.ExAppInfo
class has been rewritten in the same format as all the others. #146 notifications.Notification
class has been rewritten in the same format as all the others.
users.get_details
with 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_participants
method to list conversation participants. #142
- TalkAPI: In One-to-One conversations the
status_message
andstatus_icon
fields were always empty. - Missing CSS styles in the documentation. #143
- TalkAPI:
send_file
to easy sendFsNode
to Talk chat.receive_messages
can return theTalkFileMessage
subclass of usualTalkMessage
with additional functionality.
- NextcloudApp: The
ex_app.verify_version
function to simply check whether the application has been updated.
- NextcloudApp: Updated
info.xml
in examples to reflect upcoming changes in the AppStore
- FilesAPI: Chunked v2 upload support, enabled by default.
- New option to disable
chunked v2 upload
if 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_size
argument is now 5Mb instead of 4Mb.
- NextcloudApp:
ex_app.persistent_storage
function 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.info
addedmimetype
property.
- 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_filters
andget_activities
. #112 - FilesAPI: added
tags
support. #115
- FilesAPI: removed
listfav
method, use new more powerfullist_by_criteria
method. #115
NotificationInfo.time
- was always incorrectly parsed and equal todatetime(1970,1,1)
- Basic APIs for Nextcloud Talk(Part 2) #111
makedirs
correctly work with paths started with/
listdir
correctly handlesexclude_self=True
when inputpath
starts with/
- TrashBin API:
trashbin_list
trashbin_restore
trashbin_delete
trashbin_cleanup
- File Versions API:
get_versions
andrestore_version
.
- Created
FsNode
fromUiActionFileInfo
now have thefile_id
with 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_capabilities
can accept value withdot
: likefiles_sharing.api_enabled
and check for sub-values.- Refactored all API(except
Files
) again.
options.NPA_NC_CERT
bug, when setting throw.env
file.
FsNode
can be created from NextcloudUiActionFileInfo
reply.
files.find
error when searching by"name"
. Thanks to @CooperGerman
Nextcloud.response_headers
property, to get headers from last response.
- Reworked skeleton for the applications, added skeleton to examples.
- Finished
Share
API.
options
error when setting timeouts with the.env
file.- ShareAPI.create wrong handling of
share_with
parameter.
- APIs for enabling\disabling External Applications.
- FileAPI:
download_directory_as_zip
method.
- Much more documentation.
- Regroup APIs, hopes for the last time.
- Assign groups in user creation
Notifications API
options
now independent in eachNextcloud
class. They can be specified in kwargs, environment or.env
files.
- Switched to
hatching
as a build system, now correct install optional dependencies. - Renamed methods, attributes that was
shadowing a Python builtins
. Enabled additionalRuff
linters 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
,move
return newFsNode
object. - Reworked
listdir
: addeddepth
parameter. - Reworked
FsNode
: changedinfo
fromTypedDict
todataclass
, correct fields names with correct descriptions. FsNode
now allows comparison for equality.
- First
Files Sharing
APIs.
- Updated documentation, description.
- Updated
FsNode
class with properties for parsing permissions.
VERIFY_NC_CERTIFICATE
option.apps.ex_app_get_list
andapps.ex_app_get_info
methods.files.download2stream
andfiles.upload_stream
methods.- most of
FileAPI
can acceptFsNode
as a path.
- License changed to
BSD-3 Clause
nextcloud_url
can contain/
at the end.- work of
logs
duringenable
/disable
events.
heartbeat
endpoint support for AppEcosystemV2.
app_cfg
property in theNextcloudApp
class.
- All input environment variables now in Upper Case.
- Written from the scratch new version of the Nextcloud Python Client. Deep Alpha.