Skip to content
v2.3.1
c5b8bbc
Compare
Choose a tag to compare

Changelog for reva 2.3.1 (2022-05-08)

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

Summary

  • Fix #2827: Check permissions when deleting spaces
  • Fix #2830: Correctly render response when accepting merged shares
  • Fix #2831: Fix uploads to owncloudsql storage when no mtime is provided
  • Enh #2833: Make status.php values configurable
  • Enh #2832: Add version option for ocdav go-micro service

Details

  • Bugfix #2827: Check permissions when deleting spaces

    Do not allow viewers and editors to delete a space (you need to be manager) Block deleting a space
    via dav service (should use graph to avoid accidental deletes)

    #2827

  • Bugfix #2830: Correctly render response when accepting merged shares

    We now only return the data for the accepted share instead of concatenating data for all
    affected shares.

    #2830

  • Bugfix #2831: Fix uploads to owncloudsql storage when no mtime is provided

    We've fixed uploads to owncloudsql storage when no mtime is provided. We now just use the
    current timestamp. Previously the upload did fail.

    #2831

  • Enhancement #2833: Make status.php values configurable

    We've added an option to set the status values for product, productname, version,
    versionstring and edition.

    #2833

  • Enhancement #2832: Add version option for ocdav go-micro service

    We've added an option to set a version for the ocdav go-micro registry. This enables you to set a
    version queriable by from the go-micro registry.

    #2832

v2.3.0
7e57136
Compare
Choose a tag to compare

Changelog for reva 2.3.0 (2022-05-02)

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

Summary

  • Fix #2693: Support editnew actions from MS Office
  • Fix #2588: Dockerfile.revad-ceph to use the right base image
  • Fix #2499: Removed check DenyGrant in resource permission
  • Fix #2285: Accept new userid idp format
  • Fix #2802: Fix the resource id handling for space shares
  • Fix #2800: Fix spaceid parsing in spaces trashbin API
  • Fix #2608: Respect the tracing_service_name config variable
  • Fix #2742: Use exact match in login filter
  • Fix #2759: Made uid, gid claims parsing more robust in OIDC auth provider
  • Fix #2788: Return the correct file IDs on public link resources
  • Fix #2322: Use RFC3339 for parsing dates
  • Fix #2784: Disable storageprovider cache for the share jail
  • Fix #2555: Fix site accounts endpoints
  • Fix #2675: Updates Makefile according to latest go standards
  • Fix #2572: Wait for nats server on middleware start
  • Chg #2735: Avoid user enumeration
  • Chg #2737: Bump go-cs3api
  • Chg #2763: Change the oCIS and S3NG storage driver blob store layout
  • Chg #2596: Remove hash from public link urls
  • Chg #2785: Implement workaround for chi.RegisterMethod
  • Chg #2559: Do not encode webDAV ids to base64
  • Chg #2740: Rename oc10 share manager driver
  • Chg #2561: Merge oidcmapping auth manager into oidc
  • Enh #2698: Make capabilities endpoint public, authenticate users is present
  • Enh #2515: Enabling tracing by default if not explicitly disabled
  • Enh #2686: Features for favorites xattrs in EOS, cache for scope expansion
  • Enh #2494: Use sys ACLs for file permissions
  • Enh #2522: Introduce events
  • Enh #2811: Add event for created directories
  • Enh #2798: Add additional fields to events to enable search
  • Enh #2790: Fake providerids so API stays stable after beta
  • Enh #2685: Enable federated account access
  • Enh #1787: Add support for HTTP TPC
  • Enh #2799: Add flag to enable unrestriced listing of spaces
  • Enh #2560: Mentix PromSD extensions
  • Enh #2741: Meta path for user
  • Enh #2613: Externalize custom mime types configuration for storage providers
  • Enh #2163: Nextcloud-based share manager for pkg/ocm/share
  • Enh #2696: Preferences driver refactor and cbox sql implementation
  • Enh #2052: New CS3API datatx methods
  • Enh #2743: Add capability for public link single file edit
  • Enh #2738: Site accounts site-global settings
  • Enh #2672: Further Site Accounts improvements
  • Enh #2549: Site accounts improvements
  • Enh #2795: Add feature flags "projects" and "share_jail" to spaces capability
  • Enh #2514: Reuse ocs role objects in other drivers
  • Enh #2781: In memory user provider
  • Enh #2752: Refactor the rest user and group provider drivers

