github opencloud-eu/opencloud v9.1.0
9.1.0

56 minutes ago

Important

This is a rolling release. Learn here about the release types and lifecycle.

9.1.0 - 2026-11-11

❤️ Thanks to all contributors! ❤️

@aduffeck, @AlexAndBear, @andrewyager, @butonic, @dragotin, @dschmidt, @JammingBen, @kulmann, @maki5, @micbar, @pascalwengerter, @pbleser-oc, @rhafer, @RyoKusnadi, @saw-jan, @tammi-23, @v-scharf, @VicDeo

Opencloud

🔒 Security

  • fix(chore): upd deprecated chi RealIP middelware [#3464]
  • Add files for the Anthropic OSS-Scanner to run [#3865]

🐛 Bug Fixes

  • fix(proxy): allow blob: in media-src for motion and live photo playback [#3896]
  • fix(middleware): do not build the XFF middleware without trusted proxies [#3937]
  • fix(auth-guest): add missing guest link logout endpoint [#3932]
  • Remove redis-sentinel from store descriptions [#3936]
  • Bound the memory of bleve indexing [#3900]
  • fix: filter health checks from the pod ip [#3914]
  • fix: keep the health checks out of the access log [#3908]
  • fix(tracing): set the global text map propagator [#3906]
  • fix(proxy): answer 403 instead of 500 when the role claim is missing [#3894]
  • fix(webdav): stream announced types without a converter to the generator [#3884]
  • fix(search): normalize KQL path once [#3516]
  • fix(search): report rejected documents when indexing to OpenSearch [#3142]
  • fix(graph): expose allowedValues on driveItem children [#3476]
  • fix(search): index resources with out-of-range coordinates without a geopoint [#3496]
  • perf(search): skip unchanged facet keys when storing metadata [#3682]

📈 Enhancement

  • ability to disable http and/or event consumer for user log service [#3285]

📚 Documentation

  • docs: add audit logging ADR [#3855]

Web

🔒 Security

  • [main] fix: port security fixes from web-internal [#4433]
  • fix: render svg previews as images instead of inlining them [#4298]
  • fix: only accept delegated tokens from the embedding host [#4297]
  • fix: verify the sender of postMessage events in picker modals and external apps [#4289]

🐛 Bug Fixes

  • fix: show topbar logo on account page for public links and guests [#4417]
  • fix: remove the slash when the editor block menu is dismissed [#4334]
  • fix: only cancel the embedded picker on Escape without a selection [#4399]
  • fix: count down the rate limit wait on the guest link renew page [#4387]
  • fix: support card wrap buttons when they exceed the card [#4415]
  • fix: pick the target folder when saving or exporting from Collabora [#4374]
  • fix: don't render a revoked space image url after the image changed [#4404]
  • fix: pick up external file updates in a guest's open editor [#4385]
  • fix: keep positioned content inside the sidebar panel body [#4401]
  • fix: only show the office settings to users who can manage fonts [#4398]
  • fix: escape link and image targets and titles when saving markdown [#4316]
  • fix: use object-cover for space overview images [#4413]
  • fix: don't select a row when its link starts a navigation [#4408]
  • fix: wrap long values in share access details [#4382]
  • fix: set remoteItemId on shortcuts and files created in a share [#4384]
  • fix: don't query an empty toggle selector when opening a mobile drop [#4400]
  • fix: fit rotated preview images into the stage [#4405]
  • fix: normalize guest addresses like the server stores them [#4403]
  • fix: grammar [#4409]
  • fix: keep unlocked vaults in sync when moving their parent folder [#4383]
  • fix: show an error when the search fails and search again on resubmit [#4365]
  • fix: don't treat text after a dot as file extension when it contains spaces [#4369]
  • fix: don't select the whole text field value on click [#4362]
  • fix: don't offer creating or copying into a view-only space root [#4360]
  • feat: make the support card stand out in the sidebar [#4346]
  • fix: wrap long resource names when truncation is disabled [#4381]
  • fix: show an error message when loading a folder or list fails [#4356]
  • fix: handle name clashes inside a move or copy batch and cancel on closing the conflict dialog [#4355]
  • fix: keep deleted files up to date and don't restore items restored elsewhere [#4283]
  • fix: show hidden shares when a link points to a hidden share [#4349]
  • fix: remove just added tags in the shares views [#4347]
  • fix: title the not found page for inaccessible project spaces [#4337]
  • fix: hide sponsor link and version in the sidebar in embed mode [#4370]
  • fix: don't return to redirect-only routes when cancelling a vault unlock [#4294]
  • fix: use the shared sorting and pagination in the spaces and trash overviews [#4270]
  • fix: resolve links into another user's personal space via the file id [#4315]
  • fix: don't throw when the list refresh after a failed upload fails [#4336]
  • fix: enforce the password policy when setting a vault password on the unlock page [#4335]
  • fix: skip the access revoked message when access to a share remains [#4313]
  • fix: fall back to shared with me when a share's mount point is gone [#4345]
  • fix: keep an open app in place when the folder of its file gets renamed [#4292]
  • fix: don't load shares of disabled project spaces [#4338]
  • fix: list a partially duplicated space and tell the user it's incomplete [#4290]
  • fix: scroll to the current search match when the search term changes [#4314]
  • fix: keep a space when access remains after a member removal [#4312]
  • fix: keep image embeds in markdown when saving [#4340]
  • fix: copy only the selected content in the markdown editor [#4271]
  • fix: keep moved items in favorites and search results [#4282]
  • fix: keep upload batch out of uppy until it is prepared [#4327]
  • fix: show the load error for video and audio files that can't be played [#4251]
  • fix: ignore update-token messages without an access token in delegated embed mode [#4215]
  • fix: report a created space when only some files could not be copied [#4252]
  • fix: keep the list filters when stepping through files in the preview [#4246]
  • fix: show the server's upload error on servers without TUS [#4243]
  • fix: restore notification preference checkboxes when saving fails [#4244]
  • fix: open public links with a path after the token [#4240]
  • fix: show not found in apps for an unknown space or a route without a file [#4259]
  • fix: improve focus management of the select after picking an option [#4262]
  • fix: keep the text editor search and replace panel as a drop on mobile [#4309]
  • fix: skip the rename request when the name is unchanged [#4237]
  • fix: keep the open file unchanged when its store entry is renamed [#4303]
  • fix: reload a filtered users list instead of adding a newly created user [#4239]
  • fix: follow a rename of the file open in an app [#4300]
  • fix: show errors when setting a space icon, image or description fails [#4211]
  • fix: reload the user after a partially failed save in the edit user panel [#4212]
  • fix: ignore items-per-page values below 1 [#4213]
  • fix: keep failed recipients selected in the invite form [#4206]
  • fix: don't preselect a quota for several items with different quotas [#4205]
  • fix: report delete, paste and restore failures on network errors [#4192]
  • fix: show the full value of truncated user content on hover [#4124]
  • fix: revert the tags selection when a tag change fails [#4167]
  • fix: remove removed resources from the selection [#4168]
  • fix: wait for a running save before asking about unsaved changes on close [#4277]
  • fix: keep folders with # in their name in the preview and drive redirect URLs [#4174]
  • fix: trim embed-file-types values from the URL query [#4169]
  • fix: refresh file list when all files of an uploaded folder fail [#4207]
  • fix: ignore deferred panzoom transforms after the preview image is gone [#4216]
  • fix: keep favorite state and tags on the received share root [#4208]
  • fix: show an error for EPUB files that can't be opened [#4209]
  • fix: show message for spaces skipped when duplicating [#4210]
  • fix: stream vault content encryption block by block [#4125]
  • fix: stop the shares panel loader when loading the shares fails [#4203]
  • fix: let app tokens expire on the picked day [#4202]
  • fix: show the current space size in the space details after uploads and deletions [#4204]
  • fix: redirect /files/search to the search results page [#4214]
  • fix: rename dot-files correctly when file extensions are hidden [#4157]
  • fix: keep parent folder links and name tooltips usable for non-clickable resources [#4242]
  • fix: refetch notifications when opening the bell or returning to the tab [#4166]
  • fix: stay in folders with a # in their name when the scrollTo param is reset [#4165]
  • fix: keep the guest session when unlocking a vault [#4264]
  • fix: show an error when creating share links fails in embed mode [#4170]
  • fix: save expiration date of shares with custom permissions [#4172]
  • fix: use the full name as title for dot-files [#4173]
  • fix: keep upload batch out of uppy while the conflict dialog is open [#4140]
  • fix: don't return to a permanent link when cancelling a vault unlock [#4155]
  • fix: prevent duplicate GDPR export requests on double click [#4156]
  • fix: align shift-click range selection in admin lists and files table [#4236]
  • fix: replace the selection when dragging an unselected file [#4153]
  • fix: match embed file types case-insensitively [#4154]
  • fix: stream archive downloads on password protected public links [#4115]
  • fix: keep the guest session when a guest opens a route that needs a user [#4086]
  • fix: list sharers with the same display name separately in the Shared By filter [#4152]
  • fix: show the locked message when uploading onto a locked resource [#4109]
  • fix: show restored files again after undoing a delete on the search results page [#4175]
  • fix: keep the requested route when delegating authentication in embed mode [#4191]
  • fix: leave the oidc callback page when the sign-in fails [#4218]
  • fix: keep network errors when loading webdav files fails [#4171]
  • fix: ignore cancelled loading when leaving admin users, groups and spaces [#4138]
  • fix: escape double quotes in search queries [#4094]
  • fix: show error message when refreshing the file after a version restore fails [#4137]
  • fix: finish adding space members when the space refresh fails [#4126]
  • fix: don't carry the query of other views into the search [#4128]
  • fix: reload the folder README when README.md changes [#4114]
  • fix: respect reduced motion for the EPUB reader progress shimmer [#4136]
  • fix: reload after continuing with an unsupported browser [#4110]
  • fix: find scrollTo targets on all pages of the file lists [#4118]
  • fix: show error message when loading admin groups or spaces fails [#4127]
  • fix: show "No favorites found" when a favorites filter matches nothing [#4129]
  • fix: ignore cancelled resource loading when opening an app via fileId [#4130]
  • fix: correct forbidden characters in space name error [#4108]
  • fix: apply sse file events after running folder load [#4083]
  • fix: wait for a running save instead of hanging in AppWrapper [#4131]
  • fix: keep long values in the admin users and spaces tables in bounds [#4116]
  • fix: prevent double profile picture upload on repeated set [#4107]
  • fix: reset avatar file input after a rejected file [#4106]
  • fix: trim group names when creating and renaming groups [#4105]
  • fix: show error message when restoring a file version fails [#4102]
  • fix: hide extension preferences with only one option [#4112]
  • fix: focus the first input when opening text entry modals [#4089]
  • Rework the EPUB reader [#3924]
  • fix: hide guest invites when guest links are disabled [#4071]
  • fix: pause toasts, fix pagination semantics and name upload states [#4069]
  • fix: show all invite search results returned by the server [#4081]
  • fix: restore parent folders before their children from the trash [#4076]
  • fix: play flac files in chromium browsers [#4080]
  • fix: raise contrast, target sizes and visibility of small UI parts [#4074]
  • fix: copy action for the current folder [#4073]
  • fix: versions for guest users [#4067]
  • fix: prevent clipped descenders in resource names [#4072]
  • fix: restore the cleartext name when undoing a deletion in a vault [#4024]
  • fix(text-editor): allow inline code inside other marks in markdown [#4066]
  • fix: keep upload info closable when folder creation fails [#4030]
  • fix: resolve permanent links into unsynced shares [#4042]
  • fix: only escape markdown text where it would be read as syntax [#4038]
  • fix: more small a11y fixes from the audit [#4043]
  • fix: truncate long sidebar nav item labels [#4056]
  • fix: validate name length in vaults [#4054]
  • fix(preview): keep the active file when the folder changes [#4051]
  • fix: keep raw html and decode named entities in markdown files [#4025]
  • fix: small a11y fixes from the third audit round [#4023]

✅ Tests

  • test(e2e): fix yjs test scenario behavior [#4222]

Reva

🐛 Bug Fixes

  • Limit inviteAcceptDialog values to URL path or base that exactly matc… [#924]
  • fix(metrics): record the metadata lock hold time once per lock [#979]
  • fix(decomposedfs): return NotFound when restoring a missing trash item [#982]
  • fix(eventsmiddleware): read the grantee group of removed shares into the group id [#981]
  • fix(mime): map the ora extension to image/openraster [#975]
  • fix(mime): map the comic book archive extensions to their own types [#974]
  • fix(mime): map ai to application/illustrator [#973]
  • fix(mime): map the cr3 extension [#972]
  • fix(decomposedfs): delete all blobs when purging a space [#971]
  • fix(mime): map the 3mf, blend, fb2, ipynb and kra extensions [#970]
  • fix(tags): free a slot for each removed tag [#968]
  • fix(metrics): clarify the help texts of the upload session metrics [#955]
  • fix(mime): map the m4b and azw3 extensions [#965]
  • fix: escape realm in WWW-Authenticate challenges [#920]

Don't miss a new opencloud release

NewReleases is sending notifications on new releases.