Skip to content

Releases: cs3org/reva

v2.17.0

12 Dec 17:51
v2.17.0
148fff4
Compare
Choose a tag to compare

Changelog for reva 2.17.0 (2023-12-12)

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

Summary

  • Fix #4278: Disable DEPTH infinity in PROPFIND
  • Fix #4318: Do not allow moves between shares
  • Fix #4290: Prevent panic when trying to move a non-existent file
  • Fix #4241: Allow an empty credentials chain in the auth middleware
  • Fix #4216: Fix an error message
  • Fix #4324: Fix capabilities decoding
  • Fix #4267: Fix concurrency issue
  • Fix #4362: Fix concurrent lookup
  • Fix #4336: Fix definition of "file-editor" role
  • Fix #4302: Fix checking of filename length
  • Fix #4366: Fix CS3 status code when looking up non existing share
  • Fix #4299: Fix HTTP verb of the generate-invite endpoint
  • Fix #4249: GetUserByClaim not working with MSAD for claim "userid"
  • Fix #4217: Fix missing case for "hide" in UpdateShares
  • Fix #4140: Fix missing etag in shares jail
  • Fix #4229: Fix destroying the Personal and Project spaces data
  • Fix #4193: Fix overwrite a file with an empty file
  • Fix #4365: Fix create public share
  • Fix #4380: Fix the public link update
  • Fix #4250: Fix race condition
  • Fix #4345: Fix conversion of custom ocs permissions to roles
  • Fix #4134: Fix share jail
  • Fix #4335: Fix public shares cleanup config
  • Fix #4338: Fix unlock via space API
  • Fix #4341: Fix spaceID in meta endpoint response
  • Fix #4351: Fix 500 when open public link
  • Fix #4352: Fix the tgz mime type
  • Fix #4388: Allow UpdateUserShare() to update just the expiration date
  • Fix #4214: Always pass adjusted default nats options
  • Fix #4291: Release lock when expired
  • Fix #4386: Remove dead enable_home config
  • Fix #4292: Return 403 when user is not permitted to log
  • Enh #4389: Add audio and location props
  • Enh #4337: Check permissions before creating shares
  • Enh #4326: Add search mediatype filter
  • Enh #4367: Add GGS mime type
  • Enh #4295: Add hide flag to shares
  • Enh #4358: Add default permissions capability for links
  • Enh #4133: Add more metadata to locks
  • Enh #4353: Add support for .docxf files
  • Enh #4363: Add nats-js-kv store
  • Enh #4197: Add the Banned-Passwords List
  • Enh #4190: Add the password policies
  • Enh #4384: Add a retry postprocessing outcome and event
  • Enh #4271: Add search capability
  • Enh #4119: Add sse event
  • Enh #4392: Add additional permissions to service accounts
  • Enh #4344: Add url extension to mime type list
  • Enh #4372: Add validation to the public share provider
  • Enh #4244: Allow listing reveived shares by service accounts
  • Enh #4129: Auto-Accept Shares through ServiceAccounts
  • Enh #4374: Handle trashbin file listings concurrently
  • Enh #4325: Enforce Permissions
  • Enh #4368: Extract log initialization
  • Enh #4375: Introduce UploadSessionLister interface
  • Enh #4268: Implement sharing roles
  • Enh #4160: Improve utils pkg
  • Enh #4335: Add sufficient permissions check function
  • Enh #4281: Port OCM changes from master
  • Enh #4270: Opt out of public link password enforcement
  • Enh #4181: The password policies change request
  • Enh #4256: Rename hidden share variable name
  • Enh #3315: Accept reva token as a bearer authentication
  • Enh #3926: Service Accounts
  • Enh #4359: Update go-ldap to v3.4.6
  • Enh #4170: Update password policies
  • Enh #4232: Improve error handling in utils package

Details

  • Bugfix #4278: Disable DEPTH infinity in PROPFIND

Disabled DEPTH infinity in PROPFIND for Personal /remote.php/dav/files/admin Public link
share /remote.php/dav/public-files/ Trashbin
/remote.php/dav/spaces/trash-bin/

owncloud/ocis#7359
#4278

  • Bugfix #4318: Do not allow moves between shares

We no longer allow moves between shares, even if they resolve to the same space.

#4318

  • Bugfix #4290: Prevent panic when trying to move a non-existent file

We fixed a panic when the user tried to move a file which does not exist.

#4290
#4283

  • Bugfix #4241: Allow an empty credentials chain in the auth middleware

When running with ocis, all external http-authentication is handled by the proxy service. So
the reva auth middleware should not try to do any basic or bearer auth.

owncloud/ocis#6692
#4241

  • Bugfix #4216: Fix an error message

Capitalize an error message for Banned-Passwords List OCIS-3809

#4216

  • Bugfix #4324: Fix capabilities decoding

We have fixed a bug when the mapstructure is ignored the embedded structure when decode

#4324

  • Bugfix #4267: Fix concurrency issue

We fixed a concurrency issue when listing received shares.

#4267

  • Bugfix #4362: Fix concurrent lookup

We have fixed a bug that overwrites existing variables, leading to flaky lookup of spaces

#4362

  • Bugfix #4336: Fix definition of "file-editor" role

The "file-editor" role was missing the AddGrant resource permission, which caused a broken
mapping from ResourcePermissions to roles in certain cases.

#4336

  • Bugfix #4302: Fix checking of filename length

