github opencloud-eu/opencloud v7.2.0
7.2.0

latest release: v4.0.8
8 hours ago

Note

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

Releasenotes OpenCloud 7.2.0

💥 Breaking Changes - Action required

New settings required for the "sharing" service

With OpenCloud 7.0 the "sharing" service needs a service account and secret to be configured. So if upgrading from a release prior to 7.0 please follow the steps outlined in the Upgrade Guide to achieve that.

Share-Manager migraton: First startup may take a few minutes

When upgrading from a release before 7.x, the first container startup may take a few minutes before all Spaces are available.

Background: Share-Manager migration

OpenCloud 7.0.0 changes the way how space memberships are managed in the backend. When upgrading from a previous release the "sharing" service will automatically run a migration task to convert existing space memberships to the new mechanism. Depending on the number of spaces and space members this task can take up to a few minutes. During that time the member listing of spaces might be incorrect. Also it is not possible to change space memberships or create/delete spaces while the task is running. When the loglevel of the sharing service is set to info (OC_LOG_LEVEL=info or SHARING_LOG_LEVEL=info) the task will report progress of the migration via the logfile.

New OpenSearch index schema (v2) for the search service

Note: This is only applicable to setups using the "opensearch" search engine with OpenCloud and does not affect setups using the default "bleve" search engine, as e.g. the standard docker compose setups do.

With OpenCloud 7.x.x the search service now uses a new OpenSearch index schema (v2), adding two fields: Content (with term vectors, for faster highlighting via the fast vector highlighter) and Favorites (for searching/filtering by favorites).

Since OpenSearch mappings are immutable, the existing index can't be migrated in place. On startup the service detects the mismatch and refuses to start ("manual action required").

