@@ -38,6 +38,16 @@ ownCloud admins and users.
3838
3939## Summary
4040
41+ * Security - Sanitize storage connection error messages returned to clients: [#41585](https://github.com/owncloud/core/pull/41585)
42+ * Security - Prevent user enumeration via differential password reset UI: [#41586](https://github.com/owncloud/core/pull/41586)
43+ * Bugfix - Add missing space to mail footer signature delimiter: [#41364](https://github.com/owncloud/core/issues/41364)
44+ * Bugfix - Fix htaccess RewriteBase rules blocking API requests by file extension: [#41418](https://github.com/owncloud/core/issues/41418)
45+ * Bugfix - Fix subadmin email change updating caller's address instead of target's: [#41574](https://github.com/owncloud/core/pull/41574)
46+ * Bugfix - Adjust code to avoid PHP8 messages: [#41597](https://github.com/owncloud/core/pull/41597)
47+ * Bugfix - Support federation between systems in subdirectories: [#41599](https://github.com/owncloud/core/pull/41599)
48+ * Bugfix - Remove owncloud.com/federation link from federated cloud settings: [#41608](https://github.com/owncloud/core/pull/41608)
49+ * Bugfix - Fix JS test isolation bugs exposed by Jasmine 5 random test ordering: [#41616](https://github.com/owncloud/core/pull/41616)
50+ * Bugfix - Decrypt versions and trashbin so encryption can be disabled: [#41623](https://github.com/owncloud/core/issues/41623)
4151* Change - Update M$ Office icons: [#41347](https://github.com/owncloud/core/pull/41347)
4252* Change - No longer store auto loader information in any memory cache: [#41376](https://github.com/owncloud/core/pull/41376)
4353* Change - Update PHP dependencies: [#41450](https://github.com/owncloud/core/pull/41450)
@@ -47,6 +57,115 @@ ownCloud admins and users.
4757
4858## Details
4959
60+ * Security - Sanitize storage connection error messages returned to clients: [#41585](https://github.com/owncloud/core/pull/41585)
61+
62+ The external storage status handler returned raw exception messages including
63+ Guzzle cURL error details such as resolved IP addresses and port numbers in the
64+ JSON response. This allowed authenticated users to distinguish connection states
65+ and map internal network topology. The full exception is now logged server-side
66+ only; a generic message is returned to the client.
67+
68+ https://github.com/owncloud/core/pull/41585
69+
70+ * Security - Prevent user enumeration via differential password reset UI: [#41586](https://github.com/owncloud/core/pull/41586)
71+
72+ The login form showed a "Reset it?" link only when a valid user on a backend
73+ that supports password changes was detected. LDAP users produced a different
74+ response than non-existent users, allowing unauthenticated enumeration of
75+ accounts on those backends. The backend capability check has been removed; the
76+ reset link is now shown uniformly regardless of user existence or backend type.
77+
78+ https://github.com/owncloud/core/pull/41586
79+
80+ * Bugfix - Add missing space to mail footer signature delimiter: [#41364](https://github.com/owncloud/core/issues/41364)
81+
82+ We've fixed the signature delimiter in the email footer templates. The delimiter
83+ on the first line was missing the trailing space required by the signature block
84+ convention (RFC 3676), so mail clients were unable to recognize and collapse the
85+ signature. The delimiter is now correctly written as "-- " (dash-dash-space).
86+
87+ https://github.com/owncloud/core/issues/41364
88+ https://github.com/owncloud/core/pull/41617
89+
90+ * Bugfix - Fix htaccess RewriteBase rules blocking API requests by file extension: [#41418](https://github.com/owncloud/core/issues/41418)
91+
92+ Files whose names end in extensions like .jpg, .png, .svg, .json and others
93+ could not be marked as favorites or have their tags updated via the files API
94+ when htaccess.RewriteBase was configured. The .htaccess rules generated by `occ
95+ maintenance:update:htaccess` used a URI extension check to skip routing through
96+ index.php, which inadvertently blocked API requests to paths like
97+ `/apps/files/api/v1/files/photo.jpg`, returning 405 Method Not Allowed.
98+
99+ The fix replaces the extension-based condition with `RewriteCond
100+ %{REQUEST_FILENAME} !-f`, which correctly routes virtual API paths through
101+ index.php while still serving actual static files directly.
102+
103+ https://github.com/owncloud/core/issues/41418
104+
105+ * Bugfix - Fix subadmin email change updating caller's address instead of target's: [#41574](https://github.com/owncloud/core/pull/41574)
106+
107+ The verification token and confirmation link in the subadmin path of
108+ setMailAddress were associated with the caller's account instead of the target
109+ user's account. Clicking the confirmation link changed the subadmin's email
110+ rather than the intended target's email.
111+
112+ https://github.com/owncloud/core/pull/41574
113+
114+ * Bugfix - Adjust code to avoid PHP8 messages: [#41597](https://github.com/owncloud/core/pull/41597)
115+
116+ Avoid trying to access array offset on false in the encryption storage wrapper.
117+
118+ Handle passing null to normalizeUrl in the federation DbHandler.
119+
120+ https://github.com/owncloud/core/pull/41597
121+
122+ * Bugfix - Support federation between systems in subdirectories: [#41599](https://github.com/owncloud/core/pull/41599)
123+
124+ If a federated server was installed in a subdirectory like:
125+
126+ Mydomain.com/cloud
127+
128+ Then checks to see that the server is up and responding would fail. This problem
129+ has been corrected.
130+
131+ https://github.com/owncloud/core/pull/41599
132+
133+ * Bugfix - Remove owncloud.com/federation link from federated cloud settings: [#41608](https://github.com/owncloud/core/pull/41608)
134+
135+ The "Add to your website" feature in the personal federation settings was
136+ generating a link to https://owncloud.com/federation# which no longer works
137+ after owncloud.com was restructured. The federation Cloud ID is now displayed
138+ directly without linking to the defunct external page.
139+
140+ https://github.com/owncloud/core/pull/41608
141+
142+ * Bugfix - Fix JS test isolation bugs exposed by Jasmine 5 random test ordering: [#41616](https://github.com/owncloud/core/pull/41616)
143+
144+ Several JS test specs left shared singleton state dirty between tests, causing
145+ intermittent failures when Jasmine 5 ran tests in random order. Fixed
146+ OC._currentMenu leak in fileactionsmenuSpec, stale OCA.Files.fileActions
147+ reference causing infinite recursion in files_sharing/appSpec, and stale models
148+ in the OC.SystemTags.collection singleton in systemtagsinfoviewSpec and
149+ systemtagsinputfieldSpec.
150+
151+ https://github.com/owncloud/core/pull/41616
152+
153+ * Bugfix - Decrypt versions and trashbin so encryption can be disabled: [#41623](https://github.com/owncloud/core/issues/41623)
154+
155+ "occ encryption:decrypt-all" only walked the regular "files" folder, leaving the
156+ "encrypted" flag set on entries in "files_versions" and "files_trashbin".
157+ Because "occ encryption:disable" refuses while any file cache row is still
158+ flagged as encrypted, administrators were left unable to disable encryption even
159+ though decrypt-all reported success.
160+
161+ Decrypt-all now also descends into "files_versions" and "files_trashbin", and
162+ the disable command now lists the paths that are still flagged as encrypted
163+ together with a hint on how to clean them up, instead of printing a generic
164+ message.
165+
166+ https://github.com/owncloud/core/issues/41623
167+ https://github.com/owncloud/core/pull/41624
168+
50169* Change - Update M$ Office icons: [#41347](https://github.com/owncloud/core/pull/41347)
51170
52171 Icons have been updated according to the M$ cloud storage partner program
@@ -65,37 +184,56 @@ ownCloud admins and users.
65184
66185 * doctrine/dbal (2.13.9 to 3.10.4)
67186
187+ * firebase/php-jwt (7.0.5 to 7.1.0)
188+
68189 * google/apiclient (v2.19.0 to v2.19.3)
69190
70- * google/apiclient-services (v0.435.0 to v0.441.1 )
191+ * google/apiclient-services (v0.435.0 to v0.445.0 )
71192
72- * google/auth (v1.50.0 to v1.50.1 )
193+ * google/auth (v1.50.0 to v1.51.0 )
73194
74195 * guzzlehttp/psr7 (2.8.0 to 2.10.4)
75196
76- * guzzlehttp/guzzle (7.10.0 to 7.11.0 )
197+ * guzzlehttp/guzzle (7.10.0 to 7.11.1 )
77198
78199 * guzzlehttp/promises (2.3.0 to 2.4.1)
79200
80201 * laravel/serializable-closure (v2.0.10 to v2.0.13)
81202
82- * phpseclib/phpseclib (3.0.49 to 3.0.50 )
203+ * phpseclib/phpseclib (3.0.49 to 3.0.55 )
83204
84205 * pimple/pimple (3.6.1 to 3.6.2)
85206
207+ * sabre/event (5.1.7 to 5.1.8)
208+
86209 * sabre/vobject (4.5.8 to 4.6.0)
87210
88- * symfony/deprecation-contracts (v3.6.0 to v3.7.0 )
211+ * symfony/console (v7.4.7 to v7.4.13 )
89212
90213 * symfony/mailer (v7.4.6 to v7.4.12)
91214
215+ * symfony/process (v7.4.5 to v7.4.13)
216+
217+ * symfony/routing (v7.4.6 to v7.4.13)
218+
219+ * symfony/string (v7.4.6 to v7.4.13)
220+
221+ * symfony/translation (v7.4.6 to v7.4.10)
222+
223+ * symfony/deprecation-contracts (v3.6.0 to v3.7.0)
224+
225+ * symfony/translation-contracts (v3.6.1 to v3.7.0)
226+
92227 https://github.com/owncloud/core/pull/41450
93228 https://github.com/owncloud/core/pull/41477
94229 https://github.com/owncloud/core/pull/41495
95230 https://github.com/owncloud/core/pull/41561
96231 https://github.com/owncloud/core/pull/41564
97232 https://github.com/owncloud/core/pull/41569
98233 https://github.com/owncloud/core/pull/41590
234+ https://github.com/owncloud/core/pull/41613
235+ https://github.com/owncloud/core/pull/41619
236+ https://github.com/owncloud/core/pull/41626
99237
100238* Change - Drop command db:convert-type: [#41451](https://github.com/owncloud/core/pull/41451)
101239
0 commit comments