# Version 33.0.2 April 2, 2026

Changes:

    server
        Feat(recent-files): add recent_files_limit config on files settings (server#59216)
        33.0.2 RC0 (server#59259)
        Fix(files_sharing): do not prevent share creation if password is enabled but not supported by the current share type (server#59263)
        Fix(sharing): Don’t redirect when accepting a share failed (server#59305)
        33.0.2 RC1 (server#59306)
        33.0.2 (server#59392)
    activity
        Chore(branchoff): Set version on stable33 to a stable one (activity#2480)
    bruteforcesettings
        Chore(branchoff): Set version on stable33 to a stable one (bruteforcesettings#1032)
        Update nextcloud/ocp dependency (bruteforcesettings#1038)
    files_downloadlimit
        Chore(branchoff): Set version on stable33 to a stable one (files_downloadlimit#756)
    files_pdfviewer
        Chore(branchoff): Set version on stable33 to a stable one (files_pdfviewer#1401)
    firstrunwizard
        Chore(branchoff): Set version on stable33 to a stable one (firstrunwizard#2020)
    password_policy
        Chore(branchoff): Set version on stable33 to a stable one (password_policy#914)
    photos
        Chore(branchoff): Set version on stable33 to a stable one (photos#3459)
    privacy
        Chore(branchoff): Set version on stable33 to a stable one (privacy#1289)
    recommendations
        Chore(branchoff): Set version on stable33 to a stable one (recommendations#1004)
    related_resources
        Chore(branchoff): Set version on stable33 to a stable one (related_resources#907)
    serverinfo
        Chore(branchoff): Set version on stable33 to a stable one (serverinfo#967)
    survey_client
        Chore(branchoff): Set version on stable33 to a stable one (survey_client#391)
    suspicious_login
        Chore(branchoff): Set version on stable33 to a stable one (suspicious_login#1092)
    text
        Fix(deps): update dependency yjs to ^13.6.30 (text#8394)
        Chore(branchoff): Set version on stable33 to a stable one (text#8407)
    twofactor_totp
        Chore(branchoff): Set version on stable33 to a stable one (twofactor_totp#1751)
    updater
        Fix(deps): align composer-lock and checked-in vendor/ (updater#727)
    viewer
        Chore(branchoff): Set version on stable33 to a stable one (viewer#3126)

Version 33.0.1 March 27, 2026
Changes:

    server
        Fix(docs): Fix dead documentation link for Windows file names (server#58291)
        Fix(comments): properly handle opening the sidebar when Activity integration is used (server#58294)
        Fix(theming): display error messages on image upload and delete previous image only after validation (server#58323)
        Fix: don’t try to create preview folder if it already exists (server#58328)
        Fix: obey x-nc-scheduling flag on delete (server#58341)
        Fix(sftp): Handle empty port parameter to allow host-defined ports (server#58358)
        Feat: add upload_time support to file search and recent files (server#58374)
        Fix(files): correctly sort views (server#58375)
        Fix(cache): filter out invalid entries in `OC\Files\Cache\Wrapper\CacheWrapper::getFolderContentsById` (server#58378)
        Fix(setup): add index properties_name_path_user by default on new installs (server#58418)
        Fix(external_storage): hide local storage as an option for users (server#58424)
        Fix(user_status): mount emoji picker outside of dialog (server#58429)
        Fix(perf): use index when deleting old previews (server#58431)
        Fix(Propagator): Skip groupfolders root entries (server#58433)
        Fix/more missing userid cases (server#58440)
        Fix(files_sharing): ensure the server share API errors are shown (server#58441)
        Fix(TransferOwnershipService): Remove groupfolders size (server#58449)
        Fix(Propagator): Also skip groupfolders versions and trash entries (server#58450)
        Fix(View): Handle ICacheEntry returned by FileInfo->getData() (server#58455)
        Fix(files): fix tab navigation from select all checkbox to batch actions (server#58462)
        Fix(files_sharing): make legacy `downloadShare` endpoint compatible with legacy behavior (server#58468)
        Fix(dav): Use an exhaustive list for allowed serialized classes (server#58511)
        Build: fix vite config for assets imported from node modules (server#58513)
        Fix(Cron): Log WebCron access at INFO LEVEL (server#58517)
        Fix(propagator): Don’t run queries if no parents (server#58521)
        Fix(core): Allow external sharing to plain http://localhost (server#58523)
        Fix: remove user part only at the beginning of path (server#58527)
        Fix(share): Set expiration time to end of day 59:59) (server#58536)
        Build(deps): bump the symfony group across 1 directory (server#58546)
        Fix: improve logging around automatic cache updated for dav downloads (server#58551)
        Fix: correctly return false for filesize on non-existing file (server#58553)
        Avoid recomputing list of mounts by provider (server#58558)
        Fix(snowflake_ids): allow multiple instances with same temp directory (server#58561)
        Fix(L10N): stop stripping _ from language codes (server#58575)
        Fix(notifications): Update notifier exception handling (server#58583)
        Fix(files_external): ignore unsatisfied optional dependencies (server#58588)
        Feat: calendar read and write federation (server#58590)
        Fix: pass only object key to deleteObjects call (server#58605)
        Fix(repair): Fix repair steps when files_sharing is disabled (server#58607)
        Fix: Use configured loglevel even when log.condition matches is set (server#58612)
        Chore(deps): Bump the github-actions group with 5 updates (server#58650)
        Perf(sharing): Avoid loading all shares from all users when unsharing (server#58658)
        Fix(s3): prevent “0” path from being treated as root (server#58666)
        Ci(performance): fix Unexpected input warning for profiler-branch (server#58668)
        Fix: check source and target when emitting copy event (server#58673)
        Fix: Set files app lexicon strictness to IGNORE (server#58683)
        Fix(files_sharing): allow strict validation of shares (server#58688)
        Fix(files_external): set default values for new configurations (server#58690)
        Feat: set creation_time on file creation and render recently created icon (server#58694)
        Fix(files): properly handle dropping files (server#58701)
        Remove external shares from share list (server#58717)
        Fix(sharing): do not notify remote if owner and sharee are local users (server#58719)
        Fix updating cached mounts with multiple entries for root id (server#58733)
        Handle case where we can’t get the filesize after open in dav get (server#58736)
        Perf(preview): bulk process preview regeneration (server#58796)
        Feat: Add memcache_customprefix (server#58810)
        Fix(preview): Validate preview MIME type (server#58814)
        Fix: add fallback to raw path info (server#58831)
        Feat(routing): add files_sharing_raw to rootUrlApps (server#58838)
        Fix: give target file all permissions on copy (server#58846)
        Chore(deps): Update haze to 2.2.0 (server#58850)
        Fix:(dav): add note to example contact (server#58866)
        Chore(metrics): harden Cached exporter (server#58876)
        Fix(videoverification): Remove CSP wildcard for video verification (server#58877)
        Tests – Fix `Implicit conversion from float 500.5 to int loses precision` in ViewTest (server#58878)
        Fix(SecurityMiddleware): return header to distinguish error type (server#58880)
        Fix: PostgreSQL transaction aborts when caching user mounts (server#58884)
        Stable33 authoritative share (server#58894)
        Fix federated reshares (server#58899)
        Feat: improve calendar migrator (server#58907)
        Fix: Remove deprecated RFC7231 constant to avoid warnings on PHP 8.5 (server#58911)
        Build(deps): bump nextcloud/lognormalizer from 3.0.0 to 3.0.1 (server#58968)
        Chore: Fix SPDX header (server#58969)
        Fix(apporder): Load custom app order before resolving closures (server#58972)
        Fix(comments): Don’t return mentions in markdown code (by default) (server#58981)
        Chore(quota): hide available space from error (server#58994)
        Fix(files): correctly handle nodes with snowflake ids (server#58999)
        Chore(build): update list of ignored files (server#59007)
        Fix(admin): use correct delegation class (server#59011)
        Fix: Add missing Attribute and fix parameter type in renewpassword route (server#59014)
        Fix(initializeSession): only log HMAC problem to critical logs if indeed critical (server#59016)
        Fix: provide `canDownload` helper for shares and use it where appropriate (server#59021)
        Fix(comments): Correctly treat end of message as end of code block/in… (server#59024)
        Fix(LDAP): use displayname from DB, before reaching out to LDAP (server#59035)
        Fix(files_external): properly handle API errors (server#59042)
        33.0.1 RC1 (server#59046)
        Fix(files_sharing): respect config to skip certificate verification (server#59050)
        Fix: Move hasAnnotationOrAttribute to the reflector (server#59057)
        Fix(bg_jobs): store job argument as a text, increase length cap to 32000 (server#59067)
        Feat(CalDAV): Add function to get the token of a publicly shared calendar (server#59080)
        Feat(taskprocessing): add worker command for synchronous task processing (server#59082)
        Fix(sharing): Prevent empty password when checkbox is enabled (server#59090)
        Revert “Stable33 authoritative share” (server#59172)
        Fix FederatedShareProviderReshareRemoteTest (server#59174)
        33.0.1 (server#59226)
        Revert “perf(preview): bulk process preview regeneration” (server#59231)
    3rdparty
        Build(deps): bump the symfony group across 1 directory (3rdparty#2324)
        Build(deps): bump nextcloud/lognormalizer from 3.0.0 to 3.0.1 (3rdparty#2354)
    activity
        Fix: Fix handling of deleting share from self (activity#2385)
        Perf: Replace getById call with getFirstNodeById (activity#2388)
        Notice on empty cachedPath (activity#2390)
        Fix(bulkactivity): bulk query user settings (activity#2419)
        Fix: array offset error if value is not set (activity#2422)
        Fix: don’t resend failed emails (activity#2429)
        Fix(stream): add file path to tooltip (activity#2433)
        Perf: add new index to serve a full WHERE clause (activity#2447)
        Fix: return type formatting for user paths (activity#2449)
        Fix: only write activites for actual public uploads (activity#2458)
        Fix(federation): check if app is enabled (activity#2463)
        Fix(accessibility): fix some accessibility issues (activity#2465)
        Fix: correct reshare notification path (activity#2467)
    app_api
        Feat: make Docker API version configurable via app config (app_api#798)
        Fix(HaRP-AIO): add missing docker_socket_port to auto-registered daemon config (app_api#801)
    bruteforcesettings
        Chore(deps): update dependencies and audit (bruteforcesettings#950)
    circles
        Fix: remove user part only at the beginning of path (circles#2374)
        Fix(loopback): circles:check always fails due to APCu race and missing CLI wrapper (circles#2388)
        Fix: Fix remote instance (circles#2396)
        Fix: Fix adding circle member (circles#2402)
    files_pdfviewer
        Fix “allow view without download” option not being handled (files_pdfviewer#1387)
        Update nextcloud/ocp to latest dev-stable33 (files_pdfviewer#1389)
    firstrunwizard
        Avoid cropping logo in About & New slideshow (firstrunwizard#1964)
    logreader
        Ci(psalm): Ignore psalm issues in vendor libs (logreader#1925)
        Chore: update workflows (logreader#1947)
    notifications
        Ci(actions): Update workflows (notifications#2808)
        Fix(notification): Fix color of notification icon in browser notifications (notifications#2864)
    password_policy
        Feat(api): Add context parameter to generate and validate endpoints (password_policy#900)
    photos
        Fix(faces): Retrieve recognize API key and send it along with DAV requests (photos#3444)
    privacy
        Fix – Replaced deprecated QueryBuilder `execute()` (privacy#1268)
    recommendations
        Chore(CI): Adjust testing matrix for Nextcloud 33 on stable33 (recommendations#971)
        Fix(deps): update minimatch (recommendations#994)
    related_resources
        Improve frame limit (related_resources#891)
    survey_client
        Fix(notification): Add option to never remind again (survey_client#390)
    text
        Fix(menu): fix labels for new file actions (text#8296)
        Fix(deps): update dependency @nextcloud/files to v4 (main) (text#8299)
        Fix: enable workspace header in “Personal files” (text#8305)
        Fix(css): always set highlighted background for inline code (text#8308)
        Fix(source-view): compute isEncrypted in ViewerComponent (text#8316)
        Debug flaky cypress test in stable33 (text#8320)
        Chore(test): fix race condition in attachments test (text#8326)
        Fix(search): also search for user mentions (text#8327)
        Fix(attachments): adjust fileId in attachments folder+path on folder copy (text#8339)
        Fix(links): allow inline code within links (text#8345)
        Fix: sanitize name of attached file (text#8347)
        Remove unneeded max-height from text-menubar which caused a bug (text#8351)
        Fix(editor): make editor container grow on empty/short content (text#8355)
        Fix: Exclude Readme.md files from file locking in the text app (text#8363)
        Chore(cleanup): replace markdownit-katex with @mdit/tex (text#8367)
        Fix(menubar): Allow to inject custom link action (text#8369)
        Fix(link): use folder icon for “Link to file or folder” action (text#8374)
    twofactor_nextcloud_notification
        Create update-stable-titles.yml (twofactor_nextcloud_notification#1220)
    twofactor_totp
        Chore(CI): Adjust testing matrix for Nextcloud 33 on stable33 (twofactor_totp#1717)
        Fix(deps): update minimatch (twofactor_totp#1736)
    updater
        Fix(tests): check same code base fail if code contains “use ” comment (updater#714)
        Chore(tests): master is now 34 (updater#719)
    viewer
        Fix(ImageEditor): adjust line height to make filter names visible (viewer#3078)