Instead of checking for length of the filename the ocdav handler would sometimes check for
complete file path.

#4302

  • Bugfix #4366: Fix CS3 status code when looking up non existing share

When trying to lookup a share that does not exist we now return a proper "not found" error instead
of just an "internal error.

#4366

  • Bugfix #4299: Fix HTTP verb of the generate-invite endpoint

We changed the HTTP verb of the /generate-invite endpoint of the sciencemesh service to POST as
it clearly has side effects for the system, it's not just a read-only call.

#4299

  • Bugfix #4249: GetUserByClaim not working with MSAD for claim "userid"

We fixed GetUserByClaim to correctly deal with binary encoded userid as e.g. used for Active
Directory.

owncloud/ocis#7469
#4249

  • Bugfix #4217: Fix missing case for "hide" in UpdateShares

We fixed a bug that caused ocs to throw a 996 on update of permissions.

#4217

  • Bugfix #4140: Fix missing etag in shares jail

The shares jail can miss the etag if the first receivedShare is not accepted.

#4140

  • Bugfix #4229: Fix destroying the Personal and Project spaces data

We fixed a bug that caused destroying the Personal and Project spaces data when providing as a
destination while move/copy file. Disallow use the Personal and Project spaces root as a
source while move/copy file.

owncloud/ocis#6739
#4229

  • Bugfix #4193: Fix overwrite a file with an empty file

Fix the error when the user trying to overwrite a file with an empty file

#4193

  • Bugfix #4365: Fix create public share

If public link creation failed, it now returns a status error instead of sending ok.

#4365

  • Bugfix #4380: Fix the public link update

We fixed a bug when normal users can update the public link to delete its password if permission
is not sent in data.

owncloud/ocis#7821
#4380

  • Bugfix #4250: Fix race condition

We have fixed a race condition when setting the default tracing provider.

owncloud/ocis#4088
#4250

  • Bugfix #4345: Fix conversion of custom ocs permissions to roles

When creating shares with custom permissions they were under certain conditions converted
into the wrong corrensponding sharing role

https://github.com/owncloud/enterprise/issues/6209
#4345
#4343
#4342

  • Bugfix #4134: Fix share jail

Make matching mountpoints deterministic by comparing whole path segments of mountpoints

#4134

  • Bugfix #4335: Fix public shares cleanup config

The public shares cleanup for expired shares was not configurable via ocis.

#4335

  • Bugfix #4338: Fix unlock via space API

We fixed a bug that caused Error 500 when user try to unlock file using fileid The
handleSpaceUnlock has been added

owncloud/ocis#7708
#4338

  • Bugfix #4341: Fix spaceID in meta endpoint response

When doing a PROPFIND on the meta endpoint the spaceID would not be rendered correctly. That
is fixed now

#4341

  • Bugfix #4351: Fix 500 when open public link

We fixed a bug that caused nil pointer and Error 500 when open a public link from a deleted user

owncloud/ocis#7740
#4351

  • Bugfix #4352: Fix the tgz mime type

We have fixed a bug when the tgz mime type was not "application/gzip"

#4352

  • Bugfix #4388: Allow UpdateUserShare() to update just the expiration date

The UpdateUserShare Request now works if it just contains an update of the expiration date.

https://github.com/cs3...

Read more

v2.16.3

30 Nov 14:53
v2.16.3
4eec7d9
Compare
Choose a tag to compare

Changelog for reva 2.16.3 (2023-11-30)

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

Summary

  • Enh #4377: Handle trashbin file listings concurrently

Details

  • Enhancement #4377: Handle trashbin file listings concurrently

We now use a concurrent walker to list files in the trashbin. This improves performance when
listing files in the trashbin.

owncloud/ocis#7844
#4377
#4374

v1.27.0

19 Oct 13:56
Compare
Choose a tag to compare

Changelog for reva 1.27.0 (2023-10-19)

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

Summary

  • Fix #4196: Access public links to projects as owner
  • Enh #4266: Improve authentication routing logic
  • Enh #4212: CERNBox cleanup
  • Enh #4199: Dynamic storage provider
  • Enh #4264: Implement eos-compliant app locks
  • Enh #4200: Multiple fixes for Ceph driver
  • Enh #4185: Refurbish the grpc and https plugins for eos
  • Enh #4166: Add better observability with metrics and traces
  • Enh #4195: Support incoming OCM 1.0 shares
  • Enh #4189: Support full URL endpoints in ocm-provider
  • Enh #4186: Fixes in the reference configuration for ScienceMesh
  • Enh #4191: Add metrics service to ScienceMesh example config

