Skip to content

Releases: cs3org/reva

v1.17.0

09 Dec 14:19
Compare
Choose a tag to compare

Changelog for reva 1.17.0 (2021-12-09)

The following sections list the changes in reva 1.17.0 relevant to
reva users. The changes are ordered by importance.

Summary

  • Fix #2305: Make sure /app/new takes target as absolute path
  • Fix #2303: Fix content disposition header for public links files
  • Fix #2316: Fix the share types in propfinds
  • Fix #2803: Fix app provider for editor public links
  • Fix #2298: Remove share refs from trashbin
  • Fix #2309: Remove early finish for zero byte file uploads
  • Fix #1941: Fix TUS uploads with transfer token only
  • Chg #2210: Fix app provider new file creation and improved error codes
  • Enh #2217: OIDC auth driver for ESCAPE IAM
  • Enh #2256: Return user type in the response of the ocs GET user call
  • Enh #2315: Add new attributes to public link propfinds
  • Enh #2740: Implement space membership endpoints
  • Enh #2252: Add the xattr sys.acl to SysACL (eosgrpc)
  • Enh #2314: OIDC: fallback if IDP doesn't provide "preferred_username" claim

Details

  • Bugfix #2305: Make sure /app/new takes target as absolute path

    A mini-PR to make the target parameter absolute (by prepending / if missing).

    #2305

  • Bugfix #2303: Fix content disposition header for public links files

    #2303
    #2297
    #2332
    #2346

  • Bugfix #2316: Fix the share types in propfinds

    The share types for public links were not correctly added to propfinds.

    #2316

  • Bugfix #2803: Fix app provider for editor public links

    Fixed opening the app provider in public links with the editor permission. The app provider
    failed to open the file in read write mode.

    owncloud/ocis#2803
    #2310

  • Bugfix #2298: Remove share refs from trashbin

    #2298

  • Bugfix #2309: Remove early finish for zero byte file uploads

    We've fixed the upload of zero byte files by removing the early upload finishing mechanism.

    #2309
    owncloud/ocis#2609

  • Bugfix #1941: Fix TUS uploads with transfer token only

    TUS uploads had been stopped when the user JWT token expired, even if only the transfer token
    should be validated. Now uploads will continue as intended.

    #1941

  • Change #2210: Fix app provider new file creation and improved error codes

    We've fixed the behavior for the app provider when creating new files. Previously the app
    provider would overwrite already existing files when creating a new file, this is now handled
    and prevented. The new file endpoint accepted a path to a file, but this does not work for spaces.
    Therefore we now use the resource id of the folder where the file should be created and a filename
    to create the new file. Also the app provider returns more useful error codes in a lot of cases.

    #2210

  • Enhancement #2217: OIDC auth driver for ESCAPE IAM

    This enhancement allows for oidc token authentication via the ESCAPE IAM service.
    Authentication relies on mappings of ESCAPE IAM groups to REVA users. For a valid token, if at
    the most one group from the groups claim is mapped to one REVA user, authentication can take
    place.

    #2217

  • Enhancement #2256: Return user type in the response of the ocs GET user call

    #2256

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

    #2315

  • Enhancement #2740: Implement space membership endpoints

    Implemented endpoints to add and remove members to spaces.

    owncloud/ocis#2740
    #2250

  • Enhancement #2252: Add the xattr sys.acl to SysACL (eosgrpc)

    #2252

  • Enhancement #2314: OIDC: fallback if IDP doesn't provide "preferred_username" claim

    Some IDPs don't support the "preferred_username" claim. Fallback to the "email" claim in that
    case.

    #2314

v1.16.0

19 Nov 13:53
Compare
Choose a tag to compare

Changelog for reva 1.16.0 (2021-11-19)

The following sections list the changes in reva 1.16.0 relevant to
reva users. The changes are ordered by importance.

Summary

  • Fix #2245: Don't announce search-files capability
  • Fix #2247: Merge user ACLs from EOS to sys ACLs
  • Fix #2279: Return the inode of the version folder for files when listing in EOS
  • Fix #2294: Fix HTTP return code when path is invalid
  • Fix #2231: Fix share permission on a single file in sql share driver (cbox pkg)
  • Fix #2230: Fix open by default app and expose default app
  • Fix #2265: Fix nil pointer exception when resolving members of a group (rest driver)
  • Fix #1214: Fix restoring versions
  • Fix #2254: Fix spaces propfind
  • Fix #2260: Fix unset quota xattr on darwin
  • Fix #5776: Enforce permissions in public share apps
  • Fix #2767: Fix status code for WebDAV mkcol requests where an ancestor is missing
  • Fix #2287: Add public link access via mount-ID:token/relative-path to the scope
  • Fix #2244: Fix the permissions response for shared files in the cbox sql driver
  • Enh #2219: Add virtual view tests
  • Enh #2230: Add priority to app providers
  • Enh #2258: Improved error messages from the AppProviders
  • Enh #2119: Add authprovider owncloudsql
  • Enh #2211: Enhance the cbox share sql driver to store accepted group shares
  • Enh #2212: Filter root path according to the agent that makes the request
  • Enh #2237: Skip get user call in eosfs in case previous ones also failed
  • Enh #2266: Callback for the EOS UID cache to retry fetch for failed keys
  • Enh #2215: Aggregrate resource info properties for virtual views
  • Enh #2271: Revamp the favorite manager and add the cbox sql driver
  • Enh #2248: Cache whether a user home was created or not
  • Enh #2282: Return a proper NOT_FOUND error when a user or group is not found
  • Enh #2268: Add the reverseproxy http service
  • Enh #2207: Enable users to list all spaces
  • Enh #2286: Add trace ID to middleware loggers
  • Enh #2251: Mentix service inference
  • Enh #2218: Allow filtering of mime types supported by app providers
  • Enh #2213: Add public link share type to propfind response
  • Enh #2253: Support the file editor role for public links
  • Enh #2208: Reduce redundant stat calls when statting by resource ID
  • Enh #2235: Specify a list of allowed folders/files to be archived
  • Enh #2267: Restrict the paths where share creation is allowed
  • Enh #2252: Add the xattr sys.acl to SysACL (eosgrpc)
  • Enh #2239: Update toml configs

