Nextcloud Hub 30.0.15
22 September 2025
Nextcloud Hub version 30.0.15 is now available.
Upgrading to Nextcloud Hub 30.0.15
Nextcloud Hub 30.0.15 can be upgraded to (or installed) using any of Installatron's products. Use Installatron's optional Automatic Update feature to automatically apply Nextcloud Hub updates as new versions are released, or use Installatron's Clone feature to duplicate an existing Nextcloud Hub install to test the 30.0.15 upgrade prior to applying it live. Get started managing your Nextcloud Hub installations with Installatron
What's New in Nextcloud Hub 30.0.15
30.0.15
Bug Fixes and Changes
- Fix: rework UploadFolder implementation (server#51065)
- Enh(unified-search): Smarter load more (server#54334)
- Fix(maintenance): refresh page when turned off (sometimes) (server#54358)
- Fix(settings): add missing AI icon (server#54366)
- Fix(files_sharing): Implement conditional federation placeholder (server#54368)
- Fix(installer): ensure valid tempFile & extractDir (server#54375)
- Fix: use the join function for merging davRootPath and path (server#54382)
- Fix: use double / in strings (server#54477)
- Fix(files_sharing): Also hide own reshares in shared with me section (server#54489)
- Fix(core): unified search is cut off on small window (server#54498)
- Fix(caldav): encode calendar URLs properly when formatting search results (server#54508)
- Fix(AppManager): Argument must be of type array|object (server#54548)
- Fix(files_sharing): sharing status action permission and sidebar await (server#54556)
- Fix(cron): Ignore time sensitivity when a class was explicitely scheduled (server#54566)
- Fix: Fix unique constraint violation in oc_vcategory migration (server#54571)
- Fix: use appropriate user agent string when syncing Outlook calendar subscriptions (server#54584)
- Fix(sharing): fix json decoding the list of groups excluded from sharing (server#54595)
- Fix: Make some strings in CodeIntegrity.php translatable (server#54601)
- Chore(flake): Add haze (server#54603)
- Tests: Update testing certificates that expired after 10 years (server#54615)
- Fix(encryption): Fix TypeError when trying to decrypt unencrypted file (server#54629)
- Fix(files_sharing): Correctly reject pending remote shares (server#54634)
- Add commands to set/get/delete/clear the distributed memcache (server#54642)
- Fix(carddav): IAddressBook::getKey() should return a string (server#54651)
- Fix(2fa): Fix 2FA session setup when ephemeral session is used (server#54662)
- Fix(caldav): show confidential event if writable (server#54675)
- Fix(AppConfig#setTypedValue): Catch AppConfigUnknownKeyException (server#54687)
- Chore: pin NPM to at least `^10.5.1` to prevent bugs with `corepack` (server#54696)
- Fix(TaskProcessingApiController): Don’t allow anonymous access anymore (server#54701)
- Fix(trashbin): Fix errors in the log on MOVE operations (server#54705)
- Feat: allow filtering sharing:delete-orphan-shares by share owner or target (server#54711)
- Fix(provisioning_api): Allow group details access for users with admin delegation (server#54712)
- Fix(deps): Update @nextcloud/vue to v8.29.2 (server#54715)
- Fix(files_versions): retrieve all display names with one request (server#54719)
- Fix(files_versions): Use helper function to get versions folder (server#54725)
- Fix(files_versions): ensure IDs, Author and Label are strings (server#54768)
- Fix: resolving conflict when uploading multiple files via drag&drop (server#54779)
- Chore(flake): update haze to 2.1.1 (server#54786)
- Fix: add missing listener (server#54807)
- Fix(dav): ensure moving or copying a file is possible (server#54814)
- Fix(dav): Mark removal of dav object properties as expensive (server#54823)
- Fix(comments): use showFile route to reference files with a matching … (server#54828)
- Fix(Filesystem): use FilenameValidator for `Filesystem::isFileBlacklisted` (server#54843)
- Perf(users): Create lazy users in IUserManager::getSeenUsers (server#54850)
- Fix: the account files filter should also work in trashbin (server#54851)
- Build(deps): Bump icewind/streams from 0.7.7 to 0.7.8 (server#54857)
- Fix(security): Update Expires time (server#54867)
- Chore: Use new REUSE format (server#54978)
30.0.14
Bug Fixes and Changes
- Refactor(files): remove custom page title handling (server#53600)
- Feat: improve logging of fopen failures for smb (server#53611)
- Fix TimedJob execution time to allow job execution exactly when scheduled (server#53791)
- Fix: Correctly show free space if lower than quota in Files navigation (server#53812)
- Feat(settings): simplify OPcache checks (server#53818)
- Fix(files_trashbin): Expire trashbin items when space is needed (server#53836)
- Fix(imip): set charset for imip attachment (server#53839)
- Fix(settings): change Mastodon only URI to webfinger (server#53844)
- Fix(files_reminders): Don’t load if disabled for user (server#53853)
- Fix(federatedfilesharing): Fix external share being deleted when accepting share (server#53860)
- Fix(files): ensure proper headers lifecycle (server#53879)
- Fix: Fix theming for disabled accounts (server#53901)
- Fix: force lowercase emails (server#53908)
- Fix(settings): use correct scope for translations (server#53914)
- Chore(deps): update `@nextcloud/vue` to v8.28.0 (server#53938)
- Fix(security): Update CA certificate bundle (server#53955)
- Fix: Fix clearing unified search when modal is closed (server#53989)
- Fix(files_sharing): ensure share folder exists in the settings (server#53998)
- Fix(update): Correctly trigger update for auto-disabled local apps (server#54021)
- Update groupware code owners (server#54024)
- Fix(settings): verify source of app-discover media (server#54029)
- Feat(federated-share): forward notification only on remote reshare (server#54031)
- Fix(TaskProcessingApiController): Improve error handling (server#54045)
- Fix(session): log when ephemeral sessions are closed (server#54052)
- Fix(files): sort favorites navigation alphabetically (server#54060)
- Fix(files_sharing): restore state when updating share failed (server#54065)
- Fix(ConnectionFactory): Apply Oracle connection fix to primary and replica params as well (server#54104)
- Fix(cron): Fix infinite loop on ParallelAware blocked jobs (server#54107)
- Fix(provisioning_api): catch failed user creation (server#54109)
- Fix(caldav): don’t return cancelled events for upcoming events API (server#54112)
- Fix: check if properties exist before using them (server#54116)
- Fix(files_sharing): fallback self.crypto.getRandomValues (server#54123)
- Fix: Use default share folder of the user on share accept (server#54132)
- Fix endless spinner on file entries after triggering an action (server#54136)
- Fix: Do not show password dialog when user can not validate password (server#54145)
- Fix: hide guests group from overall principals (server#54173)
- Fix: spelling mistake (server#54184)
- Fix(AppMenu): ensure that aria attributes are set when needed (server#54198)
- Fix: don’t update cached mountpoints if the request doesn’t have filesystem access (server#54205)
- Fix(files_sharing): ensure password or date is enabled by default to be enforced (server#54243)
- Fix: fix oci string length with empty strings (server#54251)
- Fix(logging): Fix query logging with DateTimeImmutable parameters (server#54253)
- 30.0.14 RC1 (server#54257)
- Fix(encryption): Ignore shared files in encrypt-all command (server#54263)
- Fix(lib): get fileinfo before locking (server#54267)
- Fix(caldav): get UID value (server#54268)
- Fix(core): ensure unique vcategory (server#54271)
- Fix(security): Update code signing revocation list (server#54284)
- Fix: handle smb timeouts as storage not available (server#54296)
- Fix: Fix button alignment for email templates in Outlook (server#54301)
- Fix(dav): calculate permissions based on addressbook principal (server#54307)
- Fix: use correct return value for `has-preview` dav property (server#54314)
- Fix(trash): Fix order of metadata deletion (server#54321)
- Feat: allow admins to configure additional sensitive config values (server#54323)