Commit graph

16842 commits

Author SHA1 Message Date
Jyrki Gadinger
3183aa0ad0
chore(openmetrics): rename app_info metric to app_enbled
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2026-04-20 11:41:19 +02:00
Jyrki Gadinger
e7b1b69e66
chore(openmetrics): use "app_id" label instead of "app_name"
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2026-04-20 11:38:44 +02:00
Jyrki Gadinger
3e5daac0c5 feat(openmetrics): expose app information per-app
Since exporting the app information that way makes the apps count metric
obsolete I removed it as well.

Resolves #59718

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2026-04-20 11:27:55 +02:00
Kostiantyn Miakshyn
fcb10219d1 fix: Allow num_buckets to be equal as min_bucket
Signed-off-by: Kostiantyn Miakshyn <molodchick@gmail.com>
2026-04-19 18:28:12 +02:00
Julien Veyssier
7f9fdfbe46 fix(upgrade): restore missing apps on upgrade
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2026-04-17 11:34:35 +02:00
Stephen Cuppett
cdaeed02b6 feat(objectstore): Add AWS SSE-KMS encryption support for S3 storage
Add support for Server-Side Encryption with AWS Key Management Service
(SSE-KMS) for S3 object storage. This allows Nextcloud to encrypt data
at rest in S3 using AWS-managed keys.

Key features:
- New config options: sse_kms_enabled and sse_kms_key_id
- Backward compatible with existing SSE-C (customer-provided keys)
- SSE-C takes precedence when both SSE-C and SSE-KMS are configured

Implementation details:
- Added getServerSideEncryptionParameters() method to centralize
  encryption parameter logic for both SSE-C and SSE-KMS
- Updated multipart uploads to use unified encryption parameters
- Added comprehensive PHPUnit tests for SSE-KMS scenarios
- Tested with AWS bucket and KMS keys in us-east-1 region

Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Stephen Cuppett <steve@cuppett.com>
2026-04-16 13:21:53 -04:00
Ferdinand Thiessen
64c1d17c7b
Merge pull request #59360 from nextcloud/fix/sql-tz
fix(db): set session timezone to UTC
2026-04-15 17:46:14 +02:00
Robin Appelman
7a0bf1b447
fix: fix LazyUserFolder::getMountPoint
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-15 16:07:33 +02:00
Kate
5246653b51
Merge pull request #59573 from nextcloud/node-getparent-id-no-submounts 2026-04-15 08:55:08 +02:00
Joas Schilling
5ffa428c64
Merge pull request #59636 from nextcloud/carl/sendRequest-followup
fix(Client): Make class complient with PSR standard
2026-04-15 07:46:08 +02:00
Carl Schwan
dfadafc3c3
Merge pull request #59627 from nextcloud/carl/alternative-login-provider
feat(auth): Add IAlternativeLoginProvider
2026-04-15 01:53:33 +02:00
Carl Schwan
f4cae8c222
feat(auth): Add IAlternativeLoginProvider
IAlternativeLogin has a fatal flaw in that it is not possible to
register multiple alternative login dynamically but only statically.