Details

  • Bugfix #2245: Don't announce search-files capability

    The dav.reports capability contained a search-files report which is currently not
    implemented. We removed it from the defaults.

    #2245

  • Bugfix #2247: Merge user ACLs from EOS to sys ACLs

    #2247

  • Bugfix #2279: Return the inode of the version folder for files when listing in EOS

    #2279

  • Bugfix #2294: Fix HTTP return code when path is invalid

    Before when a path was invalid, the archiver returned a 500 error code. Now this is fixed and
    returns a 404 code.

    #2294

  • Bugfix #2231: Fix share permission on a single file in sql share driver (cbox pkg)

    #2231

  • Bugfix #2230: Fix open by default app and expose default app

    We've fixed the open by default app name behaviour which previously only worked, if the default
    app was configured by the provider address. We also now expose the default app on the
    /app/list endpoint to clients.

    #2230
    cs3org/cs3apis#157

  • Bugfix #2265: Fix nil pointer exception when resolving members of a group (rest driver)

    #2265

  • Bugfix #1214: Fix restoring versions

    Restoring a version would not remove that version from the version list. Now the behavior is
    compatible to ownCloud 10.

    owncloud/ocis#1214
    #2270

  • Bugfix #2254: Fix spaces propfind

    Fixed the deep listing of spaces.

    #2254

  • Bugfix #2260: Fix unset quota xattr on darwin

    Unset quota attributes were creating errors in the logfile on darwin.

    #2260

  • Bugfix #5776: Enforce permissions in public share apps

    A receiver of a read-only public share could still edit files via apps like Collabora. These
    changes enforce the share permissions in apps used on publicly shared resources.

    owncloud/web#5776
    owncloud/ocis#2479
    https://github.com/cs3org/reva/pull/22142214

  • Bugfix #2767: Fix status code for WebDAV mkcol requests where an ancestor is missing

    We've fixed the status code to 409 according to the WebDAV standard for MKCOL requests where an
    ancestor is missing. Previously these requests would fail with an different error code (eg.
    500) because of storage driver limitations (eg. oCIS FS cannot handle recursive creation of
    directories).

    owncloud/ocis#2767
    #2293

  • Bugfix #2287: Add public link access via mount-ID:token/relative-path to the scope

    #2287

  • Bugfix #2244: Fix the permissions response for shared files in the cbox sql driver

    #2244

  • Enhancement #2219: Add virtual view tests

    #2219

  • Enhancement #2230: Add priority to app providers

    Before the order of the list returned by the method FindProviders of app providers depended
    from the order in which the app provider registered themselves. Now, it is possible to specify a
    priority for each app provider, and even if an app provider re-register itself (for example
    after a restart), the order is kept.

    #2230
    cs3org/cs3apis#157
    #2263

  • Enhancement #2258: Improved error messages from the AppProviders

    Some rather cryptic messages are now hidden to users, and some others are made more
    user-friendly. Support for multiple locales is still missing and out of scope for now.

    #2258

  • Enhancement #2119: Add authprovider owncloudsql

    We added an authprovider that can be configured to authenticate against an owncloud classic
    mysql database. It verifies the password from the oc_users table.

    #2119

  • Enhancement #2211: Enhance the cbox share sql driver to store accepted group shares

    #2211

  • Enhancement #2212: Filter root path according to the agent that makes the request

    #2212

  • Enhancement #2237: Skip get user call in eosfs in case previous ones also failed

    #2237

  • Enhancement #2266: Callback for the EOS UID cache to retry fetch for failed keys

    #2266

  • Enhancement #2215: Aggregrate resource info properties for virtual views

    #2215

  • Enhancement #2271: Revamp the favorite manager and add the cbox sql driver

    #2271

  • Enhancement #2248: Cache whether a user home was created or not

    Previously, on every call, we used to stat the user home to make sure that it existed. Now we cache
    it for a given amount of time so as to avoid repeated calls.

    #2248

  • Enhancement #2282: Return a proper NOT_FOUND error when a user or group is not found

    #2282

  • Enhancement #2268: Add the reverseproxy http service

    This PR adds an HTTP service which does the job of authenticating incoming requests via the reva
    middleware before forwarding them to the respective backends. This is useful for extensions
    which do not have the auth mechanisms.

    #2268

  • Enhancement #2207: Enable users to list all spaces

    Added a permission check if the user has the list-all-spaces permission. This enables users
    to list all spaces, even those which they are not members of.

    #2207

  • Enhancement #2286: Add trace ID to middleware loggers

    #2286

  • Enhancement #2251: Mentix service inference

    Previously, 4 different services per site had to be created in the GOCDB. This PR removes this
    redundancy by infering all endpoints from a single service entity, making site
    administration a lot easier.

    #2251

  • Enhancement #2218: Allow filtering of mime types supported by app providers

    #2218

  • Enhancement #2213: Add public link share type to propfind response

    Added share type for public links to propfind responses.

    #2213
    #2257

  • Enhancement #2253: Support the file editor role for public links

    #2253

  • Enhancement #2208: Reduce redundant stat calls when statting by resource ID

    #2208

  • Enhancement #2235: Specify a list of allowed folders/files to be archived

    Adds a configuration to the archiver service in order to specify a list of folders (as regex)
    that can be archived.

    #2235

  • Enhancement #2267: Restrict the paths where share creation is allowed

    This PR limits share creation to certain specified paths. These can be useful when users have
    access to global spac...

Read more

v1.15.0

26 Oct 09:56
Compare
Choose a tag to compare

Changelog for reva 1.15.0 (2021-10-26)

The following sections list the changes in reva 1.15.0 relevant to
reva users. The changes are ordered by importance.

Summary

  • Fix #2168: Override provider if was previously registered
  • Fix #2173: Fix archiver max size reached error
  • Fix #2167: Handle nil quota in decomposedfs
  • Fix #2153: Restrict EOS project spaces sharing permissions to admins and writers
  • Fix #2179: Fix the returned permissions for webdav uploads
  • Fix #2177: Retrieve the full path of a share when setting as
  • Chg #2479: Make apps able to work with public shares
  • Enh #2203: Add alerting webhook to SiteAcc service
  • Enh #2190: Update CODEOWNERS
  • Enh #2174: Inherit ACLs for files from parent directories
  • Enh #2152: Add a reference parameter to the getQuota request
  • Enh #2171: Add optional claim parameter to machine auth
  • Enh #2163: Nextcloud-based share manager for pkg/ocm/share
  • Enh #2135: Nextcloud test improvements
  • Enh #2180: Remove OCDAV options namespace parameter
  • Enh #2117: Add ocs cache warmup strategy for first request from the user
  • Enh #2170: Handle propfind requests for existing files
  • Enh #2165: Allow access to recycle bin for arbitrary paths outside homes
  • Enh #2193: Filter root paths according to user agent
  • Enh #2162: Implement the UpdateStorageSpace method
  • Enh #2189: Add user setting capability

