Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 15 additions & 86 deletions developer_manual/release_notes/critical_changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,6 @@
Critical changes
================

..
Add one section for each change.
Only list changes absolutely necessary to keep an app running. Use the dedicated deprecation and new features pages for optional changes and announcements.

The sections are somewhat ordered so changes affecting most apps come first, and more specific ones come later.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea of the comment was to explain how content is added to this page.


info.xml requirements
---------------------

Expand All @@ -18,97 +12,32 @@ Update info.xml to add Nextcloud 34 to the support range:
.. code-block:: xml

<dependencies>
<nextcloud min-version="34" max-version="34" />
<nextcloud min-version="35" max-version="35" />
</dependencies>

To allow installation on older versions too, just keep the previous min-version.

Removed front-end APIs and libraries
------------------------------------

- ``OC.Dialogs.fileexists`` was deprecated and is now removed.
Use the conflict picker from the ``@nextcloud/dialogs`` library instead.
- ``OC.Notifications`` was deprecated and is now removed.
Use the notification API from the ``@nextcloud/dialogs`` library instead.
- ``OC.Apps`` was deprecated and is now removed.
Use Vue components from the ``@nextcloud/vue`` instead.
- ``OC.*menu*`` methods were deprecated and are now removed.
Use Vue components from the ``@nextcloud/vue`` instead.
- Magic handling of ``.live-relative-timestamp`` (elements with this class were automatically updated to show relative timestamps) was removed.
Use the ``NcDateTime`` component from the ``@nextcloud/vue`` library instead
- The global ``snapper`` was deprecated and is now removed.
For the app navigation please migrate your app to Vue
and use the ``NcAppNavigation`` component from the ``@nextcloud/vue`` library instead.
- Some deprecated globally shared libraries were removed. If you still rely on them, you need to bundle them with your app:

- ``jQuery`` was deprecated and scheduled for removal since Nextcloud 19.
- ``jQuery UI`` was deprecated and scheduled for removal since Nextcloud 19.
- ``Backbone`` was deprecated and scheduled for removal since Nextcloud 19.
- ``OC.Files.Client`` as it was extending the ``Backbone``.
- ``Handlebars`` was deprecated and scheduled for removal since Nextcloud 19.


Removed back-end APIs
---------------------

- ``\OCP\Share_Backend``, ``\OCP\Share_Backend_Collection``, ``\OCP\Share_Backend_File_Dependent`` were removed. This old
share backend was replaced in Nextcloud 9 with a new backend system based on ``IShareProvider``.
- All these methods were deprecated since before Nextcloud 20 and were removed:

- ``\OCP\AppFramework\Http\EmptyContentSecurityPolicy::allowEvalScript``
- ``\OCP\AppFramework\Http\EmptyContentSecurityPolicy::addAllowedChildSrcDomain``
- ``\OCP\AppFramework\Http\EmptyContentSecurityPolicy::disallowChildSrcDomain``
- ``\OCP\Collaboration\Resources\IManager::registerResourceProvider``
- ``\OCP\Notification\IManager::registerNotifier``
- ``\OCP\Util::recursiveArraySearch``
- All these classes were deprecated since before Nextcloud 20 and were removed:

- ``\OCP\AppFramework\Http\StrictContentSecurityPolicy``
- ``\OCP\AppFramework\Http\StrictEvalContentSecurityPolicy``
- ``\OCP\AppFramework\Http\StrictInlineContentSecurityPolicy``
- Various methods from the legacy ``OC_Util`` static class were removed:

- Instead of ``\OC_Util::encodePath`` use ``\OCP\Util::encodePath``.
- Instead of ``\OC_Util::sanitizeHTML`` use ``\OCP\Util::sanitizeHTML``
- Instead of ``\OC_Util::redirectToDefaultPage`` and ``\OC_Util::getDefaultPageUrl`` use ``\OCP\IUrlGenerator::linkToDefaultPageUrl``
- Instead of ``\OC_Util::checkAdminUser`` use ``IGroupManager::class::isAdmin``


Unified sharing
---------------

.. todo::

This is work in progress and needs an update when the changes have been finalized.

Changes to sharing APIs and user interface are planned. This includes both a new general API for sharing of entities and updates to the sharing user interface. See `nextcloud/server#51803 <https://github.com/nextcloud/server/issues/51803>`_ for details and mockups.
- All these interfaces were deprecated since Nextcloud 23 and were removed without replacement:
- ``\OCP\Remote\ICredentials``
- ``\OCP\Remote\IInstance``
- ``\OCP\Remote\IInstanceFactory``
- ``\OCP\Remote\IUser``
- ``\OCP\Remote\API\IUserApi``
- ``\OCP\Remote\API\ICapabilitiesApi``
- ``\OCP\Remote\API\IApiFactory``
- ``\OCP\Remote\API\IApiCollection``

