mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2024-12-22 16:31:53 +00:00
db312435cb
* Add semantic release * fix typo * split from matrix * remove only on push * remove npm plugin * write changelog to NEWS * list assets to include in git commit * fix update-for-release * lint pr title * split release into separate workflow that runs manually * revert ci.yml changes * remove references to WHATSNEW * Fix #322 - PHP 8.1 deprecation notice in HostBlacklist URIFilter (#323) * Replace 8.1-deprecated utf8_ funcs with mbstring (#326) * Treat PHP version numbers as strings in GitHub Actions (#327) YAML will try to interpret numeric values as numbers, leading to `8.0` being interpreted as `8` instead of `'8.0'`. This doesn't result in a functional change, but cleans up the output of the jobs a little (e.g. in the title line). * Update to `actions/checkout@v3` (#328) This does not introduce any functional difference and is intended as a future-proofing change. see https://github.com/actions/checkout/releases/tag/v3.0.0 * Fix test selection logic in tests/test_files.php (#329) Selecting the `fstools` tests also executed the `htmlt` tests. * Fix some more PHP 8.2 deprecations (#330) * Define HTMLPurifier_AttrTransform_SafeParam::$wmode This fixes a PHP 8.2 deprecation. * Define HTMLPurifier_DefinitionCache_DecoratorHarness::$cache This fixes a PHP 8.2 deprecation. * Define HTMLPurifier_DefinitionCache_DecoratorHarness::$mock This fixes a PHP 8.2 deprecation. * Define HTMLPurifier_DefinitionCache_DecoratorHarness::$def This fixes a PHP 8.2 deprecation. * Define HTMLPurifier_EntityParserTest::$_entity_lookup This fixes a PHP 8.2 deprecation. * Increase minimum requirement to PHP 5.6 (#331) * Add contenteditable attribute definition (#332) * Add contenteditable attribute definition * gate behind html.trusted * use enum * Fix creation of dynamic property (#333) * Fix creation of dynamic property (#337) * Add PHP 8.2 to CI (#335) * Add PHP 8.2 to CI see ezyang/htmlpurifier#334 * Add PHP 8.2 to composer.json * Fix contenteditable attribute definition (#336) * Run CSSTidy tests on CI (#338) * Run CSSTidy tests on CI * update dirname * use compopser instead of git clone * use composer * use test-settings.sample.php * enable ext-intl * disable Net_IDNA2 * Release 4.15.0 Signed-off-by: Edward Z. Yang <ezyang@mit.edu> Signed-off-by: Edward Z. Yang <ezyang@mit.edu> Co-authored-by: John Flatness <john@zerocrates.org> Co-authored-by: Tim Düsterhus <duesterhus@woltlab.com> Co-authored-by: Tim Düsterhus <timwolla@googlemail.com> Co-authored-by: Edward Z. Yang <ezyang@mit.edu>
107 lines
2.5 KiB
Plaintext
107 lines
2.5 KiB
Plaintext
<?php
|
|
|
|
// release script
|
|
// PHP 5.0 only
|
|
|
|
if (php_sapi_name() != 'cli') {
|
|
echo 'Release script cannot be called from web-browser.';
|
|
exit;
|
|
}
|
|
|
|
if (!isset($argv[1])) {
|
|
echo
|
|
'php release.php [version]
|
|
HTML Purifier release script
|
|
';
|
|
exit;
|
|
}
|
|
|
|
$version = trim($argv[1]);
|
|
|
|
// Bump version numbers:
|
|
|
|
// ...in VERSION
|
|
file_put_contents('VERSION', $version);
|
|
|
|
$is_dev = strpos($version, 'dev') === false;
|
|
|
|
// ...in Doxyfile
|
|
$doxyfile_c = preg_replace(
|
|
'/(?<=PROJECT_NUMBER {9}= )[^\s]+/m', // brittle
|
|
$version,
|
|
file_get_contents('Doxyfile'),
|
|
1, $c
|
|
);
|
|
if (!$c) {
|
|
echo 'Could not update Doxyfile, missing PROJECT_NUMBER.' . PHP_EOL;
|
|
exit;
|
|
}
|
|
file_put_contents('Doxyfile', $doxyfile_c);
|
|
|
|
// ...in HTMLPurifier.php
|
|
$htmlpurifier_c = file_get_contents('library/HTMLPurifier.php');
|
|
$htmlpurifier_c = preg_replace(
|
|
'/HTML Purifier .+? - /',
|
|
"HTML Purifier $version - ",
|
|
$htmlpurifier_c,
|
|
1, $c
|
|
);
|
|
if (!$c) {
|
|
echo 'Could not update HTMLPurifier.php, missing HTML Purifier [version] header.' . PHP_EOL;
|
|
exit;
|
|
}
|
|
$htmlpurifier_c = preg_replace(
|
|
'/public \$version = \'.+?\';/',
|
|
"public \$version = '$version';",
|
|
$htmlpurifier_c,
|
|
1, $c
|
|
);
|
|
if (!$c) {
|
|
echo 'Could not update HTMLPurifier.php, missing public $version.' . PHP_EOL;
|
|
exit;
|
|
}
|
|
$htmlpurifier_c = preg_replace(
|
|
'/const VERSION = \'.+?\';/',
|
|
"const VERSION = '$version';",
|
|
$htmlpurifier_c,
|
|
1, $c
|
|
);
|
|
if (!$c) {
|
|
echo 'Could not update HTMLPurifier.php, missing const $version.' . PHP_EOL;
|
|
exit;
|
|
}
|
|
file_put_contents('library/HTMLPurifier.php', $htmlpurifier_c);
|
|
|
|
$config_c = file_get_contents('library/HTMLPurifier/Config.php');
|
|
$config_c = preg_replace(
|
|
'/public \$version = \'.+?\';/',
|
|
"public \$version = '$version';",
|
|
$config_c,
|
|
1, $c
|
|
);
|
|
if (!$c) {
|
|
echo 'Could not update Config.php, missing public $version.' . PHP_EOL;
|
|
exit;
|
|
}
|
|
file_put_contents('library/HTMLPurifier/Config.php', $config_c);
|
|
|
|
$includes = file_get_contents('library/HTMLPurifier.includes.php');
|
|
$includes = preg_replace(
|
|
'/@version .+?/',
|
|
"@version $version",
|
|
$includes,
|
|
1, $c
|
|
);
|
|
if (!$c) {
|
|
echo 'Could not update HTMLPurifier.includes.php, missing @version docblock.' . PHP_EOL;
|
|
exit;
|
|
}
|
|
file_put_contents('HTMLPurifier.includes.php', $includes);
|
|
|
|
passthru('maintenance/flush.sh');
|
|
|
|
if ($is_dev) echo "Review changes, and then commit with log 'Release $version.'" . PHP_EOL;
|
|
else echo "Numbers updated to dev, no other modifications necessary!";
|
|
|
|
// vim: et sw=4 sts=4
|