The first beta of Nextcloud 35 is now available on download servers! ![]()
As always, help with testing is very much welcome!
If you notice anything out of order, please report back on the appropriate GitHub repository! ![]()
We will follow up with frequent betas over the next weeks.
Downloads
Changelog
Nextcloud 35.0.0beta1
server
- Revert āDo not do redirect handling when loggin outā (server#40407)
- Movie preview bug fix, in some case stream reading functions may block indefinitely (server#43226)
- Add rel attribute for fediverse link to make verification possible. (server#43364)
- Fix(argon2): respect max value for hashingThreads (server#45027)
- Fix(caldav): explicitly check from component types (server#48131)
- Feat(deps): Upgrade phpseclib to v3 (server#48183)
- Feat(occ): Better handling of disabled or unreacheable App store (server#49697)
- Feat: Run setup checks by category or class (server#49978)
- Fix(session): Update `last_seen` when user session is validated (server#50835)
- Fix: pass parent id to correctParentStorageMtime when known (server#53464)
- Chore: remove `always_populate_raw_post_data` (server#53583)
- Added parameter to disable web UI integration with local client (server#54191)
- Feat(theming): add option for reduce animation (server#55406)
- Fix(DirectEditing): expose already used methods on the public interface (server#55993)
- Fix(Dav): make absenceform textarea not overlap (server#56055)
- Fix(systemtags): remove duplicates, cleanup existing tags (server#56079)
- Fix(PublicPreview): Call getMimetype() on File objects (server#56196)
- Fix(l10n): Fix plural (server#56254)
- Show group display name when the group object is not loaded yet (server#56533)
- Added a exclude disabled option to last seen (server#57081)
- Feat (2fa): Add IStatelessProvider interface (server#57216)
- Fix: allow `occ maintenance:update:htaccess` to create .htaccess file in case it doesnāt exist yet (server#57227)
- Implement token exchange from OCM (server#57234)
- Chore(files): drop unused list.php (server#57333)
- Move invite-accepted capability and implementation to contacts app. (server#57853)
- Feat: delay fetching the display name of a share recipient untill we need it (server#58335)
- Chore: remove redundant ext-json requirement (bundled since PHP 8.0) (server#58370)
- Feat: frankenphp (server#58541)
- Feat(lookup): search for local account only via lookupserver (server#58567)
- Refactor: Add new modern events for system tag lifecycle (server#58602)
- Fix: improve logging around failed chunked object store uploads (server#58608)
- Fix: donāt return cache entries with null paths (server#58676)
- Refactor(admin_audit): migrate to IAppConfig (server#58750)
- Docs(config): clarify `remember_login_cookie_lifetime` behavior (server#58792)
- Docs(config): document `session_lifetime` semantics and interactions (server#58794)
- Test(ldap): align expectation for unset `ldapUserDisplayName2` with implementation to avoid PHP 8.5 warning (server#58813)
- Refactor(dbal): move from deprecated to modern calls (server#58891)
- Refactor(CapabilitiesManager): log slow capabilities in a single message (server#58971)
- Fix(lookup-server): accept self-signed lus on globalscale (server#58976)
- Remove usage of static vars or properties (server#59002)
- Fix: treat all WebKit iOS browseres the same (server#59168)
- Fix(sharing): icon color mismatch on download button in public share (server#59175)
- Enh(occ): make it possible to add an arbitrary number of users to a g⦠(server#59271)
- Fix(files_reminders): switch from DB-side `NOW()` to PHP-side generation (server#59358)
- Fix: folder tree selection after any action in main content (server#59359)
- Fix(SetupChecks): maintenance window length is 4h (not 6h) (server#59413)
- Fix(user_status): stabilise the user_status (server#59535)
- Fix(files_external): S3 folder mtime updated on every read-only access (server#59539)
- Feat(files_versions): allow to block version creation using WFE (server#59610)
- Fix(appconfig,userconfig): restore pre-migration fallback for ownCloud migration (server#59677)
- Feat: allow setting custom login-name for occ generated app password (server#59680)
- Refactor(share): DRY up expiration date validation and fix dispatchEvent() log message (server#59731)
- Fix(sharing): set STATUS_ACCEPTED when creating USERGROUP subshare on⦠(server#59813)
- Refactor: Cleanup files app bootstrap (server#59831)
- Fix: track time spent in recursive markOrRun calls (server#59857)
- Perf: remove needless check for changed storage id for mounts (server#59900)
- Perf: delay loading storage info in Cache untill needed (server#59901)
- Refactor(preview): remove deprecated `PreviewManager::registerProvider` API (server#59905)
- Fix(Files/Cache): align `MoveFromCacheTrait` fallback validation with `Cache::moveFromCache` (server#59916)
- Feat(settings): replace OnlyOffice with Euro-Office in office suite s⦠(server#59933)
- Add runtime operations in WFE (server#59966)
- Fix(repair): restrict unserialize() in RemoveBrokenProperties (server#59979)
- Docs(lock): clarify ILockManager API documentation (server#59984)
- Caldav party crasher (server#59988)
- Refactor(encryption): Migrate appconfig keys to typed bool IAppConfig with repair step (server#60002)
- Chore(i18n): Remove space in word1/word2 (server#60026)
- Chore(l10n): Plural needed to support multiplural languages (server#60027)
- Fix: missing early fail for basic auth without credentials (server#60029)
- Fix(encryption): Correctly report size for zero-byte encrypted files (server#60070)
- Fix rendering custom columns in file lists (server#60134)
- Feat(http-sig): Dual stack http-sig (server#60136)
- Fix(files_sharing): Hide incompatible actions in shares (server#60151)
- Let devs choose the handler for http requests (server#60167)
- Fix(files): only show template picker menu entries if possible (server#60187)
- Test: add playwright pipeline and start migrating Cypress to Playwright (server#60194)
- Fix: add proper ACLs for trashbin proxys (server#60211)
- Feat(settings): add shared Office admin section (server#60285)
- Fix(AppStore/Fetcher): catch GenericFileException when reading cache file in Fetcher (server#60286)
- Feat: make first login event webhook compatible (server#60305)
- Spelling fixes (server#60316)
- Fix(files_external): Move MountConfig to non-static services (server#60318)
- Fix(systemtags): Include leading slash in unified search tag link (server#60325)
- Fix(occ): set GID before UID to ensure success (server#60331)
- Fix(OC_Helper): properly calculate quota of shared storages (server#60341)
- Fix(encryption): Refactor EncryptionWrapper (server#60344)
- Fix(workflowengine): use proper contrast colors for operations (server#60347)
- Feat(appstore): show new column with groups the app is limited to (server#60355)
- Feat(core): app menu polish for NC34 (server#60358)
- Fix: Increase limit for share/unshare requests per hour (server#60359)
- Fix(appstore): do not offer rating apps not on appstore (server#60360)
- Fix(appstore): show reason why limit app to groups is not possible (server#60361)
- Fix error when creating mail shares if custom tokens are enabled (server#60378)
- Test(settings): reduce flakiness of authorized group integration assertions (server#60379)
Master is now 35 (server#60391)- Fix(windmill): Fix baseUrl in background job (server#60449)
- Fix(dav): finalize upload metadata before post-write hooks (server#60453)
- Fix(appstore): fix reference to non-existing `forceEnableApp` function (server#60455)
- Fix(files_sharing): do not double escape special characters (server#60457)
- Refactor(NavigationManager): move navigation definitions into apps (server#60458)
- Fix(dav): Skip removal of classified activity when not generated anymore (server#60461)
- Test(carddav): refactor testSearch to use clearer assertions and unique UIDs (server#60463)
- Fix: update cached mounts when moving share in repair step (server#60465)
- Fix: properly mark CleanupShareTarget as expensive (server#60466)
- Test(filesdrop): fix duplicate scenario titles, indentation, and add clarifying comments (server#60467)
- Docs(templates): fully document ITemplateManager (server#60470)
- Refactor(legacy): simplify getTheme and clarify legacy theme docs (server#60481)
- Feat: implement isSelectableGroup function to filter out unselectable groups (server#60483)
- Fix(files_sharing): Use UnknownActivityException (server#60493)
- Add task processing streaming support (server#60500)
- Feat(openmetrics): export more resilient if exception happens (server#60501)
- Fix(settings): Show loading spinner while searching accounts (server#60504)
- Feat(users): Check assertion when enabling user (server#60505)
- Fix: remove too verbose error log line in AddExtraHeadersPlugin (server#60511)
- Fix(files): Chromium-based browsers drag-and-drop (server#60519)
- Fix(appstore): use alias for translations as `appstore` is taken by `apps.nextcloud.com` (server#60528)
- Fix(files): use displayname rather than basename to use progress (server#60541)
- Donāt put hashed password in share api response (server#60542)
- Fix: only allow full admins to create ātoken neededā webhooks (server#60543)
- Fix: improve check if external storage backend is local (server#60544)
- Fix: handle NAT64 addresses in isLocalAddress (server#60546)
- Fix: donāt tell the remote their token is lower (server#60547)
- Fix: trim duplicate search results for external share (server#60587)
- Chore: cleanup useless files from repo (server#60590)
- Fix(settings): clear NcAppNavigation toggle overhang (server#60596)
- Chore(snowflake): add more randomness in server id fallback (server#60612)
- Fix(files): show proper information when a move will override the target (server#60631)
- Fix(caldav): grant sharee Acls to the delegate (server#60641)
- Refactor: Remove deprecated AutoCompleteEvent (server#60643)
- Fix(settings): confirm app-token revoke and preserve wipe state (server#60644)
- Fix: access shared and delegated trashbin objects (server#60648)
- Fix(http): avoid iconv for header ascii fallback (server#60649)
- Fix(config): add null coalescing fallback in getValueBool before strtolower (server#60654)
- Chore(psalm): forbid iconv (server#60655)
- Add fallback for Codespace environment variables (server#60663)
- Feat(core): Add centered search input to top bar (server#60665)
- Speedup share tests (server#60709)
- Fix(caldav-delegation): send notification to delegator (server#60712)
- Fix(files_reminders): keep batch alive on per-row failure (server#60713)
- Fix(federation): reset retainJob at start of run() (server#60714)
- Fix(MailPlugin): Stop applying the offset twice and the limit per wide/exact (server#60728)
- Fix: Add plural form for translations (server#60732)
- Fix(DB): Enforce foreign key constraints in SQLite (server#60733)
- Feat(UserManager): Add getters for avatar URLs (server#60734)
- Fix(security): donāt propagate ValueError from Crypto::decrypt() fallback (server#60735)
- Perf(ci): cache npm dependencies in Cypress init job using buildjet cache (server#60738)
- Test(ci): enforce PHPUnit time limits with sensible timeout values (server#60739)
- Fix(encryption): recovery keys should be shown when user keys are used (server#60741)
- Test: replace checkbox assertions with real assertions or DoesNotPerformAssertions (server#60742)
- Test(db): call parent::tearDown() in DB test classes that skipped it (server#60744)
- Test: replace checkbox assertions with DoesNotPerformAssertions (middleware) (server#60748)
- Test(share20): replace addToAssertionCount checkbox tests in Share20 ManagerTest (server#60751)
- Test(user_ldap): speed up AbstractMappingTestCase chunking test (server#60756)
- Fix(core): Hide current-app label at narrower viewports (server#60757)
- Test(behat): reset per-scenario state in BasicStructure and Sharing (server#60763)
- Background jobs improvements (server#60765)
- Fix(caldav): Expand recurring events for principal calendar search (server#60766)
- Feat: Add office as shipped app (server#60776)
- Feat(jobs): allow workers to keep track of executed jobs (server#60778)
- Feat(jobs): add command to list executed background jobs (server#60779)
- Refactor: Remove most usages of IAppContainer and IServerContainer (server#60780)
- Docs(appframework): clarify PasswordConfirmationRequired behavior in docblocks (server#60783)
- Fix(Storage): use `proxyexclude` parameter in DAV client (server#60787)
- Chore(Cache): Remove deprecated insert and update events (server#60797)
- Fix(encryption): Fix endpoint /ajax/userSetRecovery to support boolean (server#60801)
- Fix(Share): Add missing optional parameter to IManager::shareApiAllowLinks() (server#60809)
- Feat(search): Subdue header search input placeholder (server#60813)
- Fix: actually register listener for updating stored external storage credentials (server#60817)
- Fix(files_sharing): clear the password after saving (server#60825)
- Fix(AppSearch): Always sort apps first for search (server#60827)
- Refactor: move release changelog workflow to releases repo (server#60829)
- Feat(db): add occ db:info, db:size, db:index-usage and db:locks (server#60840)
- Fix(files_versions): guard null path in event listeners (server#60842)
- Feat(file-search): add property to SearchQuery and check select fields to decide wheter to join extended cache (server#60844)
- Test(cache): avoid ordering assumptions in testExtended (server#60881)
- Fix(TaskProcessing): restrict allowed_classes in Manager cache deserialization (server#60884)
- Docs(IRequest): streamline duplicate docs + update for clarity and accuracy (server#60889)
- Chore(deps): Update flake to NixOS 26.05 (server#60896)
- Fix(core): restore app menu label, show āSettingsā for sub-sections (server#60897)
- Fix: Make the IProvideUserSecretBackend usable (server#60898)
- Fix(previews): ffprobe hangs (server#60916)
- Docs: Add AI policy reference and starting point for agents.md (server#60922)
- Perf(user_ldap): chunk oracle queries for lower bind cost (server#60930)
- Fix(files): make sure nested changes are propagated to sidebar tabs (server#60943)
- Fix(user_ldap): allow editing profile fields not managed by LDAP (server#60948)
- Chore: Remove unused and long deprecated Remote components (server#60953)
- Chore: Deprecate IBroadcastEvent (server#60954)
- Refactor(server): Register alias when needed (server#60957)
- Fix: Files checker (server#60959)
- Refactor: Use new IQueryBuilder::MAX_IN_PARAMETERS (server#60960)
- Build: Dont include AGENTS.md and CLAUDE.md in release (server#60964)
- Job run history cleanup (server#60972)
- Fix: harden object store against copying a file to itself (server#60975)
- Fix(tests): remove integration tests that depend on deleted Remote API classes (server#60977)
- Fix(files_external): prevent dropdown entries from shrinking (server#60982)
- Fix(settings): add loading feedback to account create/edit dialogs (server#60986)
- Chore: fix SearchBinaryOperator constructor type hint (server#60988)
- Fix(menu): Fix icon colors on waffle menu (server#60989)
- Fix(theming): read cachebuster as int in manifest endpoint (server#61007)
- Fix(preview): First cleanup from filecache and then from preview table (server#61011)
- Fix: use card interface instead of object (server#61017)
- Fix(taskprocessing): claim tasks atomically so parallel workers donāt duplicate (server#61053)
- Fix(NavigationManager): resolve entries only when needed (server#61055)
- Fix(dav): properly handle files metadata (server#61057)
- Ci(integration): drop stale remoteapi_features test matrix entry (server#61063)
- Refactor(settings): migrate Users form sub-components to script setup (server#61064)
- Fix: use correct permissions mask for non-home storage public links (server#61067)
- Add AI policy check (server#61068)
- Chore: fix smbclient setup in ci (server#61069)
- Test: cleanup users before userbackend test (server#61071)
- Fix(comments): load comments styles when the comments app is loaded (server#61073)
- Fix(settings): Fix appstore icon color in settings menu (server#61075)
- Fix(comments): Use capped memory cache for comments (server#61091)
- Fix(files_sharing): Use share id in file actions (server#61099)
- Fix: Correctly detect appid for dist css files (server#61100)
- Fix(core): keep app menu settings icon legible on light backgrounds (server#61109)
- Fix(NavigationManager): only resolve navigations of booted apps (server#61120)
- Fix(ocm): merge resource types by name in discovery (server#61126)
- Feat(TaskProcessing): add AudioToTextSubtitles TaskType (server#61127)
- Feat(OCP): Add Interaction API (server#61128)
- Build(deps): bump symfony/mailer from 6.4.31 to 6.4.40 (server#61132)
- Fix deprecations in tests (server#61140)
- Test: Warn about slow startup time for phpunit tests (server#61141)
- Chore(PHP): Drop 8.2 for Nextcloud 35 (server#61142)
- Docs(tests): Add some general documentation for PlayWright (server#61143)
- Chore(workflows): keep only lowest and highest supported versions of dbs (server#61144)
- Test(files): migrate favorites e2e from Cypress to Playwright (server#61145)
- Fix(mimetype): Add TSV support in mimetype aliases, mapping, and names (server#61147)
- Build(deps): bump symfony/dom-crawler from 6.4.32 to 7.4.12 (server#61149)
- Speedup tests execution (server#61150)
- Test(files): migrate files actions e2e from Cypress to Playwright (server#61152)
- Test(files): migrate recent-view and regression specs from Cypress to⦠(server#61153)
- Ci(PHP): Only test against highest and lowest supported PHP versions (server#61158)
- Fix(appstore): bring back āupdate allā button (server#61163)
- Test(files): migrate copy/move e2e from Cypress to Playwright (server#61165)
- Test(ci): Do not always run e2e tests (server#61167)
- Fix Memcached CI job (server#61168)
- Test: Add missing calls to the parent setUp method (server#61169)
- Test(systemtags): migrate from Cypress to PlayWright (server#61175)
- Fix: resolve PHP deprecation of `imagedestroy` (server#61176)
- Build(deps): bump phpseclib/phpseclib from 2.0.53 to 2.0.54 (server#61177)
- Chore: Run integration tests only on PRs as the other tests (server#61181)
- Fix: Fix alignment issues of app password form ( #53123 ) (server#61186)
- Feat(TaskProcessing): Update completionExpectedAt in Manager#setTaskProgress (server#61190)
- Chore: Fix reuse licence after #60840 (server#61194)
- Set preferStreaming default value to false for task processing tasks (server#61197)
- Add OCM Notification Received Event (server#61201)
- Fix: Psalm errors from #60840 (server#61208)
- Chore: apply code style (server#61214)
- Style(PHP): Fix (server#61216)
- Test(core): migrate end-to-end test to PlayWright (server#61217)
- Test(playwright): fix local test server config for SQLite runs (server#61218)
- Test(files): migrate files/trashbin e2e from Cypress to Playwright (server#61219)
- Test(files): migrate files selection e2e from Cypress to Playwright (server#61221)
- Test(files): migrate files download e2e from Cypress to Playwright (server#61223)
- Test(login): migrate end-to-end tests to PlayWright (server#61225)
- Fix: Fix PHP Warning foreach() argument must be of type array|object, null given (server#61245)
- Chore: bump MySQL to min 8.4 and support 9.7 (server#61247)
- Fix(theming): preserve uploaded favicon and touch icon (server#61253)
- Fix(files_versions): avoid version snapshot races during cross-storage renames (server#61254)
- Test(s3): fix flaky EOF check and remove PHP 8.5 skip (server#61275)
- Chore: Update AI-policy workflow (server#61280)
- Fix: Drop PHP 8.2 in Nextcloud 35 in 3rdparty/ (server#61281)
- Feat(oauth2): Add commands for adding and deleting clients (server#61289)
- Fix(twofactor_backupcodes): Add a clean helper to set code as used (server#61292)
- Fix(caldav): respect federation settings (server#61293)
- Fix(maintenance): allow AppAPI to serve requests during maintenance mode (server#61294)
- Fix: Use token expiration for ephemeral sessions (server#61295)
- Fix(files_sharing): remove leading slash from filename on unshare toast (server#61303)
- Fix(team-manager): ensure team resources are only retrived for members (server#61308)
- Fix(ocm-add-share): adjust domain validation (server#61310)
- Fix(files_external): Allow editing auth mechanism on saved mounts (server#61312)
- Fix(user_ldap): Escape filter part when searching for group members (server#61320)
- Fix: Do not set last-password-confirm for apptoken sessions (server#61322)
- Fix(files): Open the sidebar for the current folder, not a stale child (server#61330)
- Fix: ensure file names are string-typed (server#61332)
- Fix: prevent editing delegated admins (server#61368)
- Fix(OCM): Remove comment meant only for OCP APIs (server#61399)
- Fix(settings): show app menu current-app button on settings pages (server#61406)
- Chore: Sync codeowner with our internal organisation (server#61407)
- Fix(auth): log invalid token during password reset (server#61408)
- Fix: Use a CappedMemoryCache for UserConfig to avoid memory exhaustion (server#61413)
- Fix(migrations): Trigger recently added migrations (server#61428)
- Fix(files): remove leading slash from destination in copy/move toast (server#61435)
- Perf: Only sort wrappers when adding them (server#61438)
- Perf(View): donāt sort twice the same array (server#61440)
- Fix(files_trashbin): create folder if missing when expiring trash (server#61442)
- Docs(config): clarify metadata and conversion file size limits (server#61478)
- Fix(dav): Always show example content section (server#61483)
- Fix(dav): Handle GenericFileException when reading default contact file (server#61485)
- Fix: Remove uses of deprecated service string names (server#61489)
- Fix: webhook payload for system tag events (server#61490)
- Feat: Make it possible to add a storage wrapper using public APIs (server#61493)
- Fix(ViewOnlyPlugin): Allow COPY and MOVE operations within the same storage (server#61497)
- Fix(onetime-qrcode): Remove password confirmation attribute (server#61501)
- Fix(settings): correct heading order in account management sidebar (server#61505)
- Fix(files): distinguish between files and folders for validation messages (server#61506)
- Perf: block more properties from using the custom properties backend (server#61509)
- Fix the ScanFiles job to not trigger scans of root directory for every single user (server#61511)
- Chore(tests): adjust PlayWright tests to follow ESLint rules (server#61513)
- Chore(comments): resolve ESLint warnings (server#61516)
- Fix: stop calling DI container in SharedStorage (server#61517)
- Feat: Add support for `NOT ILIKE` in query builder expressions (server#61521)
- Test(settings): migrate end-to-end tests from Cypress to PlayWright (server#61522)
- Perf: avoid DIing IRootFolder at every shared storage init (server#61530)
- Perf(log): normalize log data only when logging (server#61532)
- Fix(Collaborators): Fix matching emails to remote users if no remote results are present (server#61534)
- Chore(ISecureRandom): Deprecate generate() in favor of Randomizer::getBytesFromString() (server#61538)
- Refactor: Soft remove Emitter from IRootFolder interface (server#61539)
- Feat(share): add public share-review API under OCP\Share\ShareReview (server#61543)
- Refactor: Expose a public exception when no user is found (server#61544)
- Fix(db): add support for MariaDB 12.3 LTS and increase min. to 10.11 (server#61554)
- Fix(cache): make clear() redis cluster compatible (server#61559)
- Refactor: consolidate app loading logic in bootstrap process (server#61560)
- Feat(TaskProcessing): Add AudioToAudioTranslate TaskType (server#61564)
- Fix(psalm-strict): Fix lib exclusions (server#61565)
- Feat: mark legacy ai providers (server#61567)
- Fix(files_external): ignore deprecated backends (server#61568)
- Fix(files_external): properly apply default mount options (server#61573)
- Fix(updatenotification): use correct appstore route (server#61574)
- Fix(core): use proper API routes for recommended apps (server#61575)
- Fix(appstore): use proper app icon or adjust color if needed (server#61577)
- Fix(appstore): only show appstore entries if actual from appstore (server#61578)
- Fix(psalm): Set PHP version to 8.3 (server#61583)
- Fix(settings): display birthday correctly regardless of browsers timezone (server#61586)
- Fix(a11y): label account QR code button (server#61600)
- Fix(config): Decrypt sensitive appconfigs when requested (server#61608)
- Refactor(tests): cleanup PlayWright tests (server#61614)
- Fix(core): Throttle lost-password reset form when link is disabled (server#61615)
- Refactor(taskprocessing): mark built-in text task types as internal and deprecated if needed (server#61616)
- Fix(files_external/SMB): Use ānullā explicitly for no workgroup (server#61622)
- Fix(theming): allow to unselect a font theme (server#61627)
- Fix(core): reduce header height (server#61628)
- Refactor(preview): align provider lookup in PreviewManager checks (server#61629)
- Fix(files_sharing): reject custom share tokens longer than the db column (server#61630)
- Docs(preview): improve IPreview and IProviderV2 interface docs (server#61632)
- Fix(LoginForm): improve login throttle warning wording (server#61636)
- Fix(settings): in absence form avoid shifting dates to browsers timezone (server#61638)
- Fix(dav): Load ProfilerPlugin only when profiler is enabled (server#61639)
- Chore: Remove redundant assignment (server#61641)
- Fix(core): scope public share theme filter to the download icon (server#61648)
- Chore(jobs): write proper documentation for job:history (server#61657)
- Fix(files): proper accessible row name and title for overflow (server#61658)
- Fix(dav): return RFC 4791 no-uid-conflict on duplicate calendar UID (server#61659)
- Update script to latest (server#61660)
- Fix(core): resolve some edge cases with recommended apps (server#61663)
- Test(files_external): migrate end-to-end tests to PlayWright (server#61665)
- Fix(core): keep the header search input in document flow (server#61668)
- Sync ai-policy with org template (server#61669)
- Fix(rector): Donāt use AddSeeTestAnnotationRector in rector strict (server#61670)
- Fix: hide scroll bar in unified search when not needed (server#61679)
- Fix(dav): Do not respond version/trashbin download requests with 404 due to ChunkingV2Plugin (server#61680)
- Feat(bruteforce): improve bruteforce protection command output (server#61682)
- Feat(TaskProcessing): add TextToTextImprove to improve or iterate on text (server#61683)
- Fix(bruteforce): Donāt throttle requests with failing CSRF (server#61686)
- Fix: adjust file picker for background image to allow folder navigation (server#61688)
- Store taskprocessing output files with extension to ease mimtype guessing (server#61689)
- Feat: KV cache based on predis (server#61690)
- Build(deps): Composer audit updates (server#61696)
- Fix(db): align preview migration annotations with created tables (server#61705)
- Perf(db): drop redundant db-side migrations version sorting (server#61707)
- Docs(config): fix unbalanced inline literal in remember-me sample com⦠(server#61719)
- Ci: Add lables via rest api (server#61735)
- Docs(ratelimit): add missing @param documentation (server#61736)
- Docs(JS): fix typo in function name (server#61746)
- Test(files): migrate end-to-end tests to PlayWright (server#61751)
- Ci(dependabot): restore build/frontend dirs for stable33 npm updates (server#61806)
- Chore(deps): Bump postcss from 8.5.6 to 8.5.16 in /build/frontend-legacy (server#61823)
- Fix(jobs): resolve portability issues with background job cleanup (server#61830)
- Perf: Donāt fetch full group object in AuthorizedGroupMapper (server#61838)
- Fix(Sharing): Donāt break cache entry by setting path to null (server#61841)
- Fix(DeclarativeManager): Fix admin delegation (server#61845)
- Ci: Update policy check to org-latest (server#61847)
- Build(rector-strict): Bump PHP set to 8.3 (server#61848)
- Feat(core): header-anchored combobox shell for unified search (server#61849)
- Fix(metadata): bind chunked file ids (server#61857)
- Test: fix HEIC tests (server#61858)
- Fix(dav): release part-file lock when an upload fails (server#61863)
- Feat: Disable callable serialization in sabre/xml (server#61866)
- Fix(auth): confine OCM access token to the masked share endpoint (server#61870)
- Fix(jobs): compute memory usage after clean-up (server#61877)
- Fix(settings): missing end of html tag (server#61880)
- Fix(CalDav): Force trashbin deletion when re-creating item with same UID (server#61881)
- Test(installer): migrate end-to-end tests to PlayWright (server#61883)
- Perf: Replace more calls from getUserGroups to getUserGroupIds (server#61904)
- Fix(files_sharing): preserve unmasked permissions as scan_permissions (server#61905)
- Perf: Donāt fetch all the trash items when deleting a single item (server#61906)
- Feat(files_sharing): schedule external share scan job when accepted (server#61908)
- Fix(s3): trim multiple spaces to single space in original path header (server#61914)
- Feat: Fetch groups in batch in getUserGroups (server#61916)
- Fix: Catch expected NotFoundException (server#61917)
- Fix(files_sharing): Fail on sharing file with create or delete permission before failing on increased permissions (server#61929)
- Fix(files): use proper translation templates (server#61931)
- Fix(files): do not let a failing move hook break the move or hide files (server#61937)
- Refactor(Interaction): Allow multiple resources and receivers in a single event (server#61938)
- Feat(core): add unified search loading controller (server#61941)
- Feat(login): clean remember me tokens (server#61944)
- Refactor: Centralize logic for checking if a share is password protected (server#61946)
- Ci: migrate from buildjet to cache action (server#61947)
- Fix(preview): Handle unique constraints violation exception (server#61950)
- Feat(occ): improve config:list help text/descriptions (server#61953)
- Perf(carddav): reduce disk usage of photocache (server#61957)
- Fix: Output shape validation will delete keys when there is a list of files (server#61962)
- Feat: Add MultimodalChatWithTools and MultimodalContextAgentInteraction (server#61963)
- Fix(systemtags): correct @since tag for sanitizeWordsAndEmojis (server#61966)
- Fix(UserPlugin): Donāt return mail matches on user id search (server#61981)
- Fix(UserPlugin): Donāt search for displayname when restricted (server#61982)
- Fix(UserPlugin): Donāt return disabled users on user ID and mail match (server#61984)
- Fix(encryption): bind personal private key password inputs (server#62027)
- Chore(playwright): Wait for server response before checking sorting result (server#62032)
- Chore(playwright): Rewrite password confirmation handler to avoid race conditions (server#62033)
- Chore(tests): Fix broken rector run due to conflict with psalm (server#62034)
- Chore(tests): Fix flaky nodb tests due to `AlgorithmTest` (server#62035)
- Feat(ITeamManager): Add getTeam method (server#62038)
- Perf(workflow): Implement result cache for IP checks (server#62039)
- Fix(caldav): url-encode owner/user in activity event links (server#62063)
- Improve logout url generation (server#62081)
- Fix(FilesWidget): allow to resize widget vertically (server#62089)
- Rate limiting for creating federated shares (server#62091)
- Fix(files_sharing): Allow access to shares by disabled users if hide_disabled_user_shares is enabled (server#62092)
- Feat(core): drive the unified search modal from the search controller (server#62093)
- Fix(KeyValueCache): allow negative TTL for file locking (server#62114)
- Fix: Disable imagick preview providers (server#62145)
- Feat(core): keyboard navigation and focus shortcut for unified search (server#62157)
- Fix(preview): properly handle encoded content (server#62162)
- Fix(AmazonS3): pass S3 error messages through to the frontend (server#62163)
- Perf(dav): Stream PROPFIND output (server#62164)
- Chore: undeprecate the redis cache backend (server#62195)
- Fix(files_version): mtime confusion on milliseconds (server#62204)
- Occ file command enhancements (server#62207)
- Fix: donāt die if we canāt encode file metadata on upload (server#62208)
- Use stricter types on a few classes (server#62228)
- Feat(Dispatcher): Warn about open transaction after controller method was executed (server#62232)
- Fix(SetupChecks): Link to task processing worker docs (server#62240)
- Add Unified Sharing (server#62241)
- Fix(theming): mark background button text as English (server#62242)
- Fix(TaskProcessing): Claim tasks atomically in both SynchronousBackgr⦠(server#62243)
- Fix(dashboard): update scrollbar contrast on background (server#62244)
- Fix(files): properly handle folders without permissions (server#62254)
- Fix(files): preserve encryptedVersion when copying cache entries (server#62255)
- Fix(appstore): initialize the exApps store when enabled (server#62276)
- Test: mark installation tests as slow (server#62282)
- Test(users): prevent flaky tests with hardcoded values (server#62283)
- Test(files): wait for PUT before continue with tests (server#62284)
- Test(files): wait for actual requests when deleting files (server#62286)
- Test(TestCase): restore unregistered services correctly (server#62326)
- Test(files): make watcher propagation mtime regression test deterministic (server#62329)
- Fix(core): handle parameter limits in files metadata deletion (server#62331)
- Refactor: Add type annotations to middlewares (server#62334)
- Use constructor properties in Sharing (server#62335)
- Fix: Mark some parameters as sensitive (server#62336)
- Perf(ShareUser): Only fetch display name instead of user object (server#62341)
- Perf(user-display-name): Check memory cache before trying redis (server#62353)
- Fix(SharingBackend): Call ISharePropertyTypeModifyValue::modifyValueOnSave when saving default value (server#62354)
- Feat(files_sharing): fetch remote avatars for external shares (server#62355)
- Fix(sharing): Set REUSE annotations for l10n (server#62356)
- Feat(core): reveal unified search filters from the input (server#62359)
- Fix(PasswordSharePropertyType): Generate default password when passwords are required (server#62360)
- Fix(files): Prevent corruption of files when moving from encrypted to unencrypted folders within the same object storage (server#62364)
- Donāt fill the pagination cache if there are no extra items (server#62365)
- Fix(TeamShareRecipientType): Defer getting CirclesManager class as it might not exist yet (server#62366)
- Fix: allow Enter on public share Download link (server#62367)
- Fix(files_sharing): skip unresolvable share recipients (server#62368)
- Fix(share): do not re-accept rejected shares (server#62373)
- Fix(search): Add end date for last 7 and last 30 days (server#62375)
- Perf(files_external): pipeline SFTP stream writes (server#62377)
- Fix(Sharing): Fix l10n interpolation (server#62393)
- Feat(Sharing): Fallback to guest avatar if recipient provides no icon (server#62397)
- Ci: update workflows from organization (server#62407)
- Fix(CleanupLoginTokens): Specify the table (server#62408)
- Fix: Donāt add empty and broken ExternalShareScanJob on upgrade (server#62412)
- Test(files_versions): migrate end-to-end tests to PlayWright (server#62423)
- Fix(background-jobs): preserve Snowflake IDs as strings (server#62425)
- Fix: multimodal chatwithtools was not made internal (server#62426)