Details

  • Bugfix #2168: Override provider if was previously registered

    Previously if an AppProvider registered himself two times, for example after a failure, the
    mime types supported by the provider contained multiple times the same provider. Now this has
    been fixed, overriding the previous one.

    #2168

  • Bugfix #2173: Fix archiver max size reached error

    Previously in the total size count of the files being archived, the folders were taken into
    account, and this could cause a false max size reached error because the size of a directory is
    recursive-computed, causing the archive to be truncated. Now in the size count, the
    directories are skipped.

    #2173

  • Bugfix #2167: Handle nil quota in decomposedfs

    Do not nil pointer derefenrence when sending nil quota to decomposedfs

    #2167

  • Bugfix #2153: Restrict EOS project spaces sharing permissions to admins and writers

    #2153

  • Bugfix #2179: Fix the returned permissions for webdav uploads

    We've fixed the returned permissions for webdav uploads. It did not consider shares and public
    links for the permission calculation, but does so now.

    #2179
    #2151

  • Bugfix #2177: Retrieve the full path of a share when setting as

    Accepted or on shared by me

    #2177

  • Change #2479: Make apps able to work with public shares

    Public share receivers were not possible to use apps in public shares because the apps couldn't
    load the files in the public shares. This has now been made possible by changing the scope checks
    for public shares.

    owncloud/ocis#2479
    #2143

  • Enhancement #2203: Add alerting webhook to SiteAcc service

    To integrate email alerting with the monitoring pipeline, a Prometheus webhook has been added
    to the SiteAcc service. Furthermore account settings have been extended/modified
    accordingly.

    #2203

  • Enhancement #2190: Update CODEOWNERS

    #2190

  • Enhancement #2174: Inherit ACLs for files from parent directories

    #2174

  • Enhancement #2152: Add a reference parameter to the getQuota request

    Implementation of cs3org/cs3apis#147

    Make the cs3apis accept a Reference in the getQuota Request to limit the call to a specific
    storage space.

    #2152
    #2178
    #2187

  • Enhancement #2171: Add optional claim parameter to machine auth

    #2171
    #2176

  • 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

    #2163

  • Enhancement #2135: Nextcloud test improvements

    #2135

  • Enhancement #2180: Remove OCDAV options namespace parameter

    We dropped the namespace parameter, as it is not used in the options handler.

    #2180

  • Enhancement #2117: Add ocs cache warmup strategy for first request from the user

    #2117

  • Enhancement #2170: Handle propfind requests for existing files

    #2170

  • Enhancement #2165: Allow access to recycle bin for arbitrary paths outside homes

    #2165
    #2188

  • Enhancement #2193: Filter root paths according to user agent

    Adds a new rule setting in the storage registry ("allowed_user_agents"), that allows a user to
    specify which storage provider shows according to the user agent that made the request.

    #2193

  • Enhancement #2162: Implement the UpdateStorageSpace method

    Added the UpdateStorageSpace method to the decomposedfs.

    #2162
    #2195
    #2196

  • Enhancement #2189: Add user setting capability

    We've added a capability to communicate the existance of a user settings service to clients.

    owncloud/web#5926
    #2189
    owncloud/ocis#2655

v1.14.0

12 Oct 14:59
Compare
Choose a tag to compare

Changelog for reva 1.14.0 (2021-10-12)

The following sections list the changes in reva 1.14.0 relevant to
reva users. The changes are ordered by importance.

Summary

  • Fix #2103: AppProvider: propagate back errors reported by WOPI
  • Fix #2149: Remove excess info from the http list app providers endpoint
  • Fix #2114: Add as default app while registering and skip unset mimetypes
  • Fix #2095: Fix app open when multiple app providers are present
  • Fix #2135: Make TUS capabilities configurable
  • Fix #2076: Fix chi routing
  • Fix #2077: Fix concurrent registration of mimetypes
  • Fix #2154: Return OK when trying to delete a non existing reference
  • Fix #2078: Fix nil pointer exception in stat
  • Fix #2073: Fix opening a readonly filetype with WOPI
  • Fix #2140: Map GRPC error codes to REVA errors
  • Fix #2147: Follow up of #2138: this is the new expected format
  • Fix #2116: Differentiate share types when retrieving received shares in sql driver
  • Fix #2074: Fix Stat() for EOS storage provider
  • Fix #2151: Fix return code for webdav uploads when the token expired
  • Chg #2121: Sharemanager API change
  • Enh #2090: Return space name during list storage spaces
  • Enh #2138: Default AppProvider on top of the providers list
  • Enh #2137: Revamp app registry and add parameter to control file creation
  • Enh #145: UI improvements for the AppProviders
  • Enh #2088: Add archiver and app provider to ocs capabilities
  • Enh #2537: Add maximum files and size to archiver capabilities
  • Enh #2100: Add support for resource id to the archiver
  • Enh #2158: Augment the Id of new spaces
  • Enh #2085: Make encoding user groups in access tokens configurable
  • Enh #146: Filter the denial shares (permission = 0) out of
  • Enh #2141: Use golang v1.17
  • Enh #2053: Safer defaults for TLS verification on LDAP connections
  • Enh #2115: Reduce code duplication in LDAP related drivers
  • Enh #1989: Add redirects from OC10 URL formats
  • Enh #2479: Limit publicshare and resourceinfo scope content
  • Enh #2071: Implement listing favorites via the dav report API
  • Enh #2091: Nextcloud share managers
  • Enh #2070: More unit tests for the Nextcloud storage provider
  • Enh #2087: More unit tests for the Nextcloud auth and user managers
  • Enh #2075: Make owncloudsql leverage existing filecache index
  • Enh #2050: Add a share types filter to the OCS API
  • Enh #2134: Use space Type from request
  • Enh #2132: Align local tests with drone setup
  • Enh #2095: Whitelisting for apps
  • Enh #2155: Pass an extra query parameter to WOPI /openinapp with a