Details

  • Bugfix #4196: Access public links to projects as owner

    #4196

  • Enhancement #4266: Improve authentication routing logic

    Provides a safer approach to route requests, both in HTTP and gRPC land when authentication is
    needed.

    #4266

  • Enhancement #4212: CERNBox cleanup

    Remove from the codebase all the cernbox specific code

    #4212

  • Enhancement #4199: Dynamic storage provider

    Add a new storage provider that can globally route to other providers. This provider uses a
    routing table in the database containing path - mountid pairs, and a mapping mountid -
    address in the config. It also support rewriting paths for resolution (to enable more
    complex cases).

    #4199

  • Enhancement #4264: Implement eos-compliant app locks

    The eosfs package now uses the app locks provided by eos

    #4264

  • Enhancement #4200: Multiple fixes for Ceph driver

    • Avoid usage/creation of user homes when they are disabled in the config * Simplify the regular
      uploads (not chunked) * Avoid creation of shadow folders at the root if they are already there *
      Clean up the chunked upload * Fix panic on shutdown

    #4200

  • Enhancement #4185: Refurbish the grpc and https plugins for eos

    This enhancement refurbishes the grpc and https plugins for eos

    #4185

  • Enhancement #4166: Add better observability with metrics and traces

    Adds prometheus collectors that can be registered dynamically and also refactors the http and
    grpc clients and servers to propage trace info.

    #4166

  • Enhancement #4195: Support incoming OCM 1.0 shares

    OCM 1.0 payloads are now supported as incoming shares, and converted to the OCM 1.1 format for
    persistency and further processing. Outgoing shares are still only OCM 1.1.

    #4195

  • Enhancement #4189: Support full URL endpoints in ocm-provider

    This patch enables a reva server to properly show any configured endpoint route in all relevant
    properties exposed by /ocm-provider. This allows reverse proxy configurations of the form
    https://server/route to be supported for the OCM discovery mechanism.

    #4189

  • Enhancement #4186: Fixes in the reference configuration for ScienceMesh

    Following the successful onboarding of CESNET, this PR brings some improvements and fixes to
    the reference configuration, as well as some adaptation to the itegration tests.

    #4186
    #4184
    #4183

  • Enhancement #4191: Add metrics service to ScienceMesh example config

    Adds the metrics http service configuration to the example config file of a ScienceMesh site.
    Having this service configured is a prerequisite for successfull Prometheus-based
    ScienceMesh sites metrics scraping.

    #4191

v2.16.2

17 Oct 09:19
v2.16.2
d63df48
Compare
Choose a tag to compare

Changelog for reva 2.16.2 (2023-10-17)

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

Summary

  • Fix #4251: GetUserByClaim not working with MSAD for claim "userid"

Details

  • Bugfix #4251: GetUserByClaim not working with MSAD for claim "userid"

We fixed GetUserByClaim to correctly deal with binary encoded userid as e.g. used for Active
Directory.

owncloud/ocis#7469
#4251
#4249

v2.16.1

25 Sep 15:11
v2.16.1
a1fc35c
Compare
Choose a tag to compare

Changelog for reva 2.16.1 (2023-09-25)

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

Summary

  • Fix #4214: Make appctx package compatible with go v1.21
  • Fix #4214: Always pass adjusted default nats options

Details

  • Bugfix #4214: Make appctx package compatible with go v1.21

Backported fix from edge. See https://tip.golang.org/doc/go1.21#reflect

#4214

  • Bugfix #4214: Always pass adjusted default nats options

The nats-js store will now automatically reconnect.

#4214

v1.26.0

08 Sep 14:34
Compare
Choose a tag to compare

Changelog for reva 1.26.0 (2023-09-08)

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

Summary

  • Fix #4165: Use default user tmp folder in config tests
  • Fix #4113: Fix plugin's registration when reva is built with version 1.21
  • Fix #4171: Fix accessing an OCM-shared resource containing spaces
  • Fix #4172: Hardcode access methods for outgoing OCM shares from OC/NC
  • Fix #4125: Enable projects for lightweight accounts
  • Enh #4121: Expire cached users and groups entries
  • Enh #4162: Disable sharing on a storage provider
  • Enh #4163: Disable trashbin on a storage provider
  • Enh #4164: Disable versions on a storage provider
  • Enh #4084: Implementation of an app provider for Overleaf
  • Enh #4114: List all the registered plugins
  • Enh #4115: All required features and fixes for the OC/NC ScienceMesh apps

Details

  • Bugfix #4165: Use default user tmp folder in config tests

    #4165

  • Bugfix #4113: Fix plugin's registration when reva is built with version 1.21

    With go 1.21 the logic for package initialization has changed, and the plugins were failing in
    the registration. Now the registration of the plugins is deferred in the main.

    #4113

  • Bugfix #4171: Fix accessing an OCM-shared resource containing spaces

    Fixes the access of a resource OCM-shared containing spaces, that previously was failing with
    a NotFound error.

    #4171

  • Bugfix #4172: Hardcode access methods for outgoing OCM shares from OC/NC

    This is a workaround until sciencemesh/nc-sciencemesh#45 is properly implemented

    #4172

  • Bugfix #4125: Enable projects for lightweight accounts

    Enable CERNBox projects to be listed by a lightweight account

    #4125

  • Enhancement #4121: Expire cached users and groups entries

    Entries in the rest user and group drivers do not expire. This means that old users/groups that
    have been deleted are still in cache. Now an expiration of fetch interval + 1 hours has been
    set.

    #4121

  • Enhancement #4162: Disable sharing on a storage provider

    Added a GRPC interceptor that disable sharing permissions on a storage provider.

    #4162

  • Enhancement #4163: Disable trashbin on a storage provider

    Added a GRPC interceptor that disable the trashbin on a storage provider.

    #4163

  • Enhancement #4164: Disable versions on a storage provider

    Added a GRPC interceptor that disable the versions on a storage provider.

    #4164

  • Enhancement #4084: Implementation of an app provider for Overleaf

    This PR adds an app provider for Overleaf as a standalone http service.

    The app provider currently consists of support for the export to Overleaf feature, which when
    called returns a URL to Overleaf that prompts Overleaf to download the appropriate resource
    making use of the Archiver service, and upload the files to a user's Overleaf account.

    #4084

  • Enhancement #4114: List all the registered plugins

    #4114

  • Enhancement #4115: All required features and fixes for the OC/NC ScienceMesh apps

    This PR includes all necessary code in Reva to interface with the ScienceMesh apps in OC and NC

    #4115

