From c2cfefe721f5efa8acb00da1a53573fbdfc80844 Mon Sep 17 00:00:00 2001 From: Hugo Gonzalez Labrador Date: Tue, 19 Jan 2021 17:57:32 +0100 Subject: [PATCH] v1.5.1 --- CHANGELOG.md | 80 +++++ RELEASE_DATE | 2 +- VERSION | 2 +- .../copyright-2021.md | 0 .../fix-dav-namespace.md | 0 .../fix-version-string.md | 0 .../mentix-site-auth.md | 0 .../ocis-favorites-etags-mtime-metadata.md | 0 .../ocis-fix-trashbin-purge.md | 0 .../xcloud-metrics.md | 0 changelog/NOTE.md | 318 +++--------------- .../content/en/docs/changelog/1.5.1/_index.md | 89 +++++ 12 files changed, 217 insertions(+), 274 deletions(-) rename changelog/{unreleased => 1.5.1_2021-01-19}/copyright-2021.md (100%) rename changelog/{unreleased => 1.5.1_2021-01-19}/fix-dav-namespace.md (100%) rename changelog/{unreleased => 1.5.1_2021-01-19}/fix-version-string.md (100%) rename changelog/{unreleased => 1.5.1_2021-01-19}/mentix-site-auth.md (100%) rename changelog/{unreleased => 1.5.1_2021-01-19}/ocis-favorites-etags-mtime-metadata.md (100%) rename changelog/{unreleased => 1.5.1_2021-01-19}/ocis-fix-trashbin-purge.md (100%) rename changelog/{unreleased => 1.5.1_2021-01-19}/xcloud-metrics.md (100%) create mode 100644 docs/content/en/docs/changelog/1.5.1/_index.md diff --git a/CHANGELOG.md b/CHANGELOG.md index fa8d971d44..bcf5de9198 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,83 @@ +Changelog for reva 1.5.1 (2021-01-19) +======================================= + +The following sections list the changes in reva 1.5.1 relevant to +reva users. The changes are ordered by importance. + +Summary +------- + + * Fix #1401: Use the user in request for deciding the layout for non-home DAV requests + * Fix #1413: Re-include the '.git' dir in the Docker images to pass the version tag + * Fix #1399: Fix ocis trash-bin purge + * Enh #1397: Bump the Copyright date to 2021 + * Enh #1398: Support site authorization status in Mentix + * Enh #1393: Allow setting favorites, mtime and a temporary etag + * Enh #1403: Support remote cloud gathering metrics + +Details +------- + + * Bugfix #1401: Use the user in request for deciding the layout for non-home DAV requests + + For the incoming /dav/files/userID requests, we have different namespaces depending on + whether the request is for the logged-in user's namespace or not. Since in the storage drivers, + we specify the layout depending only on the user whose resources are to be accessed, this fails + when a user wants to access another user's namespace when the storage provider depends on the + logged in user's namespace. This PR fixes that. + + For example, consider the following case. The owncloud fs uses a layout {{substr 0 1 + .Id.OpaqueId}}/{{.Id.OpaqueId}}. The user einstein sends a request to access a resource + shared with him, say /dav/files/marie/abcd, which should be allowed. However, based on the + way we applied the layout, there's no way in which this can be translated to /m/marie/. + + https://github.com/cs3org/reva/pull/1401 + + * Bugfix #1413: Re-include the '.git' dir in the Docker images to pass the version tag + + And git SHA to the release tool. + + https://github.com/cs3org/reva/pull/1413 + + * Bugfix #1399: Fix ocis trash-bin purge + + Fixes the empty trash-bin functionality for ocis-storage + + https://github.com/owncloud/product/issues/254 + https://github.com/cs3org/reva/pull/1399 + + * Enhancement #1397: Bump the Copyright date to 2021 + + https://github.com/cs3org/reva/pull/1397 + + * Enhancement #1398: Support site authorization status in Mentix + + This enhancement adds support for a site authorization status to Mentix. This way, sites + registered via a web app can now be excluded until authorized manually by an administrator. + + Furthermore, Mentix now sets the scheme for Prometheus targets. This allows us to also support + monitoring of sites that do not support the default HTTPS scheme. + + https://github.com/cs3org/reva/pull/1398 + + * Enhancement #1393: Allow setting favorites, mtime and a temporary etag + + We now let the ocis driver persist favorites, set temporary etags and the mtime as arbitrary + metadata. + + https://github.com/owncloud/ocis/issues/567 + https://github.com/cs3org/reva/issues/1394 + https://github.com/cs3org/reva/pull/1393 + + * Enhancement #1403: Support remote cloud gathering metrics + + The current metrics package can only gather metrics either from json files. With this feature, + the metrics can be gathered polling the http endpoints exposed by the owncloud/nextcloud + sciencemesh apps. + + https://github.com/cs3org/reva/pull/1403 + + Changelog for reva 1.5.0 (2021-01-12) ======================================= diff --git a/RELEASE_DATE b/RELEASE_DATE index e0d49ce2fa..fd5c927746 100644 --- a/RELEASE_DATE +++ b/RELEASE_DATE @@ -1 +1 @@ -2021-01-12 \ No newline at end of file +2021-01-19 \ No newline at end of file diff --git a/VERSION b/VERSION index 3e1ad720b1..8e03717dca 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.5.0 \ No newline at end of file +1.5.1 \ No newline at end of file diff --git a/changelog/unreleased/copyright-2021.md b/changelog/1.5.1_2021-01-19/copyright-2021.md similarity index 100% rename from changelog/unreleased/copyright-2021.md rename to changelog/1.5.1_2021-01-19/copyright-2021.md diff --git a/changelog/unreleased/fix-dav-namespace.md b/changelog/1.5.1_2021-01-19/fix-dav-namespace.md similarity index 100% rename from changelog/unreleased/fix-dav-namespace.md rename to changelog/1.5.1_2021-01-19/fix-dav-namespace.md diff --git a/changelog/unreleased/fix-version-string.md b/changelog/1.5.1_2021-01-19/fix-version-string.md similarity index 100% rename from changelog/unreleased/fix-version-string.md rename to changelog/1.5.1_2021-01-19/fix-version-string.md diff --git a/changelog/unreleased/mentix-site-auth.md b/changelog/1.5.1_2021-01-19/mentix-site-auth.md similarity index 100% rename from changelog/unreleased/mentix-site-auth.md rename to changelog/1.5.1_2021-01-19/mentix-site-auth.md diff --git a/changelog/unreleased/ocis-favorites-etags-mtime-metadata.md b/changelog/1.5.1_2021-01-19/ocis-favorites-etags-mtime-metadata.md similarity index 100% rename from changelog/unreleased/ocis-favorites-etags-mtime-metadata.md rename to changelog/1.5.1_2021-01-19/ocis-favorites-etags-mtime-metadata.md diff --git a/changelog/unreleased/ocis-fix-trashbin-purge.md b/changelog/1.5.1_2021-01-19/ocis-fix-trashbin-purge.md similarity index 100% rename from changelog/unreleased/ocis-fix-trashbin-purge.md rename to changelog/1.5.1_2021-01-19/ocis-fix-trashbin-purge.md diff --git a/changelog/unreleased/xcloud-metrics.md b/changelog/1.5.1_2021-01-19/xcloud-metrics.md similarity index 100% rename from changelog/unreleased/xcloud-metrics.md rename to changelog/1.5.1_2021-01-19/xcloud-metrics.md diff --git a/changelog/NOTE.md b/changelog/NOTE.md index d18ff1f7df..f7b9d22126 100644 --- a/changelog/NOTE.md +++ b/changelog/NOTE.md @@ -1,306 +1,80 @@ -Changelog for reva 1.5.0 (2021-01-12) +Changelog for reva 1.5.1 (2021-01-19) ======================================= -The following sections list the changes in reva 1.5.0 relevant to +The following sections list the changes in reva 1.5.1 relevant to reva users. The changes are ordered by importance. Summary ------- - * Fix #1385: Run changelog check only if there are changes in the code - * Fix #1333: Delete sdk unit tests - * Fix #1342: Dav endpoint routing to home storage when request is remote.php/dav/files - * Fix #1338: Fix fd leaks - * Fix #1343: Fix ocis move - * Fix #551: Fix purging deleted files with the ocis storage - * Fix #863: Fix dav api for trashbin - * Fix #204: Fix the ocs share with me response - * Fix #1351: Fix xattr.Remove error check for macOS - * Fix #1320: Do not panic on remote.php/dav/files/ - * Fix #1379: Make Jaeger agent usable - * Fix #1331: Fix capabilities response for multiple client versions - * Fix #1281: When sharing via ocs look up user by username - * Fix #1334: Handle removal of public shares by token or ID - * Chg #990: Replace the user uuid with the username in ocs share responses - * Enh #1350: Add auth protocol based on user agent - * Enh #1362: Mark 'store-dev-release' CI step as failed on 4XX/5XX errors - * Enh #1364: Remove expired Link on Get - * Enh #1340: Add cache to store UID to UserID mapping in EOS - * Enh #1154: Add support for the protobuf interface to eos metadata - * Enh #1154: Merge-rebase from master 10/11/2020 - * Enh #1359: Add cache for calculated etags for home and shares directory - * Enh #1321: Add support for multiple data transfer protocols - * Enh #1324: Log expected errors with debug level - * Enh #1351: Map errtypes to status - * Enh #1347: Support property to enable health checking on a service - * Enh #1332: Add import support to Mentix - * Enh #1371: Use self-hosted Drone CI - * Enh #1354: Map bad request and unimplement to http status codes - * Enh #929: Include share types in ocs propfind responses - * Enh #1328: Add CLI commands for public shares - * Enh #1388: Support range header in GET requests - * Enh #1361: Remove expired Link on Access - * Enh #1386: Docker image for cs3org/revad:VERSION-eos - * Enh #1368: Calculate and expose actual file permission set + * Fix #1401: Use the user in request for deciding the layout for non-home DAV requests + * Fix #1413: Re-include the '.git' dir in the Docker images to pass the version tag + * Fix #1399: Fix ocis trash-bin purge + * Enh #1397: Bump the Copyright date to 2021 + * Enh #1398: Support site authorization status in Mentix + * Enh #1393: Allow setting favorites, mtime and a temporary etag + * Enh #1403: Support remote cloud gathering metrics Details ------- - * Bugfix #1385: Run changelog check only if there are changes in the code + * Bugfix #1401: Use the user in request for deciding the layout for non-home DAV requests - https://github.com/cs3org/reva/pull/1385 + For the incoming /dav/files/userID requests, we have different namespaces depending on + whether the request is for the logged-in user's namespace or not. Since in the storage drivers, + we specify the layout depending only on the user whose resources are to be accessed, this fails + when a user wants to access another user's namespace when the storage provider depends on the + logged in user's namespace. This PR fixes that. - * Bugfix #1333: Delete sdk unit tests + For example, consider the following case. The owncloud fs uses a layout {{substr 0 1 + .Id.OpaqueId}}/{{.Id.OpaqueId}}. The user einstein sends a request to access a resource + shared with him, say /dav/files/marie/abcd, which should be allowed. However, based on the + way we applied the layout, there's no way in which this can be translated to /m/marie/. - These depend on a remote server running reva and thus fail in case of version mismatches. + https://github.com/cs3org/reva/pull/1401 - https://github.com/cs3org/reva/pull/1333 + * Bugfix #1413: Re-include the '.git' dir in the Docker images to pass the version tag - * Bugfix #1342: Dav endpoint routing to home storage when request is remote.php/dav/files + And git SHA to the release tool. - There was a regression in which we were not routing correctly to the right storage depending on - the url. + https://github.com/cs3org/reva/pull/1413 - https://github.com/cs3org/reva/pull/1342 + * Bugfix #1399: Fix ocis trash-bin purge - * Bugfix #1338: Fix fd leaks + Fixes the empty trash-bin functionality for ocis-storage - There were some left over open file descriptors on simple.go. + https://github.com/owncloud/product/issues/254 + https://github.com/cs3org/reva/pull/1399 - https://github.com/cs3org/reva/pull/1338 + * Enhancement #1397: Bump the Copyright date to 2021 - * Bugfix #1343: Fix ocis move + https://github.com/cs3org/reva/pull/1397 - Use the old node id to build the target path for xattr updates. + * Enhancement #1398: Support site authorization status in Mentix - https://github.com/owncloud/ocis/issues/975 - https://github.com/cs3org/reva/pull/1343 + This enhancement adds support for a site authorization status to Mentix. This way, sites + registered via a web app can now be excluded until authorized manually by an administrator. - * Bugfix #551: Fix purging deleted files with the ocis storage + Furthermore, Mentix now sets the scheme for Prometheus targets. This allows us to also support + monitoring of sites that do not support the default HTTPS scheme. - The ocis storage could load the owner information of a deleted file. This caused the storage to - not be able to purge deleted files. + https://github.com/cs3org/reva/pull/1398 - https://github.com/owncloud/ocis/issues/551 + * Enhancement #1393: Allow setting favorites, mtime and a temporary etag - * Bugfix #863: Fix dav api for trashbin + We now let the ocis driver persist favorites, set temporary etags and the mtime as arbitrary + metadata. - The api was comparing the requested username to the userid. + https://github.com/owncloud/ocis/issues/567 + https://github.com/cs3org/reva/issues/1394 + https://github.com/cs3org/reva/pull/1393 - https://github.com/owncloud/ocis/issues/863 + * Enhancement #1403: Support remote cloud gathering metrics - * Bugfix #204: Fix the ocs share with me response + The current metrics package can only gather metrics either from json files. With this feature, + the metrics can be gathered polling the http endpoints exposed by the owncloud/nextcloud + sciencemesh apps. - The path of the files shared with me was incorrect. - - https://github.com/owncloud/product/issues/204 - https://github.com/cs3org/reva/pull/1346 - - * Bugfix #1351: Fix xattr.Remove error check for macOS - - Previously, we checked the xattr.Remove error only for linux systems. Now macOS is checked - also - - https://github.com/cs3org/reva/pull/1351 - - * Bugfix #1320: Do not panic on remote.php/dav/files/ - - Currently requests to /remote.php/dav/files/ result in panics since we cannot longer strip - the user + destination from the url. This fixes the server response code and adds an error body to - the response. - - https://github.com/cs3org/reva/pull/1320 - - * Bugfix #1379: Make Jaeger agent usable - - Previously, you could not use tracing with jaeger agent because the tracing connector is - always used instead of the tracing endpoint. - - This PR removes the defaults for collector and tracing endpoint. - - https://github.com/cs3org/reva/pull/1379 - - * Bugfix #1331: Fix capabilities response for multiple client versions - - https://github.com/cs3org/reva/pull/1331 - - * Bugfix #1281: When sharing via ocs look up user by username - - The ocs api returns usernames when listing share recipients, so the lookup when creating the - share needs to search the usernames and not the userid. - - https://github.com/cs3org/reva/pull/1281 - - * Bugfix #1334: Handle removal of public shares by token or ID - - Previously different drivers handled removing public shares using different means, either - the token or the ID. Now, both the drivers support both these methods. - - https://github.com/cs3org/reva/pull/1334 - - * Change #990: Replace the user uuid with the username in ocs share responses - - The ocs api should not send the users uuid. Replaced the uuid with the username. - - https://github.com/owncloud/ocis/issues/990 - https://github.com/cs3org/reva/pull/1375 - - * Enhancement #1350: Add auth protocol based on user agent - - Previously, all available credential challenges are given to the client, for example, basic - auth, bearer token, etc ... Different clients have different priorities to use one method or - another, and before it was not possible to force a client to use one method without having a side - effect on other clients. - - This PR adds the functionality to target a specific auth protocol based on the user agent HTTP - header. - - https://github.com/cs3org/reva/pull/1350 - - * Enhancement #1362: Mark 'store-dev-release' CI step as failed on 4XX/5XX errors - - Prevent the errors while storing new 'daily' releases from going unnoticed on the CI. - - https://github.com/cs3org/reva/pull/1362 - - * Enhancement #1364: Remove expired Link on Get - - There is the scenario in which a public link has expired but ListPublicLink has not run, - accessing a technically expired public share is still possible. - - https://github.com/cs3org/reva/pull/1364 - - * Enhancement #1340: Add cache to store UID to UserID mapping in EOS - - Previously, we used to send an RPC to the user provider service for every lookup of user IDs from - the UID stored in EOS. This PR adds an in-memory lock-protected cache to store this mapping. - - https://github.com/cs3org/reva/pull/1340 - - * Enhancement #1154: Add support for the protobuf interface to eos metadata - - https://github.com/cs3org/reva/pull/1154 - - * Enhancement #1154: Merge-rebase from master 10/11/2020 - - https://github.com/cs3org/reva/pull/1154 - - * Enhancement #1359: Add cache for calculated etags for home and shares directory - - Since we store the references in the shares directory instead of actual resources, we need to - calculate the etag on every list/stat call. This is rather expensive so adding a cache would - help to a great extent with regard to the performance. - - https://github.com/cs3org/reva/pull/1359 - - * Enhancement #1321: Add support for multiple data transfer protocols - - Previously, we had to configure which data transfer protocol to use in the dataprovider - service. A previous PR added the functionality to redirect requests to different handlers - based on the request method but that would lead to conflicts if multiple protocols don't - support mutually exclusive sets of requests. This PR adds the functionality to have multiple - such handlers simultaneously and the client can choose which protocol to use. - - https://github.com/cs3org/reva/pull/1321 - https://github.com/cs3org/reva/pull/1285/ - - * Enhancement #1324: Log expected errors with debug level - - While trying to download a non existing file and reading a non existing attribute are - technically an error they are to be expected and nothing an admin can or even should act upon. - - https://github.com/cs3org/reva/pull/1324 - - * Enhancement #1351: Map errtypes to status - - When mapping errtypes to grpc statuses we now also map bad request and not implemented / - unsupported cases in the gateway storageprovider. - - https://github.com/cs3org/reva/pull/1351 - - * Enhancement #1347: Support property to enable health checking on a service - - This update introduces a new service property called `ENABLE_HEALTH_CHECKS` that must be - explicitly set to `true` if a service should be checked for its health status. This allows us to - only enable these checks for partner sites only, skipping vendor sites. - - https://github.com/cs3org/reva/pull/1347 - - * Enhancement #1332: Add import support to Mentix - - This update adds import support to Mentix, transforming it into a **Mesh Entity Exchanger**. - To properly support vendor site management, a new connector that works on a local file has been - added as well. - - https://github.com/cs3org/reva/pull/1332 - - * Enhancement #1371: Use self-hosted Drone CI - - Previously, we used the drone cloud to run the CI for the project. Due to unexpected and sudden - stop of the service for the cs3org we decided to self-host it. - - https://github.com/cs3org/reva/pull/1371 - - * Enhancement #1354: Map bad request and unimplement to http status codes - - We now return a 400 bad request when a grpc call fails with an invalid argument status and a 501 not - implemented when it fails with an unimplemented status. This prevents 500 errors when a user - tries to add resources to the Share folder or a storage does not implement an action. - - https://github.com/cs3org/reva/pull/1354 - - * Enhancement #929: Include share types in ocs propfind responses - - Added the share types to the ocs propfind response when a resource has been shared. - - https://github.com/owncloud/ocis/issues/929 - https://github.com/cs3org/reva/pull/1329 - - * Enhancement #1328: Add CLI commands for public shares - - https://github.com/cs3org/reva/pull/1328 - - * Enhancement #1388: Support range header in GET requests - - To allow resuming a download we now support GET requests with a range header. - - https://github.com/owncloud/ocis-reva/issues/12 - https://github.com/cs3org/reva/pull/1388 - - * Enhancement #1361: Remove expired Link on Access - - Since there is no background jobs scheduled to wipe out expired resources, for the time being - public links are going to be removed on a "on demand" basis, meaning whenever there is an API call - that access the list of shares for a given resource, we will check whether the share is expired - and delete it if so. - - https://github.com/cs3org/reva/pull/1361 - - * Enhancement #1386: Docker image for cs3org/revad:VERSION-eos - - Based on eos:c8_4.8.15 (Centos8, version 4.8.15). To be used when the Reva daemon needs IPC - with xrootd/eos via stdin/out. - - https://github.com/cs3org/reva/pull/1386 - https://github.com/cs3org/reva/pull/1389 - - * Enhancement #1368: Calculate and expose actual file permission set - - Instead of hardcoding the permissions set for every file and folder to ListContainer:true, - CreateContainer:true and always reporting the hardcoded string WCKDNVR for the WebDAV - permissions we now aggregate the actual cs3 resource permission set in the storage drivers and - correctly map them to ocs permissions and webdav permissions using a common role struct that - encapsulates the mapping logic. - - https://github.com/owncloud/ocis/issues/552 - https://github.com/owncloud/ocis/issues/762 - https://github.com/owncloud/ocis/issues/763 - https://github.com/owncloud/ocis/issues/893 - https://github.com/owncloud/ocis/issues/1126 - https://github.com/owncloud/ocis-reva/issues/47 - https://github.com/owncloud/ocis-reva/issues/315 - https://github.com/owncloud/ocis-reva/issues/316 - https://github.com/owncloud/product/issues/270 - https://github.com/cs3org/reva/pull/1368 + https://github.com/cs3org/reva/pull/1403 diff --git a/docs/content/en/docs/changelog/1.5.1/_index.md b/docs/content/en/docs/changelog/1.5.1/_index.md new file mode 100644 index 0000000000..5a03c33ce8 --- /dev/null +++ b/docs/content/en/docs/changelog/1.5.1/_index.md @@ -0,0 +1,89 @@ + +--- +title: "v1.5.1" +linkTitle: "v1.5.1" +weight: 40 +description: > + Changelog for Reva v1.5.1 (2021-01-19) +--- + +Changelog for reva 1.5.1 (2021-01-19) +======================================= + +The following sections list the changes in reva 1.5.1 relevant to +reva users. The changes are ordered by importance. + +Summary +------- + + * Fix #1401: Use the user in request for deciding the layout for non-home DAV requests + * Fix #1413: Re-include the '.git' dir in the Docker images to pass the version tag + * Fix #1399: Fix ocis trash-bin purge + * Enh #1397: Bump the Copyright date to 2021 + * Enh #1398: Support site authorization status in Mentix + * Enh #1393: Allow setting favorites, mtime and a temporary etag + * Enh #1403: Support remote cloud gathering metrics + +Details +------- + + * Bugfix #1401: Use the user in request for deciding the layout for non-home DAV requests + + For the incoming /dav/files/userID requests, we have different namespaces depending on + whether the request is for the logged-in user's namespace or not. Since in the storage drivers, + we specify the layout depending only on the user whose resources are to be accessed, this fails + when a user wants to access another user's namespace when the storage provider depends on the + logged in user's namespace. This PR fixes that. + + For example, consider the following case. The owncloud fs uses a layout {{substr 0 1 + .Id.OpaqueId}}/{{.Id.OpaqueId}}. The user einstein sends a request to access a resource + shared with him, say /dav/files/marie/abcd, which should be allowed. However, based on the + way we applied the layout, there's no way in which this can be translated to /m/marie/. + + https://github.com/cs3org/reva/pull/1401 + + * Bugfix #1413: Re-include the '.git' dir in the Docker images to pass the version tag + + And git SHA to the release tool. + + https://github.com/cs3org/reva/pull/1413 + + * Bugfix #1399: Fix ocis trash-bin purge + + Fixes the empty trash-bin functionality for ocis-storage + + https://github.com/owncloud/product/issues/254 + https://github.com/cs3org/reva/pull/1399 + + * Enhancement #1397: Bump the Copyright date to 2021 + + https://github.com/cs3org/reva/pull/1397 + + * Enhancement #1398: Support site authorization status in Mentix + + This enhancement adds support for a site authorization status to Mentix. This way, sites + registered via a web app can now be excluded until authorized manually by an administrator. + + Furthermore, Mentix now sets the scheme for Prometheus targets. This allows us to also support + monitoring of sites that do not support the default HTTPS scheme. + + https://github.com/cs3org/reva/pull/1398 + + * Enhancement #1393: Allow setting favorites, mtime and a temporary etag + + We now let the ocis driver persist favorites, set temporary etags and the mtime as arbitrary + metadata. + + https://github.com/owncloud/ocis/issues/567 + https://github.com/cs3org/reva/issues/1394 + https://github.com/cs3org/reva/pull/1393 + + * Enhancement #1403: Support remote cloud gathering metrics + + The current metrics package can only gather metrics either from json files. With this feature, + the metrics can be gathered polling the http endpoints exposed by the owncloud/nextcloud + sciencemesh apps. + + https://github.com/cs3org/reva/pull/1403 + +