Details

  • Bugfix #2693: Support editnew actions from MS Office

    This fixes the incorrect behavior when creating new xlsx and pptx files, as MS Office supports
    the editnew action and it must be used for newly created files instead of the normal edit action.

    #2693

  • Bugfix #2588: Dockerfile.revad-ceph to use the right base image

    In Aug2021 https://hub.docker.com/r/ceph/daemon-base was moved to quay.ceph.io and the
    builds for this image were failing for some weeks after January.

    #2588

  • Bugfix #2499: Removed check DenyGrant in resource permission

    When adding a denial permission

    #2499

  • Bugfix #2285: Accept new userid idp format

    The format for userid idp changed and
    this broke the ocmd
    tutorial

    This PR makes the provider authorizer interceptor accept both the old and the new string
    format.

    #2285
    #2285
    See
    and

  • Bugfix #2802: Fix the resource id handling for space shares

    Adapt the space shares to the new id format.

    #2802

  • Bugfix #2800: Fix spaceid parsing in spaces trashbin API

    Added proper space id parsing to the spaces trashbin API endpoint.

    #2800

  • Bugfix #2608: Respect the tracing_service_name config variable

    #2608

  • Bugfix #2742: Use exact match in login filter

    After the recent config changes the auth-provider was accidently using a substring match for
    the login filter. It's no fixed to use an exact match.

    #2742

  • Bugfix #2759: Made uid, gid claims parsing more robust in OIDC auth provider

    This fix makes sure the uid and gid claims are defined at init time, and that the necessary
    typecasts are performed correctly when authenticating users. A comment was added that in case
    the uid/gid claims are missing AND that no mapping takes place, a user entity is returned with
    uid = gid = 0.

    #2759

  • Bugfix #2788: Return the correct file IDs on public link resources

    Resources in public shares should return the real resourceids from the storage of the owner.

    #2788

  • Bugfix #2322: Use RFC3339 for parsing dates

    We have used the RFC3339 format for parsing dates to be consistent with oC Web.

    #2322
    #2744

  • Bugfix #2784: Disable storageprovider cache for the share jail

    The share jail should not be cached in the provider cache because it is a virtual collection of
    resources from different storage providers.

    #2784

  • Bugfix #2555: Fix site accounts endpoints

    This PR fixes small bugs in the site accounts endpoints.

    #2555

  • Bugfix #2675: Updates Makefile according to latest go standards

    Earlier, we were using go get to install packages. Now, we are using go install to install
    packages

    #2675
    #2747

  • Bugfix #2572: Wait for nats server on middleware start

    Use a retry mechanism to connect to the nats server when it is not ready yet

    #2572

  • Change #2735: Avoid user enumeration

    Sending PROPFIND requests to ../files/admin did return a different response than sending
    the same request to ../files/notexists. This allowed enumerating users. This response was
    changed to be the same always

    #2735

  • Change #2737: Bump go-cs3api

    Bumped version of the go-cs3api

    #2737

  • Change #2763: Change the oCIS and S3NG storage driver blob store layout

    We've optimized the oCIS and S3NG storage driver blob store layout.

    For the oCIS storage driver, blobs will now be stored inside the folder of a space, next to the
    nodes. This allows admins to easily archive, backup and restore spaces as a whole with UNIX
    tooling. We also moved from a single folder for blobs to multiple folders for blobs, to make the
    filesystem interactions more performant for large numbers of files.

    The previous layout on disk looked like this:

    partitioned space id | |-- nodes | |-- .. | |-- xx | |-- xx | |-- xx | |-- xx | |--
    -xxxx-xxxx-xxxx-xxxxxxxxxxxx <- partitioned node id |-- blobs |-- .. |--
    xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx <- blob id ```
    
    Now it looks like this:
    
    ```markdown |-- spaces | |-- .. | | |-- .. |-- xx |-- xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx <-
    partitioned space id |-- nodes | |-- .. | |-- xx | |-- xx | |-- xx | |-- xx | |--
    -xxxx-xxxx-xxxx-xxxxxxxxxxxx <- partitioned node id |-- blobs |-- .. |-- xx |-- xx |-- xx |-- xx
    |-- -xxxx-xxxx-xxxx-xxxxxxxxxxxx <- partitioned blob id ```
    
    For the S3NG storage driver, blobs will now be prefixed with the space id and also a part of the
    blob id will be used as prefix. This creates a better prefix partitioning and mitigates S3 api
    performance drops for large buckets
    (https://aws.amazon.com/de/premiumsupport/knowledge-center/s3-prefix-nested-folders-difference/).
    
    The previous S3 bucket (blobs only looked like this):
    
    ```markdown |-- .. |-- xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx <- blob id ```
    
    Now it looks like this:
    
    ```markdown |-- .. |-- xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx <- space id |-- .. |-- xx |-- xx
    |-- xx |-- xx |-- -xxxx-xxxx-xxxx-xxxxxxxxxxxx <- partitioned blob id ```
    
    https://github.com/owncloud/ocis/issues/3557
    https://github.com/cs3org/reva/pull/2763
    
  • Change #2596: Remove hash from public link urls

    Public link urls do not contain the hash anymore, this is needed to support the ocis and web
    history mode.

    #2596
    owncloud/ocis#3109
    owncloud/web#6363

  • Change #2785: Implement workaround for chi.RegisterMethod

    Implemented a workaround for chi.RegisterMethod because of a concurrent map read write
    issue. This needs to be fixed upstream in go-chi.

    #2785

  • Change #2559: Do not encode webDAV ids to base64

    We removed the base64 encoding of the IDs and use the format ! with a !
    delimiter. As a reserved delimiter it is URL safe. The IDs will be XML and JSON encoded as
    necessary.

    #2559

  • Change #2740: Rename oc10 share manager driver

    We aligned the oc10 SQL share manager driver name with all other owncloud spacific SQL drivers
    by renaming the package pkg/share/manager/sql to pkg/share/manager/owncloudsql and
    changing the name from oc10-sql to owncloudsql.

    #2740

  • Change #2561: Merge oidcmapping auth manager into oidc

    The oidcmapping auth manager was created as a separate package to ease testing. As it has now
    been tested also as a pure OIDC auth provider without mapping, and as the code is largely
    refactored, it makes sense to merge it back so to maintain a single OIDC manager.

    #2561

  • Enhancement #2698: Make capabilities endpoint public, authenticate users is present

    #2698

  • Enhancement #2515: Enabling tracing by default if not explicitly disabled

    #2515

  • Enhancement #2686: Features for favorites xattrs in EOS, cache for scope expansion

    #2686

  • Enhancement #2494: Use sys ACLs for file permissions

    #2494

  • Enhancement #2522: Introduce events

    This will introduce events into the system. Events are a simple way to bring information from
    one service to another. Read pkg/events/example and subfolders for more information

    #2522

  • Enhancement #2811: Add event for created directories

    We added another event for created directories.

    #2811

  • Enhancement #2798: Add additional fields to events to enable search

    #2798

  • Enhancement #2790: Fake providerids so API stays stable after beta

    To support the stativ registry, we need to accept providerids This fakes the ids so the API can
    stay stable

    #2790

  • Enhancement #2685: Enable federated account access

    #2685

  • Enhancement #1787: Add support for HTTP TPC

    We have added support for HTTP Third Party Copy. This allows remote data transfers between
    storages managed by either two different reva servers, or a reva server and a Grid
    (WLCG/ESCAPE) site server.

    Such remote transfers are expected to be driven by
    GFAL, the underlying library used by
    FTS, and Rucio.

    In addition, the oidcmapping package has been refactored to support the standard OIDC use
    cases as well when no mapping is defined.

    #1787
    #2007

  • Enhancement #2799: Add flag to enable unrestriced listing of spaces

    Listing spaces now only returns all spaces when the user has the permissions and it was
    explicitly requested. The default will only return the spaces the current user has access to.

    #2799

  • Enhancement #2560: Mentix PromSD extensions

    The Mentix Prometheus SD scrape targets are now split into one file per service type, making
    health checks configuration easier. Furthermore, the local file connector for mesh data and
    the site registration endpoint have been dropped, as they aren't needed anymore.

    #2560

  • Enhancement #2741: Meta path for user

    We've added support for requesting the meta-path-for-user via a propfind to the
    dav/meta/<id> endpoint.

    #2741
    #2793
    https://doc.owncloud.com/server/next/developer_manual/webdav_api/meta.html

  • Enhancement #2613: Externalize custom mime types configuration for storage providers

    Added ability to configure custom mime types in an external JSON file, such that it can be reused
    when many storage providers are deployed at the same time.

    #2613

  • 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 #2696: Preferences driver refactor and cbox sql implementation

    This PR uses the updated CS3APIs which accepts a namespace in addition to a single string key to
    recognize a user preference. It also refactors the GRPC service to support multiple drivers
    and adds the cbox SQL implementation.

    #2696

  • Enhancement #2052: New CS3API datatx methods

    CS3 datatx pull model methods: PullTransfer, RetryTransfer, ListTransfers Method
    CreateTransfer removed.

    #2052

  • Enhancement #2743: Add capability for public link single file edit

    It is now possible to share a single file by link with edit permissions. Therefore we need a
    public share capability to enable that feature in the clients. At the same time we improved the
    WebDAV permissions for public links.

    #2743

  • Enhancement #2738: Site accounts site-global settings

    This PR extends the site accounts service by adding site-global settings. These are used to
    store test user credentials that are in return used by our BBE port to perform CS3API-specific
    health checks.

    #2738

  • Enhancement #2672: Further Site Accounts improvements

    Yet another PR to update the site accounts (and Mentix): New default site ID; Include service
    type in alerts; Naming unified; Remove obsolete stuff.

    #2672

  • Enhancement #2549: Site accounts improvements

    This PR improves the site accounts: - Removed/hid API key stuff - Added quick links to the main
    panel - Made alert notifications mandatory

    #2549

  • Enhancement #2795: Add feature flags "projects" and "share_jail" to spaces capability

    #2795

  • Enhancement #2514: Reuse ocs role objects in other drivers

    #2514

  • Enhancement #2781: In memory user provider

    We added an in memory implementation for the user provider that reads the users from the
    mapstructure passed in.

    #2781

  • Enhancement #2752: Refactor the rest user and group provider drivers

    We now maintain our own cache for all user and group data, and periodically refresh it. A redis
    server now becomes a necessary dependency, whereas it was optional previously.

    #2752

v2.2.0
75e4529
Compare
Choose a tag to compare

Changelog for reva 2.2.0 (2022-04-12)

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

Summary

  • Fix #3373: Fix the permissions attribute in propfind responses
  • Fix #2721: Fix locking and public link scope checker to make the WOPI server work
  • Fix #2668: Minor cleanup
  • Fix #2692: Ensure that the host in the ocs config endpoint has no protocol
  • Fix #2709: Decomposed FS: return precondition failed if already locked
  • Chg #2687: Allow link with no or edit permission
  • Chg #2658: Small clean up of the ocdav code
  • Enh #2691: Decomposed FS: return a reference to the parent
  • Enh #2708: Rework LDAP configuration of user and group providers
  • Enh #2665: Add embeddable ocdav go micro service
  • Enh #2715: Introduced quicklinks
  • Enh #3370: Enable all spaces members to list public shares
  • Enh #3370: Enable space members to list shares inside the space
  • Enh #2717: Add definitions for user and group events

Details

  • Bugfix #3373: Fix the permissions attribute in propfind responses

    Fixed the permissions that are returned when doing a propfind on a project space.

    owncloud/ocis#3373
    #2713

  • Bugfix #2721: Fix locking and public link scope checker to make the WOPI server work

    We've fixed the locking implementation to use the CS3api instead of the temporary opaque
    values. We've fixed the scope checker on public links to allow the OpenInApp actions.

    These fixes have been done to use the cs3org/wopiserver with REVA edge.

    #2721

  • Bugfix #2668: Minor cleanup

    • The chunk_folder config option is unused - Prevent a panic when looking up spaces

    #2668

  • Bugfix #2692: Ensure that the host in the ocs config endpoint has no protocol

    We've fixed the host info in the ocs config endpoint so that it has no protocol, as ownCloud 10
    doesn't have it.

    #2692
    owncloud/ocis#3113

  • Bugfix #2709: Decomposed FS: return precondition failed if already locked

    We've fixed the return code from permission denied to precondition failed if a user tries to
    lock an already locked file.

    #2709

  • Change #2687: Allow link with no or edit permission

    Allow the creation of links with no permissions. These can be used to navigate to a file that a
    user has access to. Allow setting edit permission on single file links (create and delete are
    still blocked) Introduce endpoint to get information about a given token

    #2687

  • Change #2658: Small clean up of the ocdav code

    Cleaned up the ocdav code to make it more readable and in one case a bit faster.

    #2658

  • Enhancement #2691: Decomposed FS: return a reference to the parent

    We've implemented the changes from cs3org/cs3apis#167 in the DecomposedFS, so that a stat on a
    resource always includes a reference to the parent of the resource.

    #2691

  • Enhancement #2708: Rework LDAP configuration of user and group providers

    We reworked to LDAP configuration of the LDAP user and group provider to share a common
    configuration scheme. Additionally the LDAP configuration no longer relies on templating
    LDAP filters in the configuration which is error prone and can be confusing. Additionally the
    providers are now somewhat more flexible about the group membership schema. Instead of only
    supporting RFC2307 (posixGroup) style groups. It's now possible to also use standard LDAP
    groups (groupOfName/groupOfUniqueNames) which track group membership by DN instead of
    username (the behaviour is switched automatically depending on the group_objectclass
    setting).

    The new LDAP configuration basically looks this:

    insecure=true user_base_dn="ou=testusers,dc=owncloud,dc=com"
    group_base_dn="ou=testgroups,dc=owncloud,dc=com" user_filter=""
    user_objectclass="posixAccount" group_filter="" group_objectclass="posixGroup"
    bind_username="cn=admin,dc=owncloud,dc=com" bind_password="admin"
    idp="http://localhost:20080"
    
    [grpc.services.userprovider.drivers.ldap.user_schema] id="entryuuid"
    displayName="displayName" userName="cn"
    
    [grpc.services.userprovider.drivers.ldap.group_schema] id="entryuuid"
    displayName="cn" groupName="cn" member="memberUID" ```
    
    `uri` defines the LDAP URI of the destination Server
    
    `insecure` allows to disable TLS Certifictate Validation (for development setups)
    
    `user_base_dn`/`group_base_dn` define the search bases for users and groups
    
    `user_filter`/`group_filter` allow to define additional LDAP filter of users and groups.
    This could be e.g. `(objectclass=owncloud)` to match for an additional objectclass.
    
    `user_objectclass`/`group_objectclass` define the main objectclass of Users and Groups.
    These are used to construct the LDAP filters
    
    `bind_username`/`bind_password` contain the authentication information for the LDAP
    connections
    
    The `user_schema` and `group_schema` sections define the mapping from CS3 user/group
    attributes to LDAP Attributes
    
    https://github.com/cs3org/reva/issues/2122
    https://github.com/cs3org/reva/issues/2124
    https://github.com/cs3org/reva/pull/2708
    
  • Enhancement #2665: Add embeddable ocdav go micro service

    The new pkg/micro/ocdav package implements a go micro compatible version of the ocdav
    service.

    #2665

  • Enhancement #2715: Introduced quicklinks

    We now support Quicklinks. When creating a link with flag "quicklink=true", no new link will be
    created when a link already exists.

    #2715

  • Enhancement #3370: Enable all spaces members to list public shares

    Enhanced the json and cs3 public share manager so that it lists shares in spaces for all members.

    owncloud/ocis#3370
    #2697

  • Enhancement #3370: Enable space members to list shares inside the space

    If there are shared resources in a space then all members are allowed to see those shares. The
    json share manager was enhanced to check if the user is allowed to see a share by checking the
    grants on a resource.

    owncloud/ocis#3370
    #2674
    #2710

  • Enhancement #2717: Add definitions for user and group events

    Enhance the events package with definitions for user and group events.

    #2717
    #2724

