github opencloud-eu/opencloud v4.1.0
4.1.0

one day ago

4.1.0 - 2025-12-15

❤️ Thanks to all contributors! ❤️

@JammingBen, @ScharfViktor, @Svanvith, @butonic, @flimmy, @fschade, @individual-it, @kulmann, @micbar, @prashant-gurung899, @AlexAndBear, @dschmidt, @pascalwengerter, @tammi-23, @aduffeck, @anon-pradip, @butonic

#Changelog

Opencloud

📚 Documentation

  • fix typo [#2024]
  • [docs] update policies link [#1996]
  • fix the link in quickstart script for itself [#1956]

✅ Tests

  • [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]

📈 Enhancement

  • Show edition in opencloud version command [#2019]

🐛 Bug Fixes

  • fix: enforce trailing slash for server url [#1995]
  • fix: enhance resource creation with detailed process information [#1978]

📦️ Dependencies

  • chore: bump web to v4.3.0 [#2030]
  • reva-bump-2.41.0 [#2032]
  • build(deps): bump github.com/testcontainers/testcontainers-go from 0.39.0 to 0.40.0 [#1931]

Web

🔒 Security

  • chore(deps): bump mdast-util-to-hast to 13.2.1 (security) [#1692]
  • chore: bump sub-dependencies that cause vulnerability alerts [#1653]

🐛 Bug Fixes

  • 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 addtional 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]

✅ Tests

  • [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]

📈 Enhancement

  • 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]

📦️ Dependencies

  • 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

📈 Enhancement

  • Write mtime from filesystem to metadata to preven re-assimilation [#457]
  • introduce Natswatcher [#449]

🐛 Bug Fixes

  • Do not log EOF as error, it is expected behavior when reading empty dirs [#454]

Don't miss a new opencloud release

NewReleases is sending notifications on new releases.