Details

  • Bugfix #2103: AppProvider: propagate back errors reported by WOPI

    On /app/open and return base64-encoded fileids on /app/new

    #2103

  • Bugfix #2149: Remove excess info from the http list app providers endpoint

    We've removed excess info from the http list app providers endpoint. The app provider section
    contained all mime types supported by a certain app provider, which led to a very big JSON
    payload and since they are not used they have been removed again. Mime types not on the mime type
    configuration list always had application/octet-stream as a file extension and
    APPLICATION/OCTET-STREAM file as name and description. Now these information are just
    omitted.

    #2149
    owncloud/ocis#2603
    #2138

  • Bugfix #2114: Add as default app while registering and skip unset mimetypes

    We fixed that app providers will be set as default app while registering if configured. Also we
    changed the behaviour that listing supported mimetypes only displays allowed / configured
    mimetypes.

    #2114
    #2095

  • Bugfix #2095: Fix app open when multiple app providers are present

    We've fixed the gateway behavior, that when multiple app providers are present, it always
    returned that we have duplicate names for app providers. This was due the call to
    GetAllProviders() without any subsequent filtering by name. Now this filter mechanism is in
    place and the duplicate app providers error will only appear if a real duplicate is found.

    #2095
    #2117

  • Bugfix #2135: Make TUS capabilities configurable

    We've fixed the configuration for the TUS capabilities, which will now take the given
    configuration instead of always using hardcoded defaults.

    #2135

  • Bugfix #2076: Fix chi routing

    Chi routes based on the URL.RawPath, which is not updated by the shiftPath based routing used in
    reva. By setting the RawPath to an empty string chi will fall pack to URL.Path, allowing it to
    match percent encoded path segments, e.g. when trying to match emails or multibyte
    characters.

    #2076

  • Bugfix #2077: Fix concurrent registration of mimetypes

    We fixed registering mimetypes in the mime package when starting multiple storage providers
    in the same process.

    #2077

  • Bugfix #2154: Return OK when trying to delete a non existing reference

    When the gateway declines a share we can ignore a non existing reference.

    #2154
    owncloud/ocis#2603

  • Bugfix #2078: Fix nil pointer exception in stat

    #2078

  • Bugfix #2073: Fix opening a readonly filetype with WOPI

    This change fixes the opening of filetypes that are only supported to be viewed and not to be
    edited by some WOPI compliant office suites.

    #2073

  • Bugfix #2140: Map GRPC error codes to REVA errors

    We've fixed the error return behaviour in the gateway which would return GRPC error codes from
    the auth middleware. Now it returns REVA errors which other parts of REVA are also able to
    understand.

    #2140

  • Bugfix #2147: Follow up of #2138: this is the new expected format

    For the mime types configuration for the AppRegistry.

    #2147

  • Bugfix #2116: Differentiate share types when retrieving received shares in sql driver

    #2116

  • Bugfix #2074: Fix Stat() for EOS storage provider

    This change fixes the convertion between the eosclient.FileInfo to ResourceInfo, in which
    the field ArbitraryMetadata was missing. Moreover, to be consistent with
    SetArbitraryMetadata() EOS implementation, all the "user." prefix are stripped out from the
    xattrs.

    #2074

  • Bugfix #2151: Fix return code for webdav uploads when the token expired

    We've fixed the behavior webdav uploads when the token expired before the final stat.
    Previously clients would receive a http 500 error which is wrong, because the file was
    successfully uploaded and only the stat couldn't be performed. Now we return a http 200 ok and
    the clients will fetch the file info in a separate propfind request.

    Also we introduced the upload expires header on the webdav/TUS and datagateway endpoints, to
    signal clients how long an upload can be performed.

    #2151

  • Change #2121: Sharemanager API change

    This PR updates reva to reflect the share manager CS3 API changes.

    #2121

  • Enhancement #2090: Return space name during list storage spaces

    In the decomposedfs we return now the space name in the response which is stored in the extended
    attributes.

    #2090

  • Enhancement #2138: Default AppProvider on top of the providers list

    For each mime type

    Now for each mime type, when asking for the list of mime types, the default AppProvider, set both
    using the config and the SetDefaultProviderForMimeType method, is always in the top of the
    list of AppProviders. The config for the Providers and Mime Types for the AppRegistry changed,
    using a list instead of a map. In fact the list of mime types returned by ListSupportedMimeTypes
    is now ordered according the config.

    #2138

  • Enhancement #2137: Revamp app registry and add parameter to control file creation

    #2137

  • Enhancement #145: UI improvements for the AppProviders

    Mime types and their friendly names are now handled in the /app/list HTTP endpoint, and an
    additional /app/new endpoint is made available to create new files for apps.

    cs3org/cs3apis#145
    #2067

  • Enhancement #2088: Add archiver and app provider to ocs capabilities

    The archiver and app provider has been added to the ocs capabilities.

    #2088
    owncloud/ocis#2529

  • Enhancement #2537: Add maximum files and size to archiver capabilities

    We added the maximum files count and maximum archive size of the archiver to the capabilities
    endpoint. Clients can use this to generate warnings before the actual archive creation fails.

    owncloud/ocis#2537
    #2105

  • Enhancement #2100: Add support for resource id to the archiver

    Before the archiver only supported resources provided by a path. Now also the resources ID are
    supported in order to specify the content of the archive to download. The parameters accepted
    by the archiver are two: an optional list of path (containing the paths of the resources) and
    an optional list of id (containing the resources IDs of the resources).

    #2097
    https://github.com/cs...

Read more

v1.13.0

14 Sep 13:09
Compare
Choose a tag to compare

Changelog for reva 1.13.0 (2021-09-14)

The following sections list the changes in reva 1.13.0 relevant to
reva users. The changes are ordered by importance.

Summary

  • Fix #2024: Fixes for http appprovider endpoints
  • Fix #2054: Fix the response after deleting a share
  • Fix #2026: Fix moving of a shared file
  • Fix #2047: Do not truncate logs on restart
  • Fix #1605: Allow to expose full paths in OCS API
  • Fix #2033: Fix the storage id of shares
  • Fix #2059: Remove "Got registration for user manager" print statements
  • Fix #2051: Remove malformed parameters from WOPI discovery URLs
  • Fix #2055: Fix uploads of empty files
  • Fix #1991: Remove share references when declining shares
  • Fix #2030: Fix superfluous WriteHeader on file upload
  • Enh #2034: Fail initialization of a WOPI AppProvider if
  • Enh #1968: Use a URL object in OpenInAppResponse
  • Enh #1698: Implement folder download as archive
  • Enh #2042: Escape ldap filters
  • Enh #2028: Machine auth provider
  • Enh #2043: Nextcloud user backend
  • Enh #2006: Move ocs API to go-chi/chi based URL routing
  • Enh #1994: Add owncloudsql driver for the userprovider
  • Enh #1971: Add documentation for runtime-plugins
  • Enh #2044: Add utility methods for creating share filters
  • Enh #2065: New sharing role Manager
  • Enh #2015: Add spaces to the list of capabilities
  • Enh #2041: Create operations for Spaces
  • Enh #2029: Tracing agent configuration

