diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a28dd178f..724be0a6ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,209 @@ +Changelog for reva 1.3.0 (2020-10-08) +======================================= + +The following sections list the changes in reva 1.3.0 relevant to +reva users. The changes are ordered by importance. + +Summary +------- + + * Fix #1140: Call the gateway stat method from appprovider + * Fix #1170: Up and download of file shares + * Fix #1177: Fix ocis move + * Fix #1178: Fix litmus failing on ocis storage + * Fix #237: Fix missing quotes on OCIS-Storage + * Fix #1210: No longer swallow permissions errors in the gateway + * Fix #1183: Handle eos EPERM as permission denied + * Fix #1206: No longer swallow permissions errors + * Fix #1207: No longer swallow permissions errors in ocdav + * Fix #1161: Cache display names in ocs service + * Fix #1216: Add error handling for invalid references + * Enh #1205: Allow using the username when accessing the users home + * Enh #1131: Use updated cato to display nested package config in parent docs + * Enh #1213: Check permissions in ocis driver + * Enh #1202: Check permissions in owncloud driver + * Enh #1228: Add GRPC stubs for CreateSymlink method + * Enh #1174: Add logic in EOS FS for maintaining same inode across file versions + * Enh #1142: Functionality to map home directory to different storage providers + * Enh #1190: Add Blackbox Exporter support to Mentix + * Enh #1229: New gateway datatx service + * Enh #1225: Allow setting the owner when using the ocis driver + * Enh #1180: Introduce ocis driver treetime accounting + * Enh #1208: Calculate etags on-the-fly for shares directory and home folder + +Details +------- + + * Bugfix #1140: Call the gateway stat method from appprovider + + The appprovider service used to directly pass the stat request to the storage provider + bypassing the gateway, which resulted in errors while handling share children as they are + resolved in the gateway path. + + https://github.com/cs3org/reva/pull/1140 + + * Bugfix #1170: Up and download of file shares + + The shared folder logic in the gateway storageprovider was not allowing file up and downloads + for single file shares. We now check if the reference is actually a file to determine if up / + download should be allowed. + + https://github.com/cs3org/reva/pull/1170 + + * Bugfix #1177: Fix ocis move + + When renaming a file we updating the name attribute on the wrong node, causing the path + construction to use the wrong name. This fixes the litmus move_coll test. + + https://github.com/cs3org/reva/pull/1177 + + * Bugfix #1178: Fix litmus failing on ocis storage + + We now ignore the `no data available` error when removing a non existing metadata attribute, + which is ok because we are trying to delete it anyway. + + https://github.com/cs3org/reva/issues/1178 + https://github.com/cs3org/reva/pull/1179 + + * Bugfix #237: Fix missing quotes on OCIS-Storage + + Etags have to be enclosed in quotes ". Return correct etags on OCIS-Storage. + + https://github.com/owncloud/product/issues/237 + https://github.com/cs3org/reva/pull/1232 + + * Bugfix #1210: No longer swallow permissions errors in the gateway + + The gateway is no longer ignoring permissions errors. It will now check the status for + `rpc.Code_CODE_PERMISSION_DENIED` codes and report them properly using + `status.NewPermissionDenied` or `status.NewInternal` instead of reusing the original + response status. + + https://github.com/cs3org/reva/pull/1210 + + * Bugfix #1183: Handle eos EPERM as permission denied + + We now treat EPERM errors, which occur, eg. when acl checks fail and return a permission denied + error. + + https://github.com/cs3org/reva/pull/1183 + + * Bugfix #1206: No longer swallow permissions errors + + The storageprovider is no longer ignoring permissions errors. It will now report them + properly using `status.NewPermissionDenied(...)` instead of `status.NewInternal(...)` + + https://github.com/cs3org/reva/pull/1206 + + * Bugfix #1207: No longer swallow permissions errors in ocdav + + The ocdav api is no longer ignoring permissions errors. It will now check the status for + `rpc.Code_CODE_PERMISSION_DENIED` codes and report them properly using + `http.StatusForbidden` instead of `http.StatusInternalServerError` + + https://github.com/cs3org/reva/pull/1207 + + * Bugfix #1161: Cache display names in ocs service + + The ocs list shares endpoint may need to fetch the displayname for multiple different users. We + are now caching the lookup fo 60 seconds to save redundant RPCs to the users service. + + https://github.com/cs3org/reva/pull/1161 + + * Bugfix #1216: Add error handling for invalid references + + https://github.com/cs3org/reva/pull/1216 + https://github.com/cs3org/reva/pull/1218 + + * Enhancement #1205: Allow using the username when accessing the users home + + We now allow using the userid and the username when accessing the users home on the `/dev/files` + endpoint. + + https://github.com/cs3org/reva/pull/1205 + + * Enhancement #1131: Use updated cato to display nested package config in parent docs + + Previously, in case of nested packages, we just had a link pointing to the child package. Now we + copy the nested package's documentation to the parent itself to make it easier for devs. + + https://github.com/cs3org/reva/pull/1131 + + * Enhancement #1213: Check permissions in ocis driver + + We are now checking grant permissions in the ocis storage driver. + + https://github.com/cs3org/reva/pull/1213 + + * Enhancement #1202: Check permissions in owncloud driver + + We are now checking grant permissions in the owncloud storage driver. + + https://github.com/cs3org/reva/pull/1202 + + * Enhancement #1228: Add GRPC stubs for CreateSymlink method + + https://github.com/cs3org/reva/pull/1228 + + * Enhancement #1174: Add logic in EOS FS for maintaining same inode across file versions + + This PR adds the functionality to maintain the same inode across various versions of a file by + returning the inode of the version folder which remains constant. It requires extra metadata + operations so a flag is provided to disable it. + + https://github.com/cs3org/reva/pull/1174. + + * Enhancement #1142: Functionality to map home directory to different storage providers + + We hardcode the home path for all users to /home. This forbids redirecting requests for + different users to multiple storage providers. This PR provides the option to map the home + directories of different users using user attributes. + + https://github.com/cs3org/reva/pull/1142 + + * Enhancement #1190: Add Blackbox Exporter support to Mentix + + This update extends Mentix to export a Prometheus SD file specific to the Blackbox Exporter + which will be used for initial health monitoring. Usually, Prometheus requires its targets to + only consist of the target's hostname; the BBE though expects a full URL here. This makes + exporting two distinct files necessary. + + https://github.com/cs3org/reva/pull/1190 + + * Enhancement #1229: New gateway datatx service + + Represents the CS3 datatx module in the gateway. + + https://github.com/cs3org/reva/pull/1229 + + * Enhancement #1225: Allow setting the owner when using the ocis driver + + To support the metadata storage we allow setting the owner of the root node so that subsequent + requests with that owner can be used to manage the storage. + + https://github.com/cs3org/reva/pull/1225 + + * Enhancement #1180: Introduce ocis driver treetime accounting + + We added tree time accounting to the ocis storage driver which is modeled after [eos synctime + accounting](http://eos-docs.web.cern.ch/eos-docs/configuration/namespace.html#enable-subtree-accounting). + It can be enabled using the new `treetime_accounting` option, which defaults to `false` The + `tmtime` is stored in an extended attribute `user.ocis.tmtime`. The treetime accounting is + enabled for nodes which have the `user.ocis.propagation` extended attribute set to `"1"`. + Currently, propagation is in sync. + + https://github.com/cs3org/reva/pull/1180 + + * Enhancement #1208: Calculate etags on-the-fly for shares directory and home folder + + We create references for accepted shares in the shares directory, but these aren't updated + when the original resource is modified. This PR adds the functionality to generate the etag for + the shares directory and correspondingly, the home directory, based on the actual resources + which the references point to, enabling the sync functionality. + + https://github.com/cs3org/reva/pull/1208 + + Changelog for reva 1.2.1 (2020-09-15) ======================================= diff --git a/RELEASE_DATE b/RELEASE_DATE index 540a61b9e9..be83883fb0 100644 --- a/RELEASE_DATE +++ b/RELEASE_DATE @@ -1 +1 @@ -2020-09-15 \ No newline at end of file +2020-10-08 \ No newline at end of file diff --git a/VERSION b/VERSION index cb174d58a5..589268e6fe 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.2.1 \ No newline at end of file +1.3.0 \ No newline at end of file diff --git a/changelog/1.3.0_2020-10-08/allow-username-in-dav-files.md b/changelog/1.3.0_2020-10-08/allow-username-in-dav-files.md new file mode 100644 index 0000000000..73dd0628e7 --- /dev/null +++ b/changelog/1.3.0_2020-10-08/allow-username-in-dav-files.md @@ -0,0 +1,6 @@ +Enhancement: Allow using the username when accessing the users home + +We now allow using the userid and the username when accessing the +users home on the `/dev/files` endpoint. + +https://github.com/cs3org/reva/pull/1205 diff --git a/changelog/1.3.0_2020-10-08/appprovider-stat.md b/changelog/1.3.0_2020-10-08/appprovider-stat.md new file mode 100644 index 0000000000..d71b1eb7dd --- /dev/null +++ b/changelog/1.3.0_2020-10-08/appprovider-stat.md @@ -0,0 +1,7 @@ +Bugfix: Call the gateway stat method from appprovider + +The appprovider service used to directly pass the stat request to the storage +provider bypassing the gateway, which resulted in errors while handling share +children as they are resolved in the gateway path. + +https://github.com/cs3org/reva/pull/1140 diff --git a/changelog/1.3.0_2020-10-08/cato-nested-packages.md b/changelog/1.3.0_2020-10-08/cato-nested-packages.md new file mode 100644 index 0000000000..9c8667cb0c --- /dev/null +++ b/changelog/1.3.0_2020-10-08/cato-nested-packages.md @@ -0,0 +1,7 @@ +Enhancement: Use updated cato to display nested package config in parent docs + +Previously, in case of nested packages, we just had a link pointing to the child +package. Now we copy the nested package's documentation to the parent itself to +make it easier for devs. + +https://github.com/cs3org/reva/pull/1131 diff --git a/changelog/1.3.0_2020-10-08/check-permissions-in-ocis-driver.md b/changelog/1.3.0_2020-10-08/check-permissions-in-ocis-driver.md new file mode 100644 index 0000000000..b81c813839 --- /dev/null +++ b/changelog/1.3.0_2020-10-08/check-permissions-in-ocis-driver.md @@ -0,0 +1,5 @@ +Enhancement: check permissions in ocis driver + +We are now checking grant permissions in the ocis storage driver. + +https://github.com/cs3org/reva/pull/1213 diff --git a/changelog/1.3.0_2020-10-08/chheck-permissions-in-owncloud-driver.md b/changelog/1.3.0_2020-10-08/chheck-permissions-in-owncloud-driver.md new file mode 100644 index 0000000000..d3eb8734de --- /dev/null +++ b/changelog/1.3.0_2020-10-08/chheck-permissions-in-owncloud-driver.md @@ -0,0 +1,5 @@ +Enhancement: check permissions in owncloud driver + +We are now checking grant permissions in the owncloud storage driver. + +https://github.com/cs3org/reva/pull/1202 diff --git a/changelog/1.3.0_2020-10-08/create-symlink-stubs.md b/changelog/1.3.0_2020-10-08/create-symlink-stubs.md new file mode 100644 index 0000000000..e90c3279de --- /dev/null +++ b/changelog/1.3.0_2020-10-08/create-symlink-stubs.md @@ -0,0 +1,3 @@ +Enhancement: Add GRPC stubs for CreateSymlink method + +https://github.com/cs3org/reva/pull/1228 diff --git a/changelog/1.3.0_2020-10-08/eos-version-invariant.md b/changelog/1.3.0_2020-10-08/eos-version-invariant.md new file mode 100644 index 0000000000..320965cb02 --- /dev/null +++ b/changelog/1.3.0_2020-10-08/eos-version-invariant.md @@ -0,0 +1,8 @@ +Enhancement: Add logic in EOS FS for maintaining same inode across file versions + +This PR adds the functionality to maintain the same inode across various +versions of a file by returning the inode of the version folder which remains +constant. It requires extra metadata operations so a flag is provided to disable +it. + +https://github.com/cs3org/reva/pull/1174. diff --git a/changelog/1.3.0_2020-10-08/file-share-up-download.md b/changelog/1.3.0_2020-10-08/file-share-up-download.md new file mode 100644 index 0000000000..0306350c4c --- /dev/null +++ b/changelog/1.3.0_2020-10-08/file-share-up-download.md @@ -0,0 +1,5 @@ +Bugfix: up and download of file shares + +The shared folder logic in the gateway storageprovider was not allowing file up and downloads for single file shares. We now check if the reference is actually a file to determine if up / download should be allowed. + +https://github.com/cs3org/reva/pull/1170 diff --git a/changelog/1.3.0_2020-10-08/fix-oci-move.md b/changelog/1.3.0_2020-10-08/fix-oci-move.md new file mode 100644 index 0000000000..517f7499e6 --- /dev/null +++ b/changelog/1.3.0_2020-10-08/fix-oci-move.md @@ -0,0 +1,5 @@ +Bugfix: Fix ocis move + +When renaming a file we updating the name attribute on the wrong node, causing the path construction to use the wrong name. This fixes the litmus move_coll test. + +https://github.com/cs3org/reva/pull/1177 \ No newline at end of file diff --git a/changelog/1.3.0_2020-10-08/fix-oci-props.md b/changelog/1.3.0_2020-10-08/fix-oci-props.md new file mode 100644 index 0000000000..e931d78af1 --- /dev/null +++ b/changelog/1.3.0_2020-10-08/fix-oci-props.md @@ -0,0 +1,6 @@ +Bugfix: Fix litmus failing on ocis storage + +We now ignore the `no data available` error when removing a non existing metadata attribute, which is ok because we are trying to delete it anyway. + +https://github.com/cs3org/reva/issues/1178 +https://github.com/cs3org/reva/pull/1179 \ No newline at end of file diff --git a/changelog/1.3.0_2020-10-08/fix-quote-etag-on-ocis-storage.md b/changelog/1.3.0_2020-10-08/fix-quote-etag-on-ocis-storage.md new file mode 100644 index 0000000000..319948ad69 --- /dev/null +++ b/changelog/1.3.0_2020-10-08/fix-quote-etag-on-ocis-storage.md @@ -0,0 +1,6 @@ +Bugfix: Fix missing quotes on OCIS-Storage + +Etags have to be enclosed in quotes ". Return correct etags on OCIS-Storage. + +https://github.com/owncloud/product/issues/237 +https://github.com/cs3org/reva/pull/1232 diff --git a/changelog/1.3.0_2020-10-08/gateway-permissions-errors.md b/changelog/1.3.0_2020-10-08/gateway-permissions-errors.md new file mode 100644 index 0000000000..d32ecb09bc --- /dev/null +++ b/changelog/1.3.0_2020-10-08/gateway-permissions-errors.md @@ -0,0 +1,7 @@ +Bugfix: No longer swallow permissions errors in the gateway + +The gateway is no longer ignoring permissions errors. +It will now check the status for `rpc.Code_CODE_PERMISSION_DENIED` codes +and report them properly using `status.NewPermissionDenied` or `status.NewInternal` instead of reusing the original response status. + +https://github.com/cs3org/reva/pull/1210 \ No newline at end of file diff --git a/changelog/1.3.0_2020-10-08/handle-eos-eperm.md b/changelog/1.3.0_2020-10-08/handle-eos-eperm.md new file mode 100644 index 0000000000..96c4c90d04 --- /dev/null +++ b/changelog/1.3.0_2020-10-08/handle-eos-eperm.md @@ -0,0 +1,5 @@ +Bugfix: Handle eos EPERM as permission denied + +We now treat EPERM errors, which occur, eg. when acl checks fail and return a permission denied error. + +https://github.com/cs3org/reva/pull/1183 \ No newline at end of file diff --git a/changelog/1.3.0_2020-10-08/home-sp-mapping.md b/changelog/1.3.0_2020-10-08/home-sp-mapping.md new file mode 100644 index 0000000000..3f3120889b --- /dev/null +++ b/changelog/1.3.0_2020-10-08/home-sp-mapping.md @@ -0,0 +1,7 @@ +Enhancement: Functionality to map home directory to different storage providers + +We hardcode the home path for all users to /home. This forbids redirecting +requests for different users to multiple storage providers. This PR provides the +option to map the home directories of different users using user attributes. + +https://github.com/cs3org/reva/pull/1142 diff --git a/changelog/1.3.0_2020-10-08/mentix-bbe-support.md b/changelog/1.3.0_2020-10-08/mentix-bbe-support.md new file mode 100644 index 0000000000..512a64efb3 --- /dev/null +++ b/changelog/1.3.0_2020-10-08/mentix-bbe-support.md @@ -0,0 +1,5 @@ +Enhancement: Add Blackbox Exporter support to Mentix + +This update extends Mentix to export a Prometheus SD file specific to the Blackbox Exporter which will be used for initial health monitoring. Usually, Prometheus requires its targets to only consist of the target's hostname; the BBE though expects a full URL here. This makes exporting two distinct files necessary. + +https://github.com/cs3org/reva/pull/1190 diff --git a/changelog/1.3.0_2020-10-08/new-gateway-datatx-service.md b/changelog/1.3.0_2020-10-08/new-gateway-datatx-service.md new file mode 100644 index 0000000000..57a5f78ea5 --- /dev/null +++ b/changelog/1.3.0_2020-10-08/new-gateway-datatx-service.md @@ -0,0 +1,5 @@ +Enhancement: New gateway datatx service + +Represents the CS3 datatx module in the gateway. + +https://github.com/cs3org/reva/pull/1229 \ No newline at end of file diff --git a/changelog/1.3.0_2020-10-08/no-longer-swallow-permissions-errors.md b/changelog/1.3.0_2020-10-08/no-longer-swallow-permissions-errors.md new file mode 100644 index 0000000000..3084e18cd6 --- /dev/null +++ b/changelog/1.3.0_2020-10-08/no-longer-swallow-permissions-errors.md @@ -0,0 +1,6 @@ +Bugfix: No longer swallow permissions errors + +The storageprovider is no longer ignoring permissions errors. +It will now report them properly using `status.NewPermissionDenied(...)` instead of `status.NewInternal(...)` + +https://github.com/cs3org/reva/pull/1206 \ No newline at end of file diff --git a/changelog/1.3.0_2020-10-08/ocdav-permissions-errors.md b/changelog/1.3.0_2020-10-08/ocdav-permissions-errors.md new file mode 100644 index 0000000000..e36943150b --- /dev/null +++ b/changelog/1.3.0_2020-10-08/ocdav-permissions-errors.md @@ -0,0 +1,6 @@ +Bugfix: No longer swallow permissions errors in ocdav + +The ocdav api is no longer ignoring permissions errors. +It will now check the status for `rpc.Code_CODE_PERMISSION_DENIED` codes and report them properly using `http.StatusForbidden` instead of `http.StatusInternalServerError` + +https://github.com/cs3org/reva/pull/1207 \ No newline at end of file diff --git a/changelog/1.3.0_2020-10-08/ocis-cache-displayname.md b/changelog/1.3.0_2020-10-08/ocis-cache-displayname.md new file mode 100644 index 0000000000..bfd9b72f9f --- /dev/null +++ b/changelog/1.3.0_2020-10-08/ocis-cache-displayname.md @@ -0,0 +1,5 @@ +Bugfix: Cache display names in ocs service + +The ocs list shares endpoint may need to fetch the displayname for multiple different users. We are now caching the lookup fo 60 seconds to save redundant RPCs to the users service. + +https://github.com/cs3org/reva/pull/1161 diff --git a/changelog/1.3.0_2020-10-08/ocis-set-owner.md b/changelog/1.3.0_2020-10-08/ocis-set-owner.md new file mode 100644 index 0000000000..14cb2cb785 --- /dev/null +++ b/changelog/1.3.0_2020-10-08/ocis-set-owner.md @@ -0,0 +1,5 @@ +Enhancement: Allow setting the owner when using the ocis driver + +To support the metadata storage we allow setting the owner of the root node so that subsequent requests with that owner can be used to manage the storage. + +https://github.com/cs3org/reva/pull/1225 \ No newline at end of file diff --git a/changelog/1.3.0_2020-10-08/ocis-synctime-accounting.md b/changelog/1.3.0_2020-10-08/ocis-synctime-accounting.md new file mode 100644 index 0000000000..2432e24fd7 --- /dev/null +++ b/changelog/1.3.0_2020-10-08/ocis-synctime-accounting.md @@ -0,0 +1,7 @@ +Enhancement: introduce ocis driver treetime accounting + +We added tree time accounting to the ocis storage driver which is modeled after [eos synctime accounting](http://eos-docs.web.cern.ch/eos-docs/configuration/namespace.html#enable-subtree-accounting). +It can be enabled using the new `treetime_accounting` option, which defaults to `false` +The `tmtime` is stored in an extended attribute `user.ocis.tmtime`. The treetime accounting is enabled for nodes which have the `user.ocis.propagation` extended attribute set to `"1"`. Currently, propagation is in sync. + +https://github.com/cs3org/reva/pull/1180 \ No newline at end of file diff --git a/changelog/1.3.0_2020-10-08/ref-errors.md b/changelog/1.3.0_2020-10-08/ref-errors.md new file mode 100644 index 0000000000..5122d10cd4 --- /dev/null +++ b/changelog/1.3.0_2020-10-08/ref-errors.md @@ -0,0 +1,4 @@ +Bugfix: Add error handling for invalid references + +https://github.com/cs3org/reva/pull/1216 +https://github.com/cs3org/reva/pull/1218 diff --git a/changelog/1.3.0_2020-10-08/virtual-etag.md b/changelog/1.3.0_2020-10-08/virtual-etag.md new file mode 100644 index 0000000000..920b57020e --- /dev/null +++ b/changelog/1.3.0_2020-10-08/virtual-etag.md @@ -0,0 +1,9 @@ +Enhancement: Calculate etags on-the-fly for shares directory and home folder + +We create references for accepted shares in the shares directory, but these +aren't updated when the original resource is modified. This PR adds the +functionality to generate the etag for the shares directory and correspondingly, +the home directory, based on the actual resources which the references point to, +enabling the sync functionality. + +https://github.com/cs3org/reva/pull/1208 diff --git a/changelog/NOTE.md b/changelog/NOTE.md index ca940b3b64..e1deb771d1 100644 --- a/changelog/NOTE.md +++ b/changelog/NOTE.md @@ -1,48 +1,206 @@ -Changelog for reva 1.2.1 (2020-09-15) +Changelog for reva 1.3.0 (2020-10-08) ======================================= -The following sections list the changes in reva 1.2.1 relevant to +The following sections list the changes in reva 1.3.0 relevant to reva users. The changes are ordered by importance. Summary ------- - * Fix #1124: Do not swallow 'not found' errors in Stat - * Enh #1125: Rewire dav files to the home storage - * Enh #559: Introduce ocis storage driver - * Enh #1118: Metrics module can be configured to retrieve metrics data from file + * Fix #1140: Call the gateway stat method from appprovider + * Fix #1170: Up and download of file shares + * Fix #1177: Fix ocis move + * Fix #1178: Fix litmus failing on ocis storage + * Fix #237: Fix missing quotes on OCIS-Storage + * Fix #1210: No longer swallow permissions errors in the gateway + * Fix #1183: Handle eos EPERM as permission denied + * Fix #1206: No longer swallow permissions errors + * Fix #1207: No longer swallow permissions errors in ocdav + * Fix #1161: Cache display names in ocs service + * Fix #1216: Add error handling for invalid references + * Enh #1205: Allow using the username when accessing the users home + * Enh #1131: Use updated cato to display nested package config in parent docs + * Enh #1213: Check permissions in ocis driver + * Enh #1202: Check permissions in owncloud driver + * Enh #1228: Add GRPC stubs for CreateSymlink method + * Enh #1174: Add logic in EOS FS for maintaining same inode across file versions + * Enh #1142: Functionality to map home directory to different storage providers + * Enh #1190: Add Blackbox Exporter support to Mentix + * Enh #1229: New gateway datatx service + * Enh #1225: Allow setting the owner when using the ocis driver + * Enh #1180: Introduce ocis driver treetime accounting + * Enh #1208: Calculate etags on-the-fly for shares directory and home folder Details ------- - * Bugfix #1124: Do not swallow 'not found' errors in Stat + * Bugfix #1140: Call the gateway stat method from appprovider - Webdav needs to determine if a file exists to return 204 or 201 response codes. When stating a non - existing resource the NOT_FOUND code was replaced with an INTERNAL error code. This PR passes - on a NOT_FOUND status code in the gateway. + The appprovider service used to directly pass the stat request to the storage provider + bypassing the gateway, which resulted in errors while handling share children as they are + resolved in the gateway path. - https://github.com/cs3org/reva/pull/1124 + https://github.com/cs3org/reva/pull/1140 - * Enhancement #1125: Rewire dav files to the home storage + * Bugfix #1170: Up and download of file shares - If the user specified in the dav files URL matches the current one, rewire it to use the - webDavHandler which is wired to the home storage. + The shared folder logic in the gateway storageprovider was not allowing file up and downloads + for single file shares. We now check if the reference is actually a file to determine if up / + download should be allowed. - This fixes path mapping issues. + https://github.com/cs3org/reva/pull/1170 - https://github.com/cs3org/reva/pull/1125 + * Bugfix #1177: Fix ocis move - * Enhancement #559: Introduce ocis storage driver + When renaming a file we updating the name attribute on the wrong node, causing the path + construction to use the wrong name. This fixes the litmus move_coll test. - We introduced a now storage driver `ocis` that deconstructs a filesystem and uses a node first - approach to implement an efficient lookup of files by path as well as by file id. + https://github.com/cs3org/reva/pull/1177 - https://github.com/cs3org/reva/pull/559 + * Bugfix #1178: Fix litmus failing on ocis storage - * Enhancement #1118: Metrics module can be configured to retrieve metrics data from file + We now ignore the `no data available` error when removing a non existing metadata attribute, + which is ok because we are trying to delete it anyway. - - Export site metrics in Prometheus #698 + https://github.com/cs3org/reva/issues/1178 + https://github.com/cs3org/reva/pull/1179 - https://github.com/cs3org/reva/pull/1118 + * Bugfix #237: Fix missing quotes on OCIS-Storage + + Etags have to be enclosed in quotes ". Return correct etags on OCIS-Storage. + + https://github.com/owncloud/product/issues/237 + https://github.com/cs3org/reva/pull/1232 + + * Bugfix #1210: No longer swallow permissions errors in the gateway + + The gateway is no longer ignoring permissions errors. It will now check the status for + `rpc.Code_CODE_PERMISSION_DENIED` codes and report them properly using + `status.NewPermissionDenied` or `status.NewInternal` instead of reusing the original + response status. + + https://github.com/cs3org/reva/pull/1210 + + * Bugfix #1183: Handle eos EPERM as permission denied + + We now treat EPERM errors, which occur, eg. when acl checks fail and return a permission denied + error. + + https://github.com/cs3org/reva/pull/1183 + + * Bugfix #1206: No longer swallow permissions errors + + The storageprovider is no longer ignoring permissions errors. It will now report them + properly using `status.NewPermissionDenied(...)` instead of `status.NewInternal(...)` + + https://github.com/cs3org/reva/pull/1206 + + * Bugfix #1207: No longer swallow permissions errors in ocdav + + The ocdav api is no longer ignoring permissions errors. It will now check the status for + `rpc.Code_CODE_PERMISSION_DENIED` codes and report them properly using + `http.StatusForbidden` instead of `http.StatusInternalServerError` + + https://github.com/cs3org/reva/pull/1207 + + * Bugfix #1161: Cache display names in ocs service + + The ocs list shares endpoint may need to fetch the displayname for multiple different users. We + are now caching the lookup fo 60 seconds to save redundant RPCs to the users service. + + https://github.com/cs3org/reva/pull/1161 + + * Bugfix #1216: Add error handling for invalid references + + https://github.com/cs3org/reva/pull/1216 + https://github.com/cs3org/reva/pull/1218 + + * Enhancement #1205: Allow using the username when accessing the users home + + We now allow using the userid and the username when accessing the users home on the `/dev/files` + endpoint. + + https://github.com/cs3org/reva/pull/1205 + + * Enhancement #1131: Use updated cato to display nested package config in parent docs + + Previously, in case of nested packages, we just had a link pointing to the child package. Now we + copy the nested package's documentation to the parent itself to make it easier for devs. + + https://github.com/cs3org/reva/pull/1131 + + * Enhancement #1213: Check permissions in ocis driver + + We are now checking grant permissions in the ocis storage driver. + + https://github.com/cs3org/reva/pull/1213 + + * Enhancement #1202: Check permissions in owncloud driver + + We are now checking grant permissions in the owncloud storage driver. + + https://github.com/cs3org/reva/pull/1202 + + * Enhancement #1228: Add GRPC stubs for CreateSymlink method + + https://github.com/cs3org/reva/pull/1228 + + * Enhancement #1174: Add logic in EOS FS for maintaining same inode across file versions + + This PR adds the functionality to maintain the same inode across various versions of a file by + returning the inode of the version folder which remains constant. It requires extra metadata + operations so a flag is provided to disable it. + + https://github.com/cs3org/reva/pull/1174. + + * Enhancement #1142: Functionality to map home directory to different storage providers + + We hardcode the home path for all users to /home. This forbids redirecting requests for + different users to multiple storage providers. This PR provides the option to map the home + directories of different users using user attributes. + + https://github.com/cs3org/reva/pull/1142 + + * Enhancement #1190: Add Blackbox Exporter support to Mentix + + This update extends Mentix to export a Prometheus SD file specific to the Blackbox Exporter + which will be used for initial health monitoring. Usually, Prometheus requires its targets to + only consist of the target's hostname; the BBE though expects a full URL here. This makes + exporting two distinct files necessary. + + https://github.com/cs3org/reva/pull/1190 + + * Enhancement #1229: New gateway datatx service + + Represents the CS3 datatx module in the gateway. + + https://github.com/cs3org/reva/pull/1229 + + * Enhancement #1225: Allow setting the owner when using the ocis driver + + To support the metadata storage we allow setting the owner of the root node so that subsequent + requests with that owner can be used to manage the storage. + + https://github.com/cs3org/reva/pull/1225 + + * Enhancement #1180: Introduce ocis driver treetime accounting + + We added tree time accounting to the ocis storage driver which is modeled after [eos synctime + accounting](http://eos-docs.web.cern.ch/eos-docs/configuration/namespace.html#enable-subtree-accounting). + It can be enabled using the new `treetime_accounting` option, which defaults to `false` The + `tmtime` is stored in an extended attribute `user.ocis.tmtime`. The treetime accounting is + enabled for nodes which have the `user.ocis.propagation` extended attribute set to `"1"`. + Currently, propagation is in sync. + + https://github.com/cs3org/reva/pull/1180 + + * Enhancement #1208: Calculate etags on-the-fly for shares directory and home folder + + We create references for accepted shares in the shares directory, but these aren't updated + when the original resource is modified. This PR adds the functionality to generate the etag for + the shares directory and correspondingly, the home directory, based on the actual resources + which the references point to, enabling the sync functionality. + + https://github.com/cs3org/reva/pull/1208 diff --git a/docs/content/en/docs/changelog/1.3.0/_index.md b/docs/content/en/docs/changelog/1.3.0/_index.md new file mode 100644 index 0000000000..42247ae264 --- /dev/null +++ b/docs/content/en/docs/changelog/1.3.0/_index.md @@ -0,0 +1,215 @@ + +--- +title: "v1.3.0" +linkTitle: "v1.3.0" +weight: 40 +description: > + Changelog for Reva v1.3.0 (2020-10-08) +--- + +Changelog for reva 1.3.0 (2020-10-08) +======================================= + +The following sections list the changes in reva 1.3.0 relevant to +reva users. The changes are ordered by importance. + +Summary +------- + + * Fix #1140: Call the gateway stat method from appprovider + * Fix #1170: Up and download of file shares + * Fix #1177: Fix ocis move + * Fix #1178: Fix litmus failing on ocis storage + * Fix #237: Fix missing quotes on OCIS-Storage + * Fix #1210: No longer swallow permissions errors in the gateway + * Fix #1183: Handle eos EPERM as permission denied + * Fix #1206: No longer swallow permissions errors + * Fix #1207: No longer swallow permissions errors in ocdav + * Fix #1161: Cache display names in ocs service + * Fix #1216: Add error handling for invalid references + * Enh #1205: Allow using the username when accessing the users home + * Enh #1131: Use updated cato to display nested package config in parent docs + * Enh #1213: Check permissions in ocis driver + * Enh #1202: Check permissions in owncloud driver + * Enh #1228: Add GRPC stubs for CreateSymlink method + * Enh #1174: Add logic in EOS FS for maintaining same inode across file versions + * Enh #1142: Functionality to map home directory to different storage providers + * Enh #1190: Add Blackbox Exporter support to Mentix + * Enh #1229: New gateway datatx service + * Enh #1225: Allow setting the owner when using the ocis driver + * Enh #1180: Introduce ocis driver treetime accounting + * Enh #1208: Calculate etags on-the-fly for shares directory and home folder + +Details +------- + + * Bugfix #1140: Call the gateway stat method from appprovider + + The appprovider service used to directly pass the stat request to the storage provider + bypassing the gateway, which resulted in errors while handling share children as they are + resolved in the gateway path. + + https://github.com/cs3org/reva/pull/1140 + + * Bugfix #1170: Up and download of file shares + + The shared folder logic in the gateway storageprovider was not allowing file up and downloads + for single file shares. We now check if the reference is actually a file to determine if up / + download should be allowed. + + https://github.com/cs3org/reva/pull/1170 + + * Bugfix #1177: Fix ocis move + + When renaming a file we updating the name attribute on the wrong node, causing the path + construction to use the wrong name. This fixes the litmus move_coll test. + + https://github.com/cs3org/reva/pull/1177 + + * Bugfix #1178: Fix litmus failing on ocis storage + + We now ignore the `no data available` error when removing a non existing metadata attribute, + which is ok because we are trying to delete it anyway. + + https://github.com/cs3org/reva/issues/1178 + https://github.com/cs3org/reva/pull/1179 + + * Bugfix #237: Fix missing quotes on OCIS-Storage + + Etags have to be enclosed in quotes ". Return correct etags on OCIS-Storage. + + https://github.com/owncloud/product/issues/237 + https://github.com/cs3org/reva/pull/1232 + + * Bugfix #1210: No longer swallow permissions errors in the gateway + + The gateway is no longer ignoring permissions errors. It will now check the status for + `rpc.Code_CODE_PERMISSION_DENIED` codes and report them properly using + `status.NewPermissionDenied` or `status.NewInternal` instead of reusing the original + response status. + + https://github.com/cs3org/reva/pull/1210 + + * Bugfix #1183: Handle eos EPERM as permission denied + + We now treat EPERM errors, which occur, eg. when acl checks fail and return a permission denied + error. + + https://github.com/cs3org/reva/pull/1183 + + * Bugfix #1206: No longer swallow permissions errors + + The storageprovider is no longer ignoring permissions errors. It will now report them + properly using `status.NewPermissionDenied(...)` instead of `status.NewInternal(...)` + + https://github.com/cs3org/reva/pull/1206 + + * Bugfix #1207: No longer swallow permissions errors in ocdav + + The ocdav api is no longer ignoring permissions errors. It will now check the status for + `rpc.Code_CODE_PERMISSION_DENIED` codes and report them properly using + `http.StatusForbidden` instead of `http.StatusInternalServerError` + + https://github.com/cs3org/reva/pull/1207 + + * Bugfix #1161: Cache display names in ocs service + + The ocs list shares endpoint may need to fetch the displayname for multiple different users. We + are now caching the lookup fo 60 seconds to save redundant RPCs to the users service. + + https://github.com/cs3org/reva/pull/1161 + + * Bugfix #1216: Add error handling for invalid references + + https://github.com/cs3org/reva/pull/1216 + https://github.com/cs3org/reva/pull/1218 + + * Enhancement #1205: Allow using the username when accessing the users home + + We now allow using the userid and the username when accessing the users home on the `/dev/files` + endpoint. + + https://github.com/cs3org/reva/pull/1205 + + * Enhancement #1131: Use updated cato to display nested package config in parent docs + + Previously, in case of nested packages, we just had a link pointing to the child package. Now we + copy the nested package's documentation to the parent itself to make it easier for devs. + + https://github.com/cs3org/reva/pull/1131 + + * Enhancement #1213: Check permissions in ocis driver + + We are now checking grant permissions in the ocis storage driver. + + https://github.com/cs3org/reva/pull/1213 + + * Enhancement #1202: Check permissions in owncloud driver + + We are now checking grant permissions in the owncloud storage driver. + + https://github.com/cs3org/reva/pull/1202 + + * Enhancement #1228: Add GRPC stubs for CreateSymlink method + + https://github.com/cs3org/reva/pull/1228 + + * Enhancement #1174: Add logic in EOS FS for maintaining same inode across file versions + + This PR adds the functionality to maintain the same inode across various versions of a file by + returning the inode of the version folder which remains constant. It requires extra metadata + operations so a flag is provided to disable it. + + https://github.com/cs3org/reva/pull/1174. + + * Enhancement #1142: Functionality to map home directory to different storage providers + + We hardcode the home path for all users to /home. This forbids redirecting requests for + different users to multiple storage providers. This PR provides the option to map the home + directories of different users using user attributes. + + https://github.com/cs3org/reva/pull/1142 + + * Enhancement #1190: Add Blackbox Exporter support to Mentix + + This update extends Mentix to export a Prometheus SD file specific to the Blackbox Exporter + which will be used for initial health monitoring. Usually, Prometheus requires its targets to + only consist of the target's hostname; the BBE though expects a full URL here. This makes + exporting two distinct files necessary. + + https://github.com/cs3org/reva/pull/1190 + + * Enhancement #1229: New gateway datatx service + + Represents the CS3 datatx module in the gateway. + + https://github.com/cs3org/reva/pull/1229 + + * Enhancement #1225: Allow setting the owner when using the ocis driver + + To support the metadata storage we allow setting the owner of the root node so that subsequent + requests with that owner can be used to manage the storage. + + https://github.com/cs3org/reva/pull/1225 + + * Enhancement #1180: Introduce ocis driver treetime accounting + + We added tree time accounting to the ocis storage driver which is modeled after [eos synctime + accounting](http://eos-docs.web.cern.ch/eos-docs/configuration/namespace.html#enable-subtree-accounting). + It can be enabled using the new `treetime_accounting` option, which defaults to `false` The + `tmtime` is stored in an extended attribute `user.ocis.tmtime`. The treetime accounting is + enabled for nodes which have the `user.ocis.propagation` extended attribute set to `"1"`. + Currently, propagation is in sync. + + https://github.com/cs3org/reva/pull/1180 + + * Enhancement #1208: Calculate etags on-the-fly for shares directory and home folder + + We create references for accepted shares in the shares directory, but these aren't updated + when the original resource is modified. This PR adds the functionality to generate the etag for + the shares directory and correspondingly, the home directory, based on the actual resources + which the references point to, enabling the sync functionality. + + https://github.com/cs3org/reva/pull/1208 + +