v2.16.0

21 Aug 15:09
v2.16.0
Compare
Choose a tag to compare

Changelog for reva 2.16.0 (2023-08-21)

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

Summary

  • Fix #4051: Set treesize when creating a storage space
  • Fix #4093: Fix the error handling
  • Fix #4111: Return already exists error when child already exists
  • Fix #4086: Fix ocs status code for not enough permission response
  • Fix #4101: Make the jsoncs3 share manager indexes more robust
  • Fix #4099: Fix logging upload errors
  • Fix #4078: Fix the default document language for OnlyOffice
  • Fix #4082: Fix propfind permissions
  • Fix #4100: S3ng include md5 checksum on put
  • Fix #4096: Fix the user shares list
  • Fix #4076: Fix WebDAV permissions for space managers
  • Fix #4117: Fix jsoncs3 atomic persistence
  • Fix #4081: Propagate sizeDiff
  • Fix #4091: Register WebDAV HTTP methods with chi
  • Fix #4107: Return lock when requested
  • Fix #4075: Revert 4065 - bypass proxy on upload
  • Enh #4089: Async propagation (experimental)
  • Enh #4074: Allow configuring the max size of grpc messages
  • Enh #4083: Allow for rolling back migrations
  • Enh #4014: En-/Disable DEPTH:inifinity in PROPFIND
  • Enh #4072: Allow to specify a shutdown timeout
  • Enh #4103: Add .oform mimetype
  • Enh #4098: Allow naming nats connections
  • Enh #4085: Add registry refresh
  • Enh #4097: Remove app ticker logs
  • Enh #4090: Add Capability for sse
  • Enh #4110: Tracing events propgation

Details

  • Bugfix #4051: Set treesize when creating a storage space

We now explicitly set the treesize metadata to zero when creating a new storage space. This
prevents empty treesize values for spaces with out any data.

#4051

  • Bugfix #4093: Fix the error handling

Fix the error handling and prevent the nil pointer error

owncloud/ocis#6929
#4093

  • Bugfix #4111: Return already exists error when child already exists

Prevents two concurrent requests from creating the same file

#4111

  • Bugfix #4086: Fix ocs status code for not enough permission response

Request to re-share a resource or update a share by a user who does not have enough permission on
the resource returned a 404 status code. This is fixed and a 403 status code is returned instead.

owncloud/ocis#6670
#4086

  • Bugfix #4101: Make the jsoncs3 share manager indexes more robust

We fixed a problem where the jsoncs3 share manager indexes could get out of sync.

#4101

  • Bugfix #4099: Fix logging upload errors

We fixed a problem where problems with uploading blobs to the blobstore weren't logged.

#4099

  • Bugfix #4078: Fix the default document language for OnlyOffice

Fix the default document language for OnlyOffice

https://github.com/owncloud/enterprise/issues/5807
#4078

  • Bugfix #4082: Fix propfind permissions

Propfinds permissions field would always contain the permissions of the requested resource,
even for its children This is fixed.

#4082

  • Bugfix #4100: S3ng include md5 checksum on put

We've fixed the S3 put operation of the S3ng storage to include a md5 checksum.

This md5 checksum is needed when a bucket has a retention period configured (see
https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html).

#4100

  • Bugfix #4096: Fix the user shares list

Filter out a share if ShareWith is not found because the user or group already deleted

owncloud/ocis#6730
#4096

  • Bugfix #4076: Fix WebDAV permissions for space managers

Sub shares of a space were shown as incoming shares for space manager incorrectly.

#4076

  • Bugfix #4117: Fix jsoncs3 atomic persistence

The jsoncs3 share manager now uses etags instead of mtimes to determine when metadata needs to
be updated. As a precondtition we had to change decomposedfs as well: to consistently
calculate the etag for the file content we now store the mtime in the metadata and use the
metadata lock for atomicity.

#4117

  • Bugfix #4081: Propagate sizeDiff

When postprocessing failed the sizeDiff would not be propagated correctly. This is fixed

#4081

  • Bugfix #4091: Register WebDAV HTTP methods with chi

We now correctly register the WebDAV methods with chi during init.

owncloud/ocis#6924
#4091

  • Bugfix #4107: Return lock when requested

We did not explictly return the lock when it was requested. This lead to the lock only being
included when no other metadata was requested. We fixed it by explictly returning the lock when
requested.

#4107

  • Bugfix #4075: Revert 4065 - bypass proxy on upload

We have reverted PR #4065 to bypass proxy on upload, because it caused issues with oCis.

#4075
#4065

  • Enhancement #4089: Async propagation (experimental)

Decomposedfs can now be configured to propagate treetime/treesize changes asynchronously.

#4089
#4070

  • Enhancement #4074: Allow configuring the max size of grpc messages

We added a possibility to make the max size of grpc messsages configurable. It is only
configurable via envvar OCIS_GRPC_MAX_RECEIVED_MESSAGE_SIZE . It is recommended to use
this envvar only temporarily.

#4074

  • Enhancement #4083: Allow for rolling back migrations