IAlternativeLoginProvider fixes this limitation as the provider can then
provider multiple IAlternativeLogin.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-04-14 20:21:58 +02:00
Kate
17258107e3
Merge pull request #59628 from nextcloud/fix/wrapper/storage-type 2026-04-14 20:04:49 +02:00
Carl Schwan
9e3f409016
fix(Client): Make class complient with PSR standard
Mark LocalServerException as a ClientExceptionInterface and ensure
buildRequestOptions is called.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-04-14 19:55:12 +02:00
provokateurin
1b0410f333
fix(Wrapper): Type $storage as IStorage
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-04-14 16:09:12 +02:00
provokateurin
5d1e0a6e3a
fix(Wrapper): Always use getWrapperStorage()
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-04-14 16:08:37 +02:00
Sean Molenaar
769198bc32 feat: Implement PSR-18 ClientInterface in IClient
Signed-off-by: Sean Molenaar <sean@seanmolenaar.eu>
2026-04-14 14:47:45 +02:00
Carl Schwan
f0ff73f47c
Merge pull request #59544 from nextcloud/chore/remove-deprecated-methods
Remove long-time deprecated methods
2026-04-14 11:55:24 +02:00
Joas Schilling
ce5e5d4f46
Merge pull request #59600 from nextcloud/bugfix/noid/add-default-limit-restrictions
fix(controller): Add default range to $limit parameter
2026-04-14 11:48:29 +02:00
Joas Schilling
b096fe31d3
Merge pull request #59609 from nextcloud/bugfix/noid/progress-InvalidArgumentException-deprecation
Some checks are pending
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / changes (push) Waiting to run
Psalm static code analysis / static-code-analysis (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-security (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ocp (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ncu (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-strict (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-summary (push) Blocked by required conditions
fix(notifications): Progress deprecation of InvalidArgumentException
2026-04-13 17:35:07 +02:00
Joas Schilling
eecd708ac8
Merge pull request #59606 from nextcloud/bugfix/noid/require-absolute-links-in-notifications
fix(notifications): Require absolute links for support of desktop and mobile clients
2026-04-13 17:33:49 +02:00
Joas Schilling
2b764717ed
Merge pull request #59598 from nextcloud/bugfix/noid/dont-expose-the-real-reason
fix(sharing): Don't give a reason when share from disabled user is no…
2026-04-13 16:11:18 +02:00
Joas Schilling
0f2c8b1dab
fix(notifications): Progress deprecation of InvalidArgumentException
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-13 15:55:27 +02:00
Joas Schilling
36e956e17e
fix(notifications): Require absolute links for support of desktop and mobile clients
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-13 15:48:55 +02:00
Joas Schilling
7ed9191493
fix(controller): Add default range to $limit parameter
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-13 14:45:32 +02:00
Kate
d7043e540f
Merge pull request #59092 from nextcloud/jtr/refactor-setup-central-db-gen
Some checks are pending
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / changes (push) Waiting to run
Psalm static code analysis / static-code-analysis (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-security (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ocp (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ncu (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-strict (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-summary (push) Blocked by required conditions
2026-04-13 09:58:26 +02:00
Joas Schilling
0b2ad9a935
fix(sharing): Don't give a reason when share from disabled user is no longer working
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-13 08:50:31 +02:00
Carl Schwan
f11c808ef6
Merge pull request #59493 from nextcloud/fix/clean-set-app-types
chore: Cleanup setAppTypes and move it to AppManager
2026-04-12 19:17:55 +02:00
Robin Appelman
9125715c56 perf: don't fetch child mounts when getting node parent
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-11 13:23:14 +02:00
Côme Chilliet
9c51ed7439
chore: Remove deprecated methods from notification manager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-04-09 18:05:54 +02:00
Côme Chilliet
78fd649e47
chore: Remove long deprecated methods from OCP
These have been deprecated from before 20

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-04-09 18:05:53 +02:00
Robin Appelman
e96a89e630 feat: add permissions mask variant that only masks one directory
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-09 16:19:10 +02:00
Benjamin Gaussorgues
c835064a6b
Merge pull request #59494 from nextcloud/artonge/fix/drop_transaction_during_scans 2026-04-09 08:56:50 +02:00
Git'Fellow
9fd6c4abc1
Merge pull request #59296 from nextcloud/automated/noid/rector-changes
Some checks are pending
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Integration sqlite / changes (push) Waiting to run
Integration sqlite / integration-sqlite (master, 8.4, main, --tags ~@large files_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, capabilities_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, collaboration_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, comments_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, dav_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, federation_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, file_conversions) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, files_reminders) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, filesdrop_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, ldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, openldap_numerical_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, remoteapi_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, routing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, setup_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharees_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, sharing_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, theming_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite (master, 8.4, main, videoverification_features) (push) Blocked by required conditions
Integration sqlite / integration-sqlite-summary (push) Blocked by required conditions
Psalm static code analysis / changes (push) Waiting to run
Psalm static code analysis / static-code-analysis (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-security (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ocp (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-ncu (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-strict (push) Blocked by required conditions
Psalm static code analysis / static-code-analysis-summary (push) Blocked by required conditions
Apply rector changes
2026-04-08 15:29:02 +02:00
Louis Chmn
680ddd93c2 fix(Scanner): Remove high level transaction during scans
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-04-08 14:34:45 +02:00
Louis Chmn
72812b2b07 chore(Scanner): Use modern syntax and APIs
Signed-off-by: Louis Chmn <louis@chmn.me>
2026-04-08 12:26:55 +02:00
Côme Chilliet
a3102bb2f0
chore: Cleanup setAppTypes and move it to AppManager
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-04-07 17:27:05 +02:00
Côme Chilliet
3f6d0c4192
Merge pull request #59462 from Keeper-of-the-Keys/config-header-attempt-2
feat: add config header and tests.
2026-04-07 14:40:33 +02:00
Joas Schilling
bb0841b81e
Merge pull request #59407 from nextcloud/bugfix/noid/make-appointments-talk-meetings
feat(talk): Allow to create conversations that are meetings
2026-04-07 13:33:56 +02:00
Joas Schilling
3f52005674
feat(talk): Allow to create conversations that are meetings
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-04-07 13:00:29 +02:00
Côme Chilliet
c20fcccfa6
Merge pull request #59379 from nextcloud/fix/clean-ldap-ocp-typing
fix: Fix typing in LDAP provider public interfaces
2026-04-07 10:52:36 +02:00
E.S. Rosenberg a.k.a. Keeper of the Keys
3f539d78e3 fix: change config-warning to const per @come-nc request in the PR.
Signed-off-by: E.S. Rosenberg a.k.a. Keeper of the Keys <es-github@rosenberg.org.il>
2026-04-07 11:47:14 +03:00
Benjamin Gaussorgues
83e464c3e8
Merge pull request #59255 from moktamd/fix/metrics-escape-label-names 2026-04-07 09:00:10 +02:00
E.S. Rosenberg a.k.a. Keeper of the Keys
52d092da64 feat: add config header and tests.
Signed-off-by: E.S. Rosenberg a.k.a. Keeper of the Keys <es-github@rosenberg.org.il>
2026-04-06 00:46:26 +03:00
nextcloud-command
bf729c53d7 refactor: Apply rector changes
Signed-off-by: GitHub <noreply@github.com>
2026-04-05 14:47:27 +00:00
John Molakvoæ
ca3f77bea2
Merge pull request #58872 from nextcloud/fix/templatespath 2026-04-02 11:27:31 +02:00
Côme Chilliet
99a8e6c3c4
fix: Fix typing in LDAP provider public interfaces
Remove obsolete `resource` typing for ldap with PHP>=8.1.
Add proper attributes.
Add strong typing.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-04-01 14:36:40 +02:00
Ferdinand Thiessen
691aedd13e
fix(db): set session timezone to UTC
Some (well all except sqlite) database platforms support timezone
configuration. The problem is that we expect everything in UTC,
but some servers might have set some different default (e.g. in database
configuration or even just because of `TZ` environment variable).

This causes incorrect values when expecting `NOW()` to return the
current time in UTC.

For PHP we already enforce UTC as timezone, this PR adds a middleware
that enforces UTC also as the database connection / session timezone.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-01 13:47:03 +02:00
Ferdinand Thiessen
047a758a31
Merge pull request #58786 from nextcloud/fix/templates_enabled
fix(files): only disable template creation when both skeleton directories are empty
2026-04-01 00:40:25 +02:00
moktamd
1c33307a59 fix(metrics): validate label names in Metric, sanitize in AppsInfo
Add validation in the Metric constructor that rejects invalid
OpenMetrics label names with InvalidArgumentException. Sanitize
app IDs at the source in AppsInfo by replacing hyphens with
underscores before creating the Metric.

Fixes nextcloud/server#59247

Signed-off-by: moktamd <moktamd@users.noreply.github.com>
2026-03-31 11:20:40 +00:00