Details

  • Bugfix #2024: Fixes for http appprovider endpoints

    #2024
    #1968

  • Bugfix #2054: Fix the response after deleting a share

    Added the deleted share to the response after deleting it.

    #2054

  • Bugfix #2026: Fix moving of a shared file

    As the share receiver, moving a shared file to another share was not possible.

    #2026

  • Bugfix #2047: Do not truncate logs on restart

    This change fixes the way log files were opened. Before they were truncated and now the log file
    will be open in append mode and created it if it does not exist.

    #2047

  • Bugfix #1605: Allow to expose full paths in OCS API

    Before this fix a share file_target was always harcoded to use a base path. This fix provides the
    possiblity to expose full paths in the OCIS API and asymptotically in OCIS web.

    #1605

  • Bugfix #2033: Fix the storage id of shares

    The storageid in the share object contained an incorrect value.

    #2033

  • Bugfix #2059: Remove "Got registration for user manager" print statements

    Removed the "Got registration for user manager" print statements which spams the log output
    without respecting any log level.

    #2059

  • Bugfix #2051: Remove malformed parameters from WOPI discovery URLs

    This change fixes the parsing of WOPI discovery URLs for MSOffice /hosting/discovery
    endpoint. This endpoint is known to contain malformed query paramters and therefore this fix
    removes them.

    #2051

  • Bugfix #2055: Fix uploads of empty files

    This change fixes upload of empty files. Previously this was broken and only worked for the
    owncloud filesystem as it bypasses the semantics of the InitiateFileUpload call to touch a
    local file.

    #2055

  • Bugfix #1991: Remove share references when declining shares

    Implemented the removal of share references when a share gets declined. Now when a user
    declines a share it will no longer be listed in their Shares directory.

    #1991

  • Bugfix #2030: Fix superfluous WriteHeader on file upload

    Removes superfluous Writeheader on file upload and therefore removes the error message
    "http: superfluous response.WriteHeader call from
    github.com/cs3org/reva/internal/http/interceptors/log.(*responseLogger).WriteHeader
    (log.go:154)"

    #2030

  • Enhancement #2034: Fail initialization of a WOPI AppProvider if

    The underlying app is not WOPI-compliant nor it is supported by the WOPI bridge extensions

    #2034

  • Enhancement #1968: Use a URL object in OpenInAppResponse

    #1968

  • Enhancement #1698: Implement folder download as archive

    Adds a new http service which will create an archive (platform dependent, zip in windows and tar
    in linux) given a list of file.

    #1698
    #2066

  • Enhancement #2042: Escape ldap filters

    Added ldap filter escaping to increase the security of reva.

    #2042

  • Enhancement #2028: Machine auth provider

    Adds a new authentication method used to impersonate users, using a shared secret, called
    api-key.

    #2028

  • Enhancement #2043: Nextcloud user backend

    Adds Nextcloud as a user backend (Nextcloud drivers for 'auth' and 'user'). Also adds back the
    Nextcloud storage integration tests.

    #2043

  • Enhancement #2006: Move ocs API to go-chi/chi based URL routing

    #1986
    #2006

  • Enhancement #1994: Add owncloudsql driver for the userprovider

    We added a new backend for the userprovider that is backed by an owncloud 10 database. By default
    the user_id column is used as the reva user username and reva user opaque id. When setting
    join_username=true the reva user username is joined from the oc_preferences table
    (appid='core' AND configkey='username') instead. When setting
    join_ownclouduuid=true the reva user opaqueid is joined from the oc_preferences table
    (appid='core' AND configkey='ownclouduuid') instead. This allows more flexible
    migration strategies. It also supports a enable_medial_search config option when
    searching users that will enclose the query with %.

    #1994

  • Enhancement #1971: Add documentation for runtime-plugins

    #1971

  • Enhancement #2044: Add utility methods for creating share filters

    Updated the CS3 API to include the new share grantee filter and added utility methods for
    creating share filters. This will help making the code more concise.

    #2044

  • Enhancement #2065: New sharing role Manager

    The new Manager role is equivalent to a Co-Owner with the difference that a Manager can create
    grants on the root of the Space. This means inviting a user to a space will not require an action
    from them, as the Manager assigns the grants.

    #2065

  • Enhancement #2015: Add spaces to the list of capabilities

    In order for clients to be aware of the new spaces feature we need to enable the spaces flag on
    the capabilities' endpoint.

    #2015

  • Enhancement #2041: Create operations for Spaces

    DecomposedFS is aware now of the concept of Spaces, and supports for creating them.

    #2041

  • Enhancement #2029: Tracing agent configuration

    Earlier we could only use the collector URL directly, but since an agent can be deployed as a
    sidecar process it makes much more sense to use it instead of the collector directly.

    #2029

v1.12.0

24 Aug 07:42
Compare
Choose a tag to compare

Changelog for reva 1.12.0 (2021-08-24)

The following sections list the changes in reva 1.12.0 relevant to
reva users. The changes are ordered by importance.

Summary

  • Fix #1819: Disable notifications
  • Fix #2000: Fix dependency on tests
  • Fix #1957: Fix etag propagation on deletes
  • Fix #1960: Return the updated share after updating
  • Fix #1993: Fix owncloudsql GetMD
  • Fix #1954: Fix response format of the sharees API
  • Fix #1965: Fix the file target of user and group shares
  • Fix #1956: Fix trashbin listing with depth 0
  • Fix #1987: Fix windows build
  • Fix #1990: Increase oc10 compatibility of owncloudsql
  • Fix #1978: Owner type is optional
  • Fix #1980: Propagate the etag after restoring a file version
  • Fix #1985: Add quota stubs
  • Fix #1992: Check if symlink exists instead of spamming the console
  • Fix #1913: Logic to restore files to readonly nodes
  • Chg #1982: Move user context methods into a separate userctx package
  • Enh #1946: Add share manager that connects to oc10 databases
  • Enh #1983: Add Codacy unit test coverage
  • Enh #1803: Introduce new webdav spaces endpoint
  • Enh #1998: Initial version of the Nextcloud storage driver
  • Enh #1984: Replace OpenCensus with OpenTelemetry
  • Enh #1861: Add support for runtime plugins
  • Enh #2008: Site account extensions

