From d0e65a6ea6e85d0119b6bfd8c994404aba8ad08c Mon Sep 17 00:00:00 2001 From: Michael Barz Date: Tue, 29 Mar 2022 08:41:21 +0200 Subject: [PATCH] v2.1.0 --- CHANGELOG.md | 202 +++++ RELEASE_DATE | 2 +- VERSION | 2 +- .../change-nats-backend.md | 0 .../cs3-publicshare-manager.md | 0 .../cs3-share-manager.md | 0 .../delay-reconnect-log.md | 0 .../etags-virtual-spaces.md | 0 .../file-events.md | 0 .../fix-flock-warning.md | 0 .../fix-locking.md | 0 .../group-without-gidnumber.md | 0 .../make-linkaccessfailed-more-robust.md | 0 .../publicstorageprovider-rewrite.md | 0 .../quota-improvements.md | 0 .../scope-handling-spaces.md | 0 .../send-events-only-if-ok.md | 0 .../sharing-events.md | 0 .../sharing-fix-add-grantID.md | 0 .../sharing-in-spaces.md | 0 .../space-aliases.md | 0 .../space-events.md | 0 .../spaceid-propfind.md | 0 .../spaces-etags.md | 0 .../spaces-trashbin.md | 0 .../use-share-api-spaces.md | 0 changelog/NOTE.md | 781 +++--------------- .../content/en/docs/changelog/2.1.0/_index.md | 211 +++++ .../grpc/services/storageprovider/_index.md | 14 +- 29 files changed, 541 insertions(+), 671 deletions(-) rename changelog/{unreleased => 2.1.0_2022-03-29}/change-nats-backend.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/cs3-publicshare-manager.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/cs3-share-manager.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/delay-reconnect-log.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/etags-virtual-spaces.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/file-events.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/fix-flock-warning.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/fix-locking.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/group-without-gidnumber.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/make-linkaccessfailed-more-robust.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/publicstorageprovider-rewrite.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/quota-improvements.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/scope-handling-spaces.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/send-events-only-if-ok.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/sharing-events.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/sharing-fix-add-grantID.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/sharing-in-spaces.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/space-aliases.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/space-events.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/spaceid-propfind.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/spaces-etags.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/spaces-trashbin.md (100%) rename changelog/{unreleased => 2.1.0_2022-03-29}/use-share-api-spaces.md (100%) create mode 100644 docs/content/en/docs/changelog/2.1.0/_index.md diff --git a/CHANGELOG.md b/CHANGELOG.md index a050e46e60..97b972a235 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,205 @@ +Changelog for reva 2.1.0 (2022-03-29) +======================================= + +The following sections list the changes in reva 2.1.0 relevant to +reva users. The changes are ordered by importance. + +Summary +------- + + * Fix #2636: Delay reconnect log for events + * Fix #2645: Avoid warning about missing .flock files + * Fix #2625: Fix locking on publik links and the decomposed filesystem + * Fix #2643: Emit linkaccessfailed event when share is nil + * Fix #2646: Replace public mountpoint fileid with grant fileid in ocdav + * Fix #2612: Adjust the scope handling to support the spaces architecture + * Fix #2621: Send events only if response code is `OK` + * Chg #2574: Switch NATS backend + * Chg #2667: Allow LDAP groups to have no gidNumber + * Chg #3233: Improve quota handling + * Chg #2600: Use the cs3 share api to manage spaces + * Enh #2644: Add new public share manager + * Enh #2626: Add new share manager + * Enh #2624: Add etags to virtual spaces + * Enh #2639: File Events + * Enh #2627: Add events for sharing action + * Enh #2664: Add grantID to mountpoint + * Enh #2622: Allow listing shares in spaces via the OCS API + * Enh #2623: Add space aliases + * Enh #2647: Add space specific events + * Enh #3345: Add the spaceid to propfind responses + * Enh #2616: Add etag to spaces response + * Enh #2628: Add spaces aware trash-bin API + +Details +------- + + * Bugfix #2636: Delay reconnect log for events + + Print reconnect information log only when reconnect time is bigger than a second + + https://github.com/cs3org/reva/pull/2636 + + * Bugfix #2645: Avoid warning about missing .flock files + + These flock files appear randomly because of file locking. We can savely ignore them. + + https://github.com/cs3org/reva/pull/2645 + + * Bugfix #2625: Fix locking on publik links and the decomposed filesystem + + We've fixed the behavior of locking on the decomposed filesystem, so that now app based locks + can be modified user independently (needed for WOPI integration). Also we added a check, if a + lock is already expired and if so, we lazily delete the lock. The InitiateUploadRequest now + adds the Lock to the upload metadata so that an upload to an locked file is possible. + + We'v added the locking api requests to the public link scope checks, so that locking also can be + used on public links (needed for WOPI integration). + + https://github.com/cs3org/reva/pull/2625 + + * Bugfix #2643: Emit linkaccessfailed event when share is nil + + The code no longer panics when a link access failed event has no share. + + https://github.com/cs3org/reva/pull/2643 + + * Bugfix #2646: Replace public mountpoint fileid with grant fileid in ocdav + + We now show the same resoucre id for resources when accessing them via a public links as when + using a logged in user. This allows the web ui to start a WOPI session with the correct resource + id. + + https://github.com/cs3org/reva/issues/2635 + https://github.com/cs3org/reva/pull/2646 + + * Bugfix #2612: Adjust the scope handling to support the spaces architecture + + The scope authentication interceptors weren't updated to the spaces architecture and + couldn't authenticate some requests. + + https://github.com/cs3org/reva/pull/2612 + + * Bugfix #2621: Send events only if response code is `OK` + + Before events middleware was sending events also when the resulting status code was not `OK`. + This is clearly a bug. + + https://github.com/cs3org/reva/pull/2621 + + * Change #2574: Switch NATS backend + + We've switched the NATS backend from Streaming to JetStream, since NATS Streaming is + depreciated. + + https://github.com/cs3org/reva/pull/2574 + + * Change #2667: Allow LDAP groups to have no gidNumber + + Similar to the user-provider allow a group to have no gidNumber. Assign a default in that case. + + https://github.com/cs3org/reva/pull/2667 + + * Change #3233: Improve quota handling + + GetQuota now returns 0 when no quota was set instead of the disk size. Also added a new return + value for the remaining space which will either be quota - used bytes or if no quota was set the + free disk size. + + https://github.com/owncloud/ocis/issues/3233 + https://github.com/cs3org/reva/pull/2666 + https://github.com/cs3org/reva/pull/2688 + + * Change #2600: Use the cs3 share api to manage spaces + + We now use the cs3 share Api to manage the space roles. We do not send the request to the share + manager, the permissions are stored in the storage provider + + https://github.com/cs3org/reva/pull/2600 + https://github.com/cs3org/reva/pull/2620 + https://github.com/cs3org/reva/pull/2687 + + * Enhancement #2644: Add new public share manager + + We added a new public share manager which uses the new metadata storage backend for persisting + the public share information. + + https://github.com/cs3org/reva/pull/2644 + + * Enhancement #2626: Add new share manager + + We added a new share manager which uses the new metadata storage backend for persisting the + share information. + + https://github.com/cs3org/reva/pull/2626 + + * Enhancement #2624: Add etags to virtual spaces + + The shares storage provider didn't include the etag in virtual spaces like the shares jail or + mountpoints. + + https://github.com/cs3org/reva/pull/2624 + + * Enhancement #2639: File Events + + Adds file based events. See `pkg/events/files.go` for full list + + https://github.com/cs3org/reva/pull/2639 + + * Enhancement #2627: Add events for sharing action + + Includes lifecycle events for shares and public links doesn't include federated sharing + events for now see full list of events in `pkg/events/types.go` + + https://github.com/cs3org/reva/pull/2627 + + * Enhancement #2664: Add grantID to mountpoint + + We distinguish between the mountpoint of a share and the grant where the original file is + located on the storage. + + https://github.com/cs3org/reva/pull/2664 + + * Enhancement #2622: Allow listing shares in spaces via the OCS API + + Added a `space_ref` parameter to the list shares endpoints so that one can list shares inside of + spaces. + + https://github.com/cs3org/reva/pull/2622 + + * Enhancement #2623: Add space aliases + + Space aliases can be used to resolve spaceIDs in a client. + + https://github.com/cs3org/reva/pull/2623 + + * Enhancement #2647: Add space specific events + + See `pkg/events/spaces.go` for full list + + https://github.com/cs3org/reva/pull/2647 + + * Enhancement #3345: Add the spaceid to propfind responses + + Added the spaceid to propfind responses so that clients have the necessary data to send + subsequent requests. + + https://github.com/owncloud/ocis/issues/3345 + https://github.com/cs3org/reva/pull/2657 + + * Enhancement #2616: Add etag to spaces response + + Added the spaces etag to the response when listing spaces. + + https://github.com/cs3org/reva/pull/2616 + + * Enhancement #2628: Add spaces aware trash-bin API + + Added the webdav trash-bin endpoint for spaces. + + https://github.com/cs3org/reva/pull/2628 + + Changelog for reva 2.0.0 (2022-03-03) ======================================= diff --git a/RELEASE_DATE b/RELEASE_DATE index 8dc27fbeaa..365c8ff59c 100644 --- a/RELEASE_DATE +++ b/RELEASE_DATE @@ -1 +1 @@ -2022-03-03 \ No newline at end of file +2022-03-29 \ No newline at end of file diff --git a/VERSION b/VERSION index 359a5b952d..50aea0e7ab 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.0.0 \ No newline at end of file +2.1.0 \ No newline at end of file diff --git a/changelog/unreleased/change-nats-backend.md b/changelog/2.1.0_2022-03-29/change-nats-backend.md similarity index 100% rename from changelog/unreleased/change-nats-backend.md rename to changelog/2.1.0_2022-03-29/change-nats-backend.md diff --git a/changelog/unreleased/cs3-publicshare-manager.md b/changelog/2.1.0_2022-03-29/cs3-publicshare-manager.md similarity index 100% rename from changelog/unreleased/cs3-publicshare-manager.md rename to changelog/2.1.0_2022-03-29/cs3-publicshare-manager.md diff --git a/changelog/unreleased/cs3-share-manager.md b/changelog/2.1.0_2022-03-29/cs3-share-manager.md similarity index 100% rename from changelog/unreleased/cs3-share-manager.md rename to changelog/2.1.0_2022-03-29/cs3-share-manager.md diff --git a/changelog/unreleased/delay-reconnect-log.md b/changelog/2.1.0_2022-03-29/delay-reconnect-log.md similarity index 100% rename from changelog/unreleased/delay-reconnect-log.md rename to changelog/2.1.0_2022-03-29/delay-reconnect-log.md diff --git a/changelog/unreleased/etags-virtual-spaces.md b/changelog/2.1.0_2022-03-29/etags-virtual-spaces.md similarity index 100% rename from changelog/unreleased/etags-virtual-spaces.md rename to changelog/2.1.0_2022-03-29/etags-virtual-spaces.md diff --git a/changelog/unreleased/file-events.md b/changelog/2.1.0_2022-03-29/file-events.md similarity index 100% rename from changelog/unreleased/file-events.md rename to changelog/2.1.0_2022-03-29/file-events.md diff --git a/changelog/unreleased/fix-flock-warning.md b/changelog/2.1.0_2022-03-29/fix-flock-warning.md similarity index 100% rename from changelog/unreleased/fix-flock-warning.md rename to changelog/2.1.0_2022-03-29/fix-flock-warning.md diff --git a/changelog/unreleased/fix-locking.md b/changelog/2.1.0_2022-03-29/fix-locking.md similarity index 100% rename from changelog/unreleased/fix-locking.md rename to changelog/2.1.0_2022-03-29/fix-locking.md diff --git a/changelog/unreleased/group-without-gidnumber.md b/changelog/2.1.0_2022-03-29/group-without-gidnumber.md similarity index 100% rename from changelog/unreleased/group-without-gidnumber.md rename to changelog/2.1.0_2022-03-29/group-without-gidnumber.md diff --git a/changelog/unreleased/make-linkaccessfailed-more-robust.md b/changelog/2.1.0_2022-03-29/make-linkaccessfailed-more-robust.md similarity index 100% rename from changelog/unreleased/make-linkaccessfailed-more-robust.md rename to changelog/2.1.0_2022-03-29/make-linkaccessfailed-more-robust.md diff --git a/changelog/unreleased/publicstorageprovider-rewrite.md b/changelog/2.1.0_2022-03-29/publicstorageprovider-rewrite.md similarity index 100% rename from changelog/unreleased/publicstorageprovider-rewrite.md rename to changelog/2.1.0_2022-03-29/publicstorageprovider-rewrite.md diff --git a/changelog/unreleased/quota-improvements.md b/changelog/2.1.0_2022-03-29/quota-improvements.md similarity index 100% rename from changelog/unreleased/quota-improvements.md rename to changelog/2.1.0_2022-03-29/quota-improvements.md diff --git a/changelog/unreleased/scope-handling-spaces.md b/changelog/2.1.0_2022-03-29/scope-handling-spaces.md similarity index 100% rename from changelog/unreleased/scope-handling-spaces.md rename to changelog/2.1.0_2022-03-29/scope-handling-spaces.md diff --git a/changelog/unreleased/send-events-only-if-ok.md b/changelog/2.1.0_2022-03-29/send-events-only-if-ok.md similarity index 100% rename from changelog/unreleased/send-events-only-if-ok.md rename to changelog/2.1.0_2022-03-29/send-events-only-if-ok.md diff --git a/changelog/unreleased/sharing-events.md b/changelog/2.1.0_2022-03-29/sharing-events.md similarity index 100% rename from changelog/unreleased/sharing-events.md rename to changelog/2.1.0_2022-03-29/sharing-events.md diff --git a/changelog/unreleased/sharing-fix-add-grantID.md b/changelog/2.1.0_2022-03-29/sharing-fix-add-grantID.md similarity index 100% rename from changelog/unreleased/sharing-fix-add-grantID.md rename to changelog/2.1.0_2022-03-29/sharing-fix-add-grantID.md diff --git a/changelog/unreleased/sharing-in-spaces.md b/changelog/2.1.0_2022-03-29/sharing-in-spaces.md similarity index 100% rename from changelog/unreleased/sharing-in-spaces.md rename to changelog/2.1.0_2022-03-29/sharing-in-spaces.md diff --git a/changelog/unreleased/space-aliases.md b/changelog/2.1.0_2022-03-29/space-aliases.md similarity index 100% rename from changelog/unreleased/space-aliases.md rename to changelog/2.1.0_2022-03-29/space-aliases.md diff --git a/changelog/unreleased/space-events.md b/changelog/2.1.0_2022-03-29/space-events.md similarity index 100% rename from changelog/unreleased/space-events.md rename to changelog/2.1.0_2022-03-29/space-events.md diff --git a/changelog/unreleased/spaceid-propfind.md b/changelog/2.1.0_2022-03-29/spaceid-propfind.md similarity index 100% rename from changelog/unreleased/spaceid-propfind.md rename to changelog/2.1.0_2022-03-29/spaceid-propfind.md diff --git a/changelog/unreleased/spaces-etags.md b/changelog/2.1.0_2022-03-29/spaces-etags.md similarity index 100% rename from changelog/unreleased/spaces-etags.md rename to changelog/2.1.0_2022-03-29/spaces-etags.md diff --git a/changelog/unreleased/spaces-trashbin.md b/changelog/2.1.0_2022-03-29/spaces-trashbin.md similarity index 100% rename from changelog/unreleased/spaces-trashbin.md rename to changelog/2.1.0_2022-03-29/spaces-trashbin.md diff --git a/changelog/unreleased/use-share-api-spaces.md b/changelog/2.1.0_2022-03-29/use-share-api-spaces.md similarity index 100% rename from changelog/unreleased/use-share-api-spaces.md rename to changelog/2.1.0_2022-03-29/use-share-api-spaces.md diff --git a/changelog/NOTE.md b/changelog/NOTE.md index ab43283ad6..019fec02b2 100644 --- a/changelog/NOTE.md +++ b/changelog/NOTE.md @@ -1,745 +1,202 @@ -Changelog for reva 2.0.0 (2022-03-03) +Changelog for reva 2.1.0 (2022-03-29) ======================================= -The following sections list the changes in reva 2.0.0 relevant to +The following sections list the changes in reva 2.1.0 relevant to reva users. The changes are ordered by importance. Summary ------- - * Fix #2457: Do not swallow error - * Fix #2422: Handle non existing spaces correctly - * Fix #2327: Enable changelog on edge branch - * Fix #2370: Fixes for apps in public shares, project spaces for EOS driver - * Fix #2464: Pass spacegrants when adding member to space - * Fix #2430: Fix aggregated child folder id - * Fix #2348: Make archiver handle spaces protocol - * Fix #2452: Fix create space error message - * Fix #2445: Don't handle ids containing "/" in decomposedfs - * Fix #2285: Accept new userid idp format - * Fix #2503: Remove the protection from /v?.php/config endpoints - * Fix #2462: Public shares path needs to be set - * Fix #2427: Fix registry caching - * Fix #2298: Remove share refs from trashbin - * Fix #2433: Fix shares provider filter - * Fix #2351: Fix Statcache removing - * Fix #2374: Fix webdav copy of zero byte files - * Fix #2336: Handle sending all permissions when creating public links - * Fix #2440: Add ArbitraryMetadataKeys to statcache key - * Fix #2582: Keep lock structs in a local map protected by a mutex - * Fix #2372: Make owncloudsql work with the spaces registry - * Fix #2416: The registry now returns complete space structs - * Fix #3066: Fix propfind listing for files - * Fix #2428: Remove unused home provider from config - * Fix #2334: Revert fix decomposedfs upload - * Fix #2415: Services should never return transport level errors - * Fix #2419: List project spaces for share recipients - * Fix #2501: Fix spaces stat - * Fix #2432: Use space reference when listing containers - * Fix #2572: Wait for nats server on middleware start - * Fix #2454: Fix webdav paths in PROPFINDS - * Chg #2329: Activate the statcache - * Chg #2596: Remove hash from public link urls - * Chg #2495: Remove the ownCloud storage driver - * Chg #2527: Store space attributes in decomposedFS - * Chg #2581: Update hard-coded status values - * Chg #2524: Use description during space creation - * Chg #2554: Shard nodes per space in decomposedfs - * Chg #2576: Harden xattrs errors - * Chg #2436: Replace template in GroupFilter for UserProvider with a simple string - * Chg #2429: Make archiver id based - * Chg #2340: Allow multiple space configurations per provider - * Chg #2396: The ocdav handler is now spaces aware - * Chg #2349: Require `ListRecycle` when listing trashbin - * Chg #2353: Reduce log output - * Chg #2542: Do not encode webDAV ids to base64 - * Chg #2519: Remove the auto creation of the .space folder - * Chg #2394: Remove logic from gateway - * Chg #2023: Add a sharestorageprovider - * Chg #2234: Add a spaces registry - * Chg #2339: Fix static registry regressions - * Chg #2370: Fix static registry regressions - * Chg #2354: Return not found when updating non existent space - * Chg #2589: Remove deprecated linter modules - * Chg #2016: Move wrapping and unwrapping of paths to the storage gateway - * Enh #2591: Set up App Locks with basic locks - * Enh #1209: Reva CephFS module v0.2.1 - * Enh #2511: Error handling cleanup in decomposed FS - * Enh #2516: Cleaned up some code - * Enh #2512: Consolidate xattr setter and getter - * Enh #2341: Use CS3 permissions API - * Enh #2343: Allow multiple space type fileters on decomposedfs - * Enh #2460: Add locking support to decomposedfs - * Enh #2540: Refactored the xattrs package in the decomposedfs - * Enh #2463: Do not log whole nodes - * Enh #2350: Add file locking methods to the storage and filesystem interfaces - * Enh #2379: Add new file url of the app provider to the ocs capabilities - * Enh #2369: Implement TouchFile from the CS3apis - * Enh #2385: Allow to create new files with the app provider on public links - * Enh #2397: Product field in OCS version - * Enh #2393: Update tus/tusd to version 1.8.0 - * Enh #2522: Introduce events - * Enh #2528: Use an exclcusive write lock when writing multiple attributes - * Enh #2595: Add integration test for the groupprovider - * Enh #2439: Ignore handled errors when creating spaces - * Enh #2500: Invalidate listproviders cache - * Enh #2345: Don't assume that the LDAP groupid in reva matches the name - * Enh #2525: Allow using AD UUID as userId values - * Enh #2584: Allow running userprovider integration tests for the LDAP driver - * Enh #2585: Add metadata storage layer and indexer - * Enh #2163: Nextcloud-based share manager for pkg/ocm/share - * Enh #2278: OIDC driver changes for lightweight users - * Enh #2315: Add new attributes to public link propfinds - * Enh #2431: Delete shares when purging spaces - * Enh #2434: Refactor ocdav into smaller chunks - * Enh #2524: Add checks when removing space members - * Enh #2457: Restore spaces that were previously deleted - * Enh #2498: Include grants in list storage spaces response - * Enh #2344: Allow listing all storage spaces - * Enh #2547: Add an if-match check to the storage provider - * Enh #2486: Update cs3apis to include lock api changes - * Enh #2526: Upgrade ginkgo to v2 + * Fix #2636: Delay reconnect log for events + * Fix #2645: Avoid warning about missing .flock files + * Fix #2625: Fix locking on publik links and the decomposed filesystem + * Fix #2643: Emit linkaccessfailed event when share is nil + * Fix #2646: Replace public mountpoint fileid with grant fileid in ocdav + * Fix #2612: Adjust the scope handling to support the spaces architecture + * Fix #2621: Send events only if response code is `OK` + * Chg #2574: Switch NATS backend + * Chg #2667: Allow LDAP groups to have no gidNumber + * Chg #3233: Improve quota handling + * Chg #2600: Use the cs3 share api to manage spaces + * Enh #2644: Add new public share manager + * Enh #2626: Add new share manager + * Enh #2624: Add etags to virtual spaces + * Enh #2639: File Events + * Enh #2627: Add events for sharing action + * Enh #2664: Add grantID to mountpoint + * Enh #2622: Allow listing shares in spaces via the OCS API + * Enh #2623: Add space aliases + * Enh #2647: Add space specific events + * Enh #3345: Add the spaceid to propfind responses + * Enh #2616: Add etag to spaces response + * Enh #2628: Add spaces aware trash-bin API Details ------- - * Bugfix #2457: Do not swallow error + * Bugfix #2636: Delay reconnect log for events - Decomposedfs not longer swallows errors when creating a node fails. + Print reconnect information log only when reconnect time is bigger than a second - https://github.com/cs3org/reva/pull/2457 + https://github.com/cs3org/reva/pull/2636 - * Bugfix #2422: Handle non existing spaces correctly + * Bugfix #2645: Avoid warning about missing .flock files - When looking up a space by id we returned the wrong status code. + These flock files appear randomly because of file locking. We can savely ignore them. - https://github.com/cs3org/reva/pull/2422 + https://github.com/cs3org/reva/pull/2645 - * Bugfix #2327: Enable changelog on edge branch + * Bugfix #2625: Fix locking on publik links and the decomposed filesystem - We added a `branch` flag to the `tools/check-changelog/main.go` to fix changelog checks on - the edge branch. + We've fixed the behavior of locking on the decomposed filesystem, so that now app based locks + can be modified user independently (needed for WOPI integration). Also we added a check, if a + lock is already expired and if so, we lazily delete the lock. The InitiateUploadRequest now + adds the Lock to the upload metadata so that an upload to an locked file is possible. - https://github.com/cs3org/reva/pull/2327 + We'v added the locking api requests to the public link scope checks, so that locking also can be + used on public links (needed for WOPI integration). - * Bugfix #2370: Fixes for apps in public shares, project spaces for EOS driver + https://github.com/cs3org/reva/pull/2625 - https://github.com/cs3org/reva/pull/2370 + * Bugfix #2643: Emit linkaccessfailed event when share is nil - * Bugfix #2464: Pass spacegrants when adding member to space + The code no longer panics when a link access failed event has no share. - When creating a space grant there should not be created a new space. Unfortunately SpaceGrant - didn't work when adding members to a space. Now a value is placed in the ctx of the - storageprovider on which decomposedfs reacts + https://github.com/cs3org/reva/pull/2643 - https://github.com/cs3org/reva/pull/2464 + * Bugfix #2646: Replace public mountpoint fileid with grant fileid in ocdav - * Bugfix #2430: Fix aggregated child folder id + We now show the same resoucre id for resources when accessing them via a public links as when + using a logged in user. This allows the web ui to start a WOPI session with the correct resource + id. - Propfind now returns the correct id and correctly aggregates the mtime and etag. + https://github.com/cs3org/reva/issues/2635 + https://github.com/cs3org/reva/pull/2646 - https://github.com/cs3org/reva/pull/2430 + * Bugfix #2612: Adjust the scope handling to support the spaces architecture - * Bugfix #2348: Make archiver handle spaces protocol + The scope authentication interceptors weren't updated to the spaces architecture and + couldn't authenticate some requests. - The archiver can now handle the spaces protocol + https://github.com/cs3org/reva/pull/2612 - https://github.com/cs3org/reva/pull/2348 + * Bugfix #2621: Send events only if response code is `OK` - * Bugfix #2452: Fix create space error message + Before events middleware was sending events also when the resulting status code was not `OK`. + This is clearly a bug. - Create space no longer errors with list spaces error messages. + https://github.com/cs3org/reva/pull/2621 - https://github.com/cs3org/reva/pull/2452 + * Change #2574: Switch NATS backend - * Bugfix #2445: Don't handle ids containing "/" in decomposedfs + We've switched the NATS backend from Streaming to JetStream, since NATS Streaming is + depreciated. - The storageprovider previously checked all ids without checking their validity this lead to - flaky test because it shouldn't check ids that are used from the public storage provider + https://github.com/cs3org/reva/pull/2574 - https://github.com/cs3org/reva/pull/2445 + * Change #2667: Allow LDAP groups to have no gidNumber - * Bugfix #2285: Accept new userid idp format + Similar to the user-provider allow a group to have no gidNumber. Assign a default in that case. - The format for userid idp [changed](https://github.com/cs3org/cs3apis/pull/159) and - this broke [the ocmd - tutorial](https://reva.link/docs/tutorials/share-tutorial/#5-1-4-create-the-share) - This PR makes the provider authorizer interceptor accept both the old and the new string - format. + https://github.com/cs3org/reva/pull/2667 - https://github.com/cs3org/reva/issues/2285 - https://github.com/cs3org/reva/issues/2285 - See - and + * Change #3233: Improve quota handling - * Bugfix #2503: Remove the protection from /v?.php/config endpoints + GetQuota now returns 0 when no quota was set instead of the disk size. Also added a new return + value for the remaining space which will either be quota - used bytes or if no quota was set the + free disk size. - We've removed the protection from the "/v1.php/config" and "/v2.php/config" endpoints to be - API compatible with ownCloud 10. + https://github.com/owncloud/ocis/issues/3233 + https://github.com/cs3org/reva/pull/2666 + https://github.com/cs3org/reva/pull/2688 - https://github.com/cs3org/reva/issues/2503 - https://github.com/owncloud/ocis/issues/1338 + * Change #2600: Use the cs3 share api to manage spaces - * Bugfix #2462: Public shares path needs to be set + We now use the cs3 share Api to manage the space roles. We do not send the request to the share + manager, the permissions are stored in the storage provider - We need to set the relative path to the space root for public link shares to identify them in the - shares list. + https://github.com/cs3org/reva/pull/2600 + https://github.com/cs3org/reva/pull/2620 + https://github.com/cs3org/reva/pull/2687 - https://github.com/owncloud/ocis/issues/2462 - https://github.com/cs3org/reva/pull/2580 + * Enhancement #2644: Add new public share manager - * Bugfix #2427: Fix registry caching + We added a new public share manager which uses the new metadata storage backend for persisting + the public share information. - We now cache space lookups per user. + https://github.com/cs3org/reva/pull/2644 - https://github.com/cs3org/reva/pull/2427 + * Enhancement #2626: Add new share manager - * Bugfix #2298: Remove share refs from trashbin + We added a new share manager which uses the new metadata storage backend for persisting the + share information. - https://github.com/cs3org/reva/pull/2298 + https://github.com/cs3org/reva/pull/2626 - * Bugfix #2433: Fix shares provider filter + * Enhancement #2624: Add etags to virtual spaces - The shares storage provider now correctly filters space types + The shares storage provider didn't include the etag in virtual spaces like the shares jail or + mountpoints. - https://github.com/cs3org/reva/pull/2433 + https://github.com/cs3org/reva/pull/2624 - * Bugfix #2351: Fix Statcache removing + * Enhancement #2639: File Events - Removing from statcache didn't work correctly with different setups. Unified and fixed + Adds file based events. See `pkg/events/files.go` for full list - https://github.com/cs3org/reva/pull/2351 + https://github.com/cs3org/reva/pull/2639 - * Bugfix #2374: Fix webdav copy of zero byte files + * Enhancement #2627: Add events for sharing action - We've fixed the webdav copy action of zero byte files, which was not performed because the - webdav api assumed, that zero byte uploads are created when initiating the upload, which was - recently removed from all storage drivers. Therefore the webdav api also uploads zero byte - files after initiating the upload. + Includes lifecycle events for shares and public links doesn't include federated sharing + events for now see full list of events in `pkg/events/types.go` - https://github.com/cs3org/reva/pull/2374 - https://github.com/cs3org/reva/pull/2309 + https://github.com/cs3org/reva/pull/2627 - * Bugfix #2336: Handle sending all permissions when creating public links + * Enhancement #2664: Add grantID to mountpoint - For backwards compatability we now reduce permissions to readonly when a create public link - carries all permissions. + We distinguish between the mountpoint of a share and the grant where the original file is + located on the storage. - https://github.com/cs3org/reva/issues/2336 - https://github.com/owncloud/ocis/issues/1269 + https://github.com/cs3org/reva/pull/2664 - * Bugfix #2440: Add ArbitraryMetadataKeys to statcache key + * Enhancement #2622: Allow listing shares in spaces via the OCS API - Otherwise stating with and without them would return the same result (because it is cached) - - https://github.com/cs3org/reva/pull/2440 - - * Bugfix #2582: Keep lock structs in a local map protected by a mutex - - Make sure that only one go routine or process can get the lock. - - https://github.com/cs3org/reva/pull/2582 - - * Bugfix #2372: Make owncloudsql work with the spaces registry - - Owncloudsql now works properly with the spaces registry. - - https://github.com/cs3org/reva/pull/2372 - - * Bugfix #2416: The registry now returns complete space structs - - We now return the complete space info, including name, path, owner, etc. instead of only path - and id. - - https://github.com/cs3org/reva/pull/2416 - - * Bugfix #3066: Fix propfind listing for files - - When doing a propfind for a file the result contained the files twice. - - https://github.com/owncloud/ocis/issues/3066 - https://github.com/cs3org/reva/pull/2506 - - * Bugfix #2428: Remove unused home provider from config - - The spaces registry does not use a home provider config. - - https://github.com/cs3org/reva/pull/2428 - - * Bugfix #2334: Revert fix decomposedfs upload - - Reverting https://github.com/cs3org/reva/pull/2330 to fix it properly - - https://github.com/cs3org/reva/pull/2334 - - * Bugfix #2415: Services should never return transport level errors - - The CS3 API adopted the grpc error codes from the [google grpc status - package](https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto). - It also separates transport level errors from application level errors on purpose. This - allows sending CS3 messages over protocols other than GRPC. To keep that seperation, the - server side must always return `nil`, even though the code generation for go produces function - signatures for rpcs with an `error` return property. That allows clients to clearly - distinguish between transport level errors indicated by `err != nil` the error and - application level errors by checking the status code. - - https://github.com/cs3org/reva/pull/2415 - - * Bugfix #2419: List project spaces for share recipients - - The sharing handler now uses the ListProvider call on the registry when sharing by reference. - Furthermore, the decomposedfs now checks permissions on the root of a space so that a space is - listed for users that have access to a space. - - https://github.com/cs3org/reva/pull/2419 - - * Bugfix #2501: Fix spaces stat - - When stating a space e.g. the Share Jail and that space contains another space, in this case a - share then the stat would sometimes get the sub space instead of the Share Jail itself. - - https://github.com/cs3org/reva/pull/2501 - - * Bugfix #2432: Use space reference when listing containers - - The propfind handler now uses the reference for a space to make lookups relative. - - https://github.com/cs3org/reva/pull/2432 - - * Bugfix #2572: Wait for nats server on middleware start - - Use a retry mechanism to connect to the nats server when it is not ready yet - - https://github.com/cs3org/reva/pull/2572 - - * Bugfix #2454: Fix webdav paths in PROPFINDS - - The WebDAV Api was handling paths on spaces propfinds in the wrong way. This has been fixed in the - WebDAV layer. - - https://github.com/cs3org/reva/pull/2454 - - * Change #2329: Activate the statcache - - Activates the cache of stat request/responses in the gateway. - - https://github.com/cs3org/reva/pull/2329 - - * Change #2596: Remove hash from public link urls - - Public link urls do not contain the hash anymore, this is needed to support the ocis and web - history mode. - - https://github.com/cs3org/reva/pull/2596 - https://github.com/owncloud/ocis/pull/3109 - https://github.com/owncloud/web/pull/6363 - - * Change #2495: Remove the ownCloud storage driver - - We've removed the ownCloud storage driver because it was no longer maintained after the - ownCloud SQL storage driver was added. - - If you have been using the ownCloud storage driver, please switch to the ownCloud SQL storage - driver which brings you more features and is under active maintenance. - - https://github.com/cs3org/reva/pull/2495 - - * Change #2527: Store space attributes in decomposedFS - - We need to store more space attributes in the storage. This implements extended space - attributes in the decomposedFS - - https://github.com/cs3org/reva/pull/2527 - - * Change #2581: Update hard-coded status values - - The hard-coded version and product values have been updated to be consistent in all places in - the code. - - https://github.com/cs3org/reva/pull/2581 - - * Change #2524: Use description during space creation - - We can now use a space description during space creation. We also fixed a bug in the spaces roles. - Co-owners are now maintainers. - - https://github.com/cs3org/reva/pull/2524 - - * Change #2554: Shard nodes per space in decomposedfs - - The decomposedfs changas the on disk layout to shard nodes per space. - - https://github.com/cs3org/reva/pull/2554 - - * Change #2576: Harden xattrs errors - - Unwrap the error to get the root error. - - https://github.com/cs3org/reva/pull/2576 - - * Change #2436: Replace template in GroupFilter for UserProvider with a simple string - - Previously the "groupfilter" configuration for the UserProvider expected a go-template - value (based of of an `userpb.UserId` as it's input). And it assumed we could run a single LDAP - query to get all groups a user is member of by specifying the userid. However most LDAP Servers - store the GroupMembership by either username (e.g. in memberUID Attribute) or by the user's DN - (e.g. in member/uniqueMember). - - This change removes the userpb.UserId template processing from the groupfilter and replaces - it with a single string (the username) to cleanup the config a bit. Existing configs need to be - update to replace the go template references in `groupfilter` (e.g. `{{.}}` or - `{{.OpaqueId}}`) with `{{query}}`. - - https://github.com/cs3org/reva/pull/2436 - - * Change #2429: Make archiver id based - - The archiver now uses ids to walk the tree instead of paths - - https://github.com/cs3org/reva/pull/2429 - - * Change #2340: Allow multiple space configurations per provider - - The spaces registry can now use multiple space configurations to allow personal and project - spaces on the same provider - - https://github.com/cs3org/reva/pull/2340 - - * Change #2396: The ocdav handler is now spaces aware - - It will use LookupStorageSpaces and make only relative requests to the gateway. Temp comment - - https://github.com/cs3org/reva/pull/2396 - - * Change #2349: Require `ListRecycle` when listing trashbin - - Previously there was no check, so anyone could list anyones trash - - https://github.com/cs3org/reva/pull/2349 - - * Change #2353: Reduce log output - - Reduced log output. Some errors or warnings were logged multiple times or even unnecesarily. - - https://github.com/cs3org/reva/pull/2353 - - * Change #2542: Do not encode webDAV ids to base64 - - We removed the base64 encoding of the IDs and use the format ! with a `!` - delimiter. As a reserved delimiter it is URL safe. The IDs will be XML and JSON encoded as - necessary. - - https://github.com/cs3org/reva/pull/2542 - https://github.com/cs3org/reva/pull/2558 - - * Change #2519: Remove the auto creation of the .space folder - - We removed the auto creation of the .space folder because we don't develop this feature - further. - - https://github.com/cs3org/reva/pull/2519 - - * Change #2394: Remove logic from gateway - - The gateway will now hold no logic except forwarding the requests to other services. - - https://github.com/cs3org/reva/pull/2394 - - * Change #2023: Add a sharestorageprovider - - This PR adds a ShareStorageProvider which enables us to get rid of a lot of special casing in - other parts of the code. It also fixes several issues regarding shares and group shares. - - https://github.com/cs3org/reva/pull/2023 - - * Change #2234: Add a spaces registry - - Spaces registry is supposed to manage spaces. Read - `pkg/storage/registry/spaces/Readme.md` for full details - - https://github.com/cs3org/reva/pull/2234 - - * Change #2339: Fix static registry regressions - - We fixed some smaller issues with using the static registry which were introduced with the - spaces registry changes. - - https://github.com/cs3org/reva/pull/2339 - - * Change #2370: Fix static registry regressions - - We fixed some smaller issues with using the static registry which were introduced with the - spaces registry changes. - - https://github.com/cs3org/reva/pull/2370 - - * Change #2354: Return not found when updating non existent space - - If a spaceid of a space which is updated doesn't exist, handle it as a not found error. - - https://github.com/cs3org/reva/pull/2354 - - * Change #2589: Remove deprecated linter modules - - Replaced the deprecated linter modules with the recommended ones. - - https://github.com/cs3org/reva/pull/2589 - - * Change #2016: Move wrapping and unwrapping of paths to the storage gateway - - We've moved the wrapping and unwrapping of reference paths to the storage gateway so that the - storageprovider doesn't have to know its mount path. - - https://github.com/cs3org/reva/pull/2016 - - * Enhancement #2591: Set up App Locks with basic locks - - To set up App Locks basic locks are used now - - https://github.com/cs3org/reva/pull/2591 - - * Enhancement #1209: Reva CephFS module v0.2.1 - - https://github.com/cs3org/reva/pull/1209 - - * Enhancement #2511: Error handling cleanup in decomposed FS - - - Avoid inconsensitencies by cleaning up actions in case of err - - https://github.com/cs3org/reva/pull/2511 - - * Enhancement #2516: Cleaned up some code - - - Reduced type conversions []byte <-> string - pre-compile chunking regex - - https://github.com/cs3org/reva/pull/2516 - - * Enhancement #2512: Consolidate xattr setter and getter - - - Consolidate all metadata Get's and Set's to central functions. - Cleaner code by reduction of - casts - Easier to hook functionality like indexing - - https://github.com/cs3org/reva/pull/2512 - - * Enhancement #2341: Use CS3 permissions API - - Added calls to the CS3 permissions API to the decomposedfs in order to check the user - permissions. - - https://github.com/cs3org/reva/pull/2341 - - * Enhancement #2343: Allow multiple space type fileters on decomposedfs - - The decomposedfs driver now evaluates multiple space type filters when listing storage + Added a `space_ref` parameter to the list shares endpoints so that one can list shares inside of spaces. - https://github.com/cs3org/reva/pull/2343 - - * Enhancement #2460: Add locking support to decomposedfs - - The decomposedfs now implements application level locking - - https://github.com/cs3org/reva/pull/2460 - - * Enhancement #2540: Refactored the xattrs package in the decomposedfs - - The xattrs package now uses the xattr.ENOATTR instead of os.ENODATA or os.ENOATTR to check - attribute existence. - - https://github.com/cs3org/reva/pull/2540 - https://github.com/cs3org/reva/pull/2541 - - * Enhancement #2463: Do not log whole nodes - - It turns out that logging whole node objects is very expensive and also spams the logs quite a - bit. Instead we just log the node ID now. - - https://github.com/cs3org/reva/pull/2463 - - * Enhancement #2350: Add file locking methods to the storage and filesystem interfaces - - We've added the file locking methods from the CS3apis to the storage and filesystem - interfaces. As of now they are dummy implementations and will only return "unimplemented" - errors. - - https://github.com/cs3org/reva/pull/2350 - https://github.com/cs3org/cs3apis/pull/160 - - * Enhancement #2379: Add new file url of the app provider to the ocs capabilities - - We've added the new file capability of the app provider to the ocs capabilities, so that clients - can discover this url analogous to the app list and file open urls. - - https://github.com/cs3org/reva/pull/2379 - https://github.com/owncloud/ocis/pull/2884 - https://github.com/owncloud/web/pull/5890#issuecomment-993905242 - - * Enhancement #2369: Implement TouchFile from the CS3apis - - We've updated the CS3apis and implemented the TouchFile method. - - https://github.com/cs3org/reva/pull/2369 - https://github.com/cs3org/cs3apis/pull/154 - - * Enhancement #2385: Allow to create new files with the app provider on public links - - We've added the option to create files with the app provider on public links. - - https://github.com/cs3org/reva/pull/2385 - - * Enhancement #2397: Product field in OCS version - - We've added a new field to the OCS Version, which is supposed to announce the product name. The - web ui as a client will make use of it to make the backend product and version available (e.g. for - easier bug reports). - - https://github.com/cs3org/reva/pull/2397 - - * Enhancement #2393: Update tus/tusd to version 1.8.0 - - We've update tus/tusd to version 1.8.0. - - https://github.com/cs3org/reva/issues/2393 - https://github.com/cs3org/reva/pull/2224 - - * Enhancement #2522: Introduce events - - This will introduce events into the system. Events are a simple way to bring information from - one service to another. Read `pkg/events/example` and subfolders for more information - - https://github.com/cs3org/reva/pull/2522 - - * Enhancement #2528: Use an exclcusive write lock when writing multiple attributes - - The xattr package can use an exclusive write lock when writing multiple extended attributes - - https://github.com/cs3org/reva/pull/2528 - - * Enhancement #2595: Add integration test for the groupprovider - - Some new integration tests were added to cover the groupprovider. - - https://github.com/cs3org/reva/pull/2595 - - * Enhancement #2439: Ignore handled errors when creating spaces - - The CreateStorageSpace no longer logs all error cases with error level logging - - https://github.com/cs3org/reva/pull/2439 - - * Enhancement #2500: Invalidate listproviders cache - - We now invalidate the related listproviders cache entries when updating or deleting a storage - space. - - https://github.com/cs3org/reva/pull/2500 - - * Enhancement #2345: Don't assume that the LDAP groupid in reva matches the name - - This allows using attributes like e.g. `entryUUID` or any custom id attribute as the id for - groups. - - https://github.com/cs3org/reva/pull/2345 - - * Enhancement #2525: Allow using AD UUID as userId values - - Active Directory UUID attributes (like e.g. objectGUID) use the LDAP octectString Syntax. In - order to be able to use them as userids in reva, they need to be converted to their string - representation. - - https://github.com/cs3org/reva/pull/2525 - - * Enhancement #2584: Allow running userprovider integration tests for the LDAP driver - - We extended the integration test suite for the userprovider to allow running it with an LDAP - server. - - https://github.com/cs3org/reva/pull/2584 - - * Enhancement #2585: Add metadata storage layer and indexer - - We ported over and enhanced the metadata storage layer and indexer from ocis-pkg so that it can - be used by reva services as well. - - https://github.com/cs3org/reva/pull/2585 - - * Enhancement #2163: Nextcloud-based share manager for pkg/ocm/share - - Note that pkg/ocm/share is very similar to pkg/share, but it deals with cs3/sharing/ocm - whereas pkg/share deals with cs3/sharing/collaboration - - https://github.com/cs3org/reva/pull/2163 - - * Enhancement #2278: OIDC driver changes for lightweight users - - https://github.com/cs3org/reva/pull/2278 - - * Enhancement #2315: Add new attributes to public link propfinds - - Added a new property "oc:signature-auth" to public link propfinds. This is a necessary change - to be able to support archive downloads in password protected public links. - - https://github.com/cs3org/reva/pull/2315 - - * Enhancement #2431: Delete shares when purging spaces - - Implemented the second step of the two step spaces delete process. The first step is marking the - space as deleted, the second step is actually purging the space. During the second step all - shares, including public shares, in the space will be deleted. When deleting a space the blobs - are currently not yet deleted since the decomposedfs will receive some changes soon. - - https://github.com/cs3org/reva/pull/2431 - https://github.com/cs3org/reva/pull/2458 - - * Enhancement #2434: Refactor ocdav into smaller chunks - - That increases code clarity and enables testing. - - https://github.com/cs3org/reva/pull/2434 - - * Enhancement #2524: Add checks when removing space members - - - Removed owners from project spaces - Prevent deletion of last space manager - Viewers and - editors can always be deleted - Managers can only be deleted when there will be at least one - remaining - - https://github.com/cs3org/reva/pull/2524 - - * Enhancement #2457: Restore spaces that were previously deleted + https://github.com/cs3org/reva/pull/2622 - After the first step of the two step delete process an admin can decide to restore the space - instead of deleting it. This will undo the deletion and all files and shares are accessible - again + * Enhancement #2623: Add space aliases - https://github.com/cs3org/reva/pull/2457 + Space aliases can be used to resolve spaceIDs in a client. - * Enhancement #2498: Include grants in list storage spaces response + https://github.com/cs3org/reva/pull/2623 - Added the grants to the response of list storage spaces. This allows service clients to show who - has access to a space. + * Enhancement #2647: Add space specific events - https://github.com/cs3org/reva/pull/2498 + See `pkg/events/spaces.go` for full list - * Enhancement #2344: Allow listing all storage spaces + https://github.com/cs3org/reva/pull/2647 - To implement the drives api we now list all spaces when no filter is given. The Provider info will - not contain any spaces as the client is responsible for looking up the spaces. + * Enhancement #3345: Add the spaceid to propfind responses - https://github.com/cs3org/reva/pull/2344 + Added the spaceid to propfind responses so that clients have the necessary data to send + subsequent requests. - * Enhancement #2547: Add an if-match check to the storage provider + https://github.com/owncloud/ocis/issues/3345 + https://github.com/cs3org/reva/pull/2657 - Implement a check for the if-match value in InitiateFileUpload to prevent overwrites of newer - versions. + * Enhancement #2616: Add etag to spaces response - https://github.com/cs3org/reva/pull/2547 + Added the spaces etag to the response when listing spaces. - * Enhancement #2486: Update cs3apis to include lock api changes + https://github.com/cs3org/reva/pull/2616 - https://github.com/cs3org/reva/pull/2486 + * Enhancement #2628: Add spaces aware trash-bin API - * Enhancement #2526: Upgrade ginkgo to v2 + Added the webdav trash-bin endpoint for spaces. - https://github.com/cs3org/reva/pull/2526 + https://github.com/cs3org/reva/pull/2628 diff --git a/docs/content/en/docs/changelog/2.1.0/_index.md b/docs/content/en/docs/changelog/2.1.0/_index.md new file mode 100644 index 0000000000..6b3c609831 --- /dev/null +++ b/docs/content/en/docs/changelog/2.1.0/_index.md @@ -0,0 +1,211 @@ + +--- +title: "v2.1.0" +linkTitle: "v2.1.0" +weight: 40 +description: > + Changelog for Reva v2.1.0 (2022-03-29) +--- + +Changelog for reva 2.1.0 (2022-03-29) +======================================= + +The following sections list the changes in reva 2.1.0 relevant to +reva users. The changes are ordered by importance. + +Summary +------- + + * Fix #2636: Delay reconnect log for events + * Fix #2645: Avoid warning about missing .flock files + * Fix #2625: Fix locking on publik links and the decomposed filesystem + * Fix #2643: Emit linkaccessfailed event when share is nil + * Fix #2646: Replace public mountpoint fileid with grant fileid in ocdav + * Fix #2612: Adjust the scope handling to support the spaces architecture + * Fix #2621: Send events only if response code is `OK` + * Chg #2574: Switch NATS backend + * Chg #2667: Allow LDAP groups to have no gidNumber + * Chg #3233: Improve quota handling + * Chg #2600: Use the cs3 share api to manage spaces + * Enh #2644: Add new public share manager + * Enh #2626: Add new share manager + * Enh #2624: Add etags to virtual spaces + * Enh #2639: File Events + * Enh #2627: Add events for sharing action + * Enh #2664: Add grantID to mountpoint + * Enh #2622: Allow listing shares in spaces via the OCS API + * Enh #2623: Add space aliases + * Enh #2647: Add space specific events + * Enh #3345: Add the spaceid to propfind responses + * Enh #2616: Add etag to spaces response + * Enh #2628: Add spaces aware trash-bin API + +Details +------- + + * Bugfix #2636: Delay reconnect log for events + + Print reconnect information log only when reconnect time is bigger than a second + + https://github.com/cs3org/reva/pull/2636 + + * Bugfix #2645: Avoid warning about missing .flock files + + These flock files appear randomly because of file locking. We can savely ignore them. + + https://github.com/cs3org/reva/pull/2645 + + * Bugfix #2625: Fix locking on publik links and the decomposed filesystem + + We've fixed the behavior of locking on the decomposed filesystem, so that now app based locks + can be modified user independently (needed for WOPI integration). Also we added a check, if a + lock is already expired and if so, we lazily delete the lock. The InitiateUploadRequest now + adds the Lock to the upload metadata so that an upload to an locked file is possible. + + We'v added the locking api requests to the public link scope checks, so that locking also can be + used on public links (needed for WOPI integration). + + https://github.com/cs3org/reva/pull/2625 + + * Bugfix #2643: Emit linkaccessfailed event when share is nil + + The code no longer panics when a link access failed event has no share. + + https://github.com/cs3org/reva/pull/2643 + + * Bugfix #2646: Replace public mountpoint fileid with grant fileid in ocdav + + We now show the same resoucre id for resources when accessing them via a public links as when + using a logged in user. This allows the web ui to start a WOPI session with the correct resource + id. + + https://github.com/cs3org/reva/issues/2635 + https://github.com/cs3org/reva/pull/2646 + + * Bugfix #2612: Adjust the scope handling to support the spaces architecture + + The scope authentication interceptors weren't updated to the spaces architecture and + couldn't authenticate some requests. + + https://github.com/cs3org/reva/pull/2612 + + * Bugfix #2621: Send events only if response code is `OK` + + Before events middleware was sending events also when the resulting status code was not `OK`. + This is clearly a bug. + + https://github.com/cs3org/reva/pull/2621 + + * Change #2574: Switch NATS backend + + We've switched the NATS backend from Streaming to JetStream, since NATS Streaming is + depreciated. + + https://github.com/cs3org/reva/pull/2574 + + * Change #2667: Allow LDAP groups to have no gidNumber + + Similar to the user-provider allow a group to have no gidNumber. Assign a default in that case. + + https://github.com/cs3org/reva/pull/2667 + + * Change #3233: Improve quota handling + + GetQuota now returns 0 when no quota was set instead of the disk size. Also added a new return + value for the remaining space which will either be quota - used bytes or if no quota was set the + free disk size. + + https://github.com/owncloud/ocis/issues/3233 + https://github.com/cs3org/reva/pull/2666 + https://github.com/cs3org/reva/pull/2688 + + * Change #2600: Use the cs3 share api to manage spaces + + We now use the cs3 share Api to manage the space roles. We do not send the request to the share + manager, the permissions are stored in the storage provider + + https://github.com/cs3org/reva/pull/2600 + https://github.com/cs3org/reva/pull/2620 + https://github.com/cs3org/reva/pull/2687 + + * Enhancement #2644: Add new public share manager + + We added a new public share manager which uses the new metadata storage backend for persisting + the public share information. + + https://github.com/cs3org/reva/pull/2644 + + * Enhancement #2626: Add new share manager + + We added a new share manager which uses the new metadata storage backend for persisting the + share information. + + https://github.com/cs3org/reva/pull/2626 + + * Enhancement #2624: Add etags to virtual spaces + + The shares storage provider didn't include the etag in virtual spaces like the shares jail or + mountpoints. + + https://github.com/cs3org/reva/pull/2624 + + * Enhancement #2639: File Events + + Adds file based events. See `pkg/events/files.go` for full list + + https://github.com/cs3org/reva/pull/2639 + + * Enhancement #2627: Add events for sharing action + + Includes lifecycle events for shares and public links doesn't include federated sharing + events for now see full list of events in `pkg/events/types.go` + + https://github.com/cs3org/reva/pull/2627 + + * Enhancement #2664: Add grantID to mountpoint + + We distinguish between the mountpoint of a share and the grant where the original file is + located on the storage. + + https://github.com/cs3org/reva/pull/2664 + + * Enhancement #2622: Allow listing shares in spaces via the OCS API + + Added a `space_ref` parameter to the list shares endpoints so that one can list shares inside of + spaces. + + https://github.com/cs3org/reva/pull/2622 + + * Enhancement #2623: Add space aliases + + Space aliases can be used to resolve spaceIDs in a client. + + https://github.com/cs3org/reva/pull/2623 + + * Enhancement #2647: Add space specific events + + See `pkg/events/spaces.go` for full list + + https://github.com/cs3org/reva/pull/2647 + + * Enhancement #3345: Add the spaceid to propfind responses + + Added the spaceid to propfind responses so that clients have the necessary data to send + subsequent requests. + + https://github.com/owncloud/ocis/issues/3345 + https://github.com/cs3org/reva/pull/2657 + + * Enhancement #2616: Add etag to spaces response + + Added the spaces etag to the response when listing spaces. + + https://github.com/cs3org/reva/pull/2616 + + * Enhancement #2628: Add spaces aware trash-bin API + + Added the webdav trash-bin endpoint for spaces. + + https://github.com/cs3org/reva/pull/2628 + + diff --git a/docs/content/en/docs/config/grpc/services/storageprovider/_index.md b/docs/content/en/docs/config/grpc/services/storageprovider/_index.md index f1665849b9..b4d7ddf287 100644 --- a/docs/content/en/docs/config/grpc/services/storageprovider/_index.md +++ b/docs/content/en/docs/config/grpc/services/storageprovider/_index.md @@ -9,7 +9,7 @@ description: > # _struct: config_ {{% dir name="driver" type="string" default="localhome" %}} -The storage driver to be used. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L54) +The storage driver to be used. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L55) {{< highlight toml >}} [grpc.services.storageprovider] driver = "localhome" @@ -17,7 +17,7 @@ driver = "localhome" {{% /dir %}} {{% dir name="drivers" type="map[string]map[string]interface{}" default="localhome" %}} - [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L55) + [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L56) {{< highlight toml >}} [grpc.services.storageprovider.drivers.localhome] root = "/var/tmp/reva/" @@ -28,7 +28,7 @@ user_layout = "{{.Username}}" {{% /dir %}} {{% dir name="tmp_folder" type="string" default="/var/tmp" %}} -Path to temporary folder. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L56) +Path to temporary folder. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L57) {{< highlight toml >}} [grpc.services.storageprovider] tmp_folder = "/var/tmp" @@ -36,7 +36,7 @@ tmp_folder = "/var/tmp" {{% /dir %}} {{% dir name="data_server_url" type="string" default="http://localhost/data" %}} -The URL for the data server. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L57) +The URL for the data server. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L58) {{< highlight toml >}} [grpc.services.storageprovider] data_server_url = "http://localhost/data" @@ -44,7 +44,7 @@ data_server_url = "http://localhost/data" {{% /dir %}} {{% dir name="expose_data_server" type="bool" default=false %}} -Whether to expose data server. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L58) +Whether to expose data server. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L59) {{< highlight toml >}} [grpc.services.storageprovider] expose_data_server = false @@ -52,7 +52,7 @@ expose_data_server = false {{% /dir %}} {{% dir name="available_checksums" type="map[string]uint32" default=nil %}} -List of available checksums. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L59) +List of available checksums. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L60) {{< highlight toml >}} [grpc.services.storageprovider] available_checksums = nil @@ -60,7 +60,7 @@ available_checksums = nil {{% /dir %}} {{% dir name="mimetypes" type="map[string]string" default=nil %}} -List of supported mime types and corresponding file extensions. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L60) +List of supported mime types and corresponding file extensions. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L61) {{< highlight toml >}} [grpc.services.storageprovider] mimetypes = nil