The decomposedfs now supports rolling back migrations (starting with 0004). It also got a
Migrations() method which returns the list of migrations incl. their states.

#4083

  • Enhancement #4014: En-/Disable DEPTH:inifinity in PROPFIND

We have added the ability to en-/disable DEPTH:infinitiy in PROPFIND requests for spaces

owncloud/ocis#4188
#4014

  • Enhancement #4072: Allow to specify a shutdown timeout

When setting graceful_shutdown_timeout revad will try to shutdown in a graceful manner
when receiving an INT or TERM signal (similar to how it already behaves on SIGQUIT). This allows
ongoing operations to complete before exiting.

If the shutdown didn't finish before graceful_shutdown_timeout seconds the process will
exit with an error code (1).

#4072

  • Enhancement #4103: Add .oform mimetype

We switched to a local list of mimetypes and added support for the .oform file extension.

#4103
#4092

  • Enhancement #4098: Allow naming nats connections

Bump go-micro and use new Name option to pass a connection name

#4098

  • Enhancement #4085: Add registry refresh

We have added registry auto-refresh and made it configurable

owncloud/ocis#6793
owncloud/ocis#3832
#4085
owncloud/ocis#6910

  • Enhancement #4097: Remove app ticker logs

#4097
Logs
would
show
regardless
of
log
level
as
there
is
no
configuration
done
beforehand.
We
remove
the
logs
for
now.

  • Enhancement #4090: Add Capability for sse

Add a capability for server sent events

#4090

  • Enhancement #4110: Tracing events propgation

Tracing information will now be propagated via events

#4110

v1.25.0

14 Aug 12:49
Compare
Choose a tag to compare

Changelog for reva 1.25.0 (2023-08-14)

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

Summary

  • Fix #4032: Temporarily exclude ceph-iscsi when building revad-ceph image
  • Fix #3883: Fix group request to Grappa
  • Fix #3946: Filter OCM shares by path
  • Fix #4016: Fix panic when closing notification service
  • Fix #4061: Fixes on notifications
  • Fix #3962: OCM-related compatibility fixes
  • Fix #3972: Fix for #3971
  • Fix #3882: Remove transfer on cancel should also remove transfer job
  • Chg #4041: Clean up notifications error checking code, fix sql creation script
  • Chg #3581: Remove meshdirectory http service
  • Enh #4044: Added an /app/notify endpoint for logging/tracking apps
  • Enh #3915: Storage drivers setup for datatx
  • Enh #3891: Provide data transfer size with datatx share
  • Enh #3905: Remove redundant config for invite_link_template
  • Enh #4031: Dump reva config on SIGUSR1
  • Enh #3954: Extend EOS metadata
  • Enh #3958: Make /sciencemesh/find-accepted-users response
  • Enh #3908: Removed support for forcelock
  • Enh #4011: Improve logging of HTTP requests
  • Enh #3407: Add init time logging to all services
  • Enh #4030: Support multiple token strategies in auth middleware
  • Enh #4015: New configuration
  • Enh #3825: Notifications framework
  • Enh #3969: Conditional notifications initialization
  • Enh #4077: Handle target in OpenInApp response
  • Enh #4073: Plugins
  • Enh #3937: Manage OCM shares
  • Enh #4035: Enforce/validate configuration of services