v2.1.0
d0e65a6
Compare
Choose a tag to compare

Changelog for reva 2.1.0 (2022-03-29)

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

Summary

  • Fix #2636: Delay reconnect log for events
  • Fix #2645: Avoid warning about missing .flock files
  • Fix #2625: Fix locking on publik links and the decomposed filesystem
  • Fix #2643: Emit linkaccessfailed event when share is nil
  • Fix #2646: Replace public mountpoint fileid with grant fileid in ocdav
  • Fix #2612: Adjust the scope handling to support the spaces architecture
  • Fix #2621: Send events only if response code is OK
  • Chg #2574: Switch NATS backend
  • Chg #2667: Allow LDAP groups to have no gidNumber
  • Chg #3233: Improve quota handling
  • Chg #2600: Use the cs3 share api to manage spaces
  • Enh #2644: Add new public share manager
  • Enh #2626: Add new share manager
  • Enh #2624: Add etags to virtual spaces
  • Enh #2639: File Events
  • Enh #2627: Add events for sharing action
  • Enh #2664: Add grantID to mountpoint
  • Enh #2622: Allow listing shares in spaces via the OCS API
  • Enh #2623: Add space aliases
  • Enh #2647: Add space specific events
  • Enh #3345: Add the spaceid to propfind responses
  • Enh #2616: Add etag to spaces response
  • Enh #2628: Add spaces aware trash-bin API

