diff --git a/CHANGELOG.md b/CHANGELOG.md index 92c7538c86..c35ec041db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,44 @@ +Changelog for reva 2.19.8 (2024-09-23) +======================================= + +The following sections list the changes in reva 2.19.8 relevant to +reva users. The changes are ordered by importance. + +Summary +------- + +* Fix #4761: Quotes in dav Content-Disposition header +* Fix #4853: Write upload session info atomically +* Enh #4701: Extend service account permissions + +Details +------- + +* Bugfix #4761: Quotes in dav Content-Disposition header + + We've fixed the the quotes in the dav `Content-Disposition` header. They caused an issue where + certain browsers would decode the quotes and falsely prepend them to the filename. + + https://github.com/owncloud/web/issues/11031 + https://github.com/owncloud/web/issues/11169 + https://github.com/cs3org/reva/pull/4761 + +* Bugfix #4853: Write upload session info atomically + + We now use a lock and atomic write on upload session metadata to prevent empty reads. A virus scan + event might cause the file to be truncated and then a finished event might try to read the file, + just getting an empty string. + + Backport of https://github.com/cs3org/reva/pull/4850 + + https://github.com/cs3org/reva/pull/4853 + +* Enhancement #4701: Extend service account permissions + + Adds AddGrant permisson + + https://github.com/cs3org/reva/pull/4701 + Changelog for reva 2.19.7 (2024-05-13) ======================================= @@ -3958,6 +3999,34 @@ Details https://github.com/cs3org/reva/pull/3083 +Changelog for reva 2.7.1 (2022-07-15) +======================================= + +The following sections list the changes in reva 2.7.1 relevant to +reva users. The changes are ordered by importance. + +Summary +------- + +* Fix #3080: Make dataproviders return more headers +* Enh #3046: Add user filter + +Details +------- + +* Bugfix #3080: Make dataproviders return more headers + + Instead of ocdav doing an additional Stat request we now rely on the dataprovider to return the + necessary metadata information as headers. + + https://github.com/owncloud/reva/issues/3080 + +* Enhancement #3046: Add user filter + + This PR adds the ability to filter spaces by user-id + + https://github.com/cs3org/reva/pull/3046 + Changelog for reva 2.7.0 (2022-07-15) ======================================= @@ -4090,34 +4159,6 @@ Details https://github.com/owncloud/ocis/issues/3073 https://github.com/cs3org/reva/pull/2977 -Changelog for reva 2.7.1 (2022-07-15) -======================================= - -The following sections list the changes in reva 2.7.1 relevant to -reva users. The changes are ordered by importance. - -Summary -------- - -* Fix #3080: Make dataproviders return more headers -* Enh #3046: Add user filter - -Details -------- - -* Bugfix #3080: Make dataproviders return more headers - - Instead of ocdav doing an additional Stat request we now rely on the dataprovider to return the - necessary metadata information as headers. - - https://github.com/owncloud/reva/issues/3080 - -* Enhancement #3046: Add user filter - - This PR adds the ability to filter spaces by user-id - - https://github.com/cs3org/reva/pull/3046 - Changelog for reva 2.6.1 (2022-06-27) ======================================= diff --git a/RELEASE_DATE b/RELEASE_DATE index 59ec632841..772b6b1304 100644 --- a/RELEASE_DATE +++ b/RELEASE_DATE @@ -1 +1 @@ -2024-05-13 \ No newline at end of file +2024-09-23 \ No newline at end of file diff --git a/VERSION b/VERSION index be75f34264..e946730a60 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.19.7 \ No newline at end of file +2.19.8 \ No newline at end of file diff --git a/changelog/unreleased/extend-service-account-permissions-2.md b/changelog/2.19.8_2024-09-23/extend-service-account-permissions-2.md similarity index 100% rename from changelog/unreleased/extend-service-account-permissions-2.md rename to changelog/2.19.8_2024-09-23/extend-service-account-permissions-2.md diff --git a/changelog/unreleased/fix-quotes-in-content-disposition-headers.md b/changelog/2.19.8_2024-09-23/fix-quotes-in-content-disposition-headers.md similarity index 100% rename from changelog/unreleased/fix-quotes-in-content-disposition-headers.md rename to changelog/2.19.8_2024-09-23/fix-quotes-in-content-disposition-headers.md diff --git a/changelog/unreleased/write-upload-sessions-atomically.md b/changelog/2.19.8_2024-09-23/write-upload-sessions-atomically.md similarity index 100% rename from changelog/unreleased/write-upload-sessions-atomically.md rename to changelog/2.19.8_2024-09-23/write-upload-sessions-atomically.md diff --git a/changelog/NOTE.md b/changelog/NOTE.md index ac404b865f..52d995fa2f 100644 --- a/changelog/NOTE.md +++ b/changelog/NOTE.md @@ -1,20 +1,41 @@ -Changelog for reva 2.19.7 (2024-05-13) +Changelog for reva 2.19.8 (2024-09-23) ======================================= -The following sections list the changes in reva 2.19.7 relevant to +The following sections list the changes in reva 2.19.8 relevant to reva users. The changes are ordered by importance. Summary ------- -* Enh #4673: Add virus filter to list uploads sessions +* Fix #4761: Quotes in dav Content-Disposition header +* Fix #4853: Write upload session info atomically +* Enh #4701: Extend service account permissions Details ------- -* Enhancement #4673: Add virus filter to list uploads sessions +* Bugfix #4761: Quotes in dav Content-Disposition header - Adds a filter for filtering for infected uploads + We've fixed the the quotes in the dav `Content-Disposition` header. They caused an issue where + certain browsers would decode the quotes and falsely prepend them to the filename. - https://github.com/cs3org/reva/pull/4673 + https://github.com/owncloud/web/issues/11031 + https://github.com/owncloud/web/issues/11169 + https://github.com/cs3org/reva/pull/4761 + +* Bugfix #4853: Write upload session info atomically + + We now use a lock and atomic write on upload session metadata to prevent empty reads. A virus scan + event might cause the file to be truncated and then a finished event might try to read the file, + just getting an empty string. + + Backport of https://github.com/cs3org/reva/pull/4850 + + https://github.com/cs3org/reva/pull/4853 + +* Enhancement #4701: Extend service account permissions + + Adds AddGrant permisson + + https://github.com/cs3org/reva/pull/4701 diff --git a/docs/content/en/docs/changelog/2.19.8/_index.md b/docs/content/en/docs/changelog/2.19.8/_index.md new file mode 100644 index 0000000000..0b48144a59 --- /dev/null +++ b/docs/content/en/docs/changelog/2.19.8/_index.md @@ -0,0 +1,50 @@ + +--- +title: "v2.19.8" +linkTitle: "v2.19.8" +weight: 40 +description: > + Changelog for Reva v2.19.8 (2024-09-23) +--- + +Changelog for reva 2.19.8 (2024-09-23) +======================================= + +The following sections list the changes in reva 2.19.8 relevant to +reva users. The changes are ordered by importance. + +Summary +------- + +* Fix #4761: Quotes in dav Content-Disposition header +* Fix #4853: Write upload session info atomically +* Enh #4701: Extend service account permissions + +Details +------- + +* Bugfix #4761: Quotes in dav Content-Disposition header + + We've fixed the the quotes in the dav `Content-Disposition` header. They caused an issue where + certain browsers would decode the quotes and falsely prepend them to the filename. + + https://github.com/owncloud/web/issues/11031 + https://github.com/owncloud/web/issues/11169 + https://github.com/cs3org/reva/pull/4761 + +* Bugfix #4853: Write upload session info atomically + + We now use a lock and atomic write on upload session metadata to prevent empty reads. A virus scan + event might cause the file to be truncated and then a finished event might try to read the file, + just getting an empty string. + + Backport of https://github.com/cs3org/reva/pull/4850 + + https://github.com/cs3org/reva/pull/4853 + +* Enhancement #4701: Extend service account permissions + + Adds AddGrant permisson + + https://github.com/cs3org/reva/pull/4701 + diff --git a/docs/content/en/docs/config/grpc/services/storageprovider/_index.md b/docs/content/en/docs/config/grpc/services/storageprovider/_index.md index fe6e717d5f..4fa5683f5c 100644 --- a/docs/content/en/docs/config/grpc/services/storageprovider/_index.md +++ b/docs/content/en/docs/config/grpc/services/storageprovider/_index.md @@ -6,130 +6,130 @@ description: > Configuration for the storageprovider service --- -# _struct: config_ +# _struct: eventconfig_ -{{% dir name="driver" type="string" default="localhome" %}} -The storage driver to be used. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L63) +{{% dir name="nats_address" type="string" default="address of the nats server" %}} + [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L75) {{< highlight toml >}} [grpc.services.storageprovider] -driver = "localhome" +nats_address = "address of the nats server" {{< /highlight >}} {{% /dir %}} -{{% dir name="drivers" type="map[string]map[string]interface{}" default="localhome" %}} - [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L64) +{{% dir name="nats_clusterid" type="string" default="clusterid of the nats server" %}} + [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L76) {{< highlight toml >}} -[grpc.services.storageprovider.drivers.localhome] -root = "/var/tmp/reva/" -share_folder = "/MyShares" -user_layout = "{{.Username}}" - +[grpc.services.storageprovider] +nats_clusterid = "clusterid of the nats server" {{< /highlight >}} {{% /dir %}} -{{% dir name="data_server_url" type="string" default="http://localhost/data" %}} -The URL for the data server. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L65) +{{% dir name="tls_insecure" type="bool" default=Whether to verify the server TLS certificates. %}} + [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L77) {{< highlight toml >}} [grpc.services.storageprovider] -data_server_url = "http://localhost/data" +tls_insecure = Whether to verify the server TLS certificates. {{< /highlight >}} {{% /dir %}} -{{% dir name="expose_data_server" type="bool" default=false %}} -Whether to expose data server. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L66) +{{% dir name="tls_root_ca_cert" type="string" default="The root CA certificate used to validate the server's TLS certificate." %}} + [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L78) {{< highlight toml >}} [grpc.services.storageprovider] -expose_data_server = false +tls_root_ca_cert = "The root CA certificate used to validate the server's TLS certificate." {{< /highlight >}} {{% /dir %}} -{{% dir name="available_checksums" type="map[string]uint32" default=nil %}} -List of available checksums. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L67) +{{% dir name="nats_enable_tls" type="bool" default=events tls switch %}} + [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L79) {{< highlight toml >}} [grpc.services.storageprovider] -available_checksums = nil +nats_enable_tls = events tls switch {{< /highlight >}} {{% /dir %}} -{{% dir name="custom_mimetypes_json" type="string" default="nil" %}} -An optional mapping file with the list of supported custom file extensions and corresponding mime types. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L68) +{{% dir name="nats_username" type="string" default="event stream username" %}} + [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L80) {{< highlight toml >}} [grpc.services.storageprovider] -custom_mimetypes_json = "nil" +nats_username = "event stream username" {{< /highlight >}} {{% /dir %}} -{{% dir name="upload_expiration" type="int64" default=0 %}} -Duration for how long uploads will be valid. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L70) +{{% dir name="nats_password" type="string" default="event stream password" %}} + [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L81) {{< highlight toml >}} [grpc.services.storageprovider] -upload_expiration = 0 +nats_password = "event stream password" {{< /highlight >}} {{% /dir %}} -{{% dir name="events" type="eventconfig" default=0 %}} -Event stream configuration [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L71) +# _struct: config_ + +{{% dir name="driver" type="string" default="localhome" %}} +The storage driver to be used. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L63) {{< highlight toml >}} [grpc.services.storageprovider] -events = 0 +driver = "localhome" {{< /highlight >}} {{% /dir %}} -# _struct: eventconfig_ - -{{% dir name="nats_address" type="string" default="address of the nats server" %}} - [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L75) +{{% dir name="drivers" type="map[string]map[string]interface{}" default="localhome" %}} + [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L64) {{< highlight toml >}} -[grpc.services.storageprovider] -nats_address = "address of the nats server" +[grpc.services.storageprovider.drivers.localhome] +root = "/var/tmp/reva/" +share_folder = "/MyShares" +user_layout = "{{.Username}}" + {{< /highlight >}} {{% /dir %}} -{{% dir name="nats_clusterid" type="string" default="clusterid of the nats server" %}} - [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L76) +{{% dir name="data_server_url" type="string" default="http://localhost/data" %}} +The URL for the data server. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L65) {{< highlight toml >}} [grpc.services.storageprovider] -nats_clusterid = "clusterid of the nats server" +data_server_url = "http://localhost/data" {{< /highlight >}} {{% /dir %}} -{{% dir name="tls_insecure" type="bool" default=Whether to verify the server TLS certificates. %}} - [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L77) +{{% dir name="expose_data_server" type="bool" default=false %}} +Whether to expose data server. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L66) {{< highlight toml >}} [grpc.services.storageprovider] -tls_insecure = Whether to verify the server TLS certificates. +expose_data_server = false {{< /highlight >}} {{% /dir %}} -{{% dir name="tls_root_ca_cert" type="string" default="The root CA certificate used to validate the server's TLS certificate." %}} - [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L78) +{{% dir name="available_checksums" type="map[string]uint32" default=nil %}} +List of available checksums. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L67) {{< highlight toml >}} [grpc.services.storageprovider] -tls_root_ca_cert = "The root CA certificate used to validate the server's TLS certificate." +available_checksums = nil {{< /highlight >}} {{% /dir %}} -{{% dir name="nats_enable_tls" type="bool" default=events tls switch %}} - [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L79) +{{% dir name="custom_mimetypes_json" type="string" default="nil" %}} +An optional mapping file with the list of supported custom file extensions and corresponding mime types. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L68) {{< highlight toml >}} [grpc.services.storageprovider] -nats_enable_tls = events tls switch +custom_mimetypes_json = "nil" {{< /highlight >}} {{% /dir %}} -{{% dir name="nats_username" type="string" default="event stream username" %}} - [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L80) +{{% dir name="upload_expiration" type="int64" default=0 %}} +Duration for how long uploads will be valid. [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L70) {{< highlight toml >}} [grpc.services.storageprovider] -nats_username = "event stream username" +upload_expiration = 0 {{< /highlight >}} {{% /dir %}} -{{% dir name="nats_password" type="string" default="event stream password" %}} - [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L81) +{{% dir name="events" type="eventconfig" default=0 %}} +Event stream configuration [[Ref]](https://github.com/cs3org/reva/tree/master/internal/grpc/services/storageprovider/storageprovider.go#L71) {{< highlight toml >}} [grpc.services.storageprovider] -nats_password = "event stream password" +events = 0 {{< /highlight >}} {{% /dir %}}