- All the deprecated methods of ``\OCP\Calendar\Resource\IManager`` and ``\OCP\Calendar\Room\IManager`` were deprecated since Nextcloud 24 and were removed without replacement.

Navigation styling revisions
----------------------------

.. todo::

This is work in progress and needs an update when the changes have been finalized.

Styling of navigation components will be revised. See `nextcloud-libraries/nextcloud-vue#7222 <https://github.com/nextcloud-libraries/nextcloud-vue/issues/7222>`_ for details.


Sidebar tabs redesign
---------------------

.. todo::

This is work in progress and needs an update when the changes have been finalized.

Sidebar tab components will be redesigned. See `nextcloud-libraries/nextcloud-vue#7520 <https://github.com/nextcloud-libraries/nextcloud-vue/issues/7520>`_ for details.


Settings title left-alignment
-----------------------------

.. todo::
..
Add one section for each change.
Only list changes absolutely necessary to keep an app running. Use the dedicated deprecation and new features pages for optional changes and announcements.

This is work in progress and needs an update when the changes have been finalized.
The sections are somewhat ordered so changes affecting most apps come first, and more specific ones come later.

The title alignment of settings pages will be changed to left-aligned. See `nextcloud-libraries/nextcloud-vue#7641 <https://github.com/nextcloud-libraries/nextcloud-vue/issues/7641>`_ for details.
12 changes: 7 additions & 5 deletions developer_manual/release_notes/deprecations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,7 @@ New deprecations

.. todo:: This page needs a section for every new deprecation.

- ``\OCP\Util::setChannel`` is now deprecated and you need to use ``\OCP\ServerVersion::setChannel`` instead.
- ``\OCP\Util::linkToAbsolute`` is now deprecated and you need to use ``\OCP\IUrlGenerator::getAbsoluteUrl`` and ``\OCP\IUrlGenerator::linkTo`` instead.
- ``\OCP\Util::linkToRemove`` is now deprecated and you need to use ``\OCP\IUrlGenerator::linkToRemote`` instead.
- ``\OCP\Util::isPublicLinkPasswordRequired`` is now deprecated and you need to use ``\OCP\Share\IManager::shareApiLinkEnforcePassword`` instead.
- ``\OCP\Util::isDefaultExpireDateEnforced`` is now deprecated and you need to use ``\OCP\Share\IManager::shareApiLinkDefaultExpireDateEnforced`` instead.
- ``\OCP\Broadcast\Events\\IBroadcastEvent`` is now deprecated as it is unused.

Older deprecations
------------------
Expand All @@ -34,4 +30,10 @@ You find all current deprecations in this section.
..
This is where we will move the deprecations after the branch off. Entries will stay until actual removal.

- ``\OCP\Util::setChannel`` is now deprecated and you need to use ``\OCP\ServerVersion::setChannel`` instead.
- ``\OCP\Util::linkToAbsolute`` is now deprecated and you need to use ``\OCP\IUrlGenerator::getAbsoluteUrl`` and ``\OCP\IUrlGenerator::linkTo`` instead.
- ``\OCP\Util::linkToRemove`` is now deprecated and you need to use ``\OCP\IUrlGenerator::linkToRemote`` instead.
- ``\OCP\Util::isPublicLinkPasswordRequired`` is now deprecated and you need to use ``\OCP\Share\IManager::shareApiLinkEnforcePassword`` instead.
- ``\OCP\Util::isDefaultExpireDateEnforced`` is now deprecated and you need to use ``\OCP\Share\IManager::shareApiLinkDefaultExpireDateEnforced`` instead.

Also see the older :ref:`Release Notes <previous-versions>` for deprecations.
1 change: 1 addition & 0 deletions developer_manual/release_notes/previous/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ These sub pages will cover the most important changes in Nextcloud, as well as s
.. toctree::
:maxdepth: 1

upgrade_to_34.rst
upgrade_to_33.rst
upgrade_to_32.rst
upgrade_to_31.rst
Expand Down
117 changes: 117 additions & 0 deletions developer_manual/release_notes/previous/upgrade_to_34.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
=======================
Upgrade to Nextcloud 34
=======================

info.xml requirements
---------------------

Update info.xml to add Nextcloud 34 to the support range:

.. code-block:: xml

<dependencies>
<nextcloud min-version="34" max-version="34" />
</dependencies>

To allow installation on older versions too, just keep the previous min-version.

Removed front-end APIs and libraries
------------------------------------