Details

  • Bugfix #4032: Temporarily exclude ceph-iscsi when building revad-ceph image

    Due to Package ceph-iscsi-3.6-1.el8.noarch.rpm is not signed error when building the
    revad-ceph docker image, the package ceph-iscsi has been excluded from the dnf update. It
    will be included again once the pkg will be signed again.

    #4032

  • Bugfix #3883: Fix group request to Grappa

    The url.JoinPath call was returning an url-encoded string, turning ? into %3. This
    caused the request to return 404.

    #3883

  • Bugfix #3946: Filter OCM shares by path

    Fixes the bug of duplicated OCM shares returned in the share with others response.

    #3946

  • Bugfix #4016: Fix panic when closing notification service

    If the connection to the nats server was not yet estabished, the service on close was panicking.
    This has been now fixed.

    #4016

  • Bugfix #4061: Fixes on notifications

    This is to align the code to the latest schema for notifications

    #4061

  • Bugfix #3962: OCM-related compatibility fixes

    Following analysis of OC and NC code to access a remote share, we must expose paths and not full
    URIs on the /ocm-provider endpoint. Also we fix a lookup issue with apps over OCM and update
    examples.

    #3962

  • Bugfix #3972: Fix for #3971

    Fixed panic described in #3971

    #3972

  • Bugfix #3882: Remove transfer on cancel should also remove transfer job

    #3881
    #3882

  • Change #4041: Clean up notifications error checking code, fix sql creation script

    #4041

  • Change #3581: Remove meshdirectory http service

    As of meshdirectory-web version 2.0.0, it is now implemented and deployed as a completely
    separate app, independent from Reva. We removed any deprecated meshdirectory-related code
    from Reva.

    #3581

  • Enhancement #4044: Added an /app/notify endpoint for logging/tracking apps

    The new endpoint serves to probe the health state of apps such as Microsoft Office Online, and it
    is expected to be called by the frontend upon successful loading of the document by the
    underlying app

    #4044

  • Enhancement #3915: Storage drivers setup for datatx

    #3914
    #3915

  • Enhancement #3891: Provide data transfer size with datatx share

    #2104
    #3891

  • Enhancement #3905: Remove redundant config for invite_link_template

    This is to drop invite_link_template from the OCM-related config. Now the provider_domain
    and mesh_directory_url config options are both mandatory in the sciencemesh http service,
    and the link is directly built out of the context.

    #3905

  • Enhancement #4031: Dump reva config on SIGUSR1

    Add an option to the runtime to dump the configuration on a file (default to
    /tmp/reva-dump.toml and configurable) when the process receives a SIGUSR1 signal.
    Eventual errors are logged in the log.

    #4031

  • Enhancement #3954: Extend EOS metadata

    This PR extend the EOS metadata with atime and ctime fields. This change is backwards
    compatible.

    #3954

  • Enhancement #3958: Make /sciencemesh/find-accepted-users response

    Consistent with delete user parameters

    #3958

  • Enhancement #3908: Removed support for forcelock

    This workaround is not needed any longer, see also the wopiserver.

    #3908

  • Enhancement #4011: Improve logging of HTTP requests

    Added request and response headers and removed redundant URL from the "http" messages

    #4011

  • Enhancement #3407: Add init time logging to all services

    #3407

  • Enhancement #4030: Support multiple token strategies in auth middleware

    Different HTTP services can in general support different token strategies for validating the
    reva token. In this context, without updating every single client a mono process deployment
    will never work. Now the HTTP auth middleware accepts in its configuration a token strategy
    chain, allowing to provide the reva token in multiple places (bearer auth, header).

    #4030

  • Enhancement #4015: New configuration

    Allow multiple driverts of the same service to be in the same toml config. Add a vars section to
    contain common parameters addressable using templates in the configuration of the different
    drivers. Support templating to reference values of other parameters in the configuration.
    Assign random ports to services where the address is not specified.

    #4015

  • Enhancement #3825: Notifications framework

    Adds a notifications framework to Reva.

    The new notifications service communicates with the rest of reva using NATS. It provides
    helper functions to register new notifications and to send them.

    Notification templates are provided in the configuration files for each service, and they are
    registered into the notifications service on initialization.

    #3825

  • Enhancement #3969: Conditional notifications initialization

    Notification helpers in services will not try to initalize if there is no specific
    configuration.

    #3969

  • Enhancement #4077: Handle target in OpenInApp response

    This PR adds the OpenInApp.target and AppProviderInfo.action properties to the respective
    responses (/app/open and /app/list), to support different app integrations. In addition,
    the archiver was extended to use the name of the file/folder as opposed to "download", and to
    include a query parameter to override the archive type, as it will be used in an upcoming app.

    #4077

  • Enhancement #4073: Plugins

    Adds a plugin system for allowing the creation of external plugins for different plugable
    components in reva, for example grpc drivers, http services and middlewares.

    #4073

  • Enhancement #3937: Manage OCM shares

    Implements the following item regarding OCM: - update of OCM shares in both grpc and ocs layer,
    allowing an user to update permissions and expiration of the share - deletion of OCM shares in
    both grpc and ocs layer - accept/reject of received OCM shares - remove accepted remote users

    #3937

  • Enhancement #4035: Enforce/validate configuration of services

    Every driver can now specify some validation rules on the configuration. If the validation
    rules are not respected, reva will bail out on startup with a clear error.

    #4035

v2.15.0

17 Jul 15:02
v2.15.0
eb0ce0a
Compare
Choose a tag to compare

Changelog for reva 2.15.0 (2023-07-17)

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

Summary

  • Fix #4004: Add path to public link POST
  • Fix #3993: Add token to LinkAccessedEvent
  • Fix #4007: Close archive writer properly
  • Fix #3982: Fixed couple of smaller space lookup issues
  • Fix #3963: Treesize interger overflows
  • Fix #3943: When removing metadata always use correct database and table
  • Fix #4003: Don't connect ldap on startup
  • Fix #3978: Decomposedfs no longer os.Stats when reading node metadata
  • Fix #3959: Drop unnecessary stat
  • Fix #4032: Temporarily exclude ceph-iscsi when building revad-ceph image
  • Fix #4042: Fix writing 0 byte msgpack metadata
  • Fix #3948: Handle the bad request status
  • Fix #3970: Fix enforce-password issue
  • Fix #4057: Properly handle not-found errors when getting a public share
  • Fix #4048: Fix messagepack propagation
  • Fix #4056: Fix destroys data destination when moving issue
  • Fix #4012: Fix mtime if 0 size file uploaded
  • Fix #3955: Fix panic
  • Fix #3977: Prevent direct access to trash items
  • Fix #3933: Concurrently invalidate mtime cache in jsoncs3 share manager
  • Fix #3985: Reduce jsoncs3 lock congestion
  • Fix #3960: Add trace span details
  • Fix #3951: Link context in metadata client
  • Fix #4010: Omit spaceroot when archiving
  • Fix #3950: Use plain otel tracing in metadata client
  • Fix #3975: Decomposedfs now resolves the parent without an os.Stat
  • Fix #4047: Publish events synchrously
  • Fix #4039: Restart Postprocessing
  • Chg #3947: Bump golangci-lint to 1.51.2
  • Chg #3945: Revert golangci-lint back to 1.50.1
  • Enh #4060: We added a go-micro based app-provider registry
  • Enh #4013: Add new WebDAV permissions
  • Enh #3966: Add space metadata to ocs shares list
  • Enh #3987: Cache space indexes
  • Enh #3953: Client selector pool
  • Enh #3973: More logging for metadata propagation
  • Enh #4059: Improve space index performance
  • Enh #3994: Load matching spaces concurrently
  • Enh #4049: Do not invalidate filemetadata cache early
  • Enh #4040: Allow to use external trace provider in micro service
  • Enh #4019: Allow to use external trace provider
  • Enh #4045: Log error message in grpc interceptor
  • Enh #3989: Parallelization of jsoncs3 operations
  • Enh #3941: Adding tracing for jsoncs3
  • Enh #3965: ResumePostprocessing Event
  • Enh #3809: Trace decomposedfs syscalls
  • Enh #4067: Trace upload progress
  • Enh #3887: Trace requests through datagateway
  • Enh #3981: We have updated the UserFeatureChangedEvent to reflect value changes
  • Enh #4052: Update go-ldap to v3.4.5
  • Enh #4065: Upload directly to dataprovider
  • Enh #4046: Use correct tracer name
  • Enh #3986: Allow disabling wopi chat