Details

  • Bugfix #1819: Disable notifications

    The presence of the key notifications in the capabilities' response would cause clients to
    attempt to poll the notifications endpoint, which is not yet supported. To prevent the
    unnecessary bandwidth we are disabling this altogether.

    #1819

  • Bugfix #2000: Fix dependency on tests

    The Nextcloud storage driver depended on a mock http client from the tests/ folder This broke
    the Docker build The dependency was removed A check was added to test the Docker build on each PR

    #2000

  • Bugfix #1957: Fix etag propagation on deletes

    When deleting a file the etag propagation would skip the parent of the deleted file.

    #1957

  • Bugfix #1960: Return the updated share after updating

    When updating the state of a share in the in-memory share manager the old share state was
    returned instead of the updated state.

    #1960

  • Bugfix #1993: Fix owncloudsql GetMD

    The GetMD call internally was not prefixing the path when looking up resources by id.

    #1993

  • Bugfix #1954: Fix response format of the sharees API

    The sharees API wasn't returning the users and groups arrays correctly.

    #1954

  • Bugfix #1965: Fix the file target of user and group shares

    In some cases the file target of user and group shares was not properly prefixed.

    #1965
    #1967

  • Bugfix #1956: Fix trashbin listing with depth 0

    The trashbin API handled requests with depth 0 the same as request with a depth of 1.

    #1956

  • Bugfix #1987: Fix windows build

    Add the necessary golang.org/x/sys/windows package import to owncloud and
    owncloudsql storage drivers.

    #1987

  • Bugfix #1990: Increase oc10 compatibility of owncloudsql

    We added a few changes to the owncloudsql storage driver to behave more like oc10.

    #1990

  • Bugfix #1978: Owner type is optional

    When reading the user from the extended attributes the user type might not be set, in this case we
    now return a user with an invalid type, which correctly reflects the state on disk.

    #1978

  • Bugfix #1980: Propagate the etag after restoring a file version

    The decomposedfs didn't propagate after restoring a file version.

    #1980

  • Bugfix #1985: Add quota stubs

    The owncloud and owncloudsql drivers now read the available quota from disk to no longer
    always return 0, which causes the web UI to disable uploads.

    #1985

  • Bugfix #1992: Check if symlink exists instead of spamming the console

    The logs have been spammed with messages like could not create symlink for ... when using the
    decomposedfs, eg. with the oCIS storage. We now check if the link exists before trying to create
    it.

    #1992

  • Bugfix #1913: Logic to restore files to readonly nodes

    This impacts solely the DecomposedFS. Prior to these changes there was no validation when a
    user tried to restore a file from the trashbin to a share location (i.e any folder under
    /Shares).

    With this patch if the user restoring the resource has write permissions on the share, restore
    is possible.

    #1913

  • Change #1982: Move user context methods into a separate userctx package

    #1982

  • Enhancement #1946: Add share manager that connects to oc10 databases

    #1946

  • Enhancement #1983: Add Codacy unit test coverage

    This PR adds unit test coverage upload to Codacy.

    #1983

  • Enhancement #1803: Introduce new webdav spaces endpoint

    Clients can now use a new webdav endpoint
    /dav/spaces/<storagespaceid>/relative/path/to/file to directly access storage
    spaces.

    The <storagespaceid> can be retrieved using the ListStorageSpaces CS3 api call.

    #1803

  • Enhancement #1998: Initial version of the Nextcloud storage driver

    This is not usable yet in isolation, but it's a first component of
    https://github.com/pondersource/sciencemesh-nextcloud

    #1998

  • Enhancement #1984: Replace OpenCensus with OpenTelemetry

    OpenTelemetry](https://opentelemetry.io/docs/concepts/what-is-opentelemetry/) is
    an open standard a
    sandbox CNCF project and it was formed through a merger of the OpenTracing and OpenCensus.

    OpenCensus and OpenTracing have merged to form OpenTelemetry, which serves as the next major
    version of OpenCensus and OpenTracing. OpenTelemetry will offer backwards compatibility
    with existing OpenCensus integrations, and we will continue to make security patches to
    existing OpenCensus libraries for two years.

    There is a lot of outdated documentation as a result of this merger, and we will be better off
    adopting the latest standard and libraries.

    #1984

  • Enhancement #1861: Add support for runtime plugins

    This PR introduces a new plugin package, that allows loading external plugins into Reva at
    runtime. The hashicorp go-plugin framework was used to facilitate the plugin loading and
    communication.

    #1861

  • Enhancement #2008: Site account extensions

    This PR heavily extends the site accounts service: * Extended the accounts information (not
    just email and name) * Accounts now have a password * Users can now "log in" to their accounts and
    edit it * Ability to grant access to the GOCDB

    Furthermore, these accounts can now be used to authenticate for logging in to our customized
    GOCDB. More use cases for these accounts are also planned.

    #2008

v1.11.0

03 Aug 13:51
Compare
Choose a tag to compare

Changelog for reva 1.11.0 (2021-08-03)

The following sections list the changes in reva 1.11.0 relevant to
reva users. The changes are ordered by importance.

Summary

  • Fix #1899: Fix chunked uploads for new versions
  • Fix #1906: Fix copy over existing resource
  • Fix #1891: Delete Shared Resources as Receiver
  • Fix #1907: Error when creating folder with existing name
  • Fix #1937: Do not overwrite more specific matches when finding storage providers
  • Fix #1939: Fix the share jail permissions in the decomposedfs
  • Fix #1932: Numerous fixes to the owncloudsql storage driver
  • Fix #1912: Fix response when listing versions of another user
  • Fix #1910: Get user groups recursively in the cbox rest user driver
  • Fix #1904: Set Content-Length to 0 when swallowing body in the datagateway
  • Fix #1911: Fix version order in propfind responses
  • Fix #1926: Trash Bin in oCIS Storage Operations
  • Fix #1901: Fix response code when folder doesnt exist on upload
  • Enh #1785: Extend app registry with AddProvider method and mimetype filters
  • Enh #1938: Add methods to get and put context values
  • Enh #1798: Add support for a deny-all permission on references
  • Enh #1916: Generate updated protobuf bindings for EOS GRPC
  • Enh #1887: Add "a" and "l" filter for grappa queries
  • Enh #1919: Run gofmt before building
  • Enh #1927: Implement RollbackToVersion for eosgrpc (needs a newer EOS MGM)
  • Enh #1944: Implement listing supported mime types in app registry
  • Enh #1870: Be defensive about wrongly quoted etags
  • Enh #1940: Reduce memory usage when uploading with S3ng storage
  • Enh #1888: Refactoring of the webdav code
  • Enh #1900: Check for illegal names while uploading or moving files
  • Enh #1925: Refactor listing and statting across providers for virtual views

Details

  • Bugfix #1899: Fix chunked uploads for new versions

    Chunked uploads didn't create a new version, when the file to upload already existed.

    #1899

  • Bugfix #1906: Fix copy over existing resource

    When the target of a copy already exists, the existing resource will be moved to the trashbin
    before executing the copy.

    #1906

  • Bugfix #1891: Delete Shared Resources as Receiver

    It is now possible to delete a shared resource as a receiver and not having the data ending up in
    the receiver's trash bin, causing a possible leak.

    #1891

  • Bugfix #1907: Error when creating folder with existing name

    When a user tried to create a folder with the name of an existing file or folder the service didn't
    return a response body containing the error.

    #1907

  • Bugfix #1937: Do not overwrite more specific matches when finding storage providers

    Depending on the order of rules in the registry it could happend that more specific matches
    (e.g. /home/Shares) were overwritten by more general ones (e.g. /home). This PR makes sure
    that the registry always returns the most specific match.

    #1937

  • Bugfix #1939: Fix the share jail permissions in the decomposedfs

    The share jail should be not writable

    #1939

  • Bugfix #1932: Numerous fixes to the owncloudsql storage driver

    The owncloudsql storage driver received numerous bugfixes and cleanups.

    #1932

  • Bugfix #1912: Fix response when listing versions of another user

    The OCS API returned the wrong response when a user tried to list the versions of another user's
    file.

    #1912

  • Bugfix #1910: Get user groups recursively in the cbox rest user driver

    #1910

  • Bugfix #1904: Set Content-Length to 0 when swallowing body in the datagateway

    When swallowing the body the Content-Lenght needs to be set to 0 to prevent proxies from reading
    the body.

    #1904

  • Bugfix #1911: Fix version order in propfind responses

    The order of the file versions in propfind responses was incorrect.

    #1911

  • Bugfix #1926: Trash Bin in oCIS Storage Operations

    Support for restoring a target folder nested deep inside the trash bin in oCIS storage. The use
    case is:

    MOVE -H 'Destination:
    https://localhost:9200/remote.php/dav/files/einstein/destination' ```
    
    The previous command creates the `destination` folder and moves the contents of
    `/trash-bin/einstein/f1/f2` onto it.
    
    Retro-compatibility in the response code with ownCloud 10. Restoring a collection to a
    non-existent nested target is not supported and MUST return `409`. The use case is:
    
    ```console curl 'https://localhost:9200/remote.php/dav/trash-bin/einstein/f1/f2' -X
    MOVE -H 'Destination:
    https://localhost:9200/remote.php/dav/files/einstein/this/does/not/exist' ```
    
    The previous command used to return `404` instead of the expected `409` by the clients.
    
    https://github.com/cs3org/reva/pull/1926
    
  • Bugfix #1901: Fix response code when folder doesnt exist on upload

    When a new file was uploaded to a non existent folder the response code was incorrect.

    #1901

  • Enhancement #1785: Extend app registry with AddProvider method and mimetype filters

    #1779
    #1785
    cs3org/cs3apis#131

  • Enhancement #1938: Add methods to get and put context values

    Added GetKeyValues and PutKeyValues methods to fetch/put values from/to context.

    #1938

  • Enhancement #1798: Add support for a deny-all permission on references

    And implement it on the EOS storage

    http://github.com/cs3org/reva/pull/1798

  • Enhancement #1916: Generate updated protobuf bindings for EOS GRPC

    #1916

  • Enhancement #1887: Add "a" and "l" filter for grappa queries

    This PR adds the namespace filters "a" and "l" for grappa queries. With no filter will look into
    primary and e-groups, with "a" will look into primary/secondary/service/e-groups and with
    "l" will look into lightweight accounts.

    #1773
    #1887

  • Enhancement #1919: Run gofmt before building

    #1919

  • Enhancement #1927: Implement RollbackToVersion for eosgrpc (needs a newer EOS MGM)

    #1927

  • Enhancement #1944: Implement listing supported mime types in app registry

    #1944

  • Enhancement #1870: Be defensive about wrongly quoted etags

    When ocdav renders etags it will now try to correct them to the definition as quoted strings
    which do not contain ". This prevents double or triple quoted etags on the webdav api.

    #1870

  • Enhancement #1940: Reduce memory usage when uploading with S3ng storage

    The memory usage could be high when uploading files using the S3ng storage. By providing the
    actual file size when triggering PutObject, the overall memory usage is reduced.

    #1940

  • Enhancement #1888: Refactoring of the webdav code

    Refactored the webdav code to make it reusable.

    #1888

  • Enhancement #1900: Check for illegal names while uploading or moving files

    The code was not checking for invalid file names during uploads and moves.

    #1900

  • Enhancement #1925: Refactor listing and statting across providers for virtual views

    #1925

v1.10.0

13 Jul 12:22
Compare
Choose a tag to compare

Changelog for reva 1.10.0 (2021-07-13)

The following sections list the changes in reva 1.10.0 relevant to
reva users. The changes are ordered by importance.

Summary

  • Fix #1883: Pass directories with trailing slashes to eosclient.GenerateToken
  • Fix #1878: Improve the webdav error handling in the trashbin
  • Fix #1884: Do not send body on failed range request
  • Enh #1744: Add support for lightweight user types

Details

  • Bugfix #1883: Pass directories with trailing slashes to eosclient.GenerateToken

    #1883

  • Bugfix #1878: Improve the webdav error handling in the trashbin

    The trashbin handles errors better now on the webdav endpoint.

    #1878

  • Bugfix #1884: Do not send body on failed range request

    Instead of send the error in the body of a 416 response we log it. This prevents the go reverse
    proxy from choking on it and turning it into a 502 Bad Gateway response.

    #1884

  • Enhancement #1744: Add support for lightweight user types

    This PR adds support for assigning and consuming user type when setting/reading users. On top
    of that, support for lightweight users is added. These users have to be restricted to accessing
    only shares received by them, which is accomplished by expanding the existing RBAC scope.

    #1744
    cs3org/cs3apis#120

v1.9.1

09 Jul 15:31
Compare
Choose a tag to compare

Changelog for reva 1.9.1 (2021-07-09)

The following sections list the changes in reva 1.9.1 relevant to
reva users. The changes are ordered by importance.

Summary

  • Fix #1843: Correct Dockerfile path for the reva CLI and alpine3.13 as builder
  • Fix #1835: Cleanup owncloudsql driver
  • Fix #1868: Minor fixes to the grpc/http plugin: checksum, url escaping
  • Fix #1885: Fix template in eoshomewrapper to use context user rather than resource
  • Fix #1833: Properly handle name collisions for deletes in the owncloud driver
  • Fix #1874: Use the original file mtime during upload
  • Fix #1854: Add the uid/gid to the url for eos
  • Fix #1848: Fill in missing gid/uid number with nobody
  • Fix #1831: Make the ocm-provider endpoint in the ocmd service unprotected
  • Fix #1808: Use empty array in OCS Notifications endpoints
  • Fix #1825: Raise max grpc message size
  • Fix #1828: Send a proper XML header with error messages
  • Chg #1828: Remove the oidc provider in order to upgrad mattn/go-sqlite3 to v1.14.7
  • Enh #1834: Add API key to Mentix GOCDB connector
  • Enh #1855: Minor optimization in parsing EOS ACLs
  • Enh #1873: Update the EOS image tag to be for revad-eos image
  • Enh #1802: Introduce list spaces
  • Enh #1849: Add readonly interceptor
  • Enh #1875: Simplify resource comparison
  • Enh #1827: Support trashbin sub paths in the recycle API

Details

  • Bugfix #1843: Correct Dockerfile path for the reva CLI and alpine3.13 as builder

    This was introduced on 117adad while porting the
    configuration on .drone.yml to starlark.

    Force golang:alpine3.13 as base image to prevent errors from Make when running on Docker
    <20.10 as it happens on Drone
    ref.https://gitlab.alpinelinux.org/alpine/aports/-/issues/12396

    #1843
    #1844
    #1847

  • Bugfix #1835: Cleanup owncloudsql driver

    Use owncloudsql string when returning errors and removed copyMD as it does not need to copy
    metadata from files.

    #1835

  • Bugfix #1868: Minor fixes to the grpc/http plugin: checksum, url escaping

    #1868

  • Bugfix #1885: Fix template in eoshomewrapper to use context user rather than resource

    #1885

  • Bugfix #1833: Properly handle name collisions for deletes in the owncloud driver

    In the owncloud storage driver when we delete a file we append the deletion time to the file name.
    If two fast consecutive deletes happened, the deletion time would be the same and if the two
    files had the same name we ended up with only one file in the trashbin.

    #1833

  • Bugfix #1874: Use the original file mtime during upload

    The decomposedfs was not using the original file mtime during uploads.

    #1874

  • Bugfix #1854: Add the uid/gid to the url for eos

    #1854

  • Bugfix #1848: Fill in missing gid/uid number with nobody

    When an LDAP server does not provide numeric uid or gid properties for a user we now fall back to a
    configurable nobody id (default 99).

    #1848

  • Bugfix #1831: Make the ocm-provider endpoint in the ocmd service unprotected

    #1751
    #1831

  • Bugfix #1808: Use empty array in OCS Notifications endpoints

    #1808

  • Bugfix #1825: Raise max grpc message size

    As a workaround for listing larger folder we raised the MaxCallRecvMsgSize to 10MB. This
    should be enough for ~15k files. The proper fix is implementing ListContainerStream in the
    gateway, but we needed a way to test the web ui with larger collections.

    #1825

  • Bugfix #1828: Send a proper XML header with error messages

    #1828

  • Change #1828: Remove the oidc provider in order to upgrad mattn/go-sqlite3 to v1.14.7

    In order to upgrade mattn/go-sqlite3 to v1.14.7, the odic provider service is removed, which
    is possible because it is not used anymore

    #1828
    owncloud/ocis#2209

  • Enhancement #1834: Add API key to Mentix GOCDB connector

    The PI (programmatic interface) of the GOCDB will soon require an API key; this PR adds the
    ability to configure this key in Mentix.

    #1834

  • Enhancement #1855: Minor optimization in parsing EOS ACLs

    #1855

  • Enhancement #1873: Update the EOS image tag to be for revad-eos image

    #1873

  • Enhancement #1802: Introduce list spaces

    The ListStorageSpaces call now allows listing all user homes and shared resources using a
    storage space id. The gateway will forward requests to a specific storage provider when a
    filter by id is given. Otherwise it will query all storage providers. Results will be
    deduplicated. Currently, only the decomposed fs storage driver implements the necessary
    logic to demonstrate the implmentation. A new /dav/spaces WebDAV endpoint to directly
    access a storage space is introduced in a separate PR.

    #1802
    #1803

  • Enhancement #1849: Add readonly interceptor

    The readonly interceptor could be used to configure a storageprovider in readonly mode. This
    could be handy in some migration scenarios.

    #1849

  • Enhancement #1875: Simplify resource comparison

    We replaced ResourceEqual with ResourceIDEqual where possible.

    #1875

  • Enhancement #1827: Support trashbin sub paths in the recycle API

    The recycle API could only act on the root items of the trashbin. Meaning if you delete a deep
    tree, you couldn't restore just one file from that tree but you had to restore the whole tree. Now
    listing, restoring and purging work also for sub paths in the trashbin.

    #1827

v1.9.0

23 Jun 14:47
Compare
Choose a tag to compare

Changelog for reva 1.9.0 (2021-06-23)

The following sections list the changes in reva 1.9.0 relevant to
reva users. The changes are ordered by importance.

Summary

  • Fix #1815: Drone CI - patch the 'store-dev-release' job to fix malformed requests
  • Fix #1765: 'golang:alpine' as base image & CGO_ENABLED just for the CLI
  • Chg #1721: Absolute and relative references
  • Enh #1810: Add arbitrary metadata support to EOS
  • Enh #1774: Add user ID cache warmup to EOS storage driver
  • Enh #1471: EOEGrpc progress. Logging discipline and error handling
  • Enh #1811: Harden public shares signing
  • Enh #1793: Remove the user id from the trashbin key
  • Enh #1795: Increase trashbin restore API compatibility
  • Enh #1516: Use UidNumber and GidNumber fields in User objects
  • Enh #1820: Tag v1.9.0

Details

  • Bugfix #1815: Drone CI - patch the 'store-dev-release' job to fix malformed requests

    Replace the backquotes that were used for the date component of the URL with the
    POSIX-confirmant command substitution '$()'.

    #1815

  • Bugfix #1765: 'golang:alpine' as base image & CGO_ENABLED just for the CLI

    Some of the dependencies used by revad need CGO to be enabled in order to work. We also need to
    install the 'mime-types' in alpine to correctly detect them on the storage-providers.

    The CGO_ENABLED=0 flag was added to the docker build flags so that it will produce a static
    build. This allows usage of the 'scratch' image for reduction of the docker image size (e.g. the
    reva cli).

    #1765
    #1766
    #1797

  • Change #1721: Absolute and relative references

    We unified the Reference_Id end Reference_Path types to a combined Reference that
    contains both: - a resource_id property that can identify a node using a storage_id and an
    opaque_id - a path property that can be used to represent absolute paths as well as paths
    relative to the id based properties. While this is a breaking change it allows passing both:
    absolute as well as relative references.

    #1721

  • Enhancement #1810: Add arbitrary metadata support to EOS

    #1810

  • Enhancement #1774: Add user ID cache warmup to EOS storage driver

    #1774

  • Enhancement #1471: EOEGrpc progress. Logging discipline and error handling

    #1471

  • Enhancement #1811: Harden public shares signing

    Makes golangci-lint happy as well

    #1811

  • Enhancement #1793: Remove the user id from the trashbin key

    We don't want to use the users uuid outside of the backend so I removed the id from the trashbin
    file key.

    #1793

  • Enhancement #1795: Increase trashbin restore API compatibility

    • The precondition were not checked before doing a trashbin restore in the ownCloud dav API.
      Without the checks the API would behave differently compared to the oC10 API. * The restore
      response was missing HTTP headers like ETag * Update the name when restoring the file from
      trashbin to a new target name

    #1795

  • Enhancement #1516: Use UidNumber and GidNumber fields in User objects

    Update instances where CS3API's User objects are created and used to use GidNumber, and
    UidNumber fields instead of storing them in Opaque map.

    #1516

  • Enhancement #1820: Tag v1.9.0

    Bump release number to v1.9.0 as it contains breaking changes related to changing the
    reference type.

    #1820