- ``OC.Dialogs.fileexists`` was deprecated and is now removed.
Use the conflict picker from the ``@nextcloud/dialogs`` library instead.
- ``OC.Notifications`` was deprecated and is now removed.
Use the notification API from the ``@nextcloud/dialogs`` library instead.
- ``OC.Apps`` was deprecated and is now removed.
Use Vue components from the ``@nextcloud/vue`` instead.
- ``OC.*menu*`` methods were deprecated and are now removed.
Use Vue components from the ``@nextcloud/vue`` instead.
- Magic handling of ``.live-relative-timestamp`` (elements with this class were automatically updated to show relative timestamps) was removed.
Use the ``NcDateTime`` component from the ``@nextcloud/vue`` library instead
- The global ``snapper`` was deprecated and is now removed.
For the app navigation please migrate your app to Vue
and use the ``NcAppNavigation`` component from the ``@nextcloud/vue`` library instead.
- Some deprecated globally shared libraries were removed. If you still rely on them, you need to bundle them with your app:

- ``jQuery`` was deprecated and scheduled for removal since Nextcloud 19.
- ``jQuery UI`` was deprecated and scheduled for removal since Nextcloud 19.
- ``Backbone`` was deprecated and scheduled for removal since Nextcloud 19.
- ``OC.Files.Client`` as it was extending the ``Backbone``.
- ``Handlebars`` was deprecated and scheduled for removal since Nextcloud 19.


Removed back-end APIs
---------------------

- ``\OCP\Share_Backend``, ``\OCP\Share_Backend_Collection``, ``\OCP\Share_Backend_File_Dependent`` were removed. This old
share backend was replaced in Nextcloud 9 with a new backend system based on ``IShareProvider``.
- All these methods were deprecated since before Nextcloud 20 and were removed:

- ``\OCP\AppFramework\Http\EmptyContentSecurityPolicy::allowEvalScript``
- ``\OCP\AppFramework\Http\EmptyContentSecurityPolicy::addAllowedChildSrcDomain``
- ``\OCP\AppFramework\Http\EmptyContentSecurityPolicy::disallowChildSrcDomain``
- ``\OCP\Collaboration\Resources\IManager::registerResourceProvider``
- ``\OCP\Notification\IManager::registerNotifier``
- ``\OCP\Util::recursiveArraySearch``
- All these classes were deprecated since before Nextcloud 20 and were removed:

- ``\OCP\AppFramework\Http\StrictContentSecurityPolicy``
- ``\OCP\AppFramework\Http\StrictEvalContentSecurityPolicy``
- ``\OCP\AppFramework\Http\StrictInlineContentSecurityPolicy``
- Various methods from the legacy ``OC_Util`` static class were removed:

- Instead of ``\OC_Util::encodePath`` use ``\OCP\Util::encodePath``.
- Instead of ``\OC_Util::sanitizeHTML`` use ``\OCP\Util::sanitizeHTML``
- Instead of ``\OC_Util::redirectToDefaultPage`` and ``\OC_Util::getDefaultPageUrl`` use ``\OCP\IUrlGenerator::linkToDefaultPageUrl``
- Instead of ``\OC_Util::checkAdminUser`` use ``IGroupManager::class::isAdmin``

- All these interfaces were deprecated since Nextcloud 23 and were removed without replacement:
- ``\OCP\Remote\ICredentials``
- ``\OCP\Remote\IInstance``
- ``\OCP\Remote\IInstanceFactory``
- ``\OCP\Remote\IUser``
- ``\OCP\Remote\API\IUserApi``
- ``\OCP\Remote\API\ICapabilitiesApi``
- ``\OCP\Remote\API\IApiFactory``
- ``\OCP\Remote\API\IApiCollection``

- All the deprecated methods of ``\OCP\Calendar\Resource\IManager`` and ``\OCP\Calendar\Room\IManager`` were deprecated since Nextcloud 24 and were removed without replacement.

Unified sharing
---------------

.. todo::

This is work in progress and needs an update when the changes have been finalized.

Changes to sharing APIs and user interface are planned. This includes both a new general API for sharing of entities and updates to the sharing user interface. See `nextcloud/server#51803 <https://github.com/nextcloud/server/issues/51803>`_ for details and mockups.


Navigation styling revisions
----------------------------

.. todo::

This is work in progress and needs an update when the changes have been finalized.

Styling of navigation components will be revised. See `nextcloud-libraries/nextcloud-vue#7222 <https://github.com/nextcloud-libraries/nextcloud-vue/issues/7222>`_ for details.


Sidebar tabs redesign
---------------------

.. todo::

This is work in progress and needs an update when the changes have been finalized.

Sidebar tab components will be redesigned. See `nextcloud-libraries/nextcloud-vue#7520 <https://github.com/nextcloud-libraries/nextcloud-vue/issues/7520>`_ for details.


Settings title left-alignment
-----------------------------

.. todo::

This is work in progress and needs an update when the changes have been finalized.

The title alignment of settings pages will be changed to left-aligned. See `nextcloud-libraries/nextcloud-vue#7641 <https://github.com/nextcloud-libraries/nextcloud-vue/issues/7641>`_ for details.
Loading