Details

  • Bugfix #2636: Delay reconnect log for events

    Print reconnect information log only when reconnect time is bigger than a second

    #2636

  • Bugfix #2645: Avoid warning about missing .flock files

    These flock files appear randomly because of file locking. We can savely ignore them.

    #2645

  • Bugfix #2625: Fix locking on publik links and the decomposed filesystem

    We've fixed the behavior of locking on the decomposed filesystem, so that now app based locks
    can be modified user independently (needed for WOPI integration). Also we added a check, if a
    lock is already expired and if so, we lazily delete the lock. The InitiateUploadRequest now
    adds the Lock to the upload metadata so that an upload to an locked file is possible.

    We'v added the locking api requests to the public link scope checks, so that locking also can be
    used on public links (needed for WOPI integration).

    #2625

  • Bugfix #2643: Emit linkaccessfailed event when share is nil

    The code no longer panics when a link access failed event has no share.

    #2643

  • Bugfix #2646: Replace public mountpoint fileid with grant fileid in ocdav

    We now show the same resoucre id for resources when accessing them via a public links as when
    using a logged in user. This allows the web ui to start a WOPI session with the correct resource
    id.

    #2635
    #2646

  • Bugfix #2612: Adjust the scope handling to support the spaces architecture

    The scope authentication interceptors weren't updated to the spaces architecture and
    couldn't authenticate some requests.

    #2612

  • Bugfix #2621: Send events only if response code is OK

    Before events middleware was sending events also when the resulting status code was not OK.
    This is clearly a bug.

    #2621

  • Change #2574: Switch NATS backend

    We've switched the NATS backend from Streaming to JetStream, since NATS Streaming is
    depreciated.

    #2574

  • Change #2667: Allow LDAP groups to have no gidNumber

    Similar to the user-provider allow a group to have no gidNumber. Assign a default in that case.

    #2667

  • Change #3233: Improve quota handling

    GetQuota now returns 0 when no quota was set instead of the disk size. Also added a new return
    value for the remaining space which will either be quota - used bytes or if no quota was set the
    free disk size.

    owncloud/ocis#3233
    #2666
    #2688

  • Change #2600: Use the cs3 share api to manage spaces

    We now use the cs3 share Api to manage the space roles. We do not send the request to the share
    manager, the permissions are stored in the storage provider

    #2600
    #2620
    #2687

  • Enhancement #2644: Add new public share manager

    We added a new public share manager which uses the new metadata storage backend for persisting
    the public share information.

    #2644

  • Enhancement #2626: Add new share manager

    We added a new share manager which uses the new metadata storage backend for persisting the
    share information.

    #2626

  • Enhancement #2624: Add etags to virtual spaces

    The shares storage provider didn't include the etag in virtual spaces like the shares jail or
    mountpoints.

    #2624

  • Enhancement #2639: File Events

    Adds file based events. See pkg/events/files.go for full list

    #2639

  • Enhancement #2627: Add events for sharing action

    Includes lifecycle events for shares and public links doesn't include federated sharing
    events for now see full list of events in pkg/events/types.go

    #2627

  • Enhancement #2664: Add grantID to mountpoint

    We distinguish between the mountpoint of a share and the grant where the original file is
    located on the storage.

    #2664

  • Enhancement #2622: Allow listing shares in spaces via the OCS API

    Added a space_ref parameter to the list shares endpoints so that one can list shares inside of
    spaces.

    #2622

  • Enhancement #2623: Add space aliases

    Space aliases can be used to resolve spaceIDs in a client.

    #2623

  • Enhancement #2647: Add space specific events

    See pkg/events/spaces.go for full list

    #2647

  • Enhancement #3345: Add the spaceid to propfind responses

    Added the spaceid to propfind responses so that clients have the necessary data to send
    subsequent requests.

    owncloud/ocis#3345
    #2657

  • Enhancement #2616: Add etag to spaces response

    Added the spaces etag to the response when listing spaces.

    #2616

  • Enhancement #2628: Add spaces aware trash-bin API

    Added the webdav trash-bin endpoint for spaces.

    #2628

v2.0.0
282bc4b
Compare
Choose a tag to compare

Changelog for reva 2.0.0 (2022-03-03)

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