Details

  • Bugfix #4004: Add path to public link POST

When POSTing a public link, the response would not contain the complete path to the resource.
This is fixed now.

#4004

  • Bugfix #3993: Add token to LinkAccessedEvent

We added the link token to the LinkAccessedEvent

owncloud/ocis#3753
#3993

  • Bugfix #4007: Close archive writer properly

When running into max size error (or random other error) the archiver would not close the
writer. Only it success case it would. This resulted in broken archives on the client. We now
defer the writer close.

#4007

  • Bugfix #3982: Fixed couple of smaller space lookup issues

#3982

  • Bugfix #3963: Treesize interger overflows

Reading the treesize was parsing the string value as a signed integer while setting the
treesize used unsigned integers this could cause failures (out of range errors) when reading
very large treesizes.

#3963

  • Bugfix #3943: When removing metadata always use correct database and table

#3943

  • Bugfix #4003: Don't connect ldap on startup

This leads to misleading error messages. Instead connect on first request.

#4003

  • Bugfix #3978: Decomposedfs no longer os.Stats when reading node metadata

#3978

  • Bugfix #3959: Drop unnecessary stat

#3959

  • Bugfix #4032: Temporarily exclude ceph-iscsi when building revad-ceph image

Due to Package ceph-iscsi-3.6-1.el8.noarch.rpm is not signed error when building the
revad-ceph docker image, the package ceph-iscsi has been excluded from the dnf update. It
will be included again once the pkg will be signed again.

#4032

  • Bugfix #4042: Fix writing 0 byte msgpack metadata

File metadata is now written atomically to be more resilient during timeouts

#4042
#4034
#4033

  • Bugfix #3948: Handle the bad request status

Handle the bad request status for the CreateStorageSpace function

#3948

  • Bugfix #3970: Fix enforce-password issue

Fix updating public share without password when enforce-password is enabled

owncloud/ocis#6476
#3970

  • Bugfix #4057: Properly handle not-found errors when getting a public share

We fixed a problem where not-found errors caused a hard error instead of a proper RPC error
state.

#4057

  • Bugfix #4048: Fix messagepack propagation

We cannot read from the lockfile. The data is in the metadata file.

#4048

  • Bugfix #4056: Fix destroys data destination when moving issue

Fix moving a file and providing the fileID of the destination destroys data

owncloud/ocis#6739
#4056

  • Bugfix #4012: Fix mtime if 0 size file uploaded

Fix mtime if 0 size file uploaded

owncloud/ocis#1248
#4012

  • Bugfix #3955: Fix panic

#3955

  • Bugfix #3977: Prevent direct access to trash items

Decomposedfs now prevents direct access to trash items

#3977

  • Bugfix #3933: Concurrently invalidate mtime cache in jsoncs3 share manager

#3933

  • Bugfix #3985: Reduce jsoncs3 lock congestion

We changed the locking strategy in the jsoncs3 share manager to cause less lock congestion
increasing the performance in certain scenarios.

#3985
#3964

  • Bugfix #3960: Add trace span details

#3960

  • Bugfix #3951: Link context in metadata client

We now disconnect the existing outgoing grpc metadata when making calls in the metadata
client. To keep track of related spans we link the two contexts.

#3951

  • Bugfix #4010: Omit spaceroot when archiving

When archiving a space there was an empty folder named . added. This was because of the
spaceroot which was wrongly interpreted. We now omit the space root when creating an archive.

#4010
#3999

  • Bugfix #3950: Use plain otel tracing in metadata client

In some cases there was no tracer provider in the context. Since the otel tracing has settled we
will fix problems by moving to the recommended best practices. A good starting point is
https://lightstep.com/blog/opentelemetry-go-all-you-need-to-know

#3950

  • Bugfix #3975: Decomposedfs now resolves the parent without an os.Stat

#3975

  • Bugfix #4047: Publish events synchrously

Async publishing can lead to loss of events under some circumstances

#4047

  • Bugfix #4039: Restart Postprocessing

Resend the BytesReady event if instructed.

#4039

  • Change #3947: Bump golangci-lint to 1.51.2

The 1.50.1 release had memory issues with go1.20

#3947

  • Change #3945: Revert golangci-lint back to 1.50.1

#3945

  • Enhancement #4060: We added a go-micro based app-provider registry

We added a dynamic go-micro based app-provider registry with a dynamic TTL

owncloud/ocis#3832
#4060

  • Enhancement #4013: Add new WebDAV permissions

We added the permission "PurgeRecycle" to the WebDAV permissions list. I is represented by the
capital letter P.

#4013

  • Enhancement #3966: Add space metadata to ocs shares list

We needed to add the space ID and the space alias of the original space to the share metadata when
we are listing shares. This is needed to directly navigate to the originating space location.

#3966

  • Enhancement #3987: Cache space indexes

Decomposedfs now caches the different space indexes in memory which greatly improves the
performance of ListStorageSpaces on slow storages.

#3987

  • Enhancement #3953: Client selector pool

Add the ability to use iterable client pools for the grpc service communication, the
underlying grpc client and connection is fetched randomly from the available services.

https://github.com/c...

Read more

v2.14.0

05 Jun 19:28
v2.14.0
4c2751c
Compare
Choose a tag to compare

Changelog for reva 2.14.0 (2023-06-05)

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

Summary

  • Fix #3919: We added missing timestamps to events
  • Fix #3911: Clean IDCache properly
  • Fix #3896: Do not lose old revisions when overwriting a file during copy
  • Fix #3918: Dont enumerate users
  • Fix #3902: Do not try to use the cache for empty node
  • Fix #3877: Empty exact list while searching for a sharee
  • Fix #3906: Fix preflight requests
  • Fix #3934: Fix the space editor permissions
  • Fix #3899: Harden uploads
  • Fix #3917: Prevent last space manager from leaving
  • Fix #3866: Fix public link lookup performance
  • Fix #3904: Improve performance of directory listings
  • Enh #3893: Cleanup Space Delete permissions
  • Enh #3894: Fix err when the user share the locked file
  • Enh #3913: Introduce FullTextSearch Capability
  • Enh #3898: Add Graph User capabilities
  • Enh #3496: Add otlp tracing exporter
  • Enh #3922: Rename permissions

Details

  • Bugfix #3919: We added missing timestamps to events

We added missing timestamps to events

owncloud/ocis#3753
#3919

  • Bugfix #3911: Clean IDCache properly

Decomposedfs' subpackage tree uses an idCache to avoid reading too often from disc. In case
of a move or delete this cache was properly cleaned, but when renaming a file (= move with
same parent) the cache wasn't cleaned. This lead to strange behaviour when uploading files
with the same name and renaming them

#3911
#3903

  • Bugfix #3896: Do not lose old revisions when overwriting a file during copy

We no longer delete-and-upload targets of copy operations but rather add a new version with the
source content.

This makes "overwrite when copying" behave the same as "overwrite when uploading".

Overwriting when moving a file still deletes the old file (moves it into the trash) and replaces
the whole file including the revisions of the source file.

#3896

  • Bugfix #3918: Dont enumerate users

Fixes a user enumeration via DELETE share endpoint

#3918
#3916

  • Bugfix #3902: Do not try to use the cache for empty node

We fixed a problem where nodes that did not have an ID set were still trying to use the cache for
their metadata resulting in clashing cache keys.

#3902

  • Bugfix #3877: Empty exact list while searching for a sharee

We fixed a bug in the sharing api, it always returns an empty exact list while searching for a
sharee

owncloud/ocis#4265
#3877

  • Bugfix #3906: Fix preflight requests

The datagateway now correctly overwrites the preconfigured CORS related headers with the
headers returned by a dataprovider.

#3906

  • Bugfix #3934: Fix the space editor permissions

We fixed the permissions of a space editor which accidentally granted the permission to purge
the trash bin.

#3934

  • Bugfix #3899: Harden uploads

Uploads now check response headers for a file id and omit a subsequent stat request which might
land on a storage provider that does not yet see the new file due to latency, eg. when NFS caches
direntries.

#3899

  • Bugfix #3917: Prevent last space manager from leaving

It should not be possible for the last remaining space manager to change his role or get changed
by others.

#3917

  • Bugfix #3866: Fix public link lookup performance

Fix inefficient path based space lookup for public links

#3866

  • Bugfix #3904: Improve performance of directory listings

We improved the performance of directory listing by rendering the propfind XML concurrently.

#3904

  • Enhancement #3893: Cleanup Space Delete permissions

Space Delete and Disable permissions ("Drive.ReadWriteEnabled", "delete-all-spaces",
"delete-all-home-spaces") were overlapping and not clear differentiatable. The new logic
is as follows: - "Drive.ReadWriteEnabled" allows enabling or disabling a project space -
"delete-all-home-spaces" allows deleting personal spaces of users - "delete-all-spaces"
allows deleting a project space - Space Mangers can still disable/enable a drive

#3893

  • Enhancement #3894: Fix err when the user share the locked file

Fix unexpected behavior when the user try to share the locked file

owncloud/ocis#6197
#3894

  • Enhancement #3913: Introduce FullTextSearch Capability

Add a capability that shows if fulltextsearch is supported by the server

#3913

  • Enhancement #3898: Add Graph User capabilities

Add capabilities to show if user can be created or deleted and if they can change their password
on self service

#3898

  • Enhancement #3496: Add otlp tracing exporter

We can now use tracing_exporter=otlp to send traces using the otlp exporter.

#3496

  • Enhancement #3922: Rename permissions

Rename permissions to be consistent and future proof

#3922