Changes for developers & admins for Nextcloud 27
Continuation of #34692
Readme
📝 Please always leave a comment when editing, so subscribed developers and admins are notified.
Front-end
- Files Router API https://github.com/nextcloud/server/pull/37824
Allows you to control the files router service and update views, querys or param without page reload
// https://github.com/nextcloud/server/blob/master/apps/files/src/services/RouterService.ts OCP.Files.Router.goTo('/trashbin?dir=/Unsplash.d1680193199') OCP.Files.Router.goToRoute('fileslist', { view: 'files' }, { dir: '/Folders/Group folder' }) - ...
Backend
\OCP\AppFramework\Utility\ITimeFactoryis now a\PSR\Clock\ClockInterfacefollowing the PSR-20 standard. ThereforeITimeFactory::getTimeandITimeFactory::getDateTimewere deprecated: https://github.com/nextcloud/server/pull/35872OCP\Accounts\IAccountManager::PROPERTY_DISPLAYNAME_LEGACYwas added to be used for keeping the provisioning API compatible: https://github.com/nextcloud/server/pull/36665- A new system config
ratelimit.protection.enabled(boolean, default true) was added to allow developers to disable rate limiting. It is not recommended to disable this on a production/live system. #37542 - A new OCP API under
OCP\SpeechToTextwas introduced to allow automatic transcription of media: #37674 - Added a new interface
OCP\BackgroundJob\IParallelAwareJobthatOCP\BackgroundJob\Jobnow implements. It can be used to allow specifying that multiple instances of a job should not be run at the same time. Also addedIJobList#hasReservedJob($className = null)method for this: https://github.com/nextcloud/server/pull/37835 - A new property has been added to the
\OCP\Files\Template\TemplateFileCreatorclass with a respective setter and getter. Namely theTemplateFileCreator::$actionLabelprotected property andTemplateFileCreator::setActionLabel+TemplateFileCreator::getActionLabelpublic methods. https://github.com/nextcloud/server/pull/37929 + https://github.com/nextcloud/server/pull/37955 - A new interface
OCP\Group\Backend\ISearchableGroupBackendwas added for group backends supporting new methodsearchInGroupto search among a group users in an efficient way. https://github.com/nextcloud/server/pull/32866 - As a result
usersInGroupfrom GroupInterface is deprecated.
Removed from public namespace:
- Intermediate transition event classes
OCP\WorkflowEngine\IEntityCompatandOCP\WorkflowEngine\IOperationCompathave been removed as advertised for 2023: https://github.com/nextcloud/server/pull/37040
Removed from private namespace:
- …
Deprecations
\OCP\AppFramework\Utility\ITimeFactoryis now a\PSR\Clock\ClockInterfacefollowing the PSR-20 standard. ThereforeITimeFactory::getTimeandITimeFactory::getDateTimewere deprecated: https://github.com/nextcloud/server/pull/35872
Deprecations of Events & Hooks
- …
Behavorial changes
CacheEntryRemovedEventwill now be dispatched for all files and folders inside the deleted node. https://github.com/nextcloud/server/pull/34773
Client APIs
- The OCS translation API was extended to return the
fromlanguage attribute so in case no from was given, clients can afterwards show in the UI which language was detected and used for translating. https://github.com/nextcloud/server/pull/38003
Changes for admins
- …
Added:
Removed from public namespace:
- Intermediate transition event classes
OCP\WorkflowEngine\IEntityCompatandOCP\WorkflowEngine\IOperationCompathave been removed as advertised for 2023: https://github.com/nextcloud/server/pull/37040
Added:
Backend
\OCP\AppFramework\Utility\ITimeFactoryis now a\PSR\Clock\ClockInterfacefollowing the PSR-20 standard. ThereforeITimeFactory::getTimeandITimeFactory::getDateTimewere deprecated: https://github.com/nextcloud/server/pull/35872
Added:
Behavorial changes
* `CacheEntryRemovedEvent` will now be dispatched for all files and folders inside the deleted node.
Added:
Backend
OCP\Accounts\IAccountManager::PROPERTY_DISPLAYNAME_LEGACYwas added to be used for keeping the provisioning API compatible: https://github.com/nextcloud/server/pull/36665
Added:
Backend
- A new system config
ratelimit.protection.enabled(boolean, default true) was added to allow developers to disable rate limiting. It is not recommended to disable this on a production/live system. #37542
Added:
Backend
- A new OCP API under
OCP\SpeechToTextwas introduced to allow automatic transcription of media: #37674
Added:
Backend
- BruteForceProtection can now be enabled using a native PHP attribute #36928 https://github.com/nextcloud/documentation/pull/9742
Added:
Backend
- Rate limits can now be enabled using native PHP attributes https://github.com/nextcloud/server/pull/37864 https://docs.nextcloud.com//server/stable/developer_manual/basics/controllers.html#rate-limiting
Deprecations
@BruteForceProtectionannotation for controllers is now deprecated in favor of the#[BruteForceProtection]attribute https://docs.nextcloud.com//server/stable/developer_manual/basics/controllers.html#brute-force-protection@UserRateThrottleannotation for controllers is now deprecated in favor of the#[UserRateLimit]attribute https://docs.nextcloud.com//server/stable/developer_manual/basics/controllers.html#rate-limiting@AnonRateThrottleannotation for controllers is now deprecated in favor of the#[AnonRateLimit]attribute https://docs.nextcloud.com//server/stable/developer_manual/basics/controllers.html#rate-limiting
Added:
Backend
- Added a new interface
OCP\BackgroundJob\IParallelAwareJobthatOCP\BackgroundJob\Jobnow implements. It can be used to allow specifying that multiple instances of a job should not be run at the same time. Also addedIJobList#hasReservedJob($className = null)method for this: https://github.com/nextcloud/server/pull/37835
Added:
Backend
- A new property has been added to the
\OCP\Files\Template\TemplateFileCreatorclass with a respective setter and getter. Namely theTemplateFileCreator::$actionLabelprotected property andTemplateFileCreator::setActionLabel+TemplateFileCreator::getActionLabelpublic methods. https://github.com/nextcloud/server/pull/37929 + https://github.com/nextcloud/server/pull/37955
Added:
Backend
- A new interface
OCP\Group\Backend\ISearchableGroupBackendwas added for group backends supporting new methodsearchInGroupto search among a group users in an efficient way. https://github.com/nextcloud/server/pull/32866- As a result
usersInGroupfrom GroupInterface is deprecated.
Added:
Front-end
- Files Router API https://github.com/nextcloud/server/pull/37824 Allows you to control the files router service and update views, querys or param without page reload
// https://github.com/nextcloud/server/blob/master/apps/files/src/services/RouterService.ts OCP.Files.Router.goTo('/trashbin?dir=/Unsplash.d1680193199') OCP.Files.Router.goToRoute('fileslist', { view: 'files' }, { dir: '/Folders/Group folder' })
Added:
Client APIs
- The OCS translation API was extended to return the
fromlanguage attribute so in case no from was given, clients can afterwards show in the UI which language was detected and used for translating. https://github.com/nextcloud/server/pull/38003
Copied over to the docs. Please send new things directly to the documentation repo: https://github.com/nextcloud/documentation/pull/10414