dependabot-composer 0.393.0 → 0.394.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 78b54a4ac406d7d5f1cae0f767b47f6ba8eb7671d202fd379bd560201f5d7cc7
4
- data.tar.gz: 020ec993034ceea2e4aa1e4f11d6d87486499bb0a5e241a7087ffbad2b0d981f
3
+ metadata.gz: a46acb219ff9899141e7f741a17dded51512fdc8d3e7056755ca4cbe934eb64d
4
+ data.tar.gz: ff46eb10daaf6bb7c393d7ac60c6577d7bc6b8e14fae3cb78cf9bbf75801419b
5
5
  SHA512:
6
- metadata.gz: de52472901295cf6f857c01953829a2931d77423ec1b713e4789ed782b016012cdd70543be3c9c4463f89f78f2e4239b6c88eee521c71230e227e73f576c0c61
7
- data.tar.gz: d8ea50434bf9909eb7bc3592bbcbe597c72112ac29e611e04fa6688ea31a2ab45e2984d149c0c89fb365c07bf05836a2a8bc0384ec5d691d58801028311cc58e
6
+ metadata.gz: 5389f3f18aefb1fb4795559f6f51db0afe3b2e1624dac6ae6aabca7df886643e6a5ec6e002b94ea2a09ff58a37eaf35579859fcd345170ce7302d25b976cbebc
7
+ data.tar.gz: 5b1b38c23b739c80b26f8093da27330f13ca7a597e4661c9b796cc94539846508a8438bc9b2c2257b652db994d0982049d5814aad2f6a7a3ea5d6154d867110b
@@ -8,16 +8,16 @@
8
8
  "packages": [
9
9
  {
10
10
  "name": "composer/ca-bundle",
11
- "version": "1.5.10",
11
+ "version": "1.5.14",
12
12
  "source": {
13
13
  "type": "git",
14
14
  "url": "https://github.com/composer/ca-bundle.git",
15
- "reference": "961a5e4056dd2e4a2eedcac7576075947c28bf63"
15
+ "reference": "0c8abba0634f637bd78c4e451981da368d403463"
16
16
  },
17
17
  "dist": {
18
18
  "type": "zip",
19
- "url": "https://api.github.com/repos/composer/ca-bundle/zipball/961a5e4056dd2e4a2eedcac7576075947c28bf63",
20
- "reference": "961a5e4056dd2e4a2eedcac7576075947c28bf63",
19
+ "url": "https://api.github.com/repos/composer/ca-bundle/zipball/0c8abba0634f637bd78c4e451981da368d403463",
20
+ "reference": "0c8abba0634f637bd78c4e451981da368d403463",
21
21
  "shasum": ""
22
22
  },
23
23
  "require": {
@@ -64,7 +64,7 @@
64
64
  "support": {
65
65
  "irc": "irc://irc.freenode.org/composer",
66
66
  "issues": "https://github.com/composer/ca-bundle/issues",
67
- "source": "https://github.com/composer/ca-bundle/tree/1.5.10"
67
+ "source": "https://github.com/composer/ca-bundle/tree/1.5.14"
68
68
  },
69
69
  "funding": [
70
70
  {
@@ -76,20 +76,20 @@
76
76
  "type": "github"
77
77
  }
78
78
  ],
79
- "time": "2025-12-08T15:06:51+00:00"
79
+ "time": "2026-08-21T14:57:29+00:00"
80
80
  },
81
81
  {
82
82
  "name": "composer/class-map-generator",
83
- "version": "1.7.1",
83
+ "version": "1.7.3",
84
84
  "source": {
85
85
  "type": "git",
86
86
  "url": "https://github.com/composer/class-map-generator.git",
87
- "reference": "8f5fa3cc214230e71f54924bd0197a3bcc705eb1"
87
+ "reference": "86d8208fc3c649a3a999daf1a63c25201be2990f"
88
88
  },
89
89
  "dist": {
90
90
  "type": "zip",
91
- "url": "https://api.github.com/repos/composer/class-map-generator/zipball/8f5fa3cc214230e71f54924bd0197a3bcc705eb1",
92
- "reference": "8f5fa3cc214230e71f54924bd0197a3bcc705eb1",
91
+ "url": "https://api.github.com/repos/composer/class-map-generator/zipball/86d8208fc3c649a3a999daf1a63c25201be2990f",
92
+ "reference": "86d8208fc3c649a3a999daf1a63c25201be2990f",
93
93
  "shasum": ""
94
94
  },
95
95
  "require": {
@@ -133,7 +133,7 @@
133
133
  ],
134
134
  "support": {
135
135
  "issues": "https://github.com/composer/class-map-generator/issues",
136
- "source": "https://github.com/composer/class-map-generator/tree/1.7.1"
136
+ "source": "https://github.com/composer/class-map-generator/tree/1.7.3"
137
137
  },
138
138
  "funding": [
139
139
  {
@@ -145,20 +145,20 @@
145
145
  "type": "github"
146
146
  }
147
147
  ],
148
- "time": "2025-12-29T13:15:25+00:00"
148
+ "time": "2026-05-05T09:17:07+00:00"
149
149
  },
150
150
  {
151
151
  "name": "composer/composer",
152
- "version": "2.9.5",
152
+ "version": "2.10.2",
153
153
  "source": {
154
154
  "type": "git",
155
155
  "url": "https://github.com/composer/composer.git",
156
- "reference": "72a8f8e653710e18d83e5dd531eb5a71fc3223e6"
156
+ "reference": "8d4439f572a97670a9edc039eb3b093cc976b4bc"
157
157
  },
158
158
  "dist": {
159
159
  "type": "zip",
160
- "url": "https://api.github.com/repos/composer/composer/zipball/72a8f8e653710e18d83e5dd531eb5a71fc3223e6",
161
- "reference": "72a8f8e653710e18d83e5dd531eb5a71fc3223e6",
160
+ "url": "https://api.github.com/repos/composer/composer/zipball/8d4439f572a97670a9edc039eb3b093cc976b4bc",
161
+ "reference": "8d4439f572a97670a9edc039eb3b093cc976b4bc",
162
162
  "shasum": ""
163
163
  },
164
164
  "require": {
@@ -211,7 +211,7 @@
211
211
  ]
212
212
  },
213
213
  "branch-alias": {
214
- "dev-main": "2.9-dev"
214
+ "dev-main": "2.10-dev"
215
215
  }
216
216
  },
217
217
  "autoload": {
@@ -246,7 +246,7 @@
246
246
  "irc": "ircs://irc.libera.chat:6697/composer",
247
247
  "issues": "https://github.com/composer/composer/issues",
248
248
  "security": "https://github.com/composer/composer/security/policy",
249
- "source": "https://github.com/composer/composer/tree/2.9.5"
249
+ "source": "https://github.com/composer/composer/tree/2.10.2"
250
250
  },
251
251
  "funding": [
252
252
  {
@@ -258,20 +258,20 @@
258
258
  "type": "github"
259
259
  }
260
260
  ],
261
- "time": "2026-01-29T10:40:53+00:00"
261
+ "time": "2026-07-01T09:24:45+00:00"
262
262
  },
