-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Critical changes for developers & admins for Nextcloud 14 #7827
Comments
I put this on our forum so app devs can give input: |
@jospoortvliet mind removing the actual changes, so we have only one place where we need to update stuff? |
Fixed it in the forums. |
@MariusBluem We also need to update the "theme email template docs" then for 14 😉 |
@jospoortvliet Also something for the release notes. |
Latest changes. |
Added a note about the private namespace |
|
|
Blog posts about this right when 14 hit would have been great. I caught the one that just came out recently, and am just now realizing the OCP/DB's |
That was the plan, but somehow slipped through and was done quite late. Also as you can see we tried to reach out to people early if we found their projects on some hosting platform (we check GitHub and Gitlab and even emailed some). Also the prepare statement was annotated with the deprecation text for 3 years now. Typically IDEs show this to you inline so that you are aware of this. |
But sorry, that we missed to reach out to you :/ We try our best in the future. |
@Fmstrat Also the plan is to have such an overview ticket for every major release to which developer could subscribe and get the information as soon as possible. |
@MorrisJobke That all sounds excellent! As for IDEs, I'm old school with vim in a terminal, so no real assistance there. 😉 It would also be great if there was one ticket for all releases that was locked down, then when you open a new ticket for the next release place a link in the master one. That way developers can subscribe to the master issue and not miss when the new one is created. Thanks! |
We will have a look at this. Thanks for this valuable feedback. |
For 14 this one is done. I will post here also the overview ticket that is planned and then we continue with this kind of ticket in 15. |
@MorrisJobke Awesome, thank you! Posting the overview ticket here would be very helpful. I'll subscribe to that when it comes. |
The Nextcloud 16 version of this is in #12915 |
This ticket is to collect the critical changes for developers for Nextcloud 14.
AppFramework\Http\Request::getHeader
now really only returns string (and notnull
) anymore (Request->getHeader() should always return a string #7813)Security\ICrypto::decrypt
now accepts strings only and also returns string only (Adds type hinting for scalar types in ICrypto->decrypt #7825)OCP\AppFramework\Utility\ITimeFactory
is strictly typed now (Make the ITimeFactory strict + return types #7838)OCP\IL10N
is strickly types which means that thet
function expects an array (Make OCP\IL10N strict #8476) - see also Relax what t accepts so we don't break it all #8497 for a relaxed versionRemoved from public interface
OCP\AppFramework/IAppContainer
(Remove deprecated functions from DI Container #7839)OCP\Config
(Remove deprecated \OCP\Config #7840)OCP\ISearch
(Removed deprecated search function from ISearch #7842)OCP\Util
(Remove deprecated functions for OCP\Util #7843)OCP
constantes (Remove deprecated constants #7844)OCP\Util
(Remove unused and deprecated methods from OCP\Util #8783) -sendMail
,encryptedFiles
,getServerHost
,getServerProtocol
,getRequestUri
,getScriptName
OCP\IHelper
(Remove unused and deprecated class and interface AppHelper #8784)insertIfNotExist
fromOCP\DB
(Use insertIfNotExist of the new interface #8786)OCP\DB
(Remove deprecated and unsused methods of OCP\DB #8787) -insertid
,rollback
,isError
OCP\Response
(Remove unused methods of OC_Response #8792)OCP\Util
(Remove deprecated URL functions for OCP\Util #8811)OCP\Contacts
(Remove deprecated OCP\Contacts #8816)OCP\BackgroundJob::registerJob
(Remove old deprecated function from the BackgroundJob #8877)OCP\Files::tmpFile
andOCP\Files::tmpFolder
(Remove deprecated tmpFile/tmpFolder #8878)OCP\JSON
(Remove unused deprecated functions from OCP\JSON #8879 & Remove \OCP\JSON #8943)beginTransaction
,commit
andgetErrorMessage
fromOCP\DB
(Remove unused and deprecated methods of OCP\DB #8914)OCP\Response
(Remove deprecated and unused OCP\Response #8918)OCP\User::getDisplayNames
(Remove deprecated and unused method OCP\User::getDisplayNames #8919)OCP\Share::resolveReshare
(Remove unused resolveReshare of old sharing code #8853)OCP\DB
(Cleanup ocp db #8985)Changed
occ
command interface:occ upgrade
does not have the option--no-app-disable
anymore (it is used for PHP 7+ anyways already) (Remove not needed 3rdparty app disabling during upgrade for PHP 5.x #7955)Changed available dependencies:
$fromMailAddress
will not be available anymore - just define it in your apps dependency container if you need it (Cleanup unused parameter #8336)Changed public interfaces (that could be implemented by an app):
\OCP\Mail
and the email templates got proper type hints: Make \OCP\Mail strict #8614OCP\Authentication\TwoFactorAuth
got typehints and return types: Strict 2FA #8981OCP\Migration\IMigrationStep
has two new methods Add human readable description to migration steps #9167 (covered if the apps use the abstract classSimpleMigrationStep
which is the default)OCA.Search
is nowOCA.Search.Core
. New standard for global search New search standard and user search #9912EMailTemplate
child classes should use the%$1s
notation for replacements to be future compatible and be able to reuse parameters EMailTemplate: Fix button background in Lotus Notes #10291Structural changes:
with-app-sidebar
not required anymore to open the sidebar only usedisappear
on the sidebarsvg
classe not required anymorewith-settings
,with-icon
not needed anymoreChanged behaviour:
AddUser
POST:/users
now allow empty password iff email is set and valid Allow admin to create users without password by sending mail automatic… #8856Changed config:
bucket/container
parameter. See Swift usescontainter
notbucket
#8793mail_smtpmode
can no longer be set tophp
. As this option is lost with the upgrade of phpmailer Upgrade to swiftmailer-6 #9791Internals stuff:
OC_*
namespace - 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.OC_Group_Backend
got removed: Remove deprecated OC_Group_Backend #8988OC_Response::setStatus
and the constants for status codes have been removed Replace hard coded HTTP status codes with proper calls to http_response_code #10009Added APIs:
Deprecated APIs:
OCP\Files
is deprecated Deprecated some methods of OCP\Files #8922OC_Theme
class is deprecated, settings in config.php should be used Deprecate theme sync clients #8994getGroup
method replaced bygetGroupUsers
Api: return users details by groups #8904OCP\Util
are deprecated and moved to theILogger
interface Move log constants to ILogger #9308OCP\AppFramework\Db\Mapper
is deprecated move toOCP\AppFramework\Db\QBMapper
Add a QueryBuilder based Mapper #9444Changed outside facing stuff:
Admin:
ownCloud
toNextcloud
: Systemd Logger #10048occ maintenance:mode --on/--off
and it was already in this state if will printMaintenance mode already enabled
instead of theMaintenance mode enabled
which was printed always before this change Updates the maintenance command output #10070The text was updated successfully, but these errors were encountered: