Releases: cs3org/reva
v3.8.1
v3.8.0
Changelog for reva 3.8.0 (2026-04-29)
The following sections list the changes in reva 3.8.0 relevant to
reva users. The changes are ordered by importance.
Summary
- Fix #5515: Cephmount: added more fail-safe cases at init time
- Enh #5558: Appprovider: handle a force-viewmode-reason value
- Enh #5556: Allow using different field as identifier, configurable per idp
Details
-
Bugfix #5515: Cephmount: added more fail-safe cases at init time
This PR adds more cases where cephmount would bail out at init time when preconditions are not
met. -
Enhancement #5558: Appprovider: handle a force-viewmode-reason value
Paired with cs3org/wopiserver#195
-
Enhancement #5556: Allow using different field as identifier, configurable per idp
v3.7.2
Changelog for reva 3.7.2 (2026-04-17)
The following sections list the changes in reva 3.7.2 relevant to
reva users. The changes are ordered by importance.
Summary
- Fix #5585: Fix failure on version download
Details
v3.7.1
v3.7.0
Changelog for reva 3.7.0 (2026-04-14)
The following sections list the changes in reva 3.7.0 relevant to
reva users. The changes are ordered by importance.
Summary
- Enh #5553: Make ListShares conurrent
- Enh #5554: Make ListStorageSpaces concurrent
- Enh #5569: Add processing of ro-crates
- Enh #5526: Do not impersonate owner for public link access
- Enh #5514: Refactor EOSFS auth logic
- Enh #5550: Add span collection to tracing interceptor
Details
-
Enhancement #5553: Make ListShares conurrent
-
Enhancement #5554: Make ListStorageSpaces concurrent
-
Enhancement #5569: Add processing of ro-crates
This is done via the UpdateReceivedShareCall using an opaque and we want to be able to have a
seperate CS3API call for this in the future -
Enhancement #5526: Do not impersonate owner for public link access
Instead of impersonating the owner of a public link, we create a Guest User which has
permissions through an added scope -
Enhancement #5514: Refactor EOSFS auth logic
- Use a dedicated service account for accesses made by external accounts, instead of
impersonating the owner or using a token - Renamed the different types of auth to be more clear
(e.g. cboxAuth became systemAuth) - Added aInvalidAuthorizationto be returned instead of
an empty auth; because empty auth maps to the system user (which is a sudo'er)
- Use a dedicated service account for accesses made by external accounts, instead of
-
Enhancement #5550: Add span collection to tracing interceptor
This allows us to view full spans of calls in jaeger / otel tracing tools
v3.6.3
Changelog for reva 3.6.3 (2026-04-07)
The following sections list the changes in reva 3.6.3 relevant to
reva users. The changes are ordered by importance.
Summary
- Fix #5570: Remove broken EOS token cache
Details
v3.5.1-eos53revad
Changelog for reva 3.5.1 (2026-02-12)
The following sections list the changes in reva 3.5.1 relevant to
reva users. The changes are ordered by importance.
Summary
- Fix #5482: Return 403 instead of 500 on no permissions
- Fix #5473: Do not require db_engine to be set
- Fix #5496: GetNsMatch in eosfs should return a cleaned path
- Fix #5490: Do not do getQuota as project owner for ownerless projects
- Fix #5492: Set proper service account context for project GetQuota
- Fix #5491: Do not clean namespace path
- Enh #5466: Clean up DAV PUT
- Enh #5470: Add indexes to share db for fields that may be queried
- Enh #5452: OCM Embedded shares
- Enh #5471: Extend integration tests using Reva CLI
- Enh #5476: OCM: support access_types and drop datatx protocol
- Enh #5489: Add processing endpoint for an embedded share
- Enh #5484: Remove share first from EOS, then db
- Enh #5462: Integration tests using Reva CLI
Details
-
Bugfix #5482: Return 403 instead of 500 on no permissions
-
Bugfix #5473: Do not require db_engine to be set
-
Bugfix #5496: GetNsMatch in eosfs should return a cleaned path
-
Bugfix #5490: Do not do getQuota as project owner for ownerless projects
-
Bugfix #5492: Set proper service account context for project GetQuota
-
Bugfix #5491: Do not clean namespace path
There was a bug in Reva that caused the namespace path to be cleaned. This is wrong: this path
should end in a/so that EOS trashbin paths do not match for projects (e.g.
/eos/project-i00should not be prefixed by/eos/project/).This bug caused deleted entries to still show up in the favorites list
-
Enhancement #5466: Clean up DAV PUT
- Fixed a "bug" where a variable was overwritten (though this had no impact) * Cleaned up a method
- Removed unused function
-
Enhancement #5470: Add indexes to share db for fields that may be queried
In a previous change, some indexes for fields that are queried had been replaced by a composite
index, which cannot be used for certain queries that we do. So, this PR brings back the
non-composite indexes. -
Enhancement #5452: OCM Embedded shares
This PR introduces OCM embedded shares
- Adds functionality to store embedded shares (where the shared data is embedded in the OCM
share payload) * Adds filters toListReceivedOCMSharescall and adapts to the new fields
SharedResourceTypeandRecipientType* Adds an endpoint to list embedded shares (using
the previously mentioned filters)
- Adds functionality to store embedded shares (where the shared data is embedded in the OCM
-
Enhancement #5471: Extend integration tests using Reva CLI
This PR extends the Reva CLI test suite by including tests for recycle bin, versions and grant
operations -
Enhancement #5476: OCM: support access_types and drop datatx protocol
This PR adapts the OCM implementation to v1.3. No new capabilities have been added yet.
-
Enhancement #5489: Add processing endpoint for an embedded share
- For now this only changes the state to accepted (or pending if you want to "unprocess" the
share) - Eventually we want the downloaded content to arrive in the target folder, the target is
just logged for now.
- For now this only changes the state to accepted (or pending if you want to "unprocess" the
-
Enhancement #5484: Remove share first from EOS, then db
When removing shares, remove permissions from storage before going to db, so that there can be
no lingering permissions on EOS -
Enhancement #5462: Integration tests using Reva CLI
This PR introduces a proof-of-concept for integration tests based on the reva CLI. The goal is
to extend these tests, so that they can be used by EOS to check if their changes break our
workflow.
v3.6.2
Changelog for reva 3.6.2 (2026-03-29)
The following sections list the changes in reva 3.6.2 relevant to
reva users. The changes are ordered by importance.
Summary
- Fix #5551: Hide orphaned shares
- Enh #5549: Add administrative function to list all projects
- Enh #5546: Ignore files not found in archiver
- Enh #5538: Cleanup config
- Enh #5557: Add quota cache
Details
-
Bugfix #5551: Hide orphaned shares
-
Enhancement #5549: Add administrative function to list all projects
Added ListAllProjects function to the SQL projects manager. The function supports optional
filtering by status and owner. -
Enhancement #5546: Ignore files not found in archiver
-
Enhancement #5538: Cleanup config
-
Enhancement #5557: Add quota cache
Since EOS at the moment takes a long time to respond to
GetQuotarequests, we have implemented
a cache for the quota results. The cache is warmed up on init, where the cache is populated from a
singleGetQuotacall that obtains all user quotas.
v3.6.1
Changelog for reva 3.6.1 (2026-03-10)
The following sections list the changes in reva 3.6.1 relevant to
reva users. The changes are ordered by importance.
Summary
- Fix #5521: Fix issue where permissions is on subdir
- Fix #5524: Fix inverted logic in pathToSpaceID
- Fix #5520: Fix issues with sharing for the cephmount driver
- Enh #5519: Support additional gids in cephmount fs driver
- Enh #5525: Support getting quota from path ancestors
- Enh #5529: Improves the GetQuota call
- Enh #5527: Make ceph version with local plugins
- Enh #5523: Add status field to projects table
- Enh #5518: Clean up how space IDs are calculated
Details
-
Bugfix #5521: Fix issue where permissions is on subdir
- This PR fixes a bug where the permissions are on a subdirectory and the admin mount fails.
-
Bugfix #5524: Fix inverted logic in pathToSpaceID
Fixed a bug where the condition for falling back to the mount_path when no proper space depth was
set was inverted. -
Bugfix #5520: Fix issues with sharing for the cephmount driver
This PR includes two fixes * ListVersions now returns an empty list. * The root directory is
appended to the CephVolumePath. -
Enhancement #5519: Support additional gids in cephmount fs driver
When accessing the underlying Ceph mount, the linux thread only contained the uid/gid of the
user. Now it also contaisn the additional gids of the user, which allows to access files that are
only accessible by group permissions. -
Enhancement #5525: Support getting quota from path ancestors
The previous code supported to obtained quota only from the path itself, but in some cases, the
path may not contain the quota information, but its ancestor may contain the quota
information. -
Enhancement #5529: Improves the GetQuota call
The ceph.dir.rbytes exists at every level and should be checked at the level where the quota is
found -
Enhancement #5527: Make ceph version with local plugins
Add the option to build the ceph version of reva with local plugins
-
Enhancement #5523: Add status field to projects table
A new status field has been added to the projects table with possible values: creating, active,
and archived. The default value is 'active'. ListStorageSpaces now accepts a status
parameter to filter projects by their status. A new method UpdateProjectStatus allows
changing the status of a project. -
Enhancement #5518: Clean up how space IDs are calculated
Instead of having hardcoded paths, this is now configurable through a
space_depth
parameter in the storage provider
v3.6.0
Changelog for reva 3.6.0 (2026-02-20)
The following sections list the changes in reva 3.6.0 relevant to
reva users. The changes are ordered by importance.
Summary
- Fix #5451: Handle special characters in file names correctly
- Fix #5511: Quota should be retrieved in monitoring key=value format
- Enh #5481: Add support for reva-cli tests on EOS
- Enh #5475: Support project-trashbins in EOS
- Enh #5472: Use uid instead of username of eos remote-user
- Enh #5474: Update EOS gRPC bindings
- Enh #5513: Refactor EOS driver / FS for Reva
- Enh #5503: Cephmount add root dir config option
Details
-
Bugfix #5451: Handle special characters in file names correctly
- Fixed PROPFIND response when listing a folder named with special charactrers
-
Bugfix #5511: Quota should be retrieved in monitoring key=value format
The quota command now uses the
-mflag to retrieve quota information in monitoring key=value
format, ensuring consistent and parseable output. -
Enhancement #5481: Add support for reva-cli tests on EOS
-
Enhancement #5475: Support project-trashbins in EOS
-
Enhancement #5472: Use uid instead of username of eos remote-user
This brings back the functionality to download versions of files in a project space
-
Enhancement #5474: Update EOS gRPC bindings
This supports the new trashbin, based on a "recycle id" for projects
-
Enhancement #5513: Refactor EOS driver / FS for Reva
This also includes writing a README for the driver
-
Enhancement #5503: Cephmount add root dir config option
- The
root_dirconfig option is there to append a path on the current path that should be
mounted by reva
- The