Required action when upgrading an OpenSearch deployment:

  • Delete the existing index ("opencloud-resource" by default, unless overridden via SEARCH_ENGINE_OPEN_SEARCH_RESOURCE_INDEX_NAME).
  • Restart the search service - it recreates the index with the v2 schema.
  • Trigger a full reindex of all content so the new fields get populated (e.g by calling opencloud search index --all-spaces --force-rescan

Highlights

📝 New, Easy to Learn Markdown Editor

Format content without learning Markdown syntax
The new Markdown Editor combines the simplicity of slash commands with the flexibility of Markdown. Slash commands make formatting accessible to everyone as it helps also non-technical users to discover Markdown capabilities without needing to learn syntax first.

Lightweight portable and reusable format
Markdown provides a lightweight, portable format with no vendor lock-in. Its simple nature makes content easier to version, maintain and convert into PDFs, knowledge bases and other formats. For many workflows Markdown offers a simpler and more durable alternative to heavyweight office formats.

Interchange format between humans and AI
As AI becomes a core part of daily work, Markdown is emerging as a natural interchange format between humans and AI. Its simple structure allows both users and AI systems to create content easily.

⭐ Favorites Feature

The new Favorites feature makes it easy to find important and frequently used files. Marked files are visible across all personal and shared spaces and can be accessed at any time with a single click.

All favorites are collected centrally on a dedicated page, providing a quick overview of relevant content. Whether in list view or grid view, users can efficiently access their most important files without having to search for them. Server-side Favorites are available in the Web and will be available in one of the next releases of the mobile clients as well.

🖼️ Photo Roll in the Preview App

The new Photo Roll feature makes navigating image collections significantly easier. While viewing an image, the previous and next images are displayed as previews, allowing users to orient themselves more quickly and browse through their photos with ease.

🖼️ Faster Preview App

The Preview App has been optimized for significantly better performance when browsing large photo folders. Instead of requesting all images in full resolution only the currently viewed image is loaded in high quality. Images in the Photo Roll are loaded as small thumbnails and only for items currently visible within the viewport.

Additional images are loaded dynamically while scrolling, and pending image requests are canceled as soon as they are no longer needed, particularly on slow or unstable connections.

🎬 Support for MOV Video Files (Preview)

OpenCloud now supports previewing MOV video files. You can store MOV files in your file system and view them directly in the interface without converting them first.

🧭 Improved Breadcrumb Navigation

Navigating deep folder structures is now faster and more direct. The breadcrumb navigation allows users to jump to higher-level folders with just a few clicks, eliminating the need to step back through each folder individually.

⌨️ Keyboard Shortcuts for Global Search

The global search bar can now be focused using keyboard shortcuts (s or /). When focused, the search input field is visually highlighted, making the active state easier to recognize.

➕ Floating Action Button for “Create or Upload”

The “Create or Upload” button in the Files App is now implemented as a Floating Action Button (FAB). Available actions open in a dropdown menu or bottom drawer. The button is disabled or hidden when the user does not have write permissions.

📱 Consistent Context Actions on Mobile

Contextual actions on mobile devices now open consistently in a bottom drawer. This follows familiar iOS and Android interaction patterns making the UI feel familiar.

7.2.0 - 2026-06-25

❤️ Thanks to all contributors! ❤️

@aduffeck, @AlexAndBear, @anon-pradip, @butonic, @dragonchaser, @dragotin, @dschmidt, @flimmy, @FrankM64, @fschade, @individual-it, @Heiko-Pohl, @JammingBen, @kulmann, @MahdiBaghbani, @micbar, @michaelstingl, @pascalwengerter, @pat-s, @pedropintosilva, @prashant-gurung899, @rhafer, @saw-jan, @ScharfViktor, @schweigisito, @SAY-5, @smoothscholar, @Svanvith, @tammi-23, @tiran133, @VicDeo

Opencloud:

💥 Breaking Changes

  • Persist space memberships in share manager [#2760]
  • [feature/guest-links] bump reva, add service user config to "sharing" service [#2735]
  • Improve opensearch highlighting, fix favorites [#2514]
  • Always enable favorites, remove FRONTEND_ENABLE_FAVORITES flag [#2494]
  • merge ocdav into frontend [#1958]

🔒 Security

  • fix: bumped alpine base image to address security issue in libvips and re-enabled thumbnails for tiff and jpeg2000 images again [#2964] and [#2999]

🐛 Bug Fixes

  • [stable-7.2] Backport fixes from main [#2999]
  • fix(idp): aarch64 build [#2906]
  • use ldap instead of ldaps internally [#2880]
  • Prevent personal space creation for service- and lightweight users [#2876]
  • chore: bump reva to 2.46.1 [#2869]
  • fix: Send SSE events for SpaceCreated/-Disabled/-Deleted [#2851]
  • Only try to limit search to spaces if there's a space id to limit to [#2834]
  • fix(init): Only log admin password if it was generated [#2839]
  • fix: translations for activities and others [#2836]
  • fix-2824. run tests without remote.php [#2826]
  • fix(notifications): don't re-escape email vars for each recipient [#2805]
  • fix: remove unnecessary error log if the oidc access token verify method is set to none [#2795]
  • fix(debug): drop duplicate service field from probe fallback log [#2786]
  • No registry lookup in cli [#2755]
  • fix(webdav): register chi REPORT method in init to avoid race with settings [#2712]
  • fix: use runner to start activitylog service [#2748]
  • docs(search): fix force-rescan flag name in README [#2747]
  • Add a flag to the reindex command to force a full reindex [#2606]
  • Fix bleve batches [#2524]
  • fix: Show username in unprivileged search results [#2104]
  • fix(thumbnailer): missing font panic [#2097]
  • Remove sub-service binary entrypoints and fix antivirus only server cmd [#2043]
  • fix(thumbnailer): respect image boundaries and text wrappings [#2062]
  • fix: cobra viper flags and env [#2047]
  • fix service name in suture logs [#2052]
  • Sanitize web config only once [#2286]
  • fix: fix typo in variable description [#2333]
  • fix: include sessionID in sse logout event [#2327]
  • fix: fix typo in gateway service documentation [#2332]
  • [full-ci] Bump reva v2.42.4 [#2348]
  • [full-ci] reva-bump-2.42.3 [#2276]
  • Do not ever set a TTL for the ID cache. It's not supposed to expire. [#2223]
  • fix: enforce trailing slash for server url [#1995]
  • fix: enhance resource creation with detailed process information [#1978]

📈 Enhancements

  • chore: bump web to v7.1.0 [#2870]
  • feat(graph): populate driveItem.webUrl per Libre Graph spec [#2744]
  • proxy: Allow mapping from an external tenant id to the internal id [#2569]
  • feat: enable EnableInsertRemoteFile WOPI flag for Collabora [#2555]
  • feat(multi-tenancy): verify tenant via OIDC claim [#2559]
  • feat: add userid to spans [#2536]
  • feat: add openFilesInNewTab web config option [#2522]
  • Implement favorites [#2454]
  • feat(graph/education): Add support of 'eq' filters on users [#2421]
  • feat(web): change surface colors to more modern ones [#2377]
  • Add openCloudEducationExternalId to user [#2357]
  • feat: app-registry adjust default mime-types [#2354]
  • feat: support desktop and mobile specific client_id and scopes [#2072]
  • external tenant id [#2258]
  • allow http2 connections to proxy [#2040]
  • benchmark client enhancements [#1856]
  • migrate from urfave/cli to spf13/cobra [#1954]
  • Show edition in opencloud version command [#2019]

📚 Documentation

  • Rename role_name from "guest" to "user-light" [#2912]
  • docs(adr): Remove erroneous mention of kanidm [#2783]
  • Update README with LDAP certificate details [#2759]
  • docs(web): deprecation notices for cern related feature flags [#2629]
  • Update CI badge URL in README.md [#2614]
  • update links and references in CONTRIBUTING.md [#2411]
  • adr(webfinger): Align example config with implementation [#2353]
  • fix: make file urls [#2304]
  • Update release template [#2182]
  • Clarify what the two requests are used for [#2179]
  • fix: markdown links formatting [#2143]
  • fix typo [#2024]
  • [docs] update policies link [#1996]
  • fix the link in quickstart script for itself [#1956]
  • [SKIP CI] Fix simple install script, use admin-password switch [#2413]

✅ Tests

  • [full-ci] preview-tests. update fixtures for different processors [#2767]
  • test: modify exclude list and add coverage upload [#2762]
  • fix: cleaner debounce timer test [#2743]
  • [full-ci] api-test: check that report contains favorites [#2531]
  • api-tests: search for favorites [#2487]
  • [test-only] favorites tests [#2474]
  • adapt test for #514 [#2255]
  • api-test: upload-rename-download file with back slash [#2239]
  • [full-ci][tests-only] test: add hook failures to the test failures list [#2041]
  • [test-only] replace exception to assertions [#2196]
  • test(api): auto-generate test virus files before test run [#2191]
  • test(api): remove accountsHashDifficulty test suite [#2190]
  • test(api): update without-remotephp expected-failures list [#2184]
  • [full-ci] test: use single command to run the containers and the API tests [#2169]
  • [tests-only] test: setup for running wopi API tests locally [#2139]
  • fix flaky #2145 [#2161]
  • Run wopi validator tests localy [#2151]
  • ci: fix unwanted workflow skip in the cron pipelines [#2117]
  • [POC] ci: skip previously passed workflows on pipeline restart [#2099]
  • [tests-only] test: wait post-processing to finish for MKCOL requests [#2092]
  • [tests-only] test: fix API tests [#2087]
  • [full-ci] use graph api in the enforcePasswordPublicLink.feature [#2050]
  • [full-ci][tests-only] test: check last email content with retries as emails can be delayed [#2038]
  • skip collaborativePosix tests in CI [#2039]
  • [full-ci][tests-only] test: fix some test flakiness [#2003]
  • [tests-only] Skip test related pipelines for ready-release-go PRs [#2011]
  • [full-ci][tests-only] test: add test to check mismatch offset during TUS upload [#1993]
  • [full-ci][tests-only] test: proper resource existence check [#1990]
  • check propfing after renaming data in file system [#1809]
  • fix-get-attribute-test [#1974]
  • test(api): wait for web-office readiness by checking discovery endpoint [#2217]

📦️ Dependencies

  • [full-ci] chore: bump web to v7.1.2 [#3012]
  • [full-ci] chore: bump web to v7.1.1 [#2998]
  • bump reva to latest main [#2922]
  • build(deps-dev): bump webpack-manifest-plugin from 5.0.0 to 6.0.1 in /services/idp [#2884]
  • build(deps): bump axios from 1.16.0 to 1.16.1 in /services/idp [#2883]
  • build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.43.0 to 1.44.0 [#2855]
  • build(deps-dev): bump license-checker-rseidelsohn from 4.4.2 to 5.0.1 in /services/idp [#2854]
  • build(deps-dev): bump cldr from 7.9.0 to 8.0.0 in /services/idp [#2853]
  • build(deps): bump i18next from 26.1.0 to 26.3.0 in /services/idp [#2849]
  • build(deps-dev): bump sass-loader from 16.0.8 to 17.0.0 in /services/idp [#2845]
  • build(deps): bump google.golang.org/grpc from 1.80.0 to 1.81.1 [#2848]
  • build(deps): bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc from 0.68.0 to 0.69.0 [#2847]
  • build(deps-dev): bump typescript from 5.9.3 to 6.0.3 in /services/idp [#2846]
  • build(deps-dev): bump postcss-loader from 4.3.0 to 8.2.1 in /services/idp [#2830]
  • build(deps): bump github.com/riandyrn/otelchi from 0.12.2 to 0.12.3 [#2814]
  • build(deps-dev): bump workbox-webpack-plugin from 7.4.0 to 7.4.1 in /services/idp [#2781]
  • build(deps): bump github.com/go-jose/go-jose/v3 from 3.0.4 to 3.0.5 [#2798]
  • build(deps): bump golang.org/x/image from 0.38.0 to 0.40.0 [#2740]
  • build(deps): bump github.com/tidwall/gjson from 1.18.0 to 1.19.0 [#2750]
  • build(deps-dev): bump dotenv-expand from 12.0.3 to 13.0.0 in /services/idp [#2710]
  • build(deps): bump github.com/onsi/ginkgo/v2 from 2.28.1 to 2.28.3 [#2739]
  • Bump reva [#2611]
  • chore(idp): clean up js dependencies [#2607]
  • build(deps-dev): bump dotenv from 16.4.7 to 17.4.2 in /services/idp [#2603]
  • chore: bump IDP javascript dependencies [#2600]
  • build(deps): bump github.com/nats-io/nats.go from 1.49.0 to 1.50.0 [#2587]
  • build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.42.0 to 1.43.0 [#2586]
  • chore: bump reva to latest main [#2584]
  • build(deps): bump golang.org/x/image from 0.36.0 to 0.38.0 [#2581]
  • build(deps-dev): bump css-minimizer-webpack-plugin from 7.0.4 to 8.0.0 in /services/idp [#2551]
  • build(deps): bump github.com/go-ldap/ldap/v3 from 3.4.12 to 3.4.13 [#2526]
  • build(deps): bump github.com/open-policy-agent/opa from 1.14.1 to 1.15.0 [#2535]
  • build(deps): bump github.com/nats-io/nats-server/v2 from 2.12.5 to 2.12.6 [#2525]
  • build(deps-dev): bump postcss-preset-env from 10.1.3 to 11.2.0 in /services/idp [#2392]
  • build(deps): bump github.com/tus/tusd/v2 from 2.8.0 to 2.9.2 [#2485]
  • build(deps): bump google.golang.org/grpc from 1.79.2 to 1.79.3 [#2519]
  • build(deps): bump github.com/nats-io/nats-server/v2 from 2.12.4 to 2.12.5 [#2499]
  • build(deps): bump github.com/russellhaering/goxmldsig from 1.5.0 to 1.6.0 [#2503]
  • build(deps): bump golang.org/x/net from 0.51.0 to 0.52.0 [#2472]
  • build(deps): bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc from 0.65.0 to 0.67.0 [#2473]
  • build(deps): bump github.com/olekukonko/tablewriter from 1.1.3 to 1.1.4 [#2468]
  • build(deps): bump go.opentelemetry.io/contrib/zpages from 0.65.0 to 0.67.0 [#2467]
  • build(deps): bump github.com/testcontainers/testcontainers-go/modules/opensearch from 0.40.0 to 0.41.0 [#2458]
  • build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.41.0 to 1.42.0 [#2459]
  • build(deps): bump github.com/testcontainers/testcontainers-go from 0.40.0 to 0.41.0 [#2453]
  • build(deps): bump golang.org/x/oauth2 from 0.35.0 to 0.36.0 [#2452]
  • build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.40.0 to 1.42.0 [#2441]
  • build(deps): bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.65.0 to 0.67.0 [#2442]
  • build(deps): bump github.com/open-policy-agent/opa from 1.13.2 to 1.14.0 [#2427]
  • build(deps): bump go.opentelemetry.io/otel from 1.40.0 to 1.41.0 [#2425]
  • build(deps): bump github.com/davidbyttow/govips/v2 from 2.16.0 to 2.17.0 [#2420]
  • build(deps): bump github.com/nats-io/nats.go from 1.48.0 to 1.49.0 [#2390]
  • build(deps): bump golang.org/x/net from 0.50.0 to 0.51.0 [#2412]
  • build(deps): bump github.com/kovidgoyal/imaging from 1.8.19 to 1.8.20 [#2391]
  • build(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.27.7 to 2.28.0 [#2375]
  • build(deps): bump github.com/open-policy-agent/opa from 1.13.1 to 1.13.2 [#2374]
  • build(deps): bump google.golang.org/grpc from 1.78.0 to 1.79.1 [#2362]
  • build(deps): bump github.com/onsi/ginkgo/v2 from 2.28.0 to 2.28.1 [#2366]
  • build(deps): bump go.opentelemetry.io/contrib/zpages from 0.64.0 to 0.65.0 [#2363]
  • build(deps): bump golang.org/x/net from 0.49.0 to 0.50.0 [#2356]
  • build(deps): bump github.com/go-resty/resty/v2 from 2.17.1 to 2.17.2 [#2355]
  • build(deps): bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.64.0 to 0.65.0 [#2321]
  • build(deps): bump github.com/open-policy-agent/opa from 1.12.3 to 1.13.1 [#2350]
  • build(deps): bump github.com/gabriel-vasile/mimetype from 1.4.12 to 1.4.13 [#2316]
  • build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.39.0 to 1.40.0 [#2279]
  • update reva after merge #514 [#2309]
  • build(deps): bump github.com/go-chi/chi/v5 from 5.2.4 to 5.2.5 [#2278]
  • [full-ci] reva-bump-2.42.2 [#2270]
  • build(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.27.5 to 2.27.6 [#2238]
  • reva-bump-2.42.1 [#2225]
  • reva-bump-2.42.0 [#2215]
  • build(deps): bump github.com/olekukonko/tablewriter from 1.1.2 to 1.1.3 [#2186]
  • build(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.27.4 to 2.27.5 [#2204]
  • build(deps): bump github.com/go-resty/resty/v2 from 2.7.0 to 2.17.1 [#2197]
  • build(deps): bump github.com/open-policy-agent/opa from 1.11.1 to 1.12.3 [#2166]
  • build(deps): bump github.com/kovidgoyal/imaging from 1.8.18 to 1.8.19 [#2167]
  • build(deps): bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.27.3 to 2.27.4 [#2164]
  • build(deps): bump github.com/sirupsen/logrus from 1.9.4-0.20230606125235-dd1b4c2e81af to 1.9.4 [#2163]
  • build(deps): bump github.com/go-chi/chi/v5 from 5.2.3 to 5.2.4 [#2162]
  • build(deps): bump go.opentelemetry.io/contrib/zpages from 0.63.0 to 0.64.0 [#2158]
  • build(deps): bump github.com/blevesearch/bleve/v2 from 2.5.5 to 2.5.7 [#2157]
  • build(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdouttrace from 1.38.0 to 1.39.0 [#2154]
  • build(deps): bump golang.org/x/image from 0.34.0 to 0.35.0 [#2153]
  • build(deps): bump github.com/nats-io/nats.go from 1.47.0 to 1.48.0 [#2147]
  • build(deps): bump github.com/onsi/ginkgo/v2 from 2.27.2 to 2.27.5 [#2148]
  • build(deps): bump github.com/olekukonko/tablewriter from 1.1.1 to 1.1.2 [#2144]
  • build(deps): bump github.com/spf13/cobra from 1.10.1 to 1.10.2 [#2141]
  • build(deps): bump golang.org/x/net from 0.48.0 to 0.49.0 [#2140]
  • build(deps): bump github.com/onsi/gomega from 1.38.2 to 1.39.0 [#2133]
  • build(deps): bump golang.org/x/crypto from 0.46.0 to 0.47.0 [#2132]
  • build(deps): bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.63.0 to 0.64.0 [#2109]
  • build(deps): bump github.com/kovidgoyal/imaging from 1.8.17 to 1.8.18 [#2107]
  • build(deps): bump google.golang.org/grpc from 1.77.0 to 1.78.0 [#2106]
  • build(deps): bump go.opentelemetry.io/otel/sdk from 1.38.0 to 1.39.0 [#2069]
  • build(deps): bump github.com/opensearch-project/opensearch-go/v4 from 4.5.0 to 4.6.0 [#2068]
  • build(deps): bump github.com/testcontainers/testcontainers-go/modules/opensearch from 0.39.0 to 0.40.0 [#1967]
  • build(deps): bump golang.org/x/net from 0.47.0 to 0.48.0 [#2061]
  • build(deps): bump github.com/open-policy-agent/opa from 1.10.1 to 1.11.0 [#1930]
  • build(deps): bump github.com/testcontainers/testcontainers-go from 0.39.0 to 0.40.0 [#1931]
  • chore: bump web to v4.3.0 [#2030]
  • reva-bump-2.41.0 [#2032]

Web

💥 Breaking Changes

  • feat!: remove deprecations for v6.0.0 [#2093]
  • feat: folder editor apps [#1817]
  • refactor!: floating UI [#1998]
  • refactor!: port vue-portal to teleport or extension system [#2015]
  • refactor!: mobile nav to web-pkg [#2007]
  • feat!: remove deprecations [#1829]

🔒 Security

  • chore(deps): fix current security alerts [#2040]
  • fix(deps): update dependency lodash-es to v4.17.23 [security] #2 [#1859]
  • chore(deps): bump preact to v10.28.2 [security] [#1814]
  • chore(deps): bump mdast-util-to-hast to 13.2.1 (security) [#1692]
  • chore: bump sub-dependencies that cause vulnerability alerts [#1653]

🐛 Bug Fixes

  • [stable-7.1] Merge pull request opencloud-eu/web#2733 from opencloud-eu/md-toggle-source [#2740]
  • [stable-7.1] fix: after disabling and enabling space user cannot create resources/share space or recources (#2687) [#2708]
  • [stable-7.1] fix: make upload dialog collapsible so it won't overlap certain views (#2688) [#2707]
  • fix: reduce fields in Upload-Metadata header [#2706]
  • fix: help to translate text breaks settings page layout [#2625]
  • fix: sse event on space delete has no effect [#2614]
  • fix: prevent components from being proxied in Vue's reactivity system [#2588]
  • fix: video loading inside share spaces [#2613]
  • fix: legacy WebDav url [#2577]
  • fix: account settings, extension names not translated [#2595]
  • fix: missing undo and redo actions in plain text editor [#2592]
  • fix(design-system): add id to OcSearchBar [#2587]
  • fix: cleanup event listener [#2532]
  • fix(editor): json rendering, plaintext serialization [#2573]
  • fix: tags contextual helper text is out of viewport [#2582]
  • fix: view mode not translated [#2581]
  • fix: remove all folders from file drop upload queue [#2510]
  • fix(editor): slash menu scroll [#2572]
  • fix(public-links): rename expiry date label to expiration date [#2575]
  • fix: disabled space has navigate actions [#2569]
  • fix: cancel generic space folder loading [#2567]
  • fix: upload overlay wording [#2564]
  • fix(client): dedupe search results [#2555]
  • fix: prevent csp error logs in browser console [#2562]
  • fix(design-system): silence OcDrop attr-inheritance warning storm [#2560]
  • fix: empty markdown documents [#2553]
  • fix: prevents unsightly line breaks [#2546]
  • fix: readme.md header content won't get rendered on public link access [#2542]
  • fix: upload overlay when merging folders [#2544]
  • fix: skip upload conflict check when uploads target a non-current folder [#2513]
  • fix: expiration date does not get applied when creating a new share [#2514]
  • fix: secret file drop share view is cut off on mobile [#2511]
  • fix: pixelated space images [#2509]
  • fix: mobile bottom drawer is not setting aria attributes [#2508]
  • fix: service announcement order [#2506]
  • fix: left sidebar doesn't scroll [#2502]
  • fix(editor): missing content [#2501]
  • fix: search term overlaps filter in global search [#2497]
  • fix: modal actions when creating links are missing disable during creation [#2498]
  • fix: rename icon overlaps quota column when space name is truncated [#2493]
  • fix: changing username of the current user shows error after successful change [#2499]
  • fix: prevent modal title actions from wrapping [#2495]
  • Fix mail validation layout issue [#2492]
  • fix: missing space actions in favorites and search [#2488]
  • fix: FAB overlaps actions in embed mode [#2489]
  • fix: checkboxes are not vertically centered in file tables [#2491]
  • fix: favorites list, undo delete doesn't return item to the favorites [#2382]
  • fix: extension action 'context' category [#2369]
  • fix: prevent scroll when opening resource context menu [#2375]
  • fix: mobile floating action button is too small [#2353]
  • fix(runtime): optimize auth flow with expired token [#2346]
  • fix(extension-sdk): add missing color roles [#2339]
  • fix: optimize route change announcer [#2328]
  • fix: prevent accidental space reset on public links [#2319]
  • fix: markdown editor: incorrect rendering of unordered lists [#2315]
  • Fix: #2262 accessToken triple S event [#2271]
  • fix: preview app doesn't show video and mp3 meta data preview in photo roll [#2302]
  • fix(extension-sdk): do not run federation plugin in test mode [#2291]
  • fix: v-oc-tooltip not reactive [#2255]
  • fix: remove search limit from favorites request [#2245]
  • fix: add missing breadcrumb in favorites view [#2243]
  • fix: idp logout on network errors [#2230]
  • fix: breadcrumb in admin settings info section not clickable [#2237]
  • fix: metadataUrl in user manager [#2239]
  • fix: remove redundant header in admin settings info section [#2236]
  • fix: admin settings user avatar take too much space and divergend from design [#2222]
  • Fix password modal can be confirmed even if the password is empty [#2219]
  • fix: context menu does not close when favorite item [#2212]
  • fix: preserve query params on public link redirect [#2199]
  • fix: version check in conjunction with dev docker image leads to left sidebar [#2156]
  • fix: sidebar top margin too low when no FAB is present [#2147]
  • fix: files with name e.G. .space won't be shown when 'show file extensions' is enabled [#2149]
  • fix: account settings on mobile view [#2148]
  • fix: app top bar gets removed, even if unsaved changes modal appears [#2141]
  • fix: oc-drop a11y and overflow issues [#2100]
  • fix: search bar disappears when entering account preferences [#2122]
  • fix: bring back disabled space indicator in tiles view [#2110]
  • fix: focus ring for upload buttons [#2111]
  • fix: don't show 'new' button in secret file drop [#2086]
  • Fix broken link to web docs [#2080]
  • fix: admin settings layout [#2062]
  • fix: backchannel logout react to sid [#1969]
  • fix: broken AvatarImage usages [#2042]
  • fix(files): prevent selection reset during keyboard navigation [#2044]
  • fix: visual active state in preview app (photo roll) [#2029]
  • fix: prevent 'New'-button flicker when navigating [#2026]
  • fix(web-runtime): cache embed query params across config reloads [#1977]
  • fix(web-pkg): guard against missing routes in getEditorRoute [#1975]
  • fix: add missing low opacity for cut resources in tiles view [#1852]
  • fix: delete action showing without any selected file in trash bin [#1853]
  • fix: embed actions filename input and confirm button name [#1849]
  • fix: prevent sort options in trash overview from disappearing [#1851]
  • fix: break long resource names in right sidebar [#1836]
  • fix: context menu for shares on search result page [#1835]
  • fix: text editor app entry for light users [#1837]
  • fix: resource delete action visibility [#1832]
  • fix(calendar): use type="a" for external documentation link [#1801]
  • fix(design-system): checkbox label vertical alignment [#1773]
  • fix(design-system): filter chip margins [#1739]
  • fix(design-system): remove tailwind reference in bundled css [#1728]
  • fix: add missing drag styling in tiles view [#1645]
  • fix: embed mode click behavior [#1641]
  • fix: hide calendar when env var FRONTEND_DISABLE_RADICALE is set to true [#1660]
  • fix: move folder replace [#1627]
  • fix: editing and loading tags for received shares [#1650]
  • fix: catching errors in sse events [#1654]
  • fix: missing versions when closing and re-opening sidebar [#1602]
  • fix: embed actions z-index [#1610]
  • fix: version downloads and remove downloadUrl dav property default [#1559]
  • fix: copying created links in Safari [#1594]
  • fix: prevent undo delete multiple times for same file [#1587]
  • fix: initial default favicon [#1584]
  • fix: add missing file list update after undo delete in space [#1561]
  • bug: hide additional calendar data, if radicale is not set up [#1573]
  • fix: lazy loading indicator in condensed resource table [#1572]
  • fix: endless propfind requests when opening public links authenticated [#1534]
  • fix: archive download on password protected links [#1523]
  • bug: allow clipboard access to collabora [#1569]
  • fix: translation string typos [#1564]
  • fix: remove horizontal scrollbar when opening upload menu [#1562]
  • fix: account preferences page, left sidebar won't be translated on language change [#1554]
  • fix: avoid flicker on CalDAV check [#1538]
  • fix: private link doesn't reliably open default app [#1527]
  • fix: only render drop content when opened [#1498]
  • fix: space batch actions not loading in spaces table [#1517]
  • fix: bottom drawer 'New'-menus appearance [#1494]
  • revert: "Update Font Metadata2 (#1488)" [#1507]
  • fix: adjust headline sizes across the webui [#1504]

📈 Enhancements

  • feat: use embed mode for copy and move actions [#2599]
  • change: exchange icons [#2385]
  • Merge header and file info in file sidebar [#2377]
  • feat: set global color-scheme [#2379]
  • feat: adjust mobile nav bar [#2372]
  • feat(preview): play next audio file automatically after current track [#2351]
  • feat: active state for navigation in sidebar [#2374]
  • Scroll selected mail into view after reload [#2341]
  • Add contact details view [#2322]
  • perf: use standalone silent redirect instead of bootstrapping the app [#2333]
  • feat(design-system): add support for nuxt-link [#2318]
  • feat: add drop with truncated items to oc-breadcrumb [#2309]
  • feat: redesign share sidebar panel [#2293]
  • feat: handle UI_InsertFile postMessage from Collabora [#2270]
  • feat: focus global search bar via keyboard shortcut [#2274]
  • feat: redesign sidebar file/space details panel [#2273]
  • feat(design-system): redesign checkbox active state [#2266]
  • feat: move favorite resource indicator to resource name [#2261]
  • feat: add to favorites in preview app [#2251]
  • feat: add openFilesInNewTab config option [#2218]
  • feat: auto-register extension dev servers with host [#2220]
  • feat: add logo to admin settings info section [#2228]
  • feat: add module federation support for external apps [#2213]
  • feat: add empty state icon for favorites [#2211]
  • Use favorites from graph api [#2171]
  • Implement sending a draft [#2193]
  • Feat/1959 [#2125]
  • feat: contacts support full name and name components [#2187]
  • feat: add contacts app skeleton [#2155]
  • feat: small UI improvements/fixes [#2177]
  • feat: add no content images for mail app [#2165]
  • feat: webfinger oidc discovery [#2152]
  • Added draft state handling [#1956]
  • feat: use oc colors in collabora [#2144]
  • feat: polish input fields [#2127]
  • feat(runtime): add dynamic extension points for sidebar-nav [#2134]
  • feat: polish drop menus [#2133]
  • feat: polish filters [#2124]
  • feat: polish shares page [#2116]
  • feat: polish left sidebar [#2118]
  • feat: polish space enabled/disabled status indicators [#2113]
  • feat: show icon of the current view mode in view mode switch [#2105]
  • feat: use proper size-5 class for medium sized icons [#2066]
  • feat: increase topbar height [#2070]
  • Improve empty state icons [#2094]
  • feat: ease use of floating action button extension [#2090]
  • feat: add polished icons for no content message [#2033]
  • feat: add fab to admin settings and spaces overview [#2025]
  • feat(ocm): implement WAYF page and enhance invitation workflow [#1486]
  • feat: modernize surface colors [#2023]
  • feat: create or upload floating action button [#1997]
  • feat: eliminate collapsed state of left side bar [#1993]
  • feat: unify create and upload button [#1989]
  • feat: clarify error text on 412 error in editor [#1850]
  • Mail: Mail compose as Widget #1609 [#1687]
  • feat: allow .readme.md filename for top level readme [#1769]
  • feat: add photo roll to preview app [#1699]
  • feat: render readme.md file at the top of folder [#1708]
  • feat: add inlineLabel and hasBorder props to OcTextInput and OCSelect [#1707]
  • feat(preview): add support for mov video files [#1705]
  • feat: add floating action button [#1688]
  • feat: replace extension and gdpr icon in preference menu [#1683]
  • feat: implement mail account switcher [#1677]
  • feat: show empty trash bin icon at quick action if trash is empty [#1647]
  • feat: share links and passwords in embed mode [#1613]
  • Introduce mail app [#1382]

✅ Tests

  • test(e2e): add expiration date indicator checks for public link and shares [#2539]
  • [e2e-tests] waiting upload response [#2494]
  • [e2e-tests] upload folder with different options [#2483]
  • e2e-tests: favorites [#2370]
  • [full-ci] test(e2e): fix share type label check [#2191]
  • [with-tracing] fix: e2e-test public deletes folders [#2130]
  • keycloak tests [#2064]
  • test(e2e): increase timeout for large file upload step [#2067]
  • update keycloak version [#2051]
  • [full-ci] test: fix ocm invite token parsing [#2049]
  • enforce password for writable public links [#1779]
  • [tests-only] correct release PR condition to use build.sender [#1736]
  • [tests-only] skip unit and e2e test pipelines on ready-release-go prs [#1714]
  • e2e-tests. undo deleted resources [#1580]
  • e2e-test. download folder on public link [#1531]
  • check user avatar in the admin settings->users [#1510]

📦️ Dependencies

  • chore(deps): update dependency p-queue to v9.3.0 [#2541]
  • fix(deps): update dependency zod to v4.4.3 [#2536]
  • chore(deps): update traefik docker tag to v3.7.1 [#2534]
  • chore(deps): update dependency @types/node to v25.9.0 [#2533]
  • fix(deps): update dependency vue-router to v5.0.7 [#2523]
  • chore(deps): update dependency axios to v1.16.1 [#2525]
  • chore(deps): update dependency vue-tsc to v3.3.0 [#2530]
  • fix(deps): update dependency @sentry/vue to v10.53.1 [#2531]
  • chore(deps): update dependency @vueuse/core to v14.3.0 [#2524]
  • chore(deps): update tiptap monorepo to v3.23.4 [#2528]
  • chore(deps): update dependency vue-router to v5.0.7 [#2518]
  • chore(deps): update dependency fast-xml-parser to v5.8.0 [#2526]
  • chore(deps): update typescript-eslint monorepo to v8.59.3 [#2519]
  • fix(deps): update dependency qs to v6.15.2 [#2522]
  • chore(deps): update dependency dompurify to v3.4.5 [#2478]
  • chore(deps): update dependency eslint-plugin-vue to v10.9.1 [#2516]
  • chore(deps): update devdependencies (non-major) [#2481]
  • chore(deps): update pnpm to v10.33.4 [#2482]
  • fix(deps): update dependency @casl/ability to v6.8.1 [#2396]
  • fix(deps): update dependency axios to v1.15.1 [#2392]
  • chore(deps): update dependency filesize to v11.0.16 [#2395]
  • chore(deps): update dependency fast-xml-parser to v5.7.1 [#2388]
  • fix(deps): update dependency @sentry/vue to v10.49.0 [#2381]
  • chore(deps): update node.js to v24.15.0 [#2380]
  • chore(deps): update devdependencies (non-major) - autoclosed [#2387]
  • fix(deps): update dependency uuid to v14 [#2393]
  • chore(deps): update devdependencies (non-major) [#2378]
  • chore(deps): update dependency @cucumber/cucumber to v12.8.1 [#2362]
  • chore(deps): update dependency fast-xml-parser to v5.6.0 [#2373]
  • chore(deps): update dependency dompurify to v3.4.0 [#2363]
  • chore(deps): update typescript-eslint monorepo to v8.58.2 [#2360]
  • chore(deps): update devdependencies (non-major) [#2358]
  • chore(deps): update tiptap monorepo to v3.22.3 [#2320]
  • chore(deps): update dependency globals to v17.5.0 [#2352]
  • chore(deps): update dependency fast-xml-parser to v5.5.12 [#2354]
  • chore(deps): update devdependencies (non-major) [#2350]
  • chore(deps): update dependency @types/node to v25.6.0 [#2338]
  • fix(deps): update dependency @unhead/vue to v3 [#2337]
  • fix(deps): update dependency @sentry/vue to v10.48.0 [#2336]
  • fix(deps): update dependency qs to v6.15.1 [#2327]
  • chore(deps): update devdependencies (non-major) [#2331]
  • chore(deps): update dependency fast-xml-parser to v5.5.11 [#2324]
  • fix(deps): update dependency axios to v1.15.0 [#2330]
  • chore(deps): update devdependencies (non-major) [#2325]
  • chore(deps): update traefik docker tag to v3.6.13 [#2316]
  • chore(deps): update typescript-eslint monorepo to v8.58.1 [#2317]
  • chore(deps): update devdependencies (non-major) [#2313]
  • chore(deps): update devdependencies (non-major) [#2307]
  • fix(deps): update dependency p-queue to v9.1.2 [#2308]
  • fix(deps): update dependency typescript to v6 [#2204]
  • chore(deps): update dependency @unhead/vue to v2.1.13 [#2303]
  • fix(deps): update dependency fuse.js to v7.3.0 [#2297]
  • chore(deps): update tiptap monorepo to v3.22.2 [#2285]
  • chore(deps): update dependency @panzoom/panzoom to v4.6.2 [#2295]
  • chore(deps): update dependency fast-xml-parser to v5.5.10 [#2299]
  • chore(deps): update dependency md-editor-v3 to v6.4.2 [#2304]
  • chore(deps): update devdependencies (non-major) [#2294]
  • fix(deps): update dependency vitest-mock-extended to v4 [#2306]
  • chore(deps): update dependency vite to v8.0.5 [security] [#2305]
  • chore(deps): update dependency vitest-mock-extended to v3.1.1 [#2289]
  • fix(deps): update dependency lodash-es to v4.18.1 [security] [#2282]
  • chore(deps): update tiptap monorepo to v3.22.0 [#2248]
  • chore(deps): update dependency @playwright/test to v1.59.1 [#2277]
  • fix(deps): update dependency p-queue to v9.1.1 [#2278]
  • chore(deps): update dependency @codemirror/view to v6.41.0 [#2275]
  • chore(deps): update devdependencies (non-major) [#2268]
  • fix(deps): update dependency @sentry/vue to v10.47.0 [#2269]
  • chore(deps): update dependency filesize to v11.0.15 [#2223]
  • fix(deps): update dependency axios to v1.14.0 [#2250]
  • chore(deps): update dependency @module-federation/vite to v1.13.6 [#2264]
  • chore(deps): update typescript-eslint monorepo to v8.58.0 [#2265]
  • chore(deps): update devdependencies (non-major) [#2257]
  • chore(deps): update tiptap monorepo to v3.20.6 [#2214]
  • chore(deps): update dependency happy-dom to v20.8.9 [#2242]
  • chore(deps): update pnpm to v10.33.0 [#2215]
  • chore(deps): update node.js to v24.14.1 [#2216]
  • chore(deps): update devdependencies (non-major) [#2217]
  • fix(deps): update dependency @sentry/vue to v10.46.0 [#2225]
  • chore(deps): update traefik docker tag to v3.6.12 [#2240]
  • chore(deps): update dependency happy-dom to v20.8.8 [security] [#2241]
  • Dependency bumps across packages [#2233]
  • chore(deps): update typescript-eslint monorepo to v8.57.2 [#2206]
  • chore(deps): update dependency fast-xml-parser to v5.5.9 [#2203]
  • chore(deps): update devdependencies (non-major) [#2196]
  • chore(deps): update apache/tika docker tag to v3.3.0.0 [#2207]
  • chore(deps): update pnpm to v10.32.1 [#1875]
  • chore(deps): update dependency vite-plugin-static-copy to v4 [#2198]
  • chore(deps): update dependency fast-xml-parser to v5.5.8 [#2182]
  • chore(deps): update dependency md-editor-v3 to v6.4.1 [#2197]
  • fix(deps): update dependency vue-router to v5.0.4 [#2186]
  • fix(deps): update dependency @sentry/vue to v10.45.0 [#2181]
  • chore(deps): update dependency fast-xml-parser to v5.5.7 [security] [#2190]
  • chore(deps): update traefik docker tag to v3.6.11 [#2189]
  • chore(deps): update tiptap monorepo to v3.20.4 [#2151]
  • chore(deps): update devdependencies (non-major) [#2150]
  • fix(deps): update dependency @sentry/vue to v10.44.0 [#2168]
  • chore(deps): update typescript-eslint monorepo to v8.57.1 [#2154]
  • chore(deps): update dependency fast-xml-parser to v5.5.6 [#2145]
  • chore(deps): update dependency vite-plugin-static-copy to v3.3.0 [#2142]
  • chore(deps): update dependency @codemirror/view to v6.40.0 [#2131]
  • chore(deps): update dependency fast-xml-parser to v5.5.4 [#2140]
  • chore(deps): update devdependencies (non-major) [#2138]
  • chore(deps): update dependency fast-xml-parser to v5.5.3 [#2121]
  • chore(deps): update dependency dompurify to v3.3.3 [#2092]
  • chore(deps): update typescript-eslint monorepo to v8.57.0 [#2112]
  • fix(deps): update dependency @sentry/vue to v10.43.0 [#2119]
  • chore(deps): update dependency @codemirror/view to v6.39.17 [#2115]
  • chore(deps): update devdependencies (non-major) [#2103]
  • chore(deps): update traefik docker tag to v3.6.10 [#2102]
  • chore(deps): update tiptap monorepo to v3.20.1 [#2101]
  • chore(deps): update dependency eslint to v10 [#1945]
  • chore(deps): update dependency md-editor-v3 to v6.4.0 [#2072]
  • chore(deps): update devdependencies (non-major) [#2057]
  • fix(deps): update dependency @sentry/vue to v10.42.0 - autoclosed [#2052]
  • chore(deps): update dependency fast-xml-parser to v5.4.2 [#2059]
  • chore(deps): update dependency @floating-ui/dom to v1.7.6 [#2065]
  • chore(deps): update dependency dompurify to v3.3.2 [security] [#2095]
  • chore(deps): update dependency ejs to v5 [#2096]
  • chore(deps): update dependency @codemirror/view to v6.39.16 [#2050]
  • chore(deps): update dependency globals to v17.4.0 [#2048]
  • chore(deps): update dependency @cucumber/messages to v32.2.0 [#2047]
  • fix(deps): update dependency axios to v1.13.6 [#2046]
  • chore(deps): update dependency @cucumber/messages to v32.1.0 [#2043]
  • chore(deps): update tiptap monorepo to v3.20.0 [#1999]
  • chore(deps): update dependency simple-git to v3.32.3 [#2039]
  • chore(deps): update devdependencies (non-major) [#2030]
  • fix(deps): update dependency @sentry/vue to v10.40.0 [#2036]
  • chore(deps): update dependency fast-xml-parser to v5.4.1 [#2037]
  • chore(deps): update vue monorepo to v3.5.29 [#2034]
  • chore(deps): update node.js to v24.14.0 [#2035]
  • chore(deps): update typescript-eslint monorepo to v8.56.1 [#2031]
  • chore(deps): update traefik docker tag to v3.6.9 [#2032]
  • chore(deps): update dependency @codemirror/view to v6.39.15 [#2016]
  • fix(deps): update dependency vue-router to v5.0.3 [#2013]
  • chore(deps): update dependency fast-xml-parser to v5.3.7 [#2014]
  • chore(deps): update devdependencies (non-major) [#1996]
  • chore(deps): update dependency rollup-plugin-visualizer to v7 [#2024]
  • chore: adjust dev docker app-registry [#1995]
  • chore: adjust dev docker app-registry [#1994]
  • chore(deps): update typescript-eslint monorepo to v8.56.0 [#1955]
  • chore(deps): update devdependencies (non-major) [#1962]
  • fix(deps): update dependency qs to v6.15.0 [#1968]
  • chore(deps): update dependency eslint-plugin-vuejs-accessibility to v2.5.0 [#1976]
  • fix(deps): update dependency @sentry/vue to v10.39.0 [#1988]
  • chore(deps): update dependency fast-xml-parser to v5.3.6 [#1979]
  • chore(deps): update dependency @codemirror/view to v6.39.14 [#1970]
  • chore(deps): update traefik docker tag to v3.6.8 [#1967]
  • chore(deps): update node.js to v24.13.1 [#1961]
  • chore(deps): update dependency eslint-plugin-vue to v10.8.0 [#1980]
  • chore(deps): update dependency eslint-plugin-n to v17.24.0 [#1982]
  • chore(deps): update devdependencies (non-major) [#1861]
  • fix(deps): update dependency lodash-es to v4.17.23 [security] [#1857]
  • chore(deps): update typescript-eslint monorepo to v8.53.1 [#1846]
  • chore(deps): update dependency happy-dom to v20.3.4 [#1847]
  • chore(deps): update pnpm to v10.28.1 [#1844]
  • chore(deps): update devdependencies (non-major) [#1842]
  • fix(deps): update dependency @sentry/vue to v10.35.0 [#1845]
  • fix(deps): update vue monorepo to v3.5.27 [#1843]
  • fix(deps): update dependency @casl/ability to v6.8.0 [#1840]
  • chore(deps): update dependency @casl/vue to v2.2.6 [#1839]
  • chore(deps): update dependency happy-dom to v20.3.3 [#1841]
  • chore(deps): update dependency eslint-plugin-vue to v10.7.0 [#1838]
  • chore(deps): update dependency happy-dom to v20.3.1 [#1834]
  • chore(deps): update dependency ejs to v4 [#1828]
  • chore(deps): update traefik docker tag to v3.6.7 [#1825]
  • fix(deps): update dependency @sentry/vue to v10.34.0 - autoclosed [#1827]
  • chore(deps): update devdependencies (non-major) [#1826]
  • chore(deps): update dependency @babel/eslint-parser to v7.28.6 [#1815]
  • fix(deps): update dependency @sentry/vue to v10.33.0 [#1812]
  • chore(deps): update typescript-eslint monorepo to v8.53.0 [#1816]
  • chore(deps): update dependency @codemirror/view to v6.39.11 [#1820]
  • chore(deps): update node.js to v24.13.0 [#1821]
  • chore(deps): update dependency eslint-plugin-n to v17.23.2 [#1822]
  • chore(deps): update devdependencies (non-major) to v7.28.6 [#1823]
  • chore(deps): update devdependencies (non-major) [#1783]
  • chore(deps): update collabora/code docker tag to v25.04.8.1.1 [#1761]
  • fix(deps): update dependency globals to v17 [#1811]
  • chore(deps): update dependency md-editor-v3 to v6.3.1 [#1794]
  • chore(deps): update typescript-eslint monorepo to v8.52.0 [#1786]
  • fix(deps): update dependency @casl/ability to v6.7.5 [#1782]
  • chore(deps): update traefik docker tag to v3.6.6 [#1798]
  • fix(deps): update dependency p-queue to v9.1.0 [#1809]
  • fix(deps): update dependency zod to v4.3.5 [#1810]
  • chore(deps): update dependency @codemirror/view to v6.39.9 [#1785]
  • Update dependency @casl/vue to v2.2.5 [#1807]
  • Update dependency focus-trap to v7.8.0 [#1784]
  • Update pnpm to v10.28.0 [#1790]
  • Update dependency qs to v6.14.1 [SECURITY] [#1803]
  • fix(deps): update dependency @sentry/vue to v10.32.1 [#1777]
  • chore(deps): update devdependencies (non-major) [#1775]
  • chore(deps): update pnpm to v10.26.1 [#1778]
  • fix(deps): update dependency lodash-es to v4.17.22 [#1764]
  • fix(deps): update dependency @sentry/vue to v10.31.0 [#1766]
  • chore(deps): update devdependencies (non-major) to v4.0.16 - autoclosed [#1762]
  • chore(deps): update traefik docker tag to v3.6.5 [#1763]
  • chore(deps): update pnpm to v10.26.0 [#1753]
  • chore(deps): update typescript-eslint monorepo to v8.50.0 [#1755]
  • fix(deps): update dependency zod to v4.2.1 [#1750]
  • [full-ci] bump-opencloud-4.1.0. run all tests [#1754]
  • chore(deps): update dependency @codemirror/view to v6.39.4 [#1732]
  • fix(deps): update dependency vue-router to v4.6.4 [#1743]
  • fix(deps): update dependency @sentry/vue to v10.30.0 [#1737]
  • chore(deps): update node.js to v24.12.0 [#1734]
  • chore(deps): update devdependencies (non-major) [#1742]
  • chore(deps): update dependency @codemirror/view to v6.39.1 [#1730]
  • chore(deps): update dependency dompurify to v3.3.1 [#1721]
  • chore(deps): update typescript-eslint monorepo to v8.49.0 [#1724]
  • chore(deps): update dependency md-editor-v3 to v6.2.1 [#1726]
  • chore(deps): update dependency @codemirror/view to v6.39.1 [#1725]
  • chore(deps): update devdependencies (non-major) [#1722]
  • fix(deps): update uppy monorepo [#1729]
  • chore(deps): update pnpm to v10.25.0 [#1723]
  • chore(deps): update traefik docker tag to v3.6.4 [#1716]
  • chore(deps): update devdependencies (non-major) [#1717]
  • fix(deps): update dependency @sentry/vue to v10.29.0 [#1712]
  • fix(deps): update dependency @sentry/vue to v10.28.0 [#1697]
  • chore(deps): update dependency @panzoom/panzoom to v4.6.1 [#1698]
  • chore(deps): update typescript-eslint monorepo to v8.48.1 [#1693]
  • fix(deps): update uppy monorepo [#1695]
  • chore(deps): update devdependencies (non-major) [#1690]
  • update-playwright-1.57 [#1709]
  • fix(deps): update dependency password-sheriff to v2 [#1701]
  • chore(deps): update collabora/code docker tag to v25.04.7.3.1 [#1684]
  • chore(deps): update dependency vite to v7.2.6 [#1689]
  • chore(deps): update devdependencies (non-major) [#1686]
  • chore(deps): update devdependencies (non-major) [#1652]
  • chore(deps): update typescript-eslint monorepo to v8.48.0 [#1673]
  • chore(deps): update dependency password-sheriff to v1.3.1 [#1672]
  • chore(deps): update ghcr.io/stalwartlabs/stalwart docker tag to v0.14.1 [#1541]
  • chore(deps): update dependency eslint-plugin-vue to v10.6.2 [#1664]
  • fix(deps): update dependency @sentry/vue to v10.27.0 [#1674]
  • chore(deps): update dependency @vueuse/core to v14.1.0 [#1676]
  • fix(deps): update vue monorepo to v3.5.25 [#1669]
  • fix(deps): update dependency zod to v4.1.13 [#1667]
  • chore(deps): update pnpm to v10.24.0 [#1656]
  • chore(deps): update dependency md-editor-v3 to v6.2.0 [#1648]
  • fix(deps): update dependency @sentry/vue to v10.26.0 [#1649]
  • chore(deps): update dependency glob to v13 [#1651]
  • chore(deps): update dependency @cucumber/messages to v31 [#1644]
  • chore(deps): update dependency @vitejs/plugin-vue to v6.0.2 [#1632]
  • chore(deps): update traefik docker tag to v3.6.2 [#1643]
  • chore(deps): update dependency oidc-client-ts to v3.4.1 [#1570]
  • fix(deps): update dependency p-queue to v9.0.1 [#1640]
  • chore(deps): update typescript-eslint monorepo to v8.47.0 [#1633]
  • chore(deps): update dependency glob to v12 [#1634]
  • chore(deps): update collabora/code docker tag to v25.04.7.2.1 [#1631]
  • chore(deps): update devdependencies (non-major) to v4.0.10 [#1625]
  • chore(deps): update dependency @codemirror/view to v6.38.8 [#1622]
  • chore(deps): update dependency vue-tsc to v3.1.4 [#1621]
  • chore(deps): update dependency @codemirror/view to v6.38.7 [#1619]
  • chore(deps): update devdependencies (non-major) to v4.0.9 [#1618]
  • chore(deps): update traefik docker tag to v3.6.1 [#1614]
  • chore(deps): update pnpm to v10.22.0 [#1607]
  • chore(deps): update dependency jsdom to v27.2.0 [#1601]
  • chore(deps): update node.js to v24.11.1 [#1600]
  • fix(deps): update dependency @sentry/vue to v10.25.0 [#1599]
  • fix(deps): update dependency @sentry/vue to v10.24.0 [#1574]
  • chore(deps): update typescript-eslint monorepo to v8.46.4 [#1581]
  • chore(deps): update collabora/code docker tag to v25.04.7.1.1 [#1516]
  • chore(deps): update devdependencies (non-major) to v4.0.8 [#1557]
  • chore(deps): update traefik docker tag to v3.6.0 [#1566]
  • chore(deps): update pnpm to v10.21.0 [#1568]
  • chore(deps): update dependency password-sheriff to v1.3.0 [#1560]
  • fix(deps): update vue monorepo to v3.5.24 [#1558]
  • chore(deps): update dependency vite to v7.2.2 [#1555]
  • chore(deps): update devdependencies (non-major) to v4.1.17 [#1533]
  • chore(deps): update dependency axios to v1.13.2 [#1537]
  • fix(deps): update vue monorepo to v3.5.23 [#1544]
  • fix(deps): update dependency @sentry/vue to v10.23.0 [#1542]
  • fix(deps): update dependency pinia to v3.0.4 [#1532]
  • chore(deps): update dependency @pinia/testing to v1.0.3 [#1524]
  • chore(deps): update dependency pinia to v3.0.4 [#1525]
  • fix(deps): update dependency axios to v1.13.2 - autoclosed [#1515]
  • chore(deps): update devdependencies (non-major) to v4.0.7 [#1514]
  • chore(deps): update dependency eslint to v9.39.1 [#1503]
  • chore(deps): update typescript-eslint monorepo to v8.46.3 [#1502]
  • [full-ci] bump-opencloud-3.7.0. run all tests [#1500]
  • chore(deps): update dependency md-editor-v3 to v6.1.1 [#1493]
  • fix(deps): update dependency @uppy/utils to v7.1.3 [#1496]

Reva

✨ Features

  • [feature/guest-links] introduce migration framework and import spacemember shares [#617]
  • [feature/guest-links] Manage space membership in shareprovider [#593]

🐛 Bug Fixes

  • Backport the LockAndRead change from #701 [#702]
  • [stable-2.46] fix: status codes on DeleteStorageSpace [#692]
  • [stable-2.46] Backport #681 [#686]
  • Stable backports [#679]
  • Migrate disabled spaces [#649]
  • fix: added /dav/public-files/ to Unprotected routes [#648]
  • fix(sharing/jsoncs3): Reject Write Requests while migration is running [#642]
  • Revert "Fall back to disk if ids aren't available from the cache" [#644]
  • Log nats connection issues and trigger a shutdown if reconnecting failed [#640]
  • ldap: Set a default request timeout [#637]
  • Ignore in-tree lockfiles if collaborative mode is disabled [#633]
  • Do not mask real cache errors with "not found" errors [#635]
  • fix(jsoncs3-sharemanager): Make migrations interruptible [#627]
  • Fix race conditions in the hybrid metadata backend [#594]
  • fix: error handling in upload session cleanup [#582]
  • fix: copy mtime [#535]
  • Fix concurrent access to app tokens [#527]
  • Fix missing events when changing files on disk with watch_fs enabled [#530]
  • Handle files still being processed during download/copy [#507]
  • Reduce CPU and memory usage [#490]
  • fix(watchfs): Don't cache old id if a copy is detected [#491]
  • log correct line in tus log wrapper [#460]
  • skip assimilations if root is reached [#463]
  • Apply changed TTL settings to existing buckets [#509]
  • Do not log EOF as error, it is expected behavior when reading empty dirs [#454]

📈 Enhancements

  • Retry nats requests in the id cache [#641]
  • Persist space memberships in share manager [#634]
  • experimental: add darwin watchfs support [#471]
  • Tracing [#596]
  • Write mtime from filesystem to metadata to prevent re-assimilation [#457]
  • introduce Natswatcher [#449]
  • add tls support for nats connections [#466]

📦️ Dependencies

  • chore(deps): bump golang.org/x/text from 0.36.0 to 0.37.0 [#643]
  • chore(deps): bump go.etcd.io/etcd/client/v3 from 3.6.10 to 3.6.11 [#631]
  • chore(deps): bump the go_modules group across 1 directory with 2 updates [#636]
  • chore(deps): bump github.com/go-git/go-git/v5 from 5.18.0 to 5.19.0 in the go_modules group across 1 directory [#628]
  • chore(deps): bump github.com/nats-io/nats.go from 1.49.0 to 1.51.0 [#591]
  • chore(deps): bump github.com/coreos/go-oidc/v3 from 3.17.0 to 3.18.0 [#586]
  • chore(deps): bump github.com/go-git/go-git/v5 from 5.17.1 to 5.18.0 in the go_modules group across 1 directory [#595]
  • chore(deps): bump github.com/go-playground/validator/v10 from 10.30.1 to 10.30.2 [#589]
  • chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.42.0 to 1.43.0 [#585]
  • chore(deps): bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc from 0.65.0 to 0.68.0 [#584]
  • chore(deps): bump github.com/rs/zerolog from 1.34.0 to 1.35.0 [#583]
  • chore(deps): bump github.com/go-jose/go-jose/v4 from 4.1.3 to 4.1.4 in the go_modules group across 1 directory [#581]
  • chore(deps): bump github.com/onsi/ginkgo/v2 from 2.28.0 to 2.28.1 [#580]
  • chore(deps): bump github.com/samber/slog-zerolog/v2 from 2.9.1 to 2.9.2 [#569]
  • chore(deps): bump github.com/go-git/go-git/v5 from 5.16.5 to 5.17.1 in the go_modules group across 1 directory [#579]
  • chore(deps): bump golang.org/x/image from 0.24.0 to 0.38.0 in the go_modules group across 1 directory [#577]
  • chore(deps): bump github.com/nats-io/nats-server/v2 from 2.12.4 to 2.12.6 in the go_modules group across 1 directory [#568]
  • chore(deps): bump golang.org/x/oauth2 from 0.35.0 to 0.36.0 [#565]
  • chore(deps): bump github.com/nats-io/nats.go from 1.48.0 to 1.49.0 [#564]
  • chore(deps): bump github.com/mattn/go-sqlite3 from 1.14.34 to 1.14.37 [#563]
  • chore(deps): bump google.golang.org/grpc from 1.79.2 to 1.79.3 in the go_modules group across 1 directory [#562]
  • chore(deps): bump golang.org/x/crypto from 0.48.0 to 0.49.0 [#559]
  • chore(deps): bump github.com/ceph/go-ceph from 0.37.0 to 0.38.0 [#560]
  • chore(deps): bump golang.org/x/sync from 0.19.0 to 0.20.0 [#558]
  • chore(deps): bump github.com/tus/tusd/v2 from 2.8.0 to 2.9.2 [#557]
  • chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.41.0 to 1.42.0 [#555]
  • chore(deps): bump github.com/google/renameio/v2 from 2.0.1 to 2.0.2 [#495]
  • chore(deps): bump github.com/minio/minio-go/v7 from 7.0.98 to 7.0.99 [#553]
  • chore(deps): bump go.opentelemetry.io/otel/trace from 1.41.0 to 1.42.0 [#550]
  • chore(deps): bump google.golang.org/grpc from 1.79.1 to 1.79.2 [#548]
  • chore(deps): bump go.etcd.io/etcd/client/v3 from 3.6.7 to 3.6.8 [#546]
  • chore(deps): bump github.com/mattn/go-sqlite3 from 1.14.33 to 1.14.34 [#544]
  • chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.40.0 to 1.41.0 [#543]
  • chore(deps): bump google.golang.org/grpc from 1.78.0 to 1.79.1 [#542]
  • chore(deps): bump golang.org/x/crypto from 0.47.0 to 0.48.0 [#539]
  • chore(deps): bump golang.org/x/oauth2 from 0.34.0 to 0.35.0 [#537]
  • chore(deps): bump github.com/cloudflare/circl from 1.6.1 to 1.6.3 in the go_modules group across 1 directory [#538]
  • chore(deps): bump filippo.io/edwards25519 from 1.1.0 to 1.1.1 in the go_modules group across 1 directory [#534]
  • chore(deps): bump golang.org/x/term from 0.39.0 to 0.40.0 [#533]
  • chore(deps): bump github.com/go-chi/chi/v5 from 5.2.4 to 5.2.5 [#531]
  • chore(deps): bump github.com/segmentio/kafka-go from 0.4.49 to 0.4.50 [#500]
  • chore(deps): bump github.com/prometheus/alertmanager from 0.30.0 to 0.30.1 [#499]
  • chore(deps): bump github.com/minio/minio-go/v7 from 7.0.97 to 7.0.98 [#498]
  • chore(deps): bump github.com/go-chi/chi/v5 from 5.2.3 to 5.2.4 [#496]
  • chore(deps): bump golang.org/x/crypto from 0.46.0 to 0.47.0 [#494]
  • chore(deps): bump golang.org/x/term from 0.38.0 to 0.39.0 [#492]
  • chore(deps): bump github.com/onsi/ginkgo/v2 from 2.27.3 to 2.27.5 [#493]
  • chore(deps): bump golang.org/x/sys from 0.39.0 to 0.40.0 [#488]
  • chore(deps): bump github.com/onsi/gomega from 1.38.3 to 1.39.0 [#489]
  • chore(deps): bump github.com/onsi/ginkgo/v2 from 2.27.2 to 2.27.3 [#486]
  • chore(deps): bump github.com/nats-io/nats.go from 1.47.0 to 1.48.0 [#485]
  • chore(deps): bump github.com/BurntSushi/toml from 1.5.0 to 1.6.0 [#484]
  • chore(deps): bump github.com/onsi/gomega from 1.38.2 to 1.38.3 [#483]
  • chore(deps): bump google.golang.org/grpc from 1.77.0 to 1.78.0 [#480]
  • chore(deps): bump google.golang.org/protobuf from 1.36.10 to 1.36.11 [#481]
  • chore(deps): bump golang.org/x/oauth2 from 0.33.0 to 0.34.0 [#478]
  • chore(deps): bump github.com/nats-io/nats-server/v2 from 2.12.2 to 2.12.3 [#479]
  • chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.38.0 to 1.39.0 [#476]
  • chore(deps): bump github.com/ceph/go-ceph from 0.36.0 to 0.37.0 [#475]
  • chore(deps): bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc from 0.63.0 to 0.64.0 [#474]
  • chore(deps): bump github.com/mattn/go-sqlite3 from 1.14.32 to 1.14.33 [#473]
  • chore(deps): bump github.com/go-playground/validator/v10 from 10.28.0 to 10.30.0 [#469]
  • chore(deps): bump github.com/prometheus/alertmanager from 0.29.0 to 0.30.0 [#468]
  • chore(deps): bump golang.org/x/sys from 0.38.0 to 0.39.0 [#467]
  • chore(deps): bump go.etcd.io/etcd/client/v3 from 3.6.6 to 3.6.7 [#464]
  • chore(deps): bump golang.org/x/sync from 0.18.0 to 0.19.0 [#453]
  • chore(deps): bump go.opentelemetry.io/otel/trace from 1.38.0 to 1.39.0 [#452]

Don't miss a new opencloud release

NewReleases is sending notifications on new releases.