server icon indicating copy to clipboard operation
server copied to clipboard

Changes for developers & admins for Nextcloud 27

Open nickvergessen opened this issue 2 years ago • 13 comments

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\ITimeFactory is now a \PSR\Clock\ClockInterface following the PSR-20 standard. Therefore ITimeFactory::getTime and ITimeFactory::getDateTime were deprecated: https://github.com/nextcloud/server/pull/35872
  • OCP\Accounts\IAccountManager::PROPERTY_DISPLAYNAME_LEGACY was 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\SpeechToText was introduced to allow automatic transcription of media: #37674
  • Added a new interface OCP\BackgroundJob\IParallelAwareJob that OCP\BackgroundJob\Job now implements. It can be used to allow specifying that multiple instances of a job should not be run at the same time. Also added IJobList#hasReservedJob($className = null) method for this: https://github.com/nextcloud/server/pull/37835
  • A new property has been added to the \OCP\Files\Template\TemplateFileCreator class with a respective setter and getter. Namely the TemplateFileCreator::$actionLabel protected property and TemplateFileCreator::setActionLabel + TemplateFileCreator::getActionLabel public methods. https://github.com/nextcloud/server/pull/37929 + https://github.com/nextcloud/server/pull/37955
  • A new interface OCP\Group\Backend\ISearchableGroupBackend was added for group backends supporting new method searchInGroup to search among a group users in an efficient way. https://github.com/nextcloud/server/pull/32866
  • As a result usersInGroup from GroupInterface is deprecated.

Removed from public namespace:

  • Intermediate transition event classes OCP\WorkflowEngine\IEntityCompat and OCP\WorkflowEngine\IOperationCompat have been removed as advertised for 2023: https://github.com/nextcloud/server/pull/37040

Removed from private namespace:

Deprecations

  • \OCP\AppFramework\Utility\ITimeFactory is now a \PSR\Clock\ClockInterface following the PSR-20 standard. Therefore ITimeFactory::getTime and ITimeFactory::getDateTime were deprecated: https://github.com/nextcloud/server/pull/35872

Deprecations of Events & Hooks

Behavorial changes

  • CacheEntryRemovedEvent will 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 from language 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

nickvergessen avatar Mar 03 '23 11:03 nickvergessen

Added:

Removed from public namespace:

  • Intermediate transition event classes OCP\WorkflowEngine\IEntityCompat and OCP\WorkflowEngine\IOperationCompat have been removed as advertised for 2023: https://github.com/nextcloud/server/pull/37040

nickvergessen avatar Mar 03 '23 11:03 nickvergessen

Added:

Backend

  • \OCP\AppFramework\Utility\ITimeFactory is now a \PSR\Clock\ClockInterface following the PSR-20 standard. Therefore ITimeFactory::getTime and ITimeFactory::getDateTime were deprecated: https://github.com/nextcloud/server/pull/35872

nickvergessen avatar Mar 06 '23 08:03 nickvergessen

Added:

Behavorial changes

* `CacheEntryRemovedEvent` will now be dispatched for all files and folders inside the deleted node.

artonge avatar Mar 21 '23 13:03 artonge

Added:

Backend

  • OCP\Accounts\IAccountManager::PROPERTY_DISPLAYNAME_LEGACY was added to be used for keeping the provisioning API compatible: https://github.com/nextcloud/server/pull/36665

provokateurin avatar Mar 27 '23 07:03 provokateurin

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

nickvergessen avatar Apr 03 '23 13:04 nickvergessen

Added:

Backend

  • A new OCP API under OCP\SpeechToText was introduced to allow automatic transcription of media: #37674

marcelklehr avatar Apr 19 '23 17:04 marcelklehr

Added:

Backend

  • BruteForceProtection can now be enabled using a native PHP attribute #36928 https://github.com/nextcloud/documentation/pull/9742

nickvergessen avatar Apr 21 '23 13:04 nickvergessen

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

  • @BruteForceProtection annotation 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
  • @UserRateThrottle annotation for controllers is now deprecated in favor of the #[UserRateLimit] attribute https://docs.nextcloud.com//server/stable/developer_manual/basics/controllers.html#rate-limiting
  • @AnonRateThrottle annotation for controllers is now deprecated in favor of the #[AnonRateLimit] attribute https://docs.nextcloud.com//server/stable/developer_manual/basics/controllers.html#rate-limiting

nickvergessen avatar Apr 24 '23 12:04 nickvergessen

Added:

Backend

  • Added a new interface OCP\BackgroundJob\IParallelAwareJob that OCP\BackgroundJob\Job now implements. It can be used to allow specifying that multiple instances of a job should not be run at the same time. Also added IJobList#hasReservedJob($className = null) method for this: https://github.com/nextcloud/server/pull/37835

marcelklehr avatar Apr 25 '23 10:04 marcelklehr

Added:

Backend

  • A new property has been added to the \OCP\Files\Template\TemplateFileCreator class with a respective setter and getter. Namely the TemplateFileCreator::$actionLabel protected property and TemplateFileCreator::setActionLabel + TemplateFileCreator::getActionLabel public methods. https://github.com/nextcloud/server/pull/37929 + https://github.com/nextcloud/server/pull/37955

Pytal avatar Apr 27 '23 17:04 Pytal

Added:

Backend

  • A new interface OCP\Group\Backend\ISearchableGroupBackend was added for group backends supporting new method searchInGroup to search among a group users in an efficient way. https://github.com/nextcloud/server/pull/32866
  • As a result usersInGroup from GroupInterface is deprecated.

come-nc avatar May 02 '23 14:05 come-nc

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' })
    

skjnldsv avatar May 03 '23 07:05 skjnldsv

Added:

Client APIs

  • The OCS translation API was extended to return the from language 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

nickvergessen avatar May 04 '23 07:05 nickvergessen

Copied over to the docs. Please send new things directly to the documentation repo: https://github.com/nextcloud/documentation/pull/10414

nickvergessen avatar May 22 '23 09:05 nickvergessen