diff --git a/Doxyfile b/Doxyfile
index 9089d3be..7354a4a8 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -31,7 +31,7 @@ PROJECT_NAME = HTMLPurifier
# This could be handy for archiving the generated documentation or
# if some version control system is used.
-PROJECT_NUMBER = 4.18.0
+PROJECT_NUMBER = 4.19.0
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
diff --git a/NEWS b/NEWS
index 62f26e0e..d69ca2ac 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,23 @@
+# [4.19.0](https://github.com/ezyang/htmlpurifier/compare/v4.18.0...v4.19.0) (2025-10-17)
+
+
+### Bug Fixes
+
+* add warning for misleading option ([#433](https://github.com/ezyang/htmlpurifier/issues/433)) ([b21a591](https://github.com/ezyang/htmlpurifier/commit/b21a59101fe8b3e68185f4929a0bc44f4eb36653))
+* catastrophic backtracking in Core.AggressivelyFixLt ([#440](https://github.com/ezyang/htmlpurifier/issues/440)) ([418eeb7](https://github.com/ezyang/htmlpurifier/commit/418eeb7dc0e16a8cbba4393bf8f51aa91f9112f9))
+* Deprecated: preg_replace(): Passing null to parameter [#3](https://github.com/ezyang/htmlpurifier/issues/3) ($subject) o… ([#421](https://github.com/ezyang/htmlpurifier/issues/421)) ([5d154a2](https://github.com/ezyang/htmlpurifier/commit/5d154a239367e8886a1d1d67d68ff015cafa6814))
+* non-substantive typos ([#434](https://github.com/ezyang/htmlpurifier/issues/434)) ([c2bc354](https://github.com/ezyang/htmlpurifier/commit/c2bc3549a392722ab3b5aa4de973673db9e1708f))
+
+
+### Features
+
+* Add CSS direction support ([#429](https://github.com/ezyang/htmlpurifier/issues/429)) ([63e631e](https://github.com/ezyang/htmlpurifier/commit/63e631ebd34f40d702adfb61fe00a5c9631ba443))
+* Add option for safe iframe hosts using array lookup ([#423](https://github.com/ezyang/htmlpurifier/issues/423)) ([b5cbf0c](https://github.com/ezyang/htmlpurifier/commit/b5cbf0cc3da70ded91e8b118e2a582026b1e6d61))
+* Allow more image widths by default ([#430](https://github.com/ezyang/htmlpurifier/issues/430)) ([00a0748](https://github.com/ezyang/htmlpurifier/commit/00a0748427d08e0c462e65cdd192bdc921c532ac))
+* Define option URI.AllowedSymbols ([#447](https://github.com/ezyang/htmlpurifier/issues/447)) ([77ebd08](https://github.com/ezyang/htmlpurifier/commit/77ebd086321fb68bbcdb65f3c68ce15d23573172))
+* PHP 8.4 support ([#441](https://github.com/ezyang/htmlpurifier/issues/441)) ([ff005f6](https://github.com/ezyang/htmlpurifier/commit/ff005f6edc4d55f03d756c2d25141c4278286137))
+* Support PHP 8.5 versions ([#453](https://github.com/ezyang/htmlpurifier/issues/453)) ([1eb05d9](https://github.com/ezyang/htmlpurifier/commit/1eb05d9864620e926535ce2131803acd2a6d7a4d))
+
# [4.18.0](https://github.com/ezyang/htmlpurifier/compare/v4.17.0...v4.18.0) (2024-11-01)
diff --git a/VERSION b/VERSION
index ef8ffbdd..35e3d1ba 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-4.18.0
\ No newline at end of file
+4.19.0
\ No newline at end of file
diff --git a/configdoc/usage.xml b/configdoc/usage.xml
index 08a69407..b5a12a9e 100644
--- a/configdoc/usage.xml
+++ b/configdoc/usage.xml
@@ -11,7 +11,7 @@
67
87
- 385
+ 363
57
@@ -19,37 +19,37 @@
- 253
+ 258
- 397
+ 402
- 401
+ 406
- 405
+ 410
- 409
+ 414
- 538
+ 543
- 554
+ 559
@@ -80,18 +80,18 @@
380
- 428
+ 427
388
- 439
+ 438
- 429
+ 428
- 273
+ 272
- 291
+ 286
- 292
+ 287
- 295
+ 290
- 399
+ 394
- 400
+ 395
- 234
+ 230
304
@@ -193,32 +193,32 @@
- 241
+ 237
- 242
+ 238
- 256
+ 252
- 259
+ 255
- 262
+ 258
- 265
+ 261
22
@@ -226,22 +226,22 @@
- 268
+ 264
- 271
+ 267
- 276
+ 272
- 279
+ 275
@@ -304,6 +304,11 @@
35
+
+
+ 111
+
+
65
@@ -406,7 +411,7 @@
- 46
+ 41
@@ -462,13 +467,13 @@
- 185
+ 186
- 202
- 218
+ 203
+ 219
- 72
+ 65
- 75
+ 68
@@ -610,7 +615,7 @@
- 67
+ 64
diff --git a/library/HTMLPurifier.includes.php b/library/HTMLPurifier.includes.php
index 4c713a33..1f99a4aa 100644
--- a/library/HTMLPurifier.includes.php
+++ b/library/HTMLPurifier.includes.php
@@ -7,7 +7,7 @@
* primary concern and you are using an opcode cache. PLEASE DO NOT EDIT THIS
* FILE, changes will be overwritten the next time the script is run.
*
- * @version 4.18.0
+ * @version 4.19.0
*
* @warning
* You must *not* include any other HTML Purifier files before this file,
diff --git a/library/HTMLPurifier.php b/library/HTMLPurifier.php
index e3bca8a2..31b5a0f7 100644
--- a/library/HTMLPurifier.php
+++ b/library/HTMLPurifier.php
@@ -19,7 +19,7 @@
*/
/*
- HTML Purifier 4.18.0 - Standards Compliant HTML Filtering
+ HTML Purifier 4.19.0 - Standards Compliant HTML Filtering
Copyright (C) 2006-2008 Edward Z. Yang
This library is free software; you can redistribute it and/or
@@ -58,12 +58,12 @@ class HTMLPurifier
* Version of HTML Purifier.
* @type string
*/
- public $version = '4.18.0';
+ public $version = '4.19.0';
/**
* Constant with version of HTML Purifier.
*/
- const VERSION = '4.18.0';
+ const VERSION = '4.19.0';
/**
* Global configuration object.
diff --git a/library/HTMLPurifier/Config.php b/library/HTMLPurifier/Config.php
index 37470c8c..256408e2 100644
--- a/library/HTMLPurifier/Config.php
+++ b/library/HTMLPurifier/Config.php
@@ -21,7 +21,7 @@ class HTMLPurifier_Config
* HTML Purifier's version
* @type string
*/
- public $version = '4.18.0';
+ public $version = '4.19.0';
/**
* Whether or not to automatically finalize