263
263
  {
264
264
  "name": "composer/metadata-minifier",
265
- "version": "1.0.0",
265
+ "version": "1.0.1",
266
266
  "source": {
267
267
  "type": "git",
268
268
  "url": "https://github.com/composer/metadata-minifier.git",
269
- "reference": "c549d23829536f0d0e984aaabbf02af91f443207"
269
+ "reference": "8e86142e3ade750b837d55e55f0cdc786d8da006"
270
270
  },
271
271
  "dist": {
272
272
  "type": "zip",
273
- "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/c549d23829536f0d0e984aaabbf02af91f443207",
274
- "reference": "c549d23829536f0d0e984aaabbf02af91f443207",
273
+ "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/8e86142e3ade750b837d55e55f0cdc786d8da006",
274
+ "reference": "8e86142e3ade750b837d55e55f0cdc786d8da006",
275
275
  "shasum": ""
276
276
  },
277
277
  "require": {
@@ -279,8 +279,8 @@
279
279
  },
280
280
  "require-dev": {
281
281
  "composer/composer": "^2",
282
- "phpstan/phpstan": "^0.12.55",
283
- "symfony/phpunit-bridge": "^4.2 || ^5"
282
+ "phpstan/phpstan": "^1",
283
+ "symfony/phpunit-bridge": "^4.2 || ^5 || ^6 || ^7"
284
284
  },
285
285
  "type": "library",
286
286
  "extra": {
@@ -311,7 +311,7 @@
311
311
  ],
312
312
  "support": {
313
313
  "issues": "https://github.com/composer/metadata-minifier/issues",
314
- "source": "https://github.com/composer/metadata-minifier/tree/1.0.0"
314
+ "source": "https://github.com/composer/metadata-minifier/tree/1.0.1"
315
315
  },
316
316
  "funding": [
317
317
  {
@@ -321,13 +321,9 @@
321
321
  {
322
322
  "url": "https://github.com/composer",
323
323
  "type": "github"
324
- },
325
- {
326
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
327
- "type": "tidelift"
328
324
  }
329
325
  ],
330
- "time": "2021-04-07T13:37:33+00:00"
326
+ "time": "2026-06-30T11:34:59+00:00"
331
327
  },
332
328
  {
333
329
  "name": "composer/pcre",
@@ -484,24 +480,24 @@
484
480
  },
485
481
  {
486
482
  "name": "composer/spdx-licenses",
487
- "version": "1.5.9",
483
+ "version": "1.6.0",
488
484
  "source": {
489
485
  "type": "git",
490
486
  "url": "https://github.com/composer/spdx-licenses.git",
491
- "reference": "edf364cefe8c43501e21e88110aac10b284c3c9f"
487
+ "reference": "5ecd0cb4177696f9fd48f1605dda81db3dee7889"
492
488
  },
493
489
  "dist": {
494
490
  "type": "zip",
495
- "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/edf364cefe8c43501e21e88110aac10b284c3c9f",
496
- "reference": "edf364cefe8c43501e21e88110aac10b284c3c9f",
491
+ "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/5ecd0cb4177696f9fd48f1605dda81db3dee7889",
492
+ "reference": "5ecd0cb4177696f9fd48f1605dda81db3dee7889",
497
493
  "shasum": ""
498
494
  },
499
495
  "require": {
500
- "php": "^5.3.2 || ^7.0 || ^8.0"
496
+ "php": "^7.2 || ^8.0"
501
497
  },
502
498
  "require-dev": {
503
499
  "phpstan/phpstan": "^1.11",
504
- "symfony/phpunit-bridge": "^3 || ^7"
500
+ "symfony/phpunit-bridge": "^6.4.25 || ^7.3.3 || ^8.0"
505
501
  },
506
502
  "type": "library",
507
503
  "extra": {
@@ -544,7 +540,7 @@
544
540
  "support": {
545
541
  "irc": "ircs://irc.libera.chat:6697/composer",
546
542
  "issues": "https://github.com/composer/spdx-licenses/issues",
547
- "source": "https://github.com/composer/spdx-licenses/tree/1.5.9"
543
+ "source": "https://github.com/composer/spdx-licenses/tree/1.6.0"
548
544
  },
549
545
  "funding": [
550
546
  {
@@ -554,13 +550,9 @@
554
550
  {
555
551
  "url": "https://github.com/composer",
556
552
  "type": "github"
557
- },
558
- {
559
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
560
- "type": "tidelift"
561
553
  }
562
554
  ],
563
- "time": "2025-05-12T21:07:07+00:00"
555
+ "time": "2026-04-08T20:18:39+00:00"
564
556
  },
565
557
  {
566
558
  "name": "composer/xdebug-handler",
@@ -630,26 +622,27 @@
630
622
  },
631
623
  {
632
624
  "name": "justinrainbow/json-schema",
633
- "version": "v6.7.2",
625
+ "version": "6.11.0",
634
626
  "source": {
635
627
  "type": "git",
636
628
  "url": "https://github.com/jsonrainbow/json-schema.git",
637
- "reference": "6fea66c7204683af437864e7c4e7abf383d14bc0"
629
+ "reference": "7e420a943a6fbc95e60e3cf67acfbee85b3b4da7"
638
630
  },
639
631
  "dist": {
640
632
  "type": "zip",
641
- "url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/6fea66c7204683af437864e7c4e7abf383d14bc0",
642
- "reference": "6fea66c7204683af437864e7c4e7abf383d14bc0",
633
+ "url": "https://api.github.com/repos/jsonrainbow/json-schema/zipball/7e420a943a6fbc95e60e3cf67acfbee85b3b4da7",
634
+ "reference": "7e420a943a6fbc95e60e3cf67acfbee85b3b4da7",
643
635
  "shasum": ""
644
636
  },
645
637
  "require": {
638
+ "ext-filter": "*",
646
639
  "ext-json": "*",
647
640
  "marc-mabe/php-enum": "^4.4",
648
641
  "php": "^7.2 || ^8.0"
649
642
  },
650
643
  "require-dev": {
651
644
  "friendsofphp/php-cs-fixer": "3.3.0",
652
- "json-schema/json-schema-test-suite": "^23.2",
645
+ "json-schema/json-schema-test-suite": "dev-main",
653
646
  "marc-mabe/php-enum-phpstan": "^2.0",
654
647
  "phpspec/prophecy": "^1.19",
655
648
  "phpstan/phpstan": "^1.12",
@@ -675,20 +668,9 @@
675
668
  ],
676
669
  "authors": [
677
670
  {
678
- "name": "Bruno Prieto Reis",
679
- "email": "bruno.p.reis@gmail.com"
680
- },
681
- {
682
- "name": "Justin Rainbow",
683
- "email": "justin.rainbow@gmail.com"
684
- },
685
- {
686
- "name": "Igor Wiedler",
687
- "email": "igor@wiedler.ch"
688
- },
689
- {
690
- "name": "Robert Schönthal",
691
- "email": "seroscho@googlemail.com"
671
+ "name": "Danny van der Sluijs",
672
+ "email": "danny.vandersluijs@icloud.com",
673
+ "role": "Maintainer"
692
674
  }
693
675
  ],
694
676
  "description": "A library to validate a json schema.",
@@ -699,9 +681,9 @@
699
681
  ],
700
682
  "support": {
701
683
  "issues": "https://github.com/jsonrainbow/json-schema/issues",
702
- "source": "https://github.com/jsonrainbow/json-schema/tree/v6.7.2"
684
+ "source": "https://github.com/jsonrainbow/json-schema/tree/6.11.0"
703
685
  },
704
- "time": "2026-02-15T15:06:22+00:00"
686
+ "time": "2026-08-21T10:30:42+00:00"
705
687
  },
706
688
  {
707
689
  "name": "marc-mabe/php-enum",
@@ -954,16 +936,16 @@
954
936
  },
955
937
  {
956
938
  "name": "seld/jsonlint",
957
- "version": "1.11.0",
939
+ "version": "1.12.1",
958
940
  "source": {
959
941
  "type": "git",
960
942
  "url": "https://github.com/Seldaek/jsonlint.git",
961
- "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2"
943
+ "reference": "9a90eb5d32d5a500296bf43f946d60246444d5f7"
962
944
  },
963
945
  "dist": {
964
946
  "type": "zip",
965
- "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/1748aaf847fc731cfad7725aec413ee46f0cc3a2",
966
- "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2",
947
+ "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/9a90eb5d32d5a500296bf43f946d60246444d5f7",
948
+ "reference": "9a90eb5d32d5a500296bf43f946d60246444d5f7",
967
949
  "shasum": ""
968
950
  },
969
951
  "require": {
@@ -1002,7 +984,7 @@
1002
984
  ],
1003
985
  "support": {
1004
986
  "issues": "https://github.com/Seldaek/jsonlint/issues",
1005
- "source": "https://github.com/Seldaek/jsonlint/tree/1.11.0"
987
+ "source": "https://github.com/Seldaek/jsonlint/tree/1.12.1"
1006
988
  },
1007
989
  "funding": [
1008
990
  {
@@ -1014,20 +996,20 @@
1014
996
  "type": "tidelift"
1015
997
  }
1016
998
  ],
1017
- "time": "2024-07-11T14:55:45+00:00"
999
+ "time": "2026-06-12T11:32:29+00:00"
1018
1000
  },
1019
1001
  {
1020
1002
  "name": "seld/phar-utils",
1021
- "version": "1.2.1",
1003
+ "version": "1.2.2",
1022
1004
  "source": {
1023
1005
  "type": "git",
1024
1006
  "url": "https://github.com/Seldaek/phar-utils.git",
1025
- "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c"
1007
+ "reference": "990bbd0e92caa216d52eca0935f6e35e589bfaa5"
1026
1008
  },
1027
1009
  "dist": {
1028
1010
  "type": "zip",
1029
- "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/ea2f4014f163c1be4c601b9b7bd6af81ba8d701c",
1030
- "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c",
1011
+ "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/990bbd0e92caa216d52eca0935f6e35e589bfaa5",
1012
+ "reference": "990bbd0e92caa216d52eca0935f6e35e589bfaa5",
1031
1013
  "shasum": ""
1032
1014
  },
1033
1015
  "require": {
@@ -1060,9 +1042,9 @@
1060
1042
  ],
1061
1043
  "support": {
1062
1044
  "issues": "https://github.com/Seldaek/phar-utils/issues",
1063
- "source": "https://github.com/Seldaek/phar-utils/tree/1.2.1"
1045
+ "source": "https://github.com/Seldaek/phar-utils/tree/1.2.2"
1064
1046
  },
1065
- "time": "2022-08-31T10:31:18+00:00"
1047
+ "time": "2026-08-01T12:48:55+00:00"
1066
1048
  },
1067
1049
  {
1068
1050
  "name": "seld/signal-handler",
@@ -1127,16 +1109,16 @@
1127
1109
  },
1128
1110
  {
1129
1111
  "name": "symfony/console",
1130
- "version": "v7.4.15",
1112
+ "version": "v7.4.17",
1131
1113
  "source": {
1132
1114
  "type": "git",
1133
1115
  "url": "https://github.com/symfony/console.git",
1134
- "reference": "088ec6fe0ef6819cbc301174093b6bfa4ad26930"
1116
+ "reference": "962e18f09ebe68a49039b4c82fc0ea4871824fca"
1135
1117
  },
1136
1118
  "dist": {
1137
1119
  "type": "zip",
1138
- "url": "https://api.github.com/repos/symfony/console/zipball/088ec6fe0ef6819cbc301174093b6bfa4ad26930",
1139
- "reference": "088ec6fe0ef6819cbc301174093b6bfa4ad26930",
1120
+ "url": "https://api.github.com/repos/symfony/console/zipball/962e18f09ebe68a49039b4c82fc0ea4871824fca",
1121
+ "reference": "962e18f09ebe68a49039b4c82fc0ea4871824fca",
1140
1122
  "shasum": ""
1141
1123
  },
1142
1124
  "require": {
@@ -1201,7 +1183,7 @@
1201
1183
  "terminal"
1202
1184
  ],
1203
1185
  "support": {
1204
- "source": "https://github.com/symfony/console/tree/v7.4.15"
1186
+ "source": "https://github.com/symfony/console/tree/v7.4.17"
1205
1187
  },
1206
1188
  "funding": [
1207
1189
  {
@@ -1221,7 +1203,7 @@
1221
1203
  "type": "tidelift"
1222
1204
  }
1223
1205
  ],
1224
- "time": "2026-07-27T13:51:00+00:00"
1206
+ "time": "2026-08-21T12:09:28+00:00"
1225
1207
  },
1226
1208
  {
1227
1209
  "name": "symfony/deprecation-contracts",
@@ -1296,16 +1278,16 @@
1296
1278
  },
1297
1279
  {
1298
1280
  "name": "symfony/filesystem",
1299
- "version": "v7.4.15",
1281
+ "version": "v7.4.17",
1300
1282
  "source": {
1301
1283
  "type": "git",
1302
1284
  "url": "https://github.com/symfony/filesystem.git",
1303
- "reference": "ff16a16bf87fdf264638b8f6995b3515975e3c79"
1285
+ "reference": "ee7bc7bca4c7079b88e57d5000aeeb20df570c8d"
1304
1286
  },
1305
1287
  "dist": {
1306
1288
  "type": "zip",
1307
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/ff16a16bf87fdf264638b8f6995b3515975e3c79",
1308
- "reference": "ff16a16bf87fdf264638b8f6995b3515975e3c79",
1289
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/ee7bc7bca4c7079b88e57d5000aeeb20df570c8d",
1290
+ "reference": "ee7bc7bca4c7079b88e57d5000aeeb20df570c8d",
1309
1291
  "shasum": ""
1310
1292
  },
1311
1293
  "require": {
@@ -1342,7 +1324,7 @@
1342
1324
  "description": "Provides basic utilities for the filesystem",
1343
1325
  "homepage": "https://symfony.com",
1344
1326
  "support": {
1345
- "source": "https://github.com/symfony/filesystem/tree/v7.4.15"
1327
+ "source": "https://github.com/symfony/filesystem/tree/v7.4.17"
1346
1328
  },
1347
1329
  "funding": [
1348
1330
  {
@@ -1362,20 +1344,20 @@
1362
1344
  "type": "tidelift"
1363
1345
  }
1364
1346
  ],
1365
- "time": "2026-07-22T07:36:05+00:00"
1347
+ "time": "2026-08-21T12:09:28+00:00"
1366
1348
  },
1367
1349
  {
1368
1350
  "name": "symfony/finder",
1369
- "version": "v7.4.14",
1351
+ "version": "v7.4.17",
1370
1352
  "source": {
1371
1353
  "type": "git",
1372
1354
  "url": "https://github.com/symfony/finder.git",
1373
- "reference": "13b38720174286f55d1761152b575a8d1436fc25"
1355
+ "reference": "5ce28827081f6d1f0c32eaf3882750f19cb5bbe6"
1374
1356
  },
1375
1357
  "dist": {
1376
1358
  "type": "zip",
1377
- "url": "https://api.github.com/repos/symfony/finder/zipball/13b38720174286f55d1761152b575a8d1436fc25",
1378
- "reference": "13b38720174286f55d1761152b575a8d1436fc25",
1359
+ "url": "https://api.github.com/repos/symfony/finder/zipball/5ce28827081f6d1f0c32eaf3882750f19cb5bbe6",
1360
+ "reference": "5ce28827081f6d1f0c32eaf3882750f19cb5bbe6",
1379
1361
  "shasum": ""
1380
1362
  },
1381
1363
  "require": {
@@ -1410,7 +1392,7 @@
1410
1392
  "description": "Finds files and directories via an intuitive fluent interface",
1411
1393
  "homepage": "https://symfony.com",
1412
1394
  "support": {
1413
- "source": "https://github.com/symfony/finder/tree/v7.4.14"
1395
+ "source": "https://github.com/symfony/finder/tree/v7.4.17"
1414
1396
  },
1415
1397
  "funding": [
1416
1398
  {
@@ -1430,7 +1412,7 @@
1430
1412
  "type": "tidelift"
1431
1413
  }
1432
1414
  ],
1433
- "time": "2026-06-27T08:31:18+00:00"
1415
+ "time": "2026-08-21T12:09:28+00:00"
1434
1416
  },
1435
1417
  {
1436
1418
  "name": "symfony/polyfill-ctype",
@@ -1599,16 +1581,16 @@
1599
1581
  },
1600
1582
  {
1601
1583
  "name": "symfony/polyfill-intl-normalizer",
1602
- "version": "v1.38.0",
1584
+ "version": "v1.42.0",
1603
1585
  "source": {
1604
1586
  "type": "git",
1605
1587
  "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
1606
- "reference": "2d446c214bdbe5b71bde5011b060a05fece3ae6b"
1588
+ "reference": "aa20edea75bd9c48cfecc8360922e5a6e5c44502"
1607
1589
  },
1608
1590
  "dist": {
1609
1591
  "type": "zip",
1610
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/2d446c214bdbe5b71bde5011b060a05fece3ae6b",
1611
- "reference": "2d446c214bdbe5b71bde5011b060a05fece3ae6b",
1592
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/aa20edea75bd9c48cfecc8360922e5a6e5c44502",
1593
+ "reference": "aa20edea75bd9c48cfecc8360922e5a6e5c44502",
1612
1594
  "shasum": ""
1613
1595
  },
1614
1596
  "require": {
@@ -1660,7 +1642,7 @@
1660
1642
  "shim"
1661
1643
  ],
1662
1644
  "support": {
1663
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.38.0"
1645
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.42.0"
1664
1646
  },
1665
1647
  "funding": [
1666
1648
  {
@@ -1680,7 +1662,7 @@
1680
1662
  "type": "tidelift"
1681
1663
  }
1682
1664
  ],
1683
- "time": "2026-05-25T13:48:31+00:00"
1665
+ "time": "2026-08-07T06:33:24+00:00"
1684
1666
  },
1685
1667
  {
1686
1668
  "name": "symfony/polyfill-mbstring",
@@ -2093,16 +2075,16 @@
2093
2075
  },
2094
2076
  {
2095
2077
  "name": "symfony/process",
2096
- "version": "v7.4.13",
2078
+ "version": "v7.4.17",
2097
2079
  "source": {
2098
2080
  "type": "git",
2099
2081
  "url": "https://github.com/symfony/process.git",
2100
- "reference": "f5804be144caceb570f6747519999636b664f24c"
2082
+ "reference": "058d17fc284cce14efb2385783b55014a461b176"
2101
2083
  },
2102
2084
  "dist": {
2103
2085
  "type": "zip",
2104
- "url": "https://api.github.com/repos/symfony/process/zipball/f5804be144caceb570f6747519999636b664f24c",
2105
- "reference": "f5804be144caceb570f6747519999636b664f24c",
2086
+ "url": "https://api.github.com/repos/symfony/process/zipball/058d17fc284cce14efb2385783b55014a461b176",
2087
+ "reference": "058d17fc284cce14efb2385783b55014a461b176",
2106
2088
  "shasum": ""
2107
2089
  },
2108
2090
  "require": {
@@ -2134,7 +2116,7 @@
2134
2116
  "description": "Executes commands in sub-processes",
2135
2117
  "homepage": "https://symfony.com",
2136
2118
  "support": {
2137
- "source": "https://github.com/symfony/process/tree/v7.4.13"
2119
+ "source": "https://github.com/symfony/process/tree/v7.4.17"
2138
2120
  },
2139
2121
  "funding": [
2140
2122
  {
@@ -2154,7 +2136,7 @@
2154
2136
  "type": "tidelift"
2155
2137
  }
2156
2138
  ],
2157
- "time": "2026-05-23T16:05:06+00:00"
2139
+ "time": "2026-08-21T17:40:08+00:00"
2158
2140
  },
2159
2141
  {
2160
2142
  "name": "symfony/service-contracts",
@@ -2579,16 +2561,16 @@
2579
2561
  },
2580
2562
  {
2581
2563
  "name": "friendsofphp/php-cs-fixer",
2582
- "version": "v3.95.18",
2564
+ "version": "v3.95.23",
2583
2565
  "source": {
2584
2566
  "type": "git",
2585
2567
  "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
2586
- "reference": "a8b4e4216faabf67f4e96110ee99a48c96e4e683"
2568
+ "reference": "b2932a5af3157a0c28324b1efe5e3b556dee09c4"
2587
2569
  },
2588
2570
  "dist": {
2589
2571
  "type": "zip",
2590
- "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/a8b4e4216faabf67f4e96110ee99a48c96e4e683",
2591
- "reference": "a8b4e4216faabf67f4e96110ee99a48c96e4e683",
2572
+ "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/b2932a5af3157a0c28324b1efe5e3b556dee09c4",
2573
+ "reference": "b2932a5af3157a0c28324b1efe5e3b556dee09c4",
2592
2574
  "shasum": ""
2593
2575
  },
2594
2576
  "require": {
@@ -2624,7 +2606,6 @@
2624
2606
  "infection/infection": "^0.32.7",
2625
2607
  "justinrainbow/json-schema": "^6.10.0",
2626
2608
  "keradus/cli-executor": "^2.3",
2627
- "mikey179/vfsstream": "^1.6.12",
2628
2609
  "php-coveralls/php-coveralls": "^2.9.1",
2629
2610
  "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.8",
2630
2611
  "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.8",
@@ -2672,7 +2653,7 @@
2672
2653
  ],
2673
2654
  "support": {
2674
2655
  "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
2675
- "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.95.18"
2656
+ "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.95.23"
2676
2657
  },
2677
2658
  "funding": [
2678
2659
  {
@@ -2680,15 +2661,15 @@
2680
2661
  "type": "github"
2681
2662
  }
2682
2663
  ],
2683
- "time": "2026-07-30T15:46:02+00:00"
2664
+ "time": "2026-08-26T19:54:54+00:00"
2684
2665
  },
2685
2666
  {
2686
2667
  "name": "phpstan/phpstan",
2687
- "version": "2.2.8",
2668
+ "version": "2.2.9",
2688
2669
  "dist": {
2689
2670
  "type": "zip",
2690
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e285254e60f33c21902efef4a926ca0987c06804",
2691
- "reference": "e285254e60f33c21902efef4a926ca0987c06804",
2671
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/13d6b4f347bad222da436580c8304fa6f83e6bd0",
2672
+ "reference": "13d6b4f347bad222da436580c8304fa6f83e6bd0",
2692
2673
  "shasum": ""
2693
2674
  },
2694
2675
  "require": {
@@ -2744,7 +2725,7 @@
2744
2725
  "type": "github"
2745
2726
  }
2746
2727
  ],
2747
- "time": "2026-08-04T22:21:45+00:00"
2728
+ "time": "2026-08-22T07:38:16+00:00"
2748
2729
  },
2749
2730
  {
2750
2731
  "name": "psr/event-dispatcher",
@@ -3318,16 +3299,16 @@
3318
3299
  },
3319
3300
  {
3320
3301
  "name": "symfony/event-dispatcher",
3321
- "version": "v7.4.15",
3302
+ "version": "v7.4.17",
3322
3303
  "source": {
3323
3304
  "type": "git",
3324
3305
  "url": "https://github.com/symfony/event-dispatcher.git",
3325
- "reference": "336e7f3b9e95aba04f93ea9143920c2186abfbb9"
3306
+ "reference": "d269974ee93c61d03620ffee358355bfdb471d66"
3326
3307
  },
3327
3308
  "dist": {
3328
3309
  "type": "zip",
3329
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/336e7f3b9e95aba04f93ea9143920c2186abfbb9",
3330
- "reference": "336e7f3b9e95aba04f93ea9143920c2186abfbb9",
3310
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d269974ee93c61d03620ffee358355bfdb471d66",
3311
+ "reference": "d269974ee93c61d03620ffee358355bfdb471d66",
3331
3312
  "shasum": ""
3332
3313
  },
3333
3314
  "require": {
@@ -3379,7 +3360,7 @@
3379
3360
  "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
3380
3361
  "homepage": "https://symfony.com",
3381
3362
  "support": {
3382
- "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.15"
3363
+ "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.17"
3383
3364
  },
3384
3365
  "funding": [
3385
3366
  {
@@ -3399,7 +3380,7 @@
3399
3380
  "type": "tidelift"
3400
3381
  }
3401
3382
  ],
3402
- "time": "2026-07-21T15:13:06+00:00"
3383
+ "time": "2026-08-21T17:40:08+00:00"
3403
3384
  },
3404
3385
  {
3405
3386
  "name": "symfony/event-dispatcher-contracts",
@@ -0,0 +1,80 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ require "uri"
5
+ require "sorbet-runtime"
6
+
7
+ require "dependabot/errors"
8
+ require "dependabot/shared_helpers"
9
+
10
+ module Dependabot
11
+ module Composer
12
+ class ComposerErrorHandler
13
+ extend T::Sig
14
+
15
+ CURL_ERROR = /curl error 52 while downloading (?<url>.*): Empty reply from server/
16
+
17
+ PRIVATE_SOURCE_AUTH_FAIL = T.let(
18
+ [
19
+ /Could not authenticate against (?<url>.*)/,
20
+ /The '(?<url>.*)' URL could not be accessed \(HTTP 403\)/,
21
+ /The "(?<url>.*)" file could not be downloaded/
22
+ ].freeze,
23
+ T::Array[Regexp]
24
+ )
25
+
26
+ REQUIREMENT_ERROR = /^(?<req>.*) is invalid, it should not contain uppercase characters/
27
+
28
+ UNRESOLVABLE_ERROR_PATTERNS = T.let(
29
+ [
30
+ /^Could not parse version/,
31
+ %r{does not allow connections to http://},
32
+ /The `url` supplied for the path .* does not exist/,
33
+ /^Invalid version string/,
34
+ /^Link constraint in .+ requires > .+ should be a valid version constraint, got /
35
+ ].freeze,
36
+ T::Array[Regexp]
37
+ )
38
+
39
+ NO_URL = "No URL specified"
40
+
41
+ sig { params(error: SharedHelpers::HelperSubprocessFailed).void }
42
+ def handle_composer_error(error)
43
+ raise DependencyFileNotResolvable, error.message if unresolvable_error?(error)
44
+
45
+ PRIVATE_SOURCE_AUTH_FAIL.each do |regex|
46
+ next unless error.message.match?(regex)
47
+
48
+ url = T.must(error.message.match(regex)).named_captures["url"]
49
+ sanitized_url = sanitize_uri(T.must(url))
50
+ raise PrivateSourceAuthenticationFailure, sanitized_url.empty? ? NO_URL : sanitized_url
51
+ end
52
+
53
+ if error.message.match?(REQUIREMENT_ERROR)
54
+ requirement = T.must(error.message.match(REQUIREMENT_ERROR)).named_captures["req"]
55
+ raise DependencyFileNotResolvable, "Invalid requirement: #{requirement}"
56
+ end
57
+
58
+ return unless error.message.match?(CURL_ERROR)
59
+
60
+ url = T.must(error.message.match(CURL_ERROR)).named_captures["url"]
61
+ raise PrivateSourceBadResponse, T.must(url)
62
+ end
63
+
64
+ sig { params(url: String).returns(String) }
65
+ def sanitize_uri(url)
66
+ url = "http://#{url}" unless url.start_with?("http")
67
+ uri = URI.parse(url)
68
+ host = T.must(uri.host).downcase
69
+ host.start_with?("www.") ? T.must(host[4..]) : host
70
+ end
71
+
72
+ private
73
+
74
+ sig { params(error: SharedHelpers::HelperSubprocessFailed).returns(T::Boolean) }
75
+ def unresolvable_error?(error)
76
+ UNRESOLVABLE_ERROR_PATTERNS.any? { |pattern| error.message.match?(pattern) }
77
+ end
78
+ end
79
+ end
80
+ end
@@ -9,7 +9,7 @@ require "dependabot/composer/version"
9
9
  require "dependabot/composer/requirement"
10
10
  require "dependabot/composer/native_helpers"
11
11
  require "dependabot/composer/helpers"
12
- require "dependabot/composer/update_checker/version_resolver"
12
+ require "dependabot/composer/composer_error_handler"
13
13
  require "sorbet-runtime"
14
14
 
15
15
  # rubocop:disable Metrics/ClassLength
@@ -59,6 +59,7 @@ module Dependabot
59
59
  @credentials = credentials
60
60
  @composer_platform_extensions = T.let(initial_platform, T::Hash[String, T::Array[String]])
61
61
  @lock_git_deps = T.let(true, T::Boolean)
62
+ @error_handler = T.let(ComposerErrorHandler.new, ComposerErrorHandler)
62
63
  end
63
64
 
64
65
  sig { returns(String) }
@@ -89,6 +90,9 @@ module Dependabot
89
90
  sig { returns(T::Hash[String, T::Array[String]]) }
90
91
  attr_reader :composer_platform_extensions
91
92
 
93
+ sig { returns(ComposerErrorHandler) }
94
+ attr_reader :error_handler
95
+
92
96
  sig { returns(String) }
93
97
  def generate_updated_lockfile_content
94
98
  base_directory = T.must(dependency_files.first).directory
@@ -164,8 +168,6 @@ module Dependabot
164
168
  error.message.start_with?("Could not authenticate against")
165
169
  end
166
170
 
167
- # TODO: Extract error handling and share between the version resolver
168
- #
169
171
  # rubocop:disable Metrics/AbcSize
170
172
  # rubocop:disable Metrics/CyclomaticComplexity
171
173
  # rubocop:disable Metrics/MethodLength
@@ -247,6 +249,8 @@ module Dependabot
247
249
  raise DependencyFileNotResolvable, error.message
248
250
  end
249
251
 
252
+ error_handler.handle_composer_error(error)
253
+
250
254
  raise error
251
255
  end
252
256
  # rubocop:enable Metrics/AbcSize
@@ -13,6 +13,7 @@ require "dependabot/composer/requirement"
13
13
  require "dependabot/composer/native_helpers"
14
14
  require "dependabot/composer/file_parser"
15
15
  require "dependabot/composer/helpers"
16
+ require "dependabot/composer/composer_error_handler"
16
17
 
17
18
  module Dependabot
18
19
  module Composer
@@ -322,8 +323,6 @@ module Dependabot
322
323
  dependency_url = Helpers.dependency_url_from_git_clone_error(error.message)
323
324
  if dependency_url
324
325
  raise Dependabot::GitDependenciesNotReachable, dependency_url
325
- elsif unresolvable_error?(error)
326
- raise Dependabot::DependencyFileNotResolvable, error.message
327
326
  elsif error.message.match?(MISSING_EXPLICIT_PLATFORM_REQ_REGEX)
328
327
  # These errors occur when platform requirements declared explicitly
329
328
  # in the composer.json aren't met.
@@ -420,14 +419,6 @@ module Dependabot
420
419
  # rubocop:enable Metrics/CyclomaticComplexity
421
420
  # rubocop:enable Metrics/MethodLength
422
421
 
423
- sig { params(error: SharedHelpers::HelperSubprocessFailed).returns(T::Boolean) }
424
- def unresolvable_error?(error)
425
- error.message.start_with?("Could not parse version") ||
426
- error.message.include?("does not allow connections to http://") ||
427
- error.message.match?(/The `url` supplied for the path .* does not exist/) ||
428
- error.message.start_with?("Invalid version string")
429
- end
430
-
431
422
  sig { returns(T::Boolean) }
432
423
  def library?
433
424
  parsed_composer_file["type"] == "library"
@@ -635,57 +626,5 @@ module Dependabot
635
626
  end
636
627
  end
637
628
  end
638
-
639
- class ComposerErrorHandler
640
- extend T::Sig
641
-
642
- # Private source errors
643
- CURL_ERROR = /curl error 52 while downloading (?<url>.*): Empty reply from server/
644
-
645
- PRIVATE_SOURCE_AUTH_FAIL = T.let(
646
- [
647
- /Could not authenticate against (?<url>.*)/,
648
- /The '(?<url>.*)' URL could not be accessed \(HTTP 403\)/,
649
- /The "(?<url>.*)" file could not be downloaded/
650
- ].freeze,
651
- T::Array[Regexp]
652
- )
653
-
654
- REQUIREMENT_ERROR = /^(?<req>.*) is invalid, it should not contain uppercase characters/
655
-
656
- NO_URL = "No URL specified"
657
-
658
- sig { params(url: String).returns(String) }
659
- def sanitize_uri(url)
660
- url = "http://#{url}" unless url.start_with?("http")
661
- uri = URI.parse(url)
662
- host = T.must(uri.host).downcase
663
- host.start_with?("www.") ? T.must(host[4..-1]) : host
664
- end
665
-
666
- # Handles errors with specific to composer error codes
667
- sig { params(error: SharedHelpers::HelperSubprocessFailed).void }
668
- def handle_composer_error(error)
669
- # private source auth errors
670
- PRIVATE_SOURCE_AUTH_FAIL.each do |regex|
671
- next unless error.message.match?(regex)
672
-
673
- url = T.must(error.message.match(regex)).named_captures["url"]
674
- sanitized_url = sanitize_uri(T.must(url))
675
- raise Dependabot::PrivateSourceAuthenticationFailure, sanitized_url.empty? ? NO_URL : sanitized_url
676
- end
677
-
678
- # invalid requirement mentioned in manifest file
679
- if error.message.match?(REQUIREMENT_ERROR)
680
- raise DependencyFileNotResolvable,
681
- "Invalid requirement: #{T.must(error.message.match(REQUIREMENT_ERROR)).named_captures['req']}"
682
- end
683
-
684
- return unless error.message.match?(CURL_ERROR)
685
-
686
- url = T.must(error.message.match(CURL_ERROR)).named_captures["url"]
687
- raise PrivateSourceBadResponse, T.must(url)
688
- end
689
- end
690
629
  end
691
630
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-composer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.393.0
4
+ version: 0.394.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 0.393.0
18
+ version: 0.394.0
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - '='
24
24
  - !ruby/object:Gem::Version
25
- version: 0.393.0
25
+ version: 0.394.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: debug
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -169,14 +169,14 @@ dependencies:
169
169
  requirements:
170
170
  - - "~>"
171
171
  - !ruby/object:Gem::Version
172
- version: '0.22'
172
+ version: '1.1'
173
173
  type: :development
174
174
  prerelease: false
175
175
  version_requirements: !ruby/object:Gem::Requirement
176
176
  requirements:
177
177
  - - "~>"
178
178
  - !ruby/object:Gem::Version
179
- version: '0.22'
179
+ version: '1.1'
180
180
  - !ruby/object:Gem::Dependency
181
181
  name: turbo_tests
182
182
  requirement: !ruby/object:Gem::Requirement
@@ -253,6 +253,7 @@ files:
253
253
  - helpers/v2/src/UpdateChecker.php
254
254
  - helpers/v2/src/Updater.php
255
255
  - lib/dependabot/composer.rb
256
+ - lib/dependabot/composer/composer_error_handler.rb
256
257
  - lib/dependabot/composer/file_fetcher.rb
257
258
  - lib/dependabot/composer/file_fetcher/path_dependency_builder.rb
258
259
  - lib/dependabot/composer/file_parser.rb
@@ -276,7 +277,7 @@ licenses:
276
277
  - MIT
277
278
  metadata:
278
279
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
279
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.393.0
280
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.394.0
280
281
  rdoc_options: []
281
282
  require_paths:
282
283
  - lib