mirror of
https://github.com/php/web-php.git
synced 2026-03-23 23:02:13 +01:00
Add windows QA builds
Rename release-candidates to pre-release-builds
This commit is contained in:
428
backend/win-qa-releases.json
Normal file
428
backend/win-qa-releases.json
Normal file
@@ -0,0 +1,428 @@
|
||||
{
|
||||
"comment": "DO NOT EDIT. This file is here for demonstration purposes only, and gets overwritten by the backend generation code",
|
||||
"8.1": {
|
||||
"version": "8.1.27RC1",
|
||||
"ts-vs16-x64": {
|
||||
"mtime": "2024-07-05T11:01:06+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.1.27RC1-Win32-vs16-x64.zip",
|
||||
"size": "29.43MB",
|
||||
"sha256": "dbcc378927f56e5b2cb319523aaa5a249e3468c0326f4b32f2c5033837129aed"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.1.27RC1-Win32-vs16-x64.zip",
|
||||
"size": "24.91MB",
|
||||
"sha256": "9652f2e618f7213d87062d920b45ff83e285919763bb78d3538010194d13cb9f"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.1.27RC1-Win32-vs16-x64.zip",
|
||||
"size": "1.22MB",
|
||||
"sha256": "543b943833dda271da428b751b122af4fce500f014cda67e7ff4e8003ab1276c"
|
||||
}
|
||||
},
|
||||
"source": {
|
||||
"path": "php-8.1.27RC1-src.zip",
|
||||
"size": "25.79MB",
|
||||
"sha256": "e42e28f3e8652f7d9912acd366b26df27b777b4c10a92df26d53b6df21fa648c"
|
||||
},
|
||||
"test_pack": {
|
||||
"path": "php-test-pack-8.1.27RC1.zip",
|
||||
"size": "15.37MB",
|
||||
"sha256": "2d373e62ad2bbbf77910be0fed57dcdee3460a687aa1a20ddddfeddd8d236785"
|
||||
},
|
||||
"ts-vs16-x86": {
|
||||
"mtime": "2024-07-05T11:01:08+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.1.27RC1-Win32-vs16-x86.zip",
|
||||
"size": "26.36MB",
|
||||
"sha256": "32c303f4572671cc1a92881b69e4144ca479af7bacb2e18412e49650030e05c7"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.1.27RC1-Win32-vs16-x86.zip",
|
||||
"size": "24.61MB",
|
||||
"sha256": "6980a0ac1f9a34b64fa0919360b7f392f69b324b131fdd297b90d4cafeb23101"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.1.27RC1-Win32-vs16-x86.zip",
|
||||
"size": "1.22MB",
|
||||
"sha256": "f32cf2ad455e57d2cb60b9cbcb8555f6f902bff50ffd0fa313a679f5716ef0de"
|
||||
}
|
||||
},
|
||||
"nts-vs16-x64": {
|
||||
"mtime": "2024-07-05T11:00:59+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.1.27RC1-nts-Win32-vs16-x64.zip",
|
||||
"size": "29.33MB",
|
||||
"sha256": "6daabc1841dc844218944fedbf90ff034ccbee0b0cbf0761ed406c78dd6e594a"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.1.27RC1-nts-Win32-vs16-x64.zip",
|
||||
"size": "24.89MB",
|
||||
"sha256": "3dcb53e30bb82761fded6faf199f83386349e768a12a6fac75715c492e70ee86"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.1.27RC1-nts-Win32-vs16-x64.zip",
|
||||
"size": "1.21MB",
|
||||
"sha256": "4e5a3fec296c62a7dcc482a433c1a8c9dd64bb0b5c6b0723ba46767812df51c6"
|
||||
}
|
||||
},
|
||||
"nts-vs16-x86": {
|
||||
"mtime": "2024-07-05T11:01:01+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.1.27RC1-nts-Win32-vs16-x86.zip",
|
||||
"size": "26.38MB",
|
||||
"sha256": "caa1e3f546f1811c840551d95d5d4d8af9d2e1d96ec3ac3aa0d5bf809c17e22e"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.1.27RC1-nts-Win32-vs16-x86.zip",
|
||||
"size": "24.95MB",
|
||||
"sha256": "3812df67cb10511effde9f39509ff52cc10b24aa8fb1baf3f11fdca0a9836b85"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.1.27RC1-nts-Win32-vs16-x86.zip",
|
||||
"size": "1.21MB",
|
||||
"sha256": "eaf2c0f79a7c41c3192ef792a14a9cb1c3b00eeda0f736b49e9a0240d2ccdbad"
|
||||
}
|
||||
}
|
||||
},
|
||||
"8.2": {
|
||||
"version": "8.2.27RC1",
|
||||
"ts-vs16-x64": {
|
||||
"mtime": "2025-01-30T05:55:56+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.2.27RC1-Win32-vs16-x64.zip",
|
||||
"size": "30.44MB",
|
||||
"sha256": "a6b5f1930d78603cd576d93c7f1cc67bed0bc5bcc20654a602eeee51cd8c6622"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.2.27RC1-Win32-vs16-x64.zip",
|
||||
"size": "25.7MB",
|
||||
"sha256": "a3c435a133ceb9790e6969d17a310df95d16328cce9ea95e28f973a2a9b0c17f"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.2.27RC1-Win32-vs16-x64.zip",
|
||||
"size": "1.24MB",
|
||||
"sha256": "a0980e6668b91f1e44f6a47fb8114f12958c79417e541bf8d1bfd58097649927"
|
||||
}
|
||||
},
|
||||
"source": {
|
||||
"path": "php-8.2.27RC1-src.zip",
|
||||
"size": "25.78MB",
|
||||
"sha256": "f7b298bcaa65920919872ab4d75932d6c9bab45b0f411c10af277e3d38058a93"
|
||||
},
|
||||
"test_pack": {
|
||||
"path": "php-test-pack-8.2.27RC1.zip",
|
||||
"size": "15.87MB",
|
||||
"sha256": "7c7bba0e8d6a5375dc4a042220c8ee9c1ca85ec437b812dbe13ed18b485a871d"
|
||||
},
|
||||
"ts-vs16-x86": {
|
||||
"mtime": "2025-01-30T05:55:56+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.2.27RC1-Win32-vs16-x86.zip",
|
||||
"size": "27.2MB",
|
||||
"sha256": "feea6f171f61dc5438699e48bec7ddade5ae7dfde92daabdccec55e1b57ef12c"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.2.27RC1-Win32-vs16-x86.zip",
|
||||
"size": "25.28MB",
|
||||
"sha256": "c98df1800db573a85de14347a6836d64b0d42402bd83873ad6fd1c3d579b45f6"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.2.27RC1-Win32-vs16-x86.zip",
|
||||
"size": "1.24MB",
|
||||
"sha256": "ff0d67c37788b65eb3a447fa4959d31987ac823aeef09fcc3f83cad3c5fe4d9a"
|
||||
}
|
||||
},
|
||||
"nts-vs16-x64": {
|
||||
"mtime": "2025-01-30T05:55:56+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.2.27RC1-nts-Win32-vs16-x64.zip",
|
||||
"size": "30.33MB",
|
||||
"sha256": "5dc84255dce80b2e12c5480136f1c384461937dcb29df98334bdf76e11a5fa7f"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.2.27RC1-nts-Win32-vs16-x64.zip",
|
||||
"size": "25.61MB",
|
||||
"sha256": "caf425d8d75170743a641015110a421b90de728ed4177f6341d6b7f94de405ea"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.2.27RC1-nts-Win32-vs16-x64.zip",
|
||||
"size": "1.24MB",
|
||||
"sha256": "d02aa7b251b2bc07e7ae67eba5f9d2a2816e82b12c818b08c2b776fe1d1235c8"
|
||||
}
|
||||
},
|
||||
"nts-vs16-x86": {
|
||||
"mtime": "2025-01-30T05:55:56+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.2.27RC1-nts-Win32-vs16-x86.zip",
|
||||
"size": "27.23MB",
|
||||
"sha256": "faf7d947eb3cc8832b8f7450632c034098f2a6cf35ab8cde1cd2c56c8193d4a7"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.2.27RC1-nts-Win32-vs16-x86.zip",
|
||||
"size": "25.59MB",
|
||||
"sha256": "57481de80d8bb97f1c523258229595d9b0f1f185504691754a580f34dc11057b"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.2.27RC1-nts-Win32-vs16-x86.zip",
|
||||
"size": "1.24MB",
|
||||
"sha256": "6970890246976e1fa7696d345e8f718265f163a35a65a5192c4b1f53255958d5"
|
||||
}
|
||||
}
|
||||
},
|
||||
"8.3": {
|
||||
"version": "8.3.28RC1",
|
||||
"ts-vs16-x64": {
|
||||
"mtime": "2025-11-05T18:34:08+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.3.28RC1-Win32-vs16-x64.zip",
|
||||
"size": "30.87MB",
|
||||
"sha256": "62185897f775f91a324f180887bd5a07a9763d3bc99ac1047e0f3a90de85ed37"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.3.28RC1-Win32-vs16-x64.zip",
|
||||
"size": "30.26MB",
|
||||
"sha256": "cd212a1865a4398647d24335caec97828a22d1b7b8e1b7c7c910a01527d467fd"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.3.28RC1-Win32-vs16-x64.zip",
|
||||
"size": "1.26MB",
|
||||
"sha256": "ea6ead67d77114734d885cbeaafc61b0c2bb57ea81a68984d10770d7f88ff034"
|
||||
}
|
||||
},
|
||||
"source": {
|
||||
"path": "php-8.3.28RC1-src.zip",
|
||||
"size": "26.73MB",
|
||||
"sha256": "db0fa4934545cf901078c005b2ed2bf4e6dbf05856daa79c0eeed9b42d0693eb"
|
||||
},
|
||||
"test_pack": {
|
||||
"path": "php-test-pack-8.3.28RC1.zip",
|
||||
"size": "16.68MB",
|
||||
"sha256": "344f72bdbcc6d0a9982aca7d627bc71b2abe12a83d7f1be222da08f6090e1b15"
|
||||
},
|
||||
"ts-vs16-x86": {
|
||||
"mtime": "2025-11-05T18:34:10+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.3.28RC1-Win32-vs16-x86.zip",
|
||||
"size": "27.58MB",
|
||||
"sha256": "00d9c84817902ce9dc1248a045e3f98f4fd596b25129032966bc51dcd09952d0"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.3.28RC1-Win32-vs16-x86.zip",
|
||||
"size": "29.98MB",
|
||||
"sha256": "3fb82db3e4e032c7fe0c8dc3f9e3748ce13de4e641151fd21f9e65a7c391ff36"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.3.28RC1-Win32-vs16-x86.zip",
|
||||
"size": "1.26MB",
|
||||
"sha256": "4a3658d8715574412a39ee5f8026028dec0074067199c28e6242b353fadec371"
|
||||
}
|
||||
},
|
||||
"nts-vs16-x64": {
|
||||
"mtime": "2025-11-05T18:34:06+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.3.28RC1-nts-Win32-vs16-x64.zip",
|
||||
"size": "30.72MB",
|
||||
"sha256": "effcaf745e64ee091a414d5aa10e22f127a50298a6acb476c6d08b88d57eeebd"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.3.28RC1-nts-Win32-vs16-x64.zip",
|
||||
"size": "30.31MB",
|
||||
"sha256": "83561da24f9b421fbfdfbc7fd8126223781c6ddc7efe1e7d693f43e2ae89b099"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.3.28RC1-nts-Win32-vs16-x64.zip",
|
||||
"size": "1.26MB",
|
||||
"sha256": "ff2ccbede38bf38e13f57600bb412ae3e2cf7ec6809885166f59dbebafaa8e2f"
|
||||
}
|
||||
},
|
||||
"nts-vs16-x86": {
|
||||
"mtime": "2025-11-05T18:34:06+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.3.28RC1-nts-Win32-vs16-x86.zip",
|
||||
"size": "27.6MB",
|
||||
"sha256": "f0e9c3059a3e2da9632c9d7677a1df134eee4d58b4b64f1c9b4640fd7172fdfc"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.3.28RC1-nts-Win32-vs16-x86.zip",
|
||||
"size": "30.47MB",
|
||||
"sha256": "f976ea421b22cb74451285f5055c5e0d1a78acb8b0f28f70d9f53b9a7dfa2271"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.3.28RC1-nts-Win32-vs16-x86.zip",
|
||||
"size": "1.26MB",
|
||||
"sha256": "dff0b7aaeab58f8ee7bafa8ccdf072469416595400ef8880165a256f7d0af953"
|
||||
}
|
||||
}
|
||||
},
|
||||
"8.4": {
|
||||
"version": "8.4.15RC1",
|
||||
"ts-vs17-x64": {
|
||||
"mtime": "2025-11-05T18:19:50+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.4.15RC1-Win32-vs17-x64.zip",
|
||||
"size": "32.11MB",
|
||||
"sha256": "775576a8596fa651c5f7cd119fee48f4008eb91c7317f8e52fa1141eac028270"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.4.15RC1-Win32-vs17-x64.zip",
|
||||
"size": "36.88MB",
|
||||
"sha256": "1ffd26d04384b547b88d13106a95d13243cf19a6ead176e82c849d2881f06d52"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.4.15RC1-Win32-vs17-x64.zip",
|
||||
"size": "1.36MB",
|
||||
"sha256": "b8901ffa15346ffe7c4dca64b18af2019c005749af6737028b9c1f5f18fb4903"
|
||||
}
|
||||
},
|
||||
"source": {
|
||||
"path": "php-8.4.15RC1-src.zip",
|
||||
"size": "29.55MB",
|
||||
"sha256": "f5bff64bebf4becd8e6efee341b498084a3b25eff330fc01ec7d68df5c959e11"
|
||||
},
|
||||
"test_pack": {
|
||||
"path": "php-test-pack-8.4.15RC1.zip",
|
||||
"size": "17.43MB",
|
||||
"sha256": "0b9c570a4bb7c412b3cc78c3959ff2a21f10e0f0b5979cce5ead749807481af2"
|
||||
},
|
||||
"ts-vs17-x86": {
|
||||
"mtime": "2025-11-05T18:19:50+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.4.15RC1-Win32-vs17-x86.zip",
|
||||
"size": "28.69MB",
|
||||
"sha256": "8d5bfe32576b4b98580aa5433f6e08033b62a4962acf8ccf3cd261e15810768e"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.4.15RC1-Win32-vs17-x86.zip",
|
||||
"size": "37.35MB",
|
||||
"sha256": "2dc6ada5c5a6f7e4b7638487a233b076e410ceba2af6be7f991c58ce831ffc62"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.4.15RC1-Win32-vs17-x86.zip",
|
||||
"size": "1.36MB",
|
||||
"sha256": "f8ce9f21d99b95285646fd8fcd839b57554032590175cad660961953e163e8c8"
|
||||
}
|
||||
},
|
||||
"nts-vs17-x64": {
|
||||
"mtime": "2025-11-05T18:19:50+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.4.15RC1-nts-Win32-vs17-x64.zip",
|
||||
"size": "31.95MB",
|
||||
"sha256": "2b02a498d46826387e25b48fac7d6556ee3bed246cb596a636e2ef4539e8288c"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.4.15RC1-nts-Win32-vs17-x64.zip",
|
||||
"size": "36.8MB",
|
||||
"sha256": "d9503e21efd4684d89587964f3fc5d202154acce26ef6c677fe6a54914e1590b"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.4.15RC1-nts-Win32-vs17-x64.zip",
|
||||
"size": "1.36MB",
|
||||
"sha256": "4345373539bca1106e345986c7d9a57d523fbe0a3abda6db8b47cbfb2eae5e32"
|
||||
}
|
||||
},
|
||||
"nts-vs17-x86": {
|
||||
"mtime": "2025-11-05T18:19:50+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.4.15RC1-nts-Win32-vs17-x86.zip",
|
||||
"size": "28.68MB",
|
||||
"sha256": "0bfe37fcf0d43391d0a6909e7de664af2f9b92571e2aba03192e1178f3a93c55"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.4.15RC1-nts-Win32-vs17-x86.zip",
|
||||
"size": "37.37MB",
|
||||
"sha256": "1b266f053a56064eb46b37661d3296d4914590b19f4f7aa4680300ba0d932e7b"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.4.15RC1-nts-Win32-vs17-x86.zip",
|
||||
"size": "1.36MB",
|
||||
"sha256": "8b1ad7e9fa1a0ea225a05ecbbad492ac85eb58f82510883194bcf8a9dc2a527b"
|
||||
}
|
||||
}
|
||||
},
|
||||
"8.5": {
|
||||
"version": "8.5.0RC5",
|
||||
"ts-vs17-x64": {
|
||||
"mtime": "2025-11-12T02:27:32+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.5.0RC5-Win32-vs17-x64.zip",
|
||||
"size": "33.09MB",
|
||||
"sha256": "705462e7e9c8dbbda2231df3980b90bb213dd16dc3e0b60efbcda7c0491ab25f"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.5.0RC5-Win32-vs17-x64.zip",
|
||||
"size": "37.56MB",
|
||||
"sha256": "0ea3b8cd77a3a5eeb56b214497155c6e0451bad25697eece776fdfe26450b50d"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.5.0RC5-Win32-vs17-x64.zip",
|
||||
"size": "1.64MB",
|
||||
"sha256": "506be633421aa8806ee396f542f754af84a3432ff037899b7037c59c0dff5533"
|
||||
}
|
||||
},
|
||||
"source": {
|
||||
"path": "php-8.5.0RC5-src.zip",
|
||||
"size": "31.65MB",
|
||||
"sha256": "521b24a3e8f6b57f1b08975168db3fbcbc3e55aaf2a5c8509d6b11b44b782659"
|
||||
},
|
||||
"test_pack": {
|
||||
"path": "php-test-pack-8.5.0RC5.zip",
|
||||
"size": "17.98MB",
|
||||
"sha256": "cbb4738a96202a57b00f6249d2703915ea9fd28b303680d9c6a6b4af21e73625"
|
||||
},
|
||||
"ts-vs17-x86": {
|
||||
"mtime": "2025-11-12T02:27:32+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.5.0RC5-Win32-vs17-x86.zip",
|
||||
"size": "29.52MB",
|
||||
"sha256": "d6f51a986bfd06802840ee97506a5e34646eda4621ede6909a45eb153bbccd8f"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.5.0RC5-Win32-vs17-x86.zip",
|
||||
"size": "38.17MB",
|
||||
"sha256": "d696d8e4a2edd39d07635c5dac497e08f6ae44f371e804268f65d8e40e367dd0"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.5.0RC5-Win32-vs17-x86.zip",
|
||||
"size": "1.64MB",
|
||||
"sha256": "21af3b3da3c843215366b6a11730e94c0ffc1c35a0b41f57060e791b0c5127ba"
|
||||
}
|
||||
},
|
||||
"nts-vs17-x64": {
|
||||
"mtime": "2025-11-12T02:27:30+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.5.0RC5-nts-Win32-vs17-x64.zip",
|
||||
"size": "32.96MB",
|
||||
"sha256": "3bad2a4bb1287092c8226d7c83d20e29c2eadea0e27f4859f51856d0ba05e5e1"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.5.0RC5-nts-Win32-vs17-x64.zip",
|
||||
"size": "37.52MB",
|
||||
"sha256": "678792b4c17b3d92c06c7ff4a0871e9b68e1fe1542b9bb2b85b30983b46d1f5c"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.5.0RC5-nts-Win32-vs17-x64.zip",
|
||||
"size": "1.64MB",
|
||||
"sha256": "c304904874f2e27212eaaa58af5518db71c63f0fa02dc137105d98472e8f918f"
|
||||
}
|
||||
},
|
||||
"nts-vs17-x86": {
|
||||
"mtime": "2025-11-12T02:27:30+00:00",
|
||||
"zip": {
|
||||
"path": "php-8.5.0RC5-nts-Win32-vs17-x86.zip",
|
||||
"size": "29.46MB",
|
||||
"sha256": "748b0c22569925ec464e2fa3f6a92ebd6d629fce5693ebc0cfd2664504d503e6"
|
||||
},
|
||||
"debug_pack": {
|
||||
"path": "php-debug-pack-8.5.0RC5-nts-Win32-vs17-x86.zip",
|
||||
"size": "38.1MB",
|
||||
"sha256": "e1f582338f33cec9395a05ba1a89e1db467e6ef56f399b5e8f10a36c365a11ed"
|
||||
},
|
||||
"devel_pack": {
|
||||
"path": "php-devel-pack-8.5.0RC5-nts-Win32-vs17-x86.zip",
|
||||
"size": "1.64MB",
|
||||
"sha256": "9cc32e26706a3288238a1c196fc9f96539d5963ec23f864c5255376760b82b62"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -20,7 +20,7 @@ $SIDEBAR_DATA = '
|
||||
<p class="panel"><a href="download-docs.php">Documentation Download</a></p>
|
||||
<p class="panel"><a href="download-logos.php">PHP Logos</a></p>
|
||||
|
||||
<p class="panel"><a href="/release-candidates.php">Release Candidates</a></p>
|
||||
<p class="panel"><a href="/pre-release-builds.php">Pre-Release Builds</a></p>
|
||||
<p class="panel"><a href="/git.php">Development Sources (git)</a></p>
|
||||
<p class="panel"><a href="/releases/">Old Archives</a></p>
|
||||
';
|
||||
|
||||
@@ -19,6 +19,7 @@ include_once __DIR__ . '/include/errors.inc';
|
||||
// Get URI for this request, strip leading slash
|
||||
// See langchooser.inc for more info on STRIPPED_URI
|
||||
$URI = substr($_SERVER['STRIPPED_URI'], 1);
|
||||
$queryString = $_SERVER['QUERY_STRING'] ?? '';
|
||||
|
||||
// ============================================================================
|
||||
// Mozilla Search Sidebar plugin resource file handling (need to be mirror
|
||||
@@ -538,6 +539,7 @@ $uri_aliases = [
|
||||
# Removed pages
|
||||
"tips.php" => "urlhowto",
|
||||
"tips" => "urlhowto",
|
||||
"release-candidates.php" => "pre-release-builds",
|
||||
];
|
||||
|
||||
$external_redirects = [
|
||||
@@ -677,7 +679,11 @@ if (isset($uri_aliases[$URI])) {
|
||||
$URI = $uri_aliases[$URI];
|
||||
/* If it was a page alias, redirect right away */
|
||||
if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/$URI.php")) {
|
||||
mirror_redirect("/$URI.php");
|
||||
$target = "/$URI.php";
|
||||
if ($queryString !== '') {
|
||||
$target .= (strpos($target, '?') === false ? '?' : '&') . $queryString;
|
||||
}
|
||||
mirror_redirect($target);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ site_header("Get Involved", ["current" => "community"]);
|
||||
<h3 class="content-title" id="ways-to-contribute">Four Best Ways to Contribute</h3>
|
||||
|
||||
<ol class="content-box listed">
|
||||
<li>Running test suites in <a href="/release-candidates.php">RC</a>
|
||||
<li>Running test suites in <a href="/pre-release-builds.php">RC</a>
|
||||
and <a href="https://php.net/releases">release</a> distributions of PHP</li>
|
||||
<li>Help finding and diagnosing failed tests, see
|
||||
the <a href="https://qa.php.net/write-test.php">phpt documentation</a></li>
|
||||
|
||||
@@ -92,9 +92,9 @@ paths:
|
||||
type: string
|
||||
format: date-time
|
||||
|
||||
"/release-candidates.php":
|
||||
"/pre-release-builds.php":
|
||||
get:
|
||||
summary: "Currently RC versions of PHP."
|
||||
summary: "Currently Pre-release versions of PHP."
|
||||
parameters:
|
||||
- in: query
|
||||
name: format
|
||||
|
||||
301
pre-release-builds.php
Normal file
301
pre-release-builds.php
Normal file
@@ -0,0 +1,301 @@
|
||||
<?php
|
||||
$_SERVER['BASE_PAGE'] = 'qa.php';
|
||||
include_once __DIR__ . '/include/prepend.inc';
|
||||
include_once __DIR__ . '/include/release-qa.php';
|
||||
|
||||
if (isset($_GET["format"])) {
|
||||
$output = $QA_RELEASES;
|
||||
|
||||
if (($_GET['only'] ?? null) === 'dev_versions') {
|
||||
$output = $output['reported'];
|
||||
}
|
||||
|
||||
switch ($_GET['format'] ?? null) {
|
||||
case 'json':
|
||||
header('Content-Type: application/json; charset=UTF-8');
|
||||
echo json_encode($output);
|
||||
exit;
|
||||
case 'serialize':
|
||||
default:
|
||||
header('Content-Type: text/plain; charset=UTF-8');
|
||||
echo serialize($output);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
$SITE_UPDATE = date("D M d H:i:s Y T", filectime(__FILE__));
|
||||
|
||||
$SIDEBAR_DATA = '
|
||||
<div class="panel">
|
||||
Test Releases
|
||||
<div class="body">
|
||||
The downloads on this page are not meant to be run in production. They are
|
||||
for testing only.
|
||||
</div>
|
||||
|
||||
<div class="body">
|
||||
If you find a problem when running your library or application with these
|
||||
builds, please file a report on
|
||||
<a href="https://github.com/php/php-src/issues/">GitHub Issues</a>.
|
||||
</div>
|
||||
<br/>
|
||||
QA Releases API
|
||||
<div class="body">
|
||||
<p>
|
||||
The QA API is based on the query string.
|
||||
</p>
|
||||
<p>
|
||||
Pass in the <code>format</code> parameter, with <code>serialize</code> or
|
||||
<code>json</code> as value to obtain all information:
|
||||
</p>
|
||||
<ul>
|
||||
<li><a href="https://php.net/pre-release-builds.php?format=json">/pre-release-builds.php?format=json</a></li>
|
||||
<li><a href="https://php.net/pre-release-builds.php?format=serialize">/pre-release-builds.php?format=serialize</a></li>
|
||||
</ul>
|
||||
<p>
|
||||
To only try dev version numbers, add <code>only=dev_versions</code>:
|
||||
</p>
|
||||
<ul>
|
||||
<li><a href="https://php.net/pre-release-builds.php?format=json&only=dev_versions">/pre-release-builds.php?format=json&only=dev_versions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
';
|
||||
|
||||
site_header("Pre-Release Builds", [
|
||||
'current' => 'downloads',
|
||||
]);
|
||||
|
||||
?>
|
||||
<h1>Pre-Release Builds</h1>
|
||||
<p>
|
||||
This page contains links to the Pre-release builds that the release
|
||||
managers create before each actual release. These builds are meant for the
|
||||
community to test whether no inadvertent changes have been made, and
|
||||
whether no regressions have been introduced.
|
||||
</p>
|
||||
|
||||
<h3>Source Builds:</h3>
|
||||
<?php if (!empty($QA_RELEASES['releases'])) : ?>
|
||||
<?php $plural = count($QA_RELEASES['releases']) > 1 ? 's' : ''; ?>
|
||||
|
||||
<?php foreach ($QA_RELEASES['releases'] as $pversion => $info) : ?>
|
||||
<h3 class="title">
|
||||
PHP <?php echo $info['version']; ?>
|
||||
</h3>
|
||||
<div class="content-box">
|
||||
|
||||
<ul>
|
||||
<?php foreach ($info['files'] as $file_type => $file_info) : ?>
|
||||
<li>
|
||||
<a href="<?php echo $file_info['path'] ?>"><?php echo "php-{$info['version']}.tar.{$file_type}"; ?></a>
|
||||
<span class="releasedate"><?php echo date('d M Y', strtotime($info['date'])); ?></span>
|
||||
<?php foreach ($QA_CHECKSUM_TYPES as $algo): ?>
|
||||
<span class="<?php echo $algo; ?>">
|
||||
<?php if (isset($file_info[$algo]) && strlen($file_info[$algo])) : ?>
|
||||
<?php echo $file_info[$algo]; ?>
|
||||
<?php else: ?>
|
||||
<em><small>No checksum value available</small></em>)
|
||||
<?php endif; ?>
|
||||
<?php endforeach; ?>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
<?php endforeach; ?>
|
||||
<?php else: ?>
|
||||
<span class='lihack'>There are no QA releases available at the moment to test.</span>
|
||||
<?php endif; ?>
|
||||
|
||||
<h3>Windows Builds:</h3>
|
||||
<?php
|
||||
$winQaFile = __DIR__ . '/backend/win-qa-releases.json';
|
||||
$winQaBase = 'https://downloads.php.net/~windows/qa/';
|
||||
$winQaMessage = '';
|
||||
$winQaReleases = [];
|
||||
|
||||
if (is_readable($winQaFile)) {
|
||||
$raw = @file_get_contents($winQaFile);
|
||||
$decoded = $raw ? json_decode($raw, true) : null;
|
||||
if (is_array($decoded)) {
|
||||
$allowedBranches = [];
|
||||
if (!empty($QA_RELEASES['releases'])) {
|
||||
foreach (array_keys($QA_RELEASES['releases']) as $pversion) {
|
||||
$parts = explode('.', (string) $pversion);
|
||||
if (count($parts) >= 2) {
|
||||
$branchKey = $parts[0] . '.' . $parts[1];
|
||||
$allowedBranches[$branchKey] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$buildLabel = static function (string $key, array $entry): string {
|
||||
$tool = 'VS';
|
||||
if (strpos($key, 'vs17') !== false) {
|
||||
$tool .= '17';
|
||||
} elseif (strpos($key, 'vs16') !== false) {
|
||||
$tool .= '16';
|
||||
} elseif (strpos($key, 'vc15') !== false) {
|
||||
$tool = 'VC15';
|
||||
}
|
||||
|
||||
$arch = (strpos($key, 'x64') !== false) ? 'x64' : ((strpos($key, 'x86') !== false) ? 'x86' : '');
|
||||
$ts = (strpos($key, 'nts') !== false) ? 'Non Thread Safe' : 'Thread Safe';
|
||||
|
||||
if (strncmp($key, 'nts-', 4) === 0) {
|
||||
$ts = 'Non Thread Safe';
|
||||
} elseif (strncmp($key, 'ts-', 3) === 0) {
|
||||
$ts = 'Thread Safe';
|
||||
}
|
||||
|
||||
return trim(($tool ? $tool . ' ' : '') . ($arch ? $arch . ' ' : '') . $ts);
|
||||
};
|
||||
|
||||
$packageNames = [
|
||||
'zip' => 'Zip',
|
||||
'debug_pack' => 'Debug Pack',
|
||||
'devel_pack' => 'Development package (SDK to develop PHP extensions)',
|
||||
];
|
||||
|
||||
$makeListItem = static function (string $label, array $fileInfo, ?string $mtime, bool $includeSha) use ($winQaBase): ?string {
|
||||
$path = $fileInfo['path'] ?? '';
|
||||
if ($path === '') {
|
||||
return null;
|
||||
}
|
||||
|
||||
$href = $winQaBase . ltrim($path, '/');
|
||||
$size = $fileInfo['size'] ?? '';
|
||||
$sha = $fileInfo['sha256'] ?? '';
|
||||
$hrefAttr = htmlspecialchars($href, ENT_QUOTES, 'UTF-8');
|
||||
$labelText = htmlspecialchars($label, ENT_QUOTES, 'UTF-8');
|
||||
|
||||
$parts = ['<a href="' . $hrefAttr . '">' . $labelText . '</a>'];
|
||||
if ($size !== '') {
|
||||
$parts[] = '<span class="size">' . htmlspecialchars($size, ENT_QUOTES, 'UTF-8') . '</span>';
|
||||
}
|
||||
|
||||
if ($mtime) {
|
||||
$timestamp = strtotime($mtime);
|
||||
if ($timestamp) {
|
||||
$parts[] = '<span class="releasedate">' . gmdate('d M Y', $timestamp) . '</span>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($includeSha && $sha !== '') {
|
||||
$parts[] = '<span class="sha256">' . htmlspecialchars($sha, ENT_QUOTES, 'UTF-8') . '</span>';
|
||||
}
|
||||
|
||||
return '<li>' . implode(' ', $parts) . '</li>';
|
||||
};
|
||||
|
||||
foreach ($decoded as $branch => $info) {
|
||||
if (!is_array($info) || empty($info['version'])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($branch === 'comment') {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!empty($allowedBranches) && empty($allowedBranches[$branch])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$topItems = [];
|
||||
if (!empty($info['source']) && is_array($info['source'])) {
|
||||
$item = $makeListItem('Download source code', $info['source'], $info['source']['mtime'] ?? null, false);
|
||||
if ($item !== null) {
|
||||
$topItems[] = $item;
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($info['test_pack']) && is_array($info['test_pack'])) {
|
||||
$item = $makeListItem('Download tests package (phpt)', $info['test_pack'], $info['test_pack']['mtime'] ?? null, false);
|
||||
if ($item !== null) {
|
||||
$topItems[] = $item;
|
||||
}
|
||||
}
|
||||
|
||||
$builds = [];
|
||||
foreach ($info as $buildKey => $entry) {
|
||||
if (!is_array($entry) || in_array($buildKey, ['version', 'source', 'test_pack'], true)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$label = $buildLabel($buildKey, $entry);
|
||||
if ($label === '') {
|
||||
continue;
|
||||
}
|
||||
|
||||
$packageItems = [];
|
||||
foreach ($packageNames as $pkgKey => $pkgLabel) {
|
||||
if (empty($entry[$pkgKey]) || !is_array($entry[$pkgKey])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$rendered = $makeListItem($pkgLabel, $entry[$pkgKey], $entry['mtime'] ?? null, true);
|
||||
if ($rendered !== null) {
|
||||
$packageItems[] = $rendered;
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($packageItems)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$builds[] = [
|
||||
'label' => $label,
|
||||
'items' => $packageItems,
|
||||
];
|
||||
}
|
||||
|
||||
if (empty($topItems) && empty($builds)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$winQaReleases[] = [
|
||||
'version_label' => $info['version'],
|
||||
'top_items' => $topItems,
|
||||
'builds' => $builds,
|
||||
];
|
||||
}
|
||||
} else {
|
||||
$winQaMessage = 'Windows QA release index could not be parsed.';
|
||||
}
|
||||
} else {
|
||||
$winQaMessage = 'Windows QA release index is unavailable.';
|
||||
}
|
||||
|
||||
if ($winQaMessage !== '') {
|
||||
echo '<p>', htmlspecialchars($winQaMessage), '</p>';
|
||||
} elseif (empty($winQaReleases)) {
|
||||
echo "<p>No Windows QA builds match the currently active QA releases.</p>";
|
||||
} else {
|
||||
foreach ($winQaReleases as $release) {
|
||||
$versionLabel = $release['version_label'];
|
||||
|
||||
echo '<h3 class="title">PHP ', htmlspecialchars($versionLabel), '</h3>';
|
||||
echo '<div class="content-box windows-qa">';
|
||||
if (!empty($release['top_items'])) {
|
||||
echo '<ul class="windows-qa-list">';
|
||||
foreach ($release['top_items'] as $item) {
|
||||
echo $item;
|
||||
}
|
||||
echo '</ul>';
|
||||
}
|
||||
|
||||
foreach ($release['builds'] as $build) {
|
||||
echo '<h5 style="margin:-10px 0 0 10px;">' . $build['label'] . '</h5>';
|
||||
echo '<ul class="windows-qa-list">';
|
||||
foreach ($build['items'] as $item) {
|
||||
echo $item;
|
||||
}
|
||||
echo '</ul>';
|
||||
}
|
||||
echo '</div>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<?php
|
||||
site_footer(['sidebar' => $SIDEBAR_DATA]);
|
||||
|
||||
@@ -1,117 +0,0 @@
|
||||
<?php
|
||||
$_SERVER['BASE_PAGE'] = 'qa.php';
|
||||
include_once __DIR__ . '/include/prepend.inc';
|
||||
include_once __DIR__ . '/include/release-qa.php';
|
||||
|
||||
if (isset($_GET["format"])) {
|
||||
$output = $QA_RELEASES;
|
||||
|
||||
if (($_GET['only'] ?? null) === 'dev_versions') {
|
||||
$output = $output['reported'];
|
||||
}
|
||||
|
||||
switch ($_GET['format'] ?? null) {
|
||||
case 'json':
|
||||
header('Content-Type: application/json; charset=UTF-8');
|
||||
echo json_encode($output);
|
||||
exit;
|
||||
case 'serialize':
|
||||
default:
|
||||
header('Content-Type: text/plain; charset=UTF-8');
|
||||
echo serialize($output);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
$SITE_UPDATE = date("D M d H:i:s Y T", filectime(__FILE__));
|
||||
|
||||
$SIDEBAR_DATA = '
|
||||
<div class="panel">
|
||||
Test Releases
|
||||
<div class="body">
|
||||
The downloads on this page are not meant to be run in production. They are
|
||||
for testing only.
|
||||
</div>
|
||||
|
||||
<div class="body">
|
||||
If you find a problem when running your library or application with these
|
||||
builds, please file a report on
|
||||
<a href="https://github.com/php/php-src/issues/">GitHub Issues</a>.
|
||||
</div>
|
||||
<br/>
|
||||
QA Releases API
|
||||
<div class="body">
|
||||
<p>
|
||||
The QA API is based on the query string.
|
||||
</p>
|
||||
<p>
|
||||
Pass in the <code>format</code> parameter, with <code>serialize</code> or
|
||||
<code>json</code> as value to obtain all information:
|
||||
</p>
|
||||
<ul>
|
||||
<li><a href="https://php.net/release-candidates.php?format=json">/release-candidates.php?format=json</a></li>
|
||||
<li><a href="https://php.net/release-candidates.php?format=serialize">/release-candidates.php?format=serialize</a></li>
|
||||
</ul>
|
||||
<p>
|
||||
To only tried dev version numbers, add <code>only=dev_versions</code>:
|
||||
</p>
|
||||
<ul>
|
||||
<li><a href="https://php.net/release-candidates.php?format=json&only=dev_versions">/release-candidates.php?format=json&only=dev_versions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
';
|
||||
|
||||
site_header("Release Candidates", [
|
||||
'current' => 'downloads',
|
||||
]);
|
||||
|
||||
?>
|
||||
<h1>Release Candidate Builds</h1>
|
||||
<p>
|
||||
This page contains links to the Release Candidate builds that the release
|
||||
managers create before each actual release. These builds are meant for the
|
||||
community to test whether no inadvertent changes have been made, and
|
||||
whether no regressions have been introduced.
|
||||
</p>
|
||||
|
||||
<h3>Available QA Releases:</h3>
|
||||
<?php if (!empty($QA_RELEASES['releases'])) : ?>
|
||||
<?php $plural = count($QA_RELEASES['releases']) > 1 ? 's' : ''; ?>
|
||||
|
||||
<?php foreach ($QA_RELEASES['releases'] as $pversion => $info) : ?>
|
||||
<h3 class="title">
|
||||
PHP <?php echo $info['version']; ?>
|
||||
</h3>
|
||||
<div class="content-box">
|
||||
|
||||
<ul>
|
||||
<?php foreach ($info['files'] as $file_type => $file_info) : ?>
|
||||
<li>
|
||||
<a href="<?php echo $file_info['path'] ?>"><?php echo "php-{$info['version']}.tar.{$file_type}"; ?></a>
|
||||
<span class="releasedate"><?php echo date('d M Y', strtotime($info['date'])); ?></span>
|
||||
<?php foreach ($QA_CHECKSUM_TYPES as $algo): ?>
|
||||
<span class="<?php echo $algo; ?>">
|
||||
<?php if (isset($file_info[$algo]) && strlen($file_info[$algo])) : ?>
|
||||
<?php echo $file_info[$algo]; ?>
|
||||
<?php else: ?>
|
||||
<em><small>No checksum value available</small></em>)
|
||||
<?php endif; ?>
|
||||
<?php endforeach; ?>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
<?php endforeach; ?>
|
||||
<?php else: ?>
|
||||
<span class='lihack'>There are no QA releases available at the moment to test.</span>
|
||||
<?php endif; ?>
|
||||
|
||||
<p>
|
||||
<br/>
|
||||
<strong>Windows users:</strong>
|
||||
See <a href="https://windows.php.net/qa/">here</a> for the Windows QA builds.
|
||||
</p>
|
||||
|
||||
<?php
|
||||
site_footer(['sidebar' => $SIDEBAR_DATA]);
|
||||
|
||||
Reference in New Issue
Block a user