Summary

  • Fix #2457: Do not swallow error
  • Fix #2422: Handle non existing spaces correctly
  • Fix #2327: Enable changelog on edge branch
  • Fix #2370: Fixes for apps in public shares, project spaces for EOS driver
  • Fix #2464: Pass spacegrants when adding member to space
  • Fix #2430: Fix aggregated child folder id
  • Fix #2348: Make archiver handle spaces protocol
  • Fix #2452: Fix create space error message
  • Fix #2445: Don't handle ids containing "/" in decomposedfs
  • Fix #2285: Accept new userid idp format
  • Fix #2503: Remove the protection from /v?.php/config endpoints
  • Fix #2462: Public shares path needs to be set
  • Fix #2427: Fix registry caching
  • Fix #2298: Remove share refs from trashbin
  • Fix #2433: Fix shares provider filter
  • Fix #2351: Fix Statcache removing
  • Fix #2374: Fix webdav copy of zero byte files
  • Fix #2336: Handle sending all permissions when creating public links
  • Fix #2440: Add ArbitraryMetadataKeys to statcache key
  • Fix #2582: Keep lock structs in a local map protected by a mutex
  • Fix #2372: Make owncloudsql work with the spaces registry
  • Fix #2416: The registry now returns complete space structs
  • Fix #3066: Fix propfind listing for files
  • Fix #2428: Remove unused home provider from config
  • Fix #2334: Revert fix decomposedfs upload
  • Fix #2415: Services should never return transport level errors
  • Fix #2419: List project spaces for share recipients
  • Fix #2501: Fix spaces stat
  • Fix #2432: Use space reference when listing containers
  • Fix #2572: Wait for nats server on middleware start
  • Fix #2454: Fix webdav paths in PROPFINDS
  • Chg #2329: Activate the statcache
  • Chg #2596: Remove hash from public link urls
  • Chg #2495: Remove the ownCloud storage driver
  • Chg #2527: Store space attributes in decomposedFS
  • Chg #2581: Update hard-coded status values
  • Chg #2524: Use description during space creation
  • Chg #2554: Shard nodes per space in decomposedfs
  • Chg #2576: Harden xattrs errors
  • Chg #2436: Replace template in GroupFilter for UserProvider with a simple string
  • Chg #2429: Make archiver id based
  • Chg #2340: Allow multiple space configurations per provider
  • Chg #2396: The ocdav handler is now spaces aware
  • Chg #2349: Require ListRecycle when listing trashbin
  • Chg #2353: Reduce log output
  • Chg #2542: Do not encode webDAV ids to base64
  • Chg #2519: Remove the auto creation of the .space folder
  • Chg #2394: Remove logic from gateway
  • Chg #2023: Add a sharestorageprovider
  • Chg #2234: Add a spaces registry
  • Chg #2339: Fix static registry regressions
  • Chg #2370: Fix static registry regressions
  • Chg #2354: Return not found when updating non existent space
  • Chg #2589: Remove deprecated linter modules
  • Chg #2016: Move wrapping and unwrapping of paths to the storage gateway
  • Enh #2591: Set up App Locks with basic locks
  • Enh #1209: Reva CephFS module v0.2.1
  • Enh #2511: Error handling cleanup in decomposed FS
  • Enh #2516: Cleaned up some code
  • Enh #2512: Consolidate xattr setter and getter
  • Enh #2341: Use CS3 permissions API
  • Enh #2343: Allow multiple space type fileters on decomposedfs
  • Enh #2460: Add locking support to decomposedfs
  • Enh #2540: Refactored the xattrs package in the decomposedfs
  • Enh #2463: Do not log whole nodes
  • Enh #2350: Add file locking methods to the storage and filesystem interfaces
  • Enh #2379: Add new file url of the app provider to the ocs capabilities
  • Enh #2369: Implement TouchFile from the CS3apis
  • Enh #2385: Allow to create new files with the app provider on public links
  • Enh #2397: Product field in OCS version
  • Enh #2393: Update tus/tusd to version 1.8.0
  • Enh #2522: Introduce events
  • Enh #2528: Use an exclcusive write lock when writing multiple attributes
  • Enh #2595: Add integration test for the groupprovider
  • Enh #2439: Ignore handled errors when creating spaces
  • Enh #2500: Invalidate listproviders cache
  • Enh #2345: Don't assume that the LDAP groupid in reva matches the name
  • Enh #2525: Allow using AD UUID as userId values
  • Enh #2584: Allow running userprovider integration tests for the LDAP driver
  • Enh #2585: Add metadata storage layer and indexer
  • Enh #2163: Nextcloud-based share manager for pkg/ocm/share
  • Enh #2278: OIDC driver changes for lightweight users
  • Enh #2315: Add new attributes to public link propfinds
  • Enh #2431: Delete shares when purging spaces
  • Enh #2434: Refactor ocdav into smaller chunks
  • Enh #2524: Add checks when removing space members
  • Enh #2457: Restore spaces that were previously deleted
  • Enh #2498: Include grants in list storage spaces response
  • Enh #2344: Allow listing all storage spaces
  • Enh #2547: Add an if-match check to the storage provider
  • Enh #2486: Update cs3apis to include lock api changes
  • Enh #2526: Upgrade ginkgo to v2

