{"id":4388,"date":"2018-08-16T12:44:15","date_gmt":"2018-08-16T12:44:15","guid":{"rendered":"https:\/\/nextcloud.com\/?p=4388"},"modified":"2018-08-16T12:44:15","modified_gmt":"2018-08-16T12:44:15","slug":"changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing","status":"publish","type":"post","link":"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/","title":{"rendered":"Changes for developers in Nextcloud 14, beta 4 ready for testing"},"content":{"rendered":"<div id=\"attachment_4432\" style=\"width: 314px\" class=\"wp-caption alignright\"><img decoding=\"async\" aria-describedby=\"caption-attachment-4432\" src=\"https:\/\/nextcloud.com\/media\/android-trash.png\" alt=\"\" width=\"304\" height=\"540\" class=\"size-full wp-image-4432\" \/><p id=\"caption-attachment-4432\" class=\"wp-caption-text\">Undo file deletions on Android<\/p><\/div>For developers, Nextcloud 14 introduces a series of changes that will impact their apps. Many have already been updated and we&rsquo;re working with community members to update the over 120 apps on our app store. Besides changes and removal of old API elements, there are of course also new capabilities to be taken advantage off. One of those is an API for file versions and trash, which have been implemented in the upcoming release of our Android app! With the release of Beta 4 today, it is a good time to go over what was added, removed and changed in Nextcloud!<\/p>\n<h2>Help test beta 4!<\/h2>\n<p>With beta 4 out, we think we&rsquo;ve caught most issues. There are a few more we plan to fix before the first release candidate gets published (see <a href=\"https:\/\/github.com\/nextcloud\/server\/issues\/10713\">issue #10713<\/a>) and we need your help to find out what else could cause problems!<\/p>\n<p>Note that it is impossible to test every possible way in which users use Nextcloud and the main reason Nextcloud 13 has been so reliable is because many community members put in time to test it in their specific situation. If you want to guarantee a reliable, smooth upgrade to Nextcloud 14 for yourself, your best bet is to help us test now, so we can fix problems before the final release!<\/p>\n<h2>What is new for admins<\/h2>\n<p>Some changes will be visible to system administrators. We already hinted at a number of them in <a href=\"https:\/\/nextcloud.com\/blog\/nextcloud-14-will-introduce-swiftv3-support-improved-system-management-and-more.\/\">our blog about Swiftv3 support earlier this week<\/a> and there is more. For one, Nextcloud 14 will support PHP 7.0, 7.1 and 7.2 (<a href=\"https:\/\/github.com\/nextcloud\/server\/issues\/7368\">#7368<\/a>) and we are working on supporting the upcoming 7.3 release as well. Other changes:<\/p>\n<ul>\n<li>updated Nginx config:\u00a0<a href=\"https:\/\/github.com\/nextcloud\/documentation\/pull\/786\">nextcloud\/documentation#786<\/a><\/li>\n<li>syslog tag was changed from\u00a0<code>ownCloud<\/code>\u00a0to\u00a0<code>Nextcloud<\/code>:\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/10048\">#10048<\/a><\/li>\n<li>when running\u00a0<code>occ maintenance:mode --on\/--off<\/code>\u00a0and it was already in this state if will print\u00a0<code>Maintenance mode already enabled<\/code>\u00a0instead of the\u00a0<code>Maintenance mode enabled<\/code>\u00a0which was printed always before this change\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/10070\">#10070<\/a><\/li>\n<li><code>occ upgrade<\/code>\u00a0does not have the option\u00a0<code>--no-app-disable<\/code>\u00a0anymore (it is used for PHP 7+ anyways already) (<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/7955\">#7955<\/a>)<\/li>\n<li>When using Swift Objectstore as home storage make sure that to set the\u00a0<code>bucket\/container<\/code>\u00a0parameter. See\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8793\">#8793<\/a><\/li>\n<li><code>mail_smtpmode<\/code>\u00a0can no longer be set to\u00a0<code>php<\/code>. As this option is lost with the upgrade of phpmailer\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/9791\">#9791<\/a><\/li>\n<li>log format for exception was improved (no double nested JSON anymore)\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8946\">#8946<\/a><\/li>\n<li>Recovery of encrypted files in case of lost password is now an OCC command instead of in the UI to avoid time-outs.\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/10718\">#10718<\/a><\/li>\n<\/ul>\n<div id=\"attachment_4433\" style=\"width: 314px\" class=\"wp-caption alignright\"><img decoding=\"async\" aria-describedby=\"caption-attachment-4433\" src=\"https:\/\/nextcloud.com\/media\/android-versions.png\" alt=\"\" width=\"304\" height=\"540\" class=\"size-full wp-image-4433\" \/><p id=\"caption-attachment-4433\" class=\"wp-caption-text\">Track version changes<\/p><\/div>\n<h2>For developers<\/h2>\n<p>There have been many changes, additions and deprecations. New is access to the versioning and trash features through our API, already prompting work for desktop and mobile clients to integrate these functions in upcoming releases. The upcoming Android client release will already support retrieving older versions of files and undo file deletions.<\/p>\n<p>There is now support for the new and improved ARGON2I hashing algorithm and Federation 2.0 enables developers to support exchanging calendars, contacts, Talk calls, chat and other content between Nextcloud servers in app releases over the coming months. Below you can find the full list of what&rsquo;s been added, changed and removed!<\/p>\n<h3>Changes<\/h3>\n<ul>\n<li>we will introduce type hinting for scalar types to our public API and fix according to the PHPDoc:\n<ul>\n<li><code>AppFramework\\Http\\Request::getHeader<\/code>\u00a0now really only returns string (and not\u00a0<code>null<\/code>) anymore (<a style=\"box-sizing: border-box; background-color: transparent; color: #0366d6; text-decoration: none; position: relative;\" href=\"https:\/\/github.com\/nextcloud\/server\/pull\/7813\" data-url=\"https:\\\/\\\/github.com\\\/nextcloud\\\/.*\\\/issues\\\/([0-9])*\"#7813, Request-&gt;getHeader() should always return a string\">#7813<\/a>)<\/li>\n<li><code>Security\\ICrypto::decrypt<\/code>\u00a0now accepts strings only and also returns string only (<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/7825\">#7825<\/a>)<\/li>\n<li><code>OCP\\AppFramework\\Utility\\ITimeFactory<\/code>\u00a0is strictly typed now (<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/7838\">#7838<\/a>)<\/li>\n<li><code>OCP\\IL10N<\/code>\u00a0is strickly types which means that the\u00a0<code>t<\/code>\u00a0function expects an array (<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8476\">#8497<\/a>\u00a0for a relaxed version<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>Structural changes:<\/strong><\/p>\n<ul>\n<li>Structure of the whole nextcloud instance has been revised:\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/9982\">#9982<\/a><\/li>\n<li><code>with-app-sidebar<\/code>\u00a0not required anymore to open the sidebar only use\u00a0<code>disappear<\/code>\u00a0on the sidebar<\/li>\n<li><code>svg<\/code>\u00a0classe not required anymore<\/li>\n<li><code>with-settings<\/code>,\u00a0<code>with-icon<\/code>\u00a0not needed anymore<\/li>\n<\/ul>\n<p>Changed behaviour:<\/p>\n<ul>\n<li>apps that are enabled for groups can now provide public pages, that are available even if a user is not logged in &#8211; see\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8593\">#8593<\/a><\/li>\n<li>OCS API method\u00a0<code>AddUser<\/code>\u00a0<code>POST:\/users<\/code>\u00a0now allow empty password iff email is set and valid\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8856\">#8856<\/a><\/li>\n<li>email texts are not automatically escaped anymore in all cases\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8026\">#8026<\/a><\/li>\n<\/ul>\n<p><strong>Changed available dependencies:<\/strong><\/p>\n<ul>\n<li><code>$fromMailAddress<\/code>\u00a0will not be available anymore &#8211; just define it in your apps dependency container if you need it (<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8336\">#8336<\/a>)<\/li>\n<\/ul>\n<p><strong>Changed public interfaces (that could be implemented by an app):<\/strong><\/p>\n<ul>\n<li><code>\\OCP\\Mail<\/code>\u00a0and the email templates got proper type hints:\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8614\">#8614<\/a><\/li>\n<li><code>OCP\\Authentication\\TwoFactorAuth<\/code>\u00a0got typehints and return types:\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8981\">#8981<\/a><\/li>\n<li><code>OCP\\Migration\\IMigrationStep<\/code>\u00a0has two new methods\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/9167\">#9167<\/a>\u00a0(covered if the apps use the abstract class\u00a0<code>SimpleMigrationStep<\/code>\u00a0which is the default)<\/li>\n<li><code>OCA.Search<\/code>\u00a0is now\u00a0<code>OCA.Search.Core<\/code>. New standard for global search\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/9912\">#9912<\/a><\/li>\n<li><code>EMailTemplate<\/code>\u00a0child classes should use the\u00a0<code>%$1s<\/code>\u00a0notation for replacements to be future compatible and be able to reuse parameters\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/10291\">#10291<\/a><\/li>\n<\/ul>\n<p><strong>Added APIs:<\/strong><\/p>\n<ul>\n<li>OCS API got a details endpoint for the user list\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8847\">#8847<\/a><\/li>\n<li>OCS API got a details endpoint for the groups list\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8865\">#8865<\/a><\/li>\n<\/ul>\n<h3>Deprecations<\/h3>\n<p>A series of API&rsquo;s and pieces of our public interface have been removed. We generally announce plans to deprecate API elements XXX in advance<\/p>\n<p><strong>Removed from public interface:<\/strong><\/p>\n<ul>\n<li>several deprecated functions from\u00a0<code>OCP\\AppFramework\/IAppContainer<\/code>\u00a0(<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/7839\">#7839<\/a>)<\/li>\n<li><code>OCP\\Config<\/code>\u00a0(<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/7840\">#7840<\/a>)<\/li>\n<li>search function from\u00a0<code>OCP\\ISearch<\/code>\u00a0(<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/7842\">#7842<\/a>)<\/li>\n<li>formatDate and generateRandomBytes from\u00a0<code>OCP\\Util<\/code>\u00a0(<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/7843\">#7843<\/a>)<\/li>\n<li>deprecated\u00a0<code>OCP<\/code>\u00a0constantes (<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/7844\">#7844<\/a>)<\/li>\n<li>remove deprecated template functions from OCP directly (<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/7857\">#7857<\/a>)<\/li>\n<li>several deprecated functions from\u00a0<code>OCP\\Util<\/code>\u00a0(<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8783\">#8783<\/a>) &#8211;\u00a0<code>sendMail<\/code>,\u00a0<code>encryptedFiles<\/code>,\u00a0<code>getServerHost<\/code>,\u00a0<code>getServerProtocol<\/code>,\u00a0<code>getRequestUri<\/code>,\u00a0<code>getScriptName<\/code><\/li>\n<li>remove deprecated interface\u00a0<code>OCP\\IHelper<\/code>\u00a0(<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8784\">#8784<\/a>)<\/li>\n<li>remove deprecated\u00a0<code>insertIfNotExist<\/code>\u00a0from\u00a0<code>OCP\\DB<\/code>\u00a0(<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8786\">#8786<\/a>)<\/li>\n<li>remove more deprecated methods of\u00a0<code>OCP\\DB<\/code>(<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8787\">#8787<\/a>) &#8211;\u00a0<code>insertid<\/code>,\u00a0<code>rollback<\/code>,\u00a0<code>isError<\/code><\/li>\n<li>remove some deprecated methods of\u00a0<code>OCP\\Response<\/code>\u00a0(<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8792\">#8792<\/a>)<\/li>\n<li>removed deprecated HTTPHelper (<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8804\">#8804<\/a>)<\/li>\n<li>removed urlgenerator functions form\u00a0<code>OCP\\Util<\/code>\u00a0(<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8811\">#8811<\/a>)<\/li>\n<li>removed deprecated\u00a0<code>OCP\\Contacts<\/code>\u00a0(<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8816\">#8816<\/a>)<\/li>\n<li>removed deprecated\u00a0<code>OCP\\BackgroundJob::registerJob<\/code>\u00a0(<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8877\">#8877<\/a>)<\/li>\n<li>removed deprecated\u00a0<code>OCP\\Files::tmpFile<\/code>\u00a0and\u00a0<code>OCP\\Files::tmpFolder<\/code>\u00a0(<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8878\">#8878<\/a>)<\/li>\n<li>removed deprecated\u00a0<code>OCP\\JSON<\/code>\u00a0(<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8879\">#8943<\/a>)<\/li>\n<li>remove deprecated\u00a0<code>beginTransaction<\/code>,\u00a0<code>commit<\/code>\u00a0and\u00a0<code>getErrorMessage<\/code>\u00a0from\u00a0<code>OCP\\DB<\/code>\u00a0(<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8914\">#8914<\/a>)<\/li>\n<li>remove deprecated\u00a0<code>OCP\\Response<\/code>\u00a0(<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8918\">#8918<\/a>)<\/li>\n<li>remove deprecated method\u00a0<code>OCP\\User::getDisplayNames<\/code>\u00a0(<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8919\">#8919<\/a>)<\/li>\n<li>remove\u00a0<code>OCP\\Share::resolveReshare<\/code>\u00a0(<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8853\">#8853<\/a>)<\/li>\n<li>removed deprecated\u00a0<code>OCP\\DB<\/code>\u00a0(<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8985\">#8985<\/a>)<\/li>\n<\/ul>\n<p><strong>Deprecated APIs:<\/strong><\/p>\n<ul>\n<li><code>OCP\\Files<\/code>\u00a0is deprecated\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8922\">#8922<\/a><\/li>\n<li>Setting custom client URLs in a custom\u00a0<code>OC_Theme<\/code>\u00a0class is deprecated, settings in config.php should be used\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8994\">#8994<\/a><\/li>\n<li>OCS API\u00a0<code>getGroup<\/code>\u00a0method replaced by\u00a0<code>getGroupUsers<\/code>\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8904\">#8904<\/a><\/li>\n<li>log levels in\u00a0<code>OCP\\Util<\/code>\u00a0are deprecated and moved to the\u00a0<code>ILogger<\/code>\u00a0interface\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/9308\">#9308<\/a><\/li>\n<li><code>OCP\\AppFramework\\Db\\Mapper<\/code>\u00a0is deprecated move to\u00a0<code>OCP\\AppFramework\\Db\\QBMapper<\/code>\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/9444\">#9444<\/a><\/li>\n<\/ul>\n<p><strong>Internals stuff:<\/strong><\/p>\n<ul>\n<li>cleanup of\u00a0<code>OC_*<\/code>\u00a0namespace &#8211; we removed quite some classes, methods and constants from our internal namespace. If it was used by any app in the App Store we notified the owner of that app. Keep in mind that using the OC_ namespace is not official supported and can break any time without notice. So better not use it in your app.<\/li>\n<li><code>OC_Group_Backend<\/code>\u00a0got removed:\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/8988\">#8988<\/a><\/li>\n<li><code>OC_Response::setStatus<\/code>\u00a0and the constants for status codes have been removed\u00a0<a href=\"https:\/\/github.com\/nextcloud\/server\/pull\/10009\">#10009<\/a><\/li>\n<\/ul>\n<h2>That&rsquo;s all?<\/h2>\n<p>It is a massive list, indeed. Nextcloud 14 makes a big leap forward, allowing app developers to build great new apps with better-than-ever integration in the rest of Nextcloud. This means apps have to be adjusted, and our team is opening issues and helping app developers do this right now. You can see <a href=\"https:\/\/github.com\/nextcloud\/server\/issues\/7827#ref-issue-347424977\" rel=\"noopener\" target=\"_blank\">some of the progress on github.<\/a> If you are an app developer and need help, let us know! You can always ask for help in our <a href=\"https:\/\/github.com\/nextcloud\/server\/issues\/7827\" rel=\"noopener\" target=\"_blank\">changes-for-14 tracking issue<\/a>, or ping us on IRC.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>For developers, Nextcloud 14 introduces a series of changes that will impact their apps. Many have already been updated and we&rsquo;re working with community members to update the over 120 apps on our app store. Besides changes and removal of old API elements, there are of course also new capabilities to be taken advantage off. [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":4432,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"publish_to_discourse":"0","publish_post_category":"22","wpdc_auto_publish_overridden":"","wpdc_topic_tags":"","wpdc_pin_topic":"","wpdc_pin_until":"","discourse_post_id":"107978","discourse_permalink":"https:\/\/help.nextcloud.com\/t\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/35192","wpdc_publishing_response":"","wpdc_publishing_error":"","footnotes":""},"categories":[7],"tags":[],"class_list":["post-4388","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Changes for developers in Nextcloud 14, beta 4 ready for testing - Nextcloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Changes for developers in Nextcloud 14, beta 4 ready for testing - Nextcloud\" \/>\n<meta property=\"og:description\" content=\"For developers, Nextcloud 14 introduces a series of changes that will impact their apps. Many have already been updated and we&rsquo;re working with community members to update the over 120 apps on our app store. Besides changes and removal of old API elements, there are of course also new capabilities to be taken advantage off. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/\" \/>\n<meta property=\"og:site_name\" content=\"Nextcloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Nextclouders\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-08-16T12:44:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/nextcloud.com\/wp-content\/uploads\/2018\/08\/android-trash.png\" \/>\n\t<meta property=\"og:image:width\" content=\"304\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jos Poortvliet\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@nextclouders\" \/>\n<meta name=\"twitter:site\" content=\"@nextclouders\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jos Poortvliet\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/\"},\"author\":{\"name\":\"Jos Poortvliet\",\"@id\":\"https:\/\/nextcloud.com\/fr\/#\/schema\/person\/c3c1a52fbc1c6a2be2f1df8818daa8c2\"},\"headline\":\"Changes for developers in Nextcloud 14, beta 4 ready for testing\",\"datePublished\":\"2018-08-16T12:44:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/\"},\"wordCount\":542,\"publisher\":{\"@id\":\"https:\/\/nextcloud.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/nextcloud.com\/c\/uploads\/2018\/08\/android-trash.png\",\"articleSection\":[\"News\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/\",\"url\":\"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/\",\"name\":\"Changes for developers in Nextcloud 14, beta 4 ready for testing - Nextcloud\",\"isPartOf\":{\"@id\":\"https:\/\/nextcloud.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/nextcloud.com\/c\/uploads\/2018\/08\/android-trash.png\",\"datePublished\":\"2018-08-16T12:44:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/#primaryimage\",\"url\":\"https:\/\/nextcloud.com\/c\/uploads\/2018\/08\/android-trash.png\",\"contentUrl\":\"https:\/\/nextcloud.com\/c\/uploads\/2018\/08\/android-trash.png\",\"width\":304,\"height\":540,\"caption\":\"Undo file deletions on Android with Nc 14\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/nextcloud.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Changes for developers in Nextcloud 14, beta 4 ready for testing\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/nextcloud.com\/fr\/#website\",\"url\":\"https:\/\/nextcloud.com\/fr\/\",\"name\":\"Nextcloud\",\"description\":\"Regain control over your data\",\"publisher\":{\"@id\":\"https:\/\/nextcloud.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/nextcloud.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/nextcloud.com\/fr\/#organization\",\"name\":\"Nextcloud\",\"url\":\"https:\/\/nextcloud.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/nextcloud.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/nextcloud.com\/c\/uploads\/2022\/10\/nextcloud-logo-blue-transparent.svg\",\"contentUrl\":\"https:\/\/nextcloud.com\/c\/uploads\/2022\/10\/nextcloud-logo-blue-transparent.svg\",\"width\":\"1024\",\"height\":\"1024\",\"caption\":\"Nextcloud\"},\"image\":{\"@id\":\"https:\/\/nextcloud.com\/fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Nextclouders\/\",\"https:\/\/x.com\/nextclouders\",\"https:\/\/www.linkedin.com\/company\/10827569\/\",\"https:\/\/youtube.com\/nextcloud\",\"https:\/\/www.instagram.com\/nextclouders\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/nextcloud.com\/fr\/#\/schema\/person\/c3c1a52fbc1c6a2be2f1df8818daa8c2\",\"name\":\"Jos Poortvliet\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/nextcloud.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1c6de64891ee8c4902e1ac198f26ea5fb202d8bbaa7bce35b6a184610bbe4a3d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1c6de64891ee8c4902e1ac198f26ea5fb202d8bbaa7bce35b6a184610bbe4a3d?s=96&d=mm&r=g\",\"caption\":\"Jos Poortvliet\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Changes for developers in Nextcloud 14, beta 4 ready for testing - Nextcloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/","og_locale":"fr_FR","og_type":"article","og_title":"Changes for developers in Nextcloud 14, beta 4 ready for testing - Nextcloud","og_description":"For developers, Nextcloud 14 introduces a series of changes that will impact their apps. Many have already been updated and we&rsquo;re working with community members to update the over 120 apps on our app store. Besides changes and removal of old API elements, there are of course also new capabilities to be taken advantage off. [&hellip;]","og_url":"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/","og_site_name":"Nextcloud","article_publisher":"https:\/\/www.facebook.com\/Nextclouders\/","article_published_time":"2018-08-16T12:44:15+00:00","og_image":[{"width":304,"height":540,"url":"https:\/\/nextcloud.com\/wp-content\/uploads\/2018\/08\/android-trash.png","type":"image\/png"}],"author":"Jos Poortvliet","twitter_card":"summary_large_image","twitter_creator":"@nextclouders","twitter_site":"@nextclouders","twitter_misc":{"\u00c9crit par":"Jos Poortvliet","Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/#article","isPartOf":{"@id":"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/"},"author":{"name":"Jos Poortvliet","@id":"https:\/\/nextcloud.com\/fr\/#\/schema\/person\/c3c1a52fbc1c6a2be2f1df8818daa8c2"},"headline":"Changes for developers in Nextcloud 14, beta 4 ready for testing","datePublished":"2018-08-16T12:44:15+00:00","mainEntityOfPage":{"@id":"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/"},"wordCount":542,"publisher":{"@id":"https:\/\/nextcloud.com\/fr\/#organization"},"image":{"@id":"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/#primaryimage"},"thumbnailUrl":"https:\/\/nextcloud.com\/c\/uploads\/2018\/08\/android-trash.png","articleSection":["News"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/","url":"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/","name":"Changes for developers in Nextcloud 14, beta 4 ready for testing - Nextcloud","isPartOf":{"@id":"https:\/\/nextcloud.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/#primaryimage"},"image":{"@id":"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/#primaryimage"},"thumbnailUrl":"https:\/\/nextcloud.com\/c\/uploads\/2018\/08\/android-trash.png","datePublished":"2018-08-16T12:44:15+00:00","breadcrumb":{"@id":"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/#primaryimage","url":"https:\/\/nextcloud.com\/c\/uploads\/2018\/08\/android-trash.png","contentUrl":"https:\/\/nextcloud.com\/c\/uploads\/2018\/08\/android-trash.png","width":304,"height":540,"caption":"Undo file deletions on Android with Nc 14"},{"@type":"BreadcrumbList","@id":"https:\/\/nextcloud.com\/fr\/blog\/changes-for-developers-in-nextcloud-14-beta-4-ready-for-testing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/nextcloud.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Changes for developers in Nextcloud 14, beta 4 ready for testing"}]},{"@type":"WebSite","@id":"https:\/\/nextcloud.com\/fr\/#website","url":"https:\/\/nextcloud.com\/fr\/","name":"Nextcloud","description":"Regain control over your data","publisher":{"@id":"https:\/\/nextcloud.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nextcloud.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/nextcloud.com\/fr\/#organization","name":"Nextcloud","url":"https:\/\/nextcloud.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/nextcloud.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/nextcloud.com\/c\/uploads\/2022\/10\/nextcloud-logo-blue-transparent.svg","contentUrl":"https:\/\/nextcloud.com\/c\/uploads\/2022\/10\/nextcloud-logo-blue-transparent.svg","width":"1024","height":"1024","caption":"Nextcloud"},"image":{"@id":"https:\/\/nextcloud.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Nextclouders\/","https:\/\/x.com\/nextclouders","https:\/\/www.linkedin.com\/company\/10827569\/","https:\/\/youtube.com\/nextcloud","https:\/\/www.instagram.com\/nextclouders\/"]},{"@type":"Person","@id":"https:\/\/nextcloud.com\/fr\/#\/schema\/person\/c3c1a52fbc1c6a2be2f1df8818daa8c2","name":"Jos Poortvliet","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/nextcloud.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1c6de64891ee8c4902e1ac198f26ea5fb202d8bbaa7bce35b6a184610bbe4a3d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1c6de64891ee8c4902e1ac198f26ea5fb202d8bbaa7bce35b6a184610bbe4a3d?s=96&d=mm&r=g","caption":"Jos Poortvliet"}}]}},"featured_media_url":"https:\/\/nextcloud.com\/c\/uploads\/2018\/08\/android-trash.png","_links":{"self":[{"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/posts\/4388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/comments?post=4388"}],"version-history":[{"count":0,"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/posts\/4388\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/media\/4432"}],"wp:attachment":[{"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/media?parent=4388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/categories?post=4388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nextcloud.com\/fr\/wp-json\/wp\/v2\/tags?post=4388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}