Details

  • Bugfix #2457: Do not swallow error

    Decomposedfs not longer swallows errors when creating a node fails.

    #2457

  • Bugfix #2422: Handle non existing spaces correctly

    When looking up a space by id we returned the wrong status code.

    #2422

  • Bugfix #2327: Enable changelog on edge branch

    We added a branch flag to the tools/check-changelog/main.go to fix changelog checks on
    the edge branch.

    #2327

  • Bugfix #2370: Fixes for apps in public shares, project spaces for EOS driver

    #2370

  • Bugfix #2464: Pass spacegrants when adding member to space

    When creating a space grant there should not be created a new space. Unfortunately SpaceGrant
    didn't work when adding members to a space. Now a value is placed in the ctx of the
    storageprovider on which decomposedfs reacts

    #2464

  • Bugfix #2430: Fix aggregated child folder id

    Propfind now returns the correct id and correctly aggregates the mtime and etag.

    #2430

  • Bugfix #2348: Make archiver handle spaces protocol

    The archiver can now handle the spaces protocol

    #2348

  • Bugfix #2452: Fix create space error message

    Create space no longer errors with list spaces error messages.

    #2452

  • Bugfix #2445: Don't handle ids containing "/" in decomposedfs

    The storageprovider previously checked all ids without checking their validity this lead to
    flaky test because it shouldn't check ids that are used from the public storage provider

    #2445

  • Bugfix #2285: Accept new userid idp format

    The format for userid idp changed and
    this broke the ocmd
    tutorial

    This PR makes the provider authorizer interceptor accept both the old and the new string
    format.

    #2285
    #2285
    See
    and

  • Bugfix #2503: Remove the protection from /v?.php/config endpoints

    We've removed the protection from the "/v1.php/config" and "/v2.php/config" endpoints to be
    API compatible with ownCloud 10.

    #2503
    owncloud/ocis#1338

  • Bugfix #2462: Public shares path needs to be set

    We need to set the relative path to the space root for public link shares to identify them in the
    shares list.

    owncloud/ocis#2462
    #2580

  • Bugfix #2427: Fix registry caching

    We now cache space lookups per user.

    #2427

  • Bugfix #2298: Remove share refs from trashbin

    #2298

  • Bugfix #2433: Fix shares provider filter

    The shares storage provider now correctly filters space types

    #2433

  • Bugfix #2351: Fix Statcache removing

    Removing from statcache didn't work correctly with different setups. Unified and fixed

    #2351

  • Bugfix #2374: Fix webdav copy of zero byte files

    We've fixed the webdav copy action of zero byte files, which was not performed because the
    webdav api assumed, that zero byte uploads are created when initiating the upload, which was
    recently removed from all storage drivers. Therefore the webdav api also uploads zero byte
    files after initiating the upload.

    #2374
    #2309

  • Bugfix #2336: Handle sending all permissions when creating public links

    For backwards compatability we now reduce permissions to readonly when a create public link
    carries all permissions.

    #2336
    owncloud/ocis#1269

  • Bugfix #2440: Add ArbitraryMetadataKeys to statcache key

    Otherwise stating with and without them would return the same result (because it is cached)

    #2440

  • Bugfix #2582: Keep lock structs in a local map protected by a mutex

    Make sure that only one go routine or process can get the lock.

    #2582

  • Bugfix #2372: Make owncloudsql work with the spaces registry

    Owncloudsql now works properly with the spaces registry.

    #2372

  • Bugfix #2416: The registry now returns complete space structs

    We now return the complete space info, including name, path, owner, etc. instead of only path
    and id.

    #2416

  • Bugfix #3066: Fix propfind listing for files

    When doing a propfind for a file the result contained the files twice.

    owncloud/ocis#3066
    #2506

  • Bugfix #2428: Remove unused home provider from config

    The spaces registry does not use a home provider config.

    #2428

  • Bugfix #2334: Revert fix decomposedfs upload

    Reverting #2330 to fix it properly

    #2334

  • Bugfix #2415: Services should never return transport level errors

    The CS3 API adopted the grpc error codes from the google grpc status
    package
    .
    It also separates transport level errors from application level errors on purpose. This
    allows sending CS3 messages over protocols other than GRPC. To keep that seperation, the
    server side must always return nil, even though the code generation for go produces function
    signatures for rpcs with an error return property. That allows clients to clearly
    distinguish between transport level errors indicated by err != nil the error and
    application level errors by checking the status code.

    #2415

  • Bugfix #2419: List project spaces for share recipients

    The sharing handler now uses the ListProvider call on the registry when sharing by reference.
    Furthermore, the decomposedfs now checks permissions on the root of a space so that a space is
    listed for users that have access to a space.

    #2419

  • Bugfix #2501: Fix spaces stat

    When stating a space e.g. the Share Jail and that space contains another space, in this case a
    share then the stat would sometimes get the sub space instead of the Share Jail itself.

    #2501

  • Bugfix #2432: Use space reference when listing containers

    The propfind handler now uses the reference for a space to make lookups relative.

    #2432

  • Bugfix #2572: Wait for nats server on middleware start

    Use a retry mechanism to connect to the nats server when it is not ready yet

    #2572

  • Bugfix #2454: Fix webdav paths in PROPFINDS

    The WebDAV Api was handling paths on spaces propfinds in the wrong way. This has been fixed in the
    WebDAV layer.

    #2454

  • Change #2329: Activate the statcache

    Activates the cache of stat request/responses in the gateway.

    #2329

  • Change #2596: Remove hash from public link urls

    Public link urls do not contain the hash anymore, this is needed to support the ocis and web
    history mode.

    #2596
    owncloud/ocis#3109
    owncloud/web#6363

  • Change #2495: Remove the ownCloud storage driver

    We've removed the ownCloud storage driver because it was no longer maintained after the
    ownCloud SQL storage driver was added.

    If you have been using the ownCloud storage driver, please switch to the ownCloud SQL storage
    driver which brings you more features and is under active maintenance.

    #2495

  • Change #2527: Store space attributes in decomposedFS

    We need to store more space attributes in the storage. This implements extended space
    attributes in the decomposedFS

    #2527

  • Change #2581: Update hard-coded status values

    The hard-coded version and product values have been updated to be consistent in all places in
    the code.

    #2581

  • Change #2524: Use description during space creation

    We can now use a space description during space creation. We also fixed a bug in the spaces roles.
    Co-owners are now maintainers.

    #2524

  • Change #2554: Shard nodes per space in decomposedfs

    The decomposedfs changas the on disk layout to shard nodes per space.

    #2554

  • Change #2576: Harden xattrs errors

    Unwrap the error to get the root error.

    #2576

  • Change #2436: Replace template in GroupFilter for UserProvider with a simple string

    Previously the "groupfilter" configuration for the UserProvider expected a go-template
    value (based of of an userpb.UserId as it's input). And it assumed we could run a single LDAP
    query to get all groups a user is member of by specifying the userid. However most LDAP Servers
    store the GroupMembership by either username (e.g. in memberUID Attribute) or by the user's DN
    (e.g. in member/uniqueMember).

    This change removes the userpb.UserId template processing from the groupfilter and replaces
    it with a single string (the username) to cleanup the config a bit. Existing configs need to be
    update to replace the go template references in groupfilter (e.g. {{.}} or
    {{.OpaqueId}}) with {{query}}.

    #2436

  • Change #2429: Make archiver id based

    The archiver now uses ids to walk the tree instead of paths

    #2429

  • Change #2340: Allow multiple space configurations per provider

    The spaces registry can now use multiple space configurations to allow personal and project
    spaces on the same provider

    #2340

  • Change #2396: The ocdav handler is now spaces aware

    It will use LookupStorageSpaces and make only relative requests to the gateway. Temp comment

    #2396

  • Change #2349: Require ListRecycle when listing trashbin

    Previously there was no check, so anyone could list anyones trash

    #2349

  • Change #2353: Reduce log output

    Reduced log output. Some errors or warnings were logged multiple times or even unnecesarily.

    #2353

  • Change #2542: Do not encode webDAV ids to base64

    We removed the base64 encoding of the IDs and use the format ! with a !
    delimiter. As a reserved delimiter it is URL safe. The IDs will be XML and JSON encoded as
    necessary.

    #2542
    #2558

  • Change #2519: Remove the auto creation of the .space folder

    We removed the auto creation of the .space folder because we don't develop this feature
    further.

    #2519

  • Change #2394: Remove logic from gateway

    The gateway will now hold no logic except forwarding the requests to other services.

    #2394

  • Change #2023: Add a sharestorageprovider

    This PR adds a ShareStorageProvider which enables us to get rid of a lot of special casing in
    other parts of the code. It also fixes several issues regarding shares and group shares.

    #2023

  • Change #2234: Add a spaces registry

    Spaces registry is supposed to manage spaces. Read
    pkg/storage/registry/spaces/Readme.md for full details

    #2234

  • Change #2339: Fix static registry regressions

    We fixed some smaller issues with using the static registry which were introduced with the
    spaces registry changes.

    #2339

  • Change #2370: Fix static registry regressions

    We fixed some smaller issues with using the static registry which were introduced with the
    spaces registry changes.

    #2370

  • Change #2354: Return not found when updating non existent space

    If a spaceid of a space which is updated doesn't exist, handle it as a not found error.

    #2354

  • Change #2589: Remove deprecated linter modules

    Replaced the deprecated linter modules with the recommended ones.

    #2589

  • Change #2016: Move wrapping and unwrapping of paths to the storage gateway

    We've moved the wrapping and unwrapping of reference paths to the storage gateway so that the
    storageprovider doesn't have to know its mount path.

    #2016

  • Enhancement #2591: Set up App Locks with basic locks

    To set up App Locks basic locks are used now

    #2591

  • Enhancement #1209: Reva CephFS module v0.2.1

    #1209

  • Enhancement #2511: Error handling cleanup in decomposed FS

    • Avoid inconsensitencies by cleaning up actions in case of err

    #2511

  • Enhancement #2516: Cleaned up some code

    • Reduced type conversions []byte <-> string - pre-compile chunking regex

    #2516

  • Enhancement #2512: Consolidate xattr setter and getter

    • Consolidate all metadata Get's and Set's to central functions. - Cleaner code by reduction of
      casts - Easier to hook functionality like indexing

    #2512

  • Enhancement #2341: Use CS3 permissions API

    Added calls to the CS3 permissions API to the decomposedfs in order to check the user
    permissions.

    #2341

  • Enhancement #2343: Allow multiple space type fileters on decomposedfs

    The decomposedfs driver now evaluates multiple space type filters when listing storage
    spaces.

    #2343

  • Enhancement #2460: Add locking support to decomposedfs

    The decomposedfs now implements application level locking

    #2460

  • Enhancement #2540: Refactored the xattrs package in the decomposedfs

    The xattrs package now uses the xattr.ENOATTR instead of os.ENODATA or os.ENOATTR to check
    attribute existence.

    #2540
    #2541

  • Enhancement #2463: Do not log whole nodes

    It turns out that logging whole node objects is very expensive and also spams the logs quite a
    bit. Instead we just log the node ID now.

    #2463

  • Enhancement #2350: Add file locking methods to the storage and filesystem interfaces

    We've added the file locking methods from the CS3apis to the storage and filesystem
    interfaces. As of now they are dummy implementations and will only return "unimplemented"
    errors.

    #2350
    cs3org/cs3apis#160

  • Enhancement #2379: Add new file url of the app provider to the ocs capabilities

    We've added the new file capability of the app provider to the ocs capabilities, so that clients
    can discover this url analogous to the app list and file open urls.

    #2379
    owncloud/ocis#2884
    owncloud/web#5890 (comment)

  • Enhancement #2369: Implement TouchFile from the CS3apis

    We've updated the CS3apis and implemented the TouchFile method.

    #2369
    cs3org/cs3apis#154

  • Enhancement #2385: Allow to create new files with the app provider on public links

    We've added the option to create files with the app provider on public links.

    #2385

  • Enhancement #2397: Product field in OCS version

    We've added a new field to the OCS Version, which is supposed to announce the product name. The
    web ui as a client will make use of it to make the backend product and version available (e.g. for
    easier bug reports).

    #2397

  • Enhancement #2393: Update tus/tusd to version 1.8.0

    We've update tus/tusd to version 1.8.0.

    #2393
    #2224

  • Enhancement #2522: Introduce events

    This will introduce events into the system. Events are a simple way to bring information from
    one service to another. Read pkg/events/example and subfolders for more information

    #2522

  • Enhancement #2528: Use an exclcusive write lock when writing multiple attributes

    The xattr package can use an exclusive write lock when writing multiple extended attributes

    #2528

  • Enhancement #2595: Add integration test for the groupprovider

    Some new integration tests were added to cover the groupprovider.

    #2595

  • Enhancement #2439: Ignore handled errors when creating spaces

    The CreateStorageSpace no longer logs all error cases with error level logging

    #2439

  • Enhancement #2500: Invalidate listproviders cache

    We now invalidate the related listproviders cache entries when updating or deleting a storage
    space.

    #2500

  • Enhancement #2345: Don't assume that the LDAP groupid in reva matches the name

    This allows using attributes like e.g. entryUUID or any custom id attribute as the id for
    groups.

    #2345

  • Enhancement #2525: Allow using AD UUID as userId values

    Active Directory UUID attributes (like e.g. objectGUID) use the LDAP octectString Syntax. In
    order to be able to use them as userids in reva, they need to be converted to their string
    representation.

    #2525

  • Enhancement #2584: Allow running userprovider integration tests for the LDAP driver

    We extended the integration test suite for the userprovider to allow running it with an LDAP
    server.

    #2584

  • Enhancement #2585: Add metadata storage layer and indexer

    We ported over and enhanced the metadata storage layer and indexer from ocis-pkg so that it can
    be used by reva services as well.

    #2585

  • 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 #2278: OIDC driver changes for lightweight users

    #2278

  • 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 #2431: Delete shares when purging spaces

    Implemented the second step of the two step spaces delete process. The first step is marking the
    space as deleted, the second step is actually purging the space. During the second step all
    shares, including public shares, in the space will be deleted. When deleting a space the blobs
    are currently not yet deleted since the decomposedfs will receive some changes soon.

    #2431
    #2458

  • Enhancement #2434: Refactor ocdav into smaller chunks

    That increases code clarity and enables testing.

    #2434

  • Enhancement #2524: Add checks when removing space members

    • Removed owners from project spaces - Prevent deletion of last space manager - Viewers and
      editors can always be deleted - Managers can only be deleted when there will be at least one
      remaining

    #2524

  • Enhancement #2457: Restore spaces that were previously deleted

    After the first step of the two step delete process an admin can decide to restore the space
    instead of deleting it. This will undo the deletion and all files and shares are accessible
    again

    #2457

  • Enhancement #2498: Include grants in list storage spaces response

    Added the grants to the response of list storage spaces. This allows service clients to show who
    has access to a space.

    #2498

  • Enhancement #2344: Allow listing all storage spaces

    To implement the drives api we now list all spaces when no filter is given. The Provider info will
    not contain any spaces as the client is responsible for looking up the spaces.

    #2344

  • Enhancement #2547: Add an if-match check to the storage provider

    Implement a check for the if-match value in InitiateFileUpload to prevent overwrites of newer
    versions.

    #2547

  • Enhancement #2486: Update cs3apis to include lock api changes

    #2486

  • Enhancement #2526: Upgrade ginkgo to v2

    #2526

Compare
Choose a tag to compare

Changelog for reva 1.18.0 (2022-02-11)

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

Summary

  • Fix #2370: Fixes for apps in public shares, project spaces for EOS driver
  • Fix #2374: Fix webdav copy of zero byte files
  • Fix #2478: Use ocs permission objects in the reva GRPC client
  • Fix #2368: Return wrapped paths for recycled items in storage provider
  • Chg #2354: Return not found when updating non existent space
  • Enh #1209: Reva CephFS module v0.2.1
  • Enh #2341: Use CS3 permissions API
  • Enh #2350: Add file locking methods to the storage and filesystem interfaces
  • Enh #2379: Add new file url of the app provider to the ocs capabilities
  • Enh #2369: Implement TouchFile from the CS3apis
  • Enh #2385: Allow to create new files with the app provider on public links
  • Enh #2397: Product field in OCS version
  • Enh #2393: Update tus/tusd to version 1.8.0
  • Enh #2205: Modify group and user managers to skip fetching specified metadata
  • Enh #2232: Make ocs resource info cache interoperable across drivers
  • Enh #2233: Populate owner data in the ocs and ocdav services
  • Enh #2278: OIDC driver changes for lightweight users

Details

  • Bugfix #2370: Fixes for apps in public shares, project spaces for EOS driver

    #2370

  • Bugfix #2374: Fix webdav copy of zero byte files

    We've fixed the webdav copy action of zero byte files, which was not performed because the
    webdav api assumed, that zero byte uploads are created when initiating the upload, which was
    recently removed from all storage drivers. Therefore the webdav api also uploads zero byte
    files after initiating the upload.

    #2374
    #2309

  • Bugfix #2478: Use ocs permission objects in the reva GRPC client

    There was a bug introduced by differing CS3APIs permission definitions for the same role
    across services. This is a first step in making all services use consistent definitions.

    #2478

  • Bugfix #2368: Return wrapped paths for recycled items in storage provider

    #2368

  • Change #2354: Return not found when updating non existent space

    If a spaceid of a space which is updated doesn't exist, handle it as a not found error.

    #2354

  • Enhancement #1209: Reva CephFS module v0.2.1

    #1209

  • Enhancement #2341: Use CS3 permissions API

    Added calls to the CS3 permissions API to the decomposedfs in order to check the user
    permissions.

    #2341

  • Enhancement #2350: Add file locking methods to the storage and filesystem interfaces

    We've added the file locking methods from the CS3apis to the storage and filesystem
    interfaces. As of now they are dummy implementations and will only return "unimplemented"
    errors.

    #2350
    cs3org/cs3apis#160

  • Enhancement #2379: Add new file url of the app provider to the ocs capabilities

    We've added the new file capability of the app provider to the ocs capabilities, so that clients
    can discover this url analogous to the app list and file open urls.

    #2379
    owncloud/ocis#2884
    owncloud/web#5890 (comment)

  • Enhancement #2369: Implement TouchFile from the CS3apis

    We've updated the CS3apis and implemented the TouchFile method.

    #2369
    cs3org/cs3apis#154

  • Enhancement #2385: Allow to create new files with the app provider on public links

    We've added the option to create files with the app provider on public links.

    #2385

  • Enhancement #2397: Product field in OCS version

    We've added a new field to the OCS Version, which is supposed to announce the product name. The
    web ui as a client will make use of it to make the backend product and version available (e.g. for
    easier bug reports).

    #2397

  • Enhancement #2393: Update tus/tusd to version 1.8.0

    We've update tus/tusd to version 1.8.0.

    #2393
    #2224

  • Enhancement #2205: Modify group and user managers to skip fetching specified metadata

    #2205

  • Enhancement #2232: Make ocs resource info cache interoperable across drivers

    #2232

  • Enhancement #2233: Populate owner data in the ocs and ocdav services

    #2233

  • Enhancement #2278: OIDC driver changes for lightweight users

    #2278

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

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 spaces and virtual views but these should not be sharable.

    #2267

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

    #2252

  • Enhancement #2239: Update toml configs

    We updated the local and drone configurations, cleanad up the example configs and removed the
    reva gen subcommand which was generating outdated config.

    #2239

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

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
    #2100

  • Enhancement #2158: Augment the Id of new spaces

    Newly created spaces were missing the Root reference and the storage id in the space id.

    #2158

  • Enhancement #2085: Make encoding user groups in access tokens configurable

    #2085

  • Enhancement #146: Filter the denial shares (permission = 0) out of

    The Shared-with-me UI view. Also they work regardless whether they are accepted or not,
    therefore there's no point to expose them.

    cs3org/cs3apis#146
    #2072

  • Enhancement #2141: Use golang v1.17

    #2141

  • Enhancement #2053: Safer defaults for TLS verification on LDAP connections

    The LDAP client connections were hardcoded to ignore certificate validation errors. Now
    verification is enabled by default and a new config parameter 'insecure' is introduced to
    override that default. It is also possible to add trusted Certificates by using the new
    'cacert' config paramter.

    #2053

  • Enhancement #2115: Reduce code duplication in LDAP related drivers

    #2115

  • Enhancement #1989: Add redirects from OC10 URL formats

    Added redirectors for ownCloud 10 URLs. This allows users to continue to use their bookmarks
    from ownCloud 10 in ocis.

    #1989

  • Enhancement #2479: Limit publicshare and resourceinfo scope content

    We changed the publicshare and resourceinfo scopes to contain only necessary values. This
    reduces the size of the resulting token and also limits the amount of data which can be leaked.

    owncloud/ocis#2479
    #2093

  • Enhancement #2071: Implement listing favorites via the dav report API

    Added filter-files to the dav REPORT API. This enables the listing of favorites.

    #2071
    #2086

  • Enhancement #2091: Nextcloud share managers

    Share manager that uses Nextcloud as a backend

    #2091

  • Enhancement #2070: More unit tests for the Nextcloud storage provider

    Adds more unit tests for the Nextcloud storage provider.

    #2070

  • Enhancement #2087: More unit tests for the Nextcloud auth and user managers

    Adds more unit tests for the Nextcloud auth manager and the Nextcloud user manager

    #2087

  • Enhancement #2075: Make owncloudsql leverage existing filecache index

    When listing folders the SQL query now uses an existing index on the filecache table.

    #2075

  • Enhancement #2050: Add a share types filter to the OCS API

    Added a filter to the OCS API to filter the received shares by type.

    #2050

  • Enhancement #2134: Use space Type from request

    In the decomposedfs we now use the space type from the request when creating a new space.

    #2134

  • Enhancement #2132: Align local tests with drone setup

    We fixed running the tests locally and align it with the drone setup.

    #2132

  • Enhancement #2095: Whitelisting for apps

    AppProvider supported mime types are now overridden in its configuration. A friendly name, a
    description, an extension, an icon and a default app, can be configured in the AppRegistry for
    each mime type.

    #2095

  • Enhancement #2155: Pass an extra query parameter to WOPI /openinapp with a

    Unique and consistent over time user identifier. The Reva token used so far is not consistent
    (it's per session) and also too long.

    #2155
    cs3org/wopiserver#48