From f61e0f841c37c73c6f168a3155fed9d745af35c0 Mon Sep 17 00:00:00 2001
From: Kevin Cristiano <kcristiano@kcristiano.com>
Date: Sun, 31 Dec 2023 15:22:05 -0500
Subject: [PATCH] civicrm release-5.68.1

---
 civicrm.php                                   |  4 +-
 civicrm/CRM/Contact/Form/Contact.php          |  2 +-
 civicrm/CRM/Event/ICalendar.php               |  5 +-
 civicrm/CRM/Note/Form/Note.php                | 24 ++++++++++
 civicrm/CRM/Utils/ICalendar.php               |  2 +-
 civicrm/civicrm-version.php                   |  2 +-
 civicrm/composer.json                         |  2 +-
 civicrm/composer.lock                         | 42 ++++++++--------
 civicrm/ext/afform/admin/info.xml             |  4 +-
 civicrm/ext/afform/core/info.xml              |  4 +-
 civicrm/ext/afform/html/info.xml              |  4 +-
 civicrm/ext/afform/mock/info.xml              |  4 +-
 civicrm/ext/authx/info.xml                    |  4 +-
 civicrm/ext/civi_campaign/info.xml            |  4 +-
 civicrm/ext/civi_case/info.xml                |  4 +-
 civicrm/ext/civi_contribute/info.xml          |  4 +-
 civicrm/ext/civi_event/info.xml               |  4 +-
 civicrm/ext/civi_mail/info.xml                |  4 +-
 civicrm/ext/civi_member/info.xml              |  4 +-
 civicrm/ext/civi_pledge/info.xml              |  4 +-
 civicrm/ext/civi_report/info.xml              |  4 +-
 civicrm/ext/civicrm_admin_ui/info.xml         |  4 +-
 civicrm/ext/civicrm_search_ui/info.xml        |  4 +-
 civicrm/ext/civigrant/info.xml                |  4 +-
 civicrm/ext/civiimport/info.xml               |  4 +-
 civicrm/ext/ckeditor4/info.xml                |  4 +-
 .../ext/contributioncancelactions/info.xml    |  4 +-
 civicrm/ext/elavon/info.xml                   |  4 +-
 civicrm/ext/eventcart/info.xml                |  4 +-
 civicrm/ext/ewaysingle/info.xml               |  4 +-
 civicrm/ext/financialacls/info.xml            |  4 +-
 civicrm/ext/flexmailer/info.xml               |  4 +-
 civicrm/ext/greenwich/info.xml                |  4 +-
 civicrm/ext/legacycustomsearches/info.xml     |  4 +-
 civicrm/ext/message_admin/info.xml            |  4 +-
 civicrm/ext/oauth-client/info.xml             |  4 +-
 civicrm/ext/payflowpro/info.xml               |  4 +-
 civicrm/ext/recaptcha/info.xml                |  4 +-
 civicrm/ext/scheduled_communications/info.xml |  4 +-
 civicrm/ext/search_kit/info.xml               |  4 +-
 civicrm/ext/sequentialcreditnotes/info.xml    |  4 +-
 civicrm/ext/standaloneusers/info.xml          |  4 +-
 civicrm/ext/user_dashboard/info.xml           |  4 +-
 civicrm/release-notes.md                      |  9 ++++
 civicrm/release-notes/5.68.1.md               | 41 ++++++++++++++++
 civicrm/sql/civicrm_data.mysql                |  2 +-
 civicrm/sql/civicrm_generated.mysql           |  2 +-
 civicrm/templates/CRM/Note/Form/Note.tpl      | 35 +++++++++++++-
 civicrm/vendor/autoload.php                   |  2 +-
 civicrm/vendor/composer/autoload_real.php     | 14 +++---
 civicrm/vendor/composer/autoload_static.php   | 12 ++---
 civicrm/vendor/composer/installed.json        | 46 +++++++++---------
 civicrm/vendor/composer/installed.php         | 22 ++++-----
 civicrm/vendor/dompdf/dompdf/VERSION          |  2 +-
 .../vendor/dompdf/dompdf/src/Image/Cache.php  | 48 +++++++++++++++----
 civicrm/vendor/masterminds/html5/README.md    |  2 +-
 .../vendor/masterminds/html5/composer.json    |  4 +-
 .../masterminds/html5/src/HTML5/Elements.php  |  2 +-
 .../html5/src/HTML5/Parser/Tokenizer.php      | 23 +++++++--
 .../html5/src/HTML5/Parser/UTF8Utils.php      |  8 +---
 civicrm/vendor/phenx/php-svg-lib/SECURITY.md  | 16 +++++++
 .../phenx/php-svg-lib/src/Svg/Document.php    |  2 +
 .../phenx/php-svg-lib/src/Svg/Style.php       | 10 ++++
 .../phenx/php-svg-lib/src/Svg/Tag/Image.php   |  4 ++
 .../phenx/php-svg-lib/src/Svg/Tag/UseTag.php  | 22 ++++++++-
 civicrm/xml/version.xml                       |  2 +-
 66 files changed, 372 insertions(+), 181 deletions(-)
 create mode 100644 civicrm/release-notes/5.68.1.md
 create mode 100644 civicrm/vendor/phenx/php-svg-lib/SECURITY.md

diff --git a/civicrm.php b/civicrm.php
index 343ff49bd7..e0ff081581 100644
--- a/civicrm.php
+++ b/civicrm.php
@@ -2,7 +2,7 @@
 /**
  * Plugin Name: CiviCRM
  * Description: CiviCRM - Growing and Sustaining Relationships
- * Version: 5.68.0
+ * Version: 5.68.1
  * Requires at least: 4.9
  * Requires PHP:      7.3
  * Author: CiviCRM LLC
@@ -36,7 +36,7 @@ if (!defined('ABSPATH')) {
 }
 
 // Set version here: changing it forces Javascript and CSS to reload.
-define('CIVICRM_PLUGIN_VERSION', '5.68.0');
+define('CIVICRM_PLUGIN_VERSION', '5.68.1');
 
 // Store reference to this file.
 if (!defined('CIVICRM_PLUGIN_FILE')) {
diff --git a/civicrm/CRM/Contact/Form/Contact.php b/civicrm/CRM/Contact/Form/Contact.php
index 0b0aec7ab1..65da378bee 100644
--- a/civicrm/CRM/Contact/Form/Contact.php
+++ b/civicrm/CRM/Contact/Form/Contact.php
@@ -359,7 +359,7 @@ class CRM_Contact_Form_Contact extends CRM_Core_Form {
         CRM_Contact_Form_Edit_CustomData::preProcess($this);
       }
       else {
-        $contactSubType = $this->_contactSubType;
+        $contactSubType = array_filter(explode(CRM_Core_DAO::VALUE_SEPARATOR, (string) $this->_contactSubType));
         // need contact sub type to build related grouptree array during post process
         if (!empty($_POST['qfKey'])) {
           $contactSubType = $_POST['contact_sub_type'] ?? NULL;
diff --git a/civicrm/CRM/Event/ICalendar.php b/civicrm/CRM/Event/ICalendar.php
index 0d16cfe2ad..7947b7aaf8 100644
--- a/civicrm/CRM/Event/ICalendar.php
+++ b/civicrm/CRM/Event/ICalendar.php
@@ -54,10 +54,7 @@ class CRM_Event_ICalendar {
     $config = CRM_Core_Config::singleton();
 
     $template->assign('events', $info);
-
-    $timezones = [@date_default_timezone_get()];
-
-    $template->assign('timezone', $timezones[0]);
+    $template->assign('timezone', date_default_timezone_get());
 
     // Send data to the correct template for formatting (iCal vs. gData)
     if ($rss) {
diff --git a/civicrm/CRM/Note/Form/Note.php b/civicrm/CRM/Note/Form/Note.php
index b243a2719a..9972cc6c3d 100644
--- a/civicrm/CRM/Note/Form/Note.php
+++ b/civicrm/CRM/Note/Form/Note.php
@@ -98,6 +98,10 @@ class CRM_Note_Form_Note extends CRM_Core_Form {
    * @return void
    */
   public function buildQuickForm() {
+    if ($this->_action & CRM_Core_Action::VIEW) {
+      $this->view();
+      return;
+    }
     if ($this->_action & CRM_Core_Action::DELETE) {
       $this->addButtons([
           [
@@ -177,4 +181,24 @@ class CRM_Note_Form_Note extends CRM_Core_Form {
     CRM_Core_Session::setStatus(ts('Your Note has been saved.'), ts('Saved'), 'success');
   }
 
+  /**
+   * View details of a note.
+   */
+  private function view() {
+    $note = \Civi\Api4\Note::get()
+      ->addSelect('*', 'privacy:label')
+      ->addWhere('id', '=', $this->_id)
+      ->execute()
+      ->single();
+    $note['privacy'] = $note['privacy:label'];
+    $this->assign('note', $note);
+
+    $comments = CRM_Core_BAO_Note::getNoteTree($this->_id, 1);
+    $this->assign('comments', $comments);
+
+    // add attachments part
+    $currentAttachmentInfo = CRM_Core_BAO_File::getEntityFile('civicrm_note', $this->_id);
+    $this->assign('currentAttachmentInfo', $currentAttachmentInfo);
+  }
+
 }
diff --git a/civicrm/CRM/Utils/ICalendar.php b/civicrm/CRM/Utils/ICalendar.php
index fddefbfec8..6cafb774e5 100644
--- a/civicrm/CRM/Utils/ICalendar.php
+++ b/civicrm/CRM/Utils/ICalendar.php
@@ -245,7 +245,7 @@ class CRM_Utils_ICalendar {
           return strtotime($event['end_date'] ?? $event['start_date']);
         }, $info)
       );
-      $template->assign('timezones', CRM_Utils_ICalendar::generate_timezones($timezones, $date_min, $date_max));
+      $template->assign('timezones', CRM_Utils_ICalendar::generate_timezones([date_default_timezone_get()], $date_min, $date_max));
     }
     else {
       $template->assign('timezones', NULL);
diff --git a/civicrm/civicrm-version.php b/civicrm/civicrm-version.php
index 4dad4984e4..1ef579a347 100644
--- a/civicrm/civicrm-version.php
+++ b/civicrm/civicrm-version.php
@@ -1,7 +1,7 @@
 <?php
 /** @deprecated */
 function civicrmVersion( ) {
-  return array( 'version'  => '5.68.0',
+  return array( 'version'  => '5.68.1',
                 'cms'      => 'Wordpress',
                 'revision' => '' );
 }
diff --git a/civicrm/composer.json b/civicrm/composer.json
index f29ffaa536..80d4125b6a 100644
--- a/civicrm/composer.json
+++ b/civicrm/composer.json
@@ -52,7 +52,7 @@
   "require": {
     "php": "~7.3 || ~8",
     "composer-runtime-api": "~2.0",
-    "dompdf/dompdf" : "~2.0.2",
+    "dompdf/dompdf" : "~2.0.4",
     "firebase/php-jwt": ">=3 <6",
     "rubobaquero/phpquery": "^0.9.15",
     "symfony/config": "~4.4 || ~6.0",
diff --git a/civicrm/composer.lock b/civicrm/composer.lock
index 2bd8d4e50e..bcf9dffb0e 100644
--- a/civicrm/composer.lock
+++ b/civicrm/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "877911b3eb22b827449c0a1b597d2703",
+    "content-hash": "d3d022bba1ca31f64298436418e2c630",
     "packages": [
         {
             "name": "adrienrn/php-mimetyper",
@@ -487,16 +487,16 @@
         },
         {
             "name": "dompdf/dompdf",
-            "version": "v2.0.3",
+            "version": "v2.0.4",
             "source": {
                 "type": "git",
                 "url": "https://github.com/dompdf/dompdf.git",
-                "reference": "e8d2d5e37e8b0b30f0732a011295ab80680d7e85"
+                "reference": "093f2d9739cec57428e39ddadedfd4f3ae862c0f"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/dompdf/dompdf/zipball/e8d2d5e37e8b0b30f0732a011295ab80680d7e85",
-                "reference": "e8d2d5e37e8b0b30f0732a011295ab80680d7e85",
+                "url": "https://api.github.com/repos/dompdf/dompdf/zipball/093f2d9739cec57428e39ddadedfd4f3ae862c0f",
+                "reference": "093f2d9739cec57428e39ddadedfd4f3ae862c0f",
                 "shasum": ""
             },
             "require": {
@@ -543,9 +543,9 @@
             "homepage": "https://github.com/dompdf/dompdf",
             "support": {
                 "issues": "https://github.com/dompdf/dompdf/issues",
-                "source": "https://github.com/dompdf/dompdf/tree/v2.0.3"
+                "source": "https://github.com/dompdf/dompdf/tree/v2.0.4"
             },
-            "time": "2023-02-07T12:51:48+00:00"
+            "time": "2023-12-12T20:19:39+00:00"
         },
         {
             "name": "ezyang/htmlpurifier",
@@ -1589,26 +1589,24 @@
         },
         {
             "name": "masterminds/html5",
-            "version": "2.7.6",
+            "version": "2.8.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/Masterminds/html5-php.git",
-                "reference": "897eb517a343a2281f11bc5556d6548db7d93947"
+                "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/897eb517a343a2281f11bc5556d6548db7d93947",
-                "reference": "897eb517a343a2281f11bc5556d6548db7d93947",
+                "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f47dcf3c70c584de14f21143c55d9939631bc6cf",
+                "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf",
                 "shasum": ""
             },
             "require": {
-                "ext-ctype": "*",
                 "ext-dom": "*",
-                "ext-libxml": "*",
                 "php": ">=5.3.0"
             },
             "require-dev": {
-                "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7"
+                "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8"
             },
             "type": "library",
             "extra": {
@@ -1652,9 +1650,9 @@
             ],
             "support": {
                 "issues": "https://github.com/Masterminds/html5-php/issues",
-                "source": "https://github.com/Masterminds/html5-php/tree/2.7.6"
+                "source": "https://github.com/Masterminds/html5-php/tree/2.8.1"
             },
-            "time": "2022-08-18T16:18:26+00:00"
+            "time": "2023-05-10T11:58:31+00:00"
         },
         {
             "name": "myclabs/php-enum",
@@ -2472,16 +2470,16 @@
         },
         {
             "name": "phenx/php-svg-lib",
-            "version": "0.5.0",
+            "version": "0.5.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/dompdf/php-svg-lib.git",
-                "reference": "76876c6cf3080bcb6f249d7d59705108166a6685"
+                "reference": "8a8a1ebcf6aea861ef30197999f096f7bd4b4456"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/76876c6cf3080bcb6f249d7d59705108166a6685",
-                "reference": "76876c6cf3080bcb6f249d7d59705108166a6685",
+                "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/8a8a1ebcf6aea861ef30197999f096f7bd4b4456",
+                "reference": "8a8a1ebcf6aea861ef30197999f096f7bd4b4456",
                 "shasum": ""
             },
             "require": {
@@ -2512,9 +2510,9 @@
             "homepage": "https://github.com/PhenX/php-svg-lib",
             "support": {
                 "issues": "https://github.com/dompdf/php-svg-lib/issues",
-                "source": "https://github.com/dompdf/php-svg-lib/tree/0.5.0"
+                "source": "https://github.com/dompdf/php-svg-lib/tree/0.5.1"
             },
-            "time": "2022-09-06T12:16:56+00:00"
+            "time": "2023-12-11T20:56:08+00:00"
         },
         {
             "name": "phpoffice/phpspreadsheet",
diff --git a/civicrm/ext/afform/admin/info.xml b/civicrm/ext/afform/admin/info.xml
index 71d5289947..d64d84c9a6 100644
--- a/civicrm/ext/afform/admin/info.xml
+++ b/civicrm/ext/afform/admin/info.xml
@@ -12,8 +12,8 @@
     <url desc="Chat">https://chat.civicrm.org/civicrm/channels/dev-afform</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>beta</develStage>
   <compatibility>
     <ver>5.68</ver>
diff --git a/civicrm/ext/afform/core/info.xml b/civicrm/ext/afform/core/info.xml
index f8ba60bb10..831e680fb9 100644
--- a/civicrm/ext/afform/core/info.xml
+++ b/civicrm/ext/afform/core/info.xml
@@ -12,8 +12,8 @@
     <url desc="Chat">https://chat.civicrm.org/civicrm/channels/dev-afform</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <compatibility>
     <ver>5.68</ver>
   </compatibility>
diff --git a/civicrm/ext/afform/html/info.xml b/civicrm/ext/afform/html/info.xml
index 6a524d6f55..bba3589ed9 100644
--- a/civicrm/ext/afform/html/info.xml
+++ b/civicrm/ext/afform/html/info.xml
@@ -12,8 +12,8 @@
     <url desc="Chat">https://chat.civicrm.org/civicrm/channels/dev-afform</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>alpha</develStage>
   <compatibility>
     <ver>5.68</ver>
diff --git a/civicrm/ext/afform/mock/info.xml b/civicrm/ext/afform/mock/info.xml
index a563482cbb..3de31089d8 100644
--- a/civicrm/ext/afform/mock/info.xml
+++ b/civicrm/ext/afform/mock/info.xml
@@ -11,8 +11,8 @@
   <urls>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/authx/info.xml b/civicrm/ext/authx/info.xml
index aa50793c74..36b1865e74 100644
--- a/civicrm/ext/authx/info.xml
+++ b/civicrm/ext/authx/info.xml
@@ -14,8 +14,8 @@
     <url desc="Issues">https://lab.civicrm.org/dev/core/-/issues</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>stable</develStage>
   <tags>
     <tag>mgmt:required</tag>
diff --git a/civicrm/ext/civi_campaign/info.xml b/civicrm/ext/civi_campaign/info.xml
index 48d7966f8a..0cc2591e2a 100644
--- a/civicrm/ext/civi_campaign/info.xml
+++ b/civicrm/ext/civi_campaign/info.xml
@@ -12,8 +12,8 @@
     <url desc="Documentation">https://docs.civicrm.org/user/en/latest/campaign/what-is-civicampaign/</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>stable</develStage>
   <tags>
     <tag>component</tag>
diff --git a/civicrm/ext/civi_case/info.xml b/civicrm/ext/civi_case/info.xml
index 8ed73c3f98..9f0fca3b2a 100644
--- a/civicrm/ext/civi_case/info.xml
+++ b/civicrm/ext/civi_case/info.xml
@@ -12,8 +12,8 @@
     <url desc="Documentation">https://docs.civicrm.org/user/en/latest/case-management/what-is-civicase/</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>stable</develStage>
   <tags>
     <tag>component</tag>
diff --git a/civicrm/ext/civi_contribute/info.xml b/civicrm/ext/civi_contribute/info.xml
index 3d9d3975e0..b616f14fb2 100644
--- a/civicrm/ext/civi_contribute/info.xml
+++ b/civicrm/ext/civi_contribute/info.xml
@@ -12,8 +12,8 @@
     <url desc="Documentation">https://docs.civicrm.org/user/en/latest/contributions/what-is-civicontribute/</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>stable</develStage>
   <tags>
     <tag>component</tag>
diff --git a/civicrm/ext/civi_event/info.xml b/civicrm/ext/civi_event/info.xml
index bb331fbfd9..b0058f1375 100644
--- a/civicrm/ext/civi_event/info.xml
+++ b/civicrm/ext/civi_event/info.xml
@@ -12,8 +12,8 @@
     <url desc="Documentation">https://docs.civicrm.org/user/en/latest/events/what-is-civievent</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>stable</develStage>
   <tags>
     <tag>component</tag>
diff --git a/civicrm/ext/civi_mail/info.xml b/civicrm/ext/civi_mail/info.xml
index 6dc808b134..86977a7bbf 100644
--- a/civicrm/ext/civi_mail/info.xml
+++ b/civicrm/ext/civi_mail/info.xml
@@ -12,8 +12,8 @@
     <url desc="Documentation">https://docs.civicrm.org/user/en/latest/email/what-is-civimail/</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>stable</develStage>
   <tags>
     <tag>component</tag>
diff --git a/civicrm/ext/civi_member/info.xml b/civicrm/ext/civi_member/info.xml
index 28f5705a35..e766940f9a 100644
--- a/civicrm/ext/civi_member/info.xml
+++ b/civicrm/ext/civi_member/info.xml
@@ -12,8 +12,8 @@
     <url desc="Documentation">https://docs.civicrm.org/user/en/latest/membership/what-is-civimember/</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>stable</develStage>
   <tags>
     <tag>component</tag>
diff --git a/civicrm/ext/civi_pledge/info.xml b/civicrm/ext/civi_pledge/info.xml
index 79391ddf0d..9a8b08d08c 100644
--- a/civicrm/ext/civi_pledge/info.xml
+++ b/civicrm/ext/civi_pledge/info.xml
@@ -12,8 +12,8 @@
     <url desc="Documentation">https://docs.civicrm.org/user/en/latest/pledges/what-is-civipledge/</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>stable</develStage>
   <tags>
     <tag>component</tag>
diff --git a/civicrm/ext/civi_report/info.xml b/civicrm/ext/civi_report/info.xml
index e7fb0eb996..e3f2a46abb 100644
--- a/civicrm/ext/civi_report/info.xml
+++ b/civicrm/ext/civi_report/info.xml
@@ -12,8 +12,8 @@
     <url desc="Documentation">https://docs.civicrm.org/user/en/latest/reporting/what-is-civireport/</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>stable</develStage>
   <tags>
     <tag>component</tag>
diff --git a/civicrm/ext/civicrm_admin_ui/info.xml b/civicrm/ext/civicrm_admin_ui/info.xml
index 8d7525d00f..353ba929a3 100644
--- a/civicrm/ext/civicrm_admin_ui/info.xml
+++ b/civicrm/ext/civicrm_admin_ui/info.xml
@@ -14,8 +14,8 @@
     <url desc="Support">https://lab.civicrm.org/dev/core/-/issues</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>beta</develStage>
   <compatibility>
     <ver>5.68</ver>
diff --git a/civicrm/ext/civicrm_search_ui/info.xml b/civicrm/ext/civicrm_search_ui/info.xml
index c5921bd7da..9298c5c6ab 100644
--- a/civicrm/ext/civicrm_search_ui/info.xml
+++ b/civicrm/ext/civicrm_search_ui/info.xml
@@ -14,8 +14,8 @@
     <url desc="Support">https://lab.civicrm.org/dev/core/-/issues</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>alpha</develStage>
   <requires>
     <ext>org.civicrm.search_kit</ext>
diff --git a/civicrm/ext/civigrant/info.xml b/civicrm/ext/civigrant/info.xml
index 5d7cb58545..51dea4e4cd 100644
--- a/civicrm/ext/civigrant/info.xml
+++ b/civicrm/ext/civigrant/info.xml
@@ -12,8 +12,8 @@
     <url desc="Documentation">https://docs.civicrm.org/user/en/latest/grants/what-is-civigrant/</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.68</ver>
diff --git a/civicrm/ext/civiimport/info.xml b/civicrm/ext/civiimport/info.xml
index f6515e68d7..5b713ff9c5 100644
--- a/civicrm/ext/civiimport/info.xml
+++ b/civicrm/ext/civiimport/info.xml
@@ -14,8 +14,8 @@
     <url desc="Support">http://civicrm.org</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>alpha</develStage>
   <compatibility>
     <ver>5.68</ver>
diff --git a/civicrm/ext/ckeditor4/info.xml b/civicrm/ext/ckeditor4/info.xml
index 1ea33c848e..08db56a950 100644
--- a/civicrm/ext/ckeditor4/info.xml
+++ b/civicrm/ext/ckeditor4/info.xml
@@ -14,8 +14,8 @@
     <url desc="Support">https://github.com/civicrm/civicrm-core/</url>
     <url desc="Licensing">https://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.68</ver>
diff --git a/civicrm/ext/contributioncancelactions/info.xml b/civicrm/ext/contributioncancelactions/info.xml
index b521ee7a28..9817a3518c 100644
--- a/civicrm/ext/contributioncancelactions/info.xml
+++ b/civicrm/ext/contributioncancelactions/info.xml
@@ -14,8 +14,8 @@
     <url desc="Support">http://civicrm.org</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.68</ver>
diff --git a/civicrm/ext/elavon/info.xml b/civicrm/ext/elavon/info.xml
index 0784e9e244..8ceee27585 100644
--- a/civicrm/ext/elavon/info.xml
+++ b/civicrm/ext/elavon/info.xml
@@ -14,8 +14,8 @@
     <url desc="Support">https://lab.civicrm.org</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.68</ver>
diff --git a/civicrm/ext/eventcart/info.xml b/civicrm/ext/eventcart/info.xml
index 5b907396e1..18a5617c89 100644
--- a/civicrm/ext/eventcart/info.xml
+++ b/civicrm/ext/eventcart/info.xml
@@ -12,8 +12,8 @@
     <url desc="Main Extension Page">https://github.com/civicrm/civicrm-core/tree/master/ext/eventcart</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/ewaysingle/info.xml b/civicrm/ext/ewaysingle/info.xml
index 8c83d9ecbb..56239b8cbc 100644
--- a/civicrm/ext/ewaysingle/info.xml
+++ b/civicrm/ext/ewaysingle/info.xml
@@ -14,8 +14,8 @@
     <url desc="Support">https://github.com/civicrm/civicrm-core/blob/master/ext/ewaysingle</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/financialacls/info.xml b/civicrm/ext/financialacls/info.xml
index 6124da07d4..68d7ed87fb 100644
--- a/civicrm/ext/financialacls/info.xml
+++ b/civicrm/ext/financialacls/info.xml
@@ -14,8 +14,8 @@
     <url desc="Support">http://FIXME</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.68</ver>
diff --git a/civicrm/ext/flexmailer/info.xml b/civicrm/ext/flexmailer/info.xml
index 1bdc772eb1..ba6f1de750 100644
--- a/civicrm/ext/flexmailer/info.xml
+++ b/civicrm/ext/flexmailer/info.xml
@@ -14,8 +14,8 @@
     <url desc="Support">http://civicrm.stackexchange.com/</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>stable</develStage>
   <comments>
     FlexMailer is an email delivery engine which replaces the internal guts
diff --git a/civicrm/ext/greenwich/info.xml b/civicrm/ext/greenwich/info.xml
index 38d5d182de..3dbd78797a 100644
--- a/civicrm/ext/greenwich/info.xml
+++ b/civicrm/ext/greenwich/info.xml
@@ -14,8 +14,8 @@
     <url desc="Support">http://civicrm.org</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/legacycustomsearches/info.xml b/civicrm/ext/legacycustomsearches/info.xml
index 3aba787a08..63d16483e9 100644
--- a/civicrm/ext/legacycustomsearches/info.xml
+++ b/civicrm/ext/legacycustomsearches/info.xml
@@ -14,8 +14,8 @@
     <url desc="Support">http://FIXME</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.68</ver>
diff --git a/civicrm/ext/message_admin/info.xml b/civicrm/ext/message_admin/info.xml
index 7394a8acd0..d133966116 100644
--- a/civicrm/ext/message_admin/info.xml
+++ b/civicrm/ext/message_admin/info.xml
@@ -14,8 +14,8 @@
     <url desc="Support">http://civicrm.org</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>alpha</develStage>
   <compatibility>
     <ver>5.68</ver>
diff --git a/civicrm/ext/oauth-client/info.xml b/civicrm/ext/oauth-client/info.xml
index 298dcefdd0..84ca39e0c5 100644
--- a/civicrm/ext/oauth-client/info.xml
+++ b/civicrm/ext/oauth-client/info.xml
@@ -14,8 +14,8 @@
     <url desc="Support">https://lab.civicrm.org/dev/core/-/issues</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.68</ver>
diff --git a/civicrm/ext/payflowpro/info.xml b/civicrm/ext/payflowpro/info.xml
index 9e5aa78821..a90d69bb18 100644
--- a/civicrm/ext/payflowpro/info.xml
+++ b/civicrm/ext/payflowpro/info.xml
@@ -14,8 +14,8 @@
     <url desc="Support">https://lab.civicrm.org</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.68</ver>
diff --git a/civicrm/ext/recaptcha/info.xml b/civicrm/ext/recaptcha/info.xml
index 9489875fad..4d008d4dfc 100644
--- a/civicrm/ext/recaptcha/info.xml
+++ b/civicrm/ext/recaptcha/info.xml
@@ -12,8 +12,8 @@
     <url desc="Main Extension Page">https://github.com/civicrm/civicrm-core/tree/master/ext/recaptcha</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/scheduled_communications/info.xml b/civicrm/ext/scheduled_communications/info.xml
index 508b7ffb7b..c017b2bf5c 100644
--- a/civicrm/ext/scheduled_communications/info.xml
+++ b/civicrm/ext/scheduled_communications/info.xml
@@ -12,8 +12,8 @@
     <url desc="Chat">https://chat.civicrm.org/civicrm/channels/search-improvements</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>beta</develStage>
   <compatibility>
     <ver>5.68</ver>
diff --git a/civicrm/ext/search_kit/info.xml b/civicrm/ext/search_kit/info.xml
index b1280f7000..a11d088fb1 100644
--- a/civicrm/ext/search_kit/info.xml
+++ b/civicrm/ext/search_kit/info.xml
@@ -14,8 +14,8 @@
     <url desc="Issues">https://lab.civicrm.org/dev/report/-/issues</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>stable</develStage>
   <tags>
     <tag>mgmt:required</tag>
diff --git a/civicrm/ext/sequentialcreditnotes/info.xml b/civicrm/ext/sequentialcreditnotes/info.xml
index 14bffbc677..dc945693db 100644
--- a/civicrm/ext/sequentialcreditnotes/info.xml
+++ b/civicrm/ext/sequentialcreditnotes/info.xml
@@ -14,8 +14,8 @@
     <url desc="Support">https://lab.civicrm.org/extensions/sequentialcreditnotes</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/standaloneusers/info.xml b/civicrm/ext/standaloneusers/info.xml
index 07a87434b3..af1ab0711e 100644
--- a/civicrm/ext/standaloneusers/info.xml
+++ b/civicrm/ext/standaloneusers/info.xml
@@ -14,8 +14,8 @@
     <url desc="Support">http://FIXME</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>alpha</develStage>
   <compatibility>
     <ver>5.68</ver>
diff --git a/civicrm/ext/user_dashboard/info.xml b/civicrm/ext/user_dashboard/info.xml
index e2690a85a1..3a6b8f5c8f 100644
--- a/civicrm/ext/user_dashboard/info.xml
+++ b/civicrm/ext/user_dashboard/info.xml
@@ -14,8 +14,8 @@
     <url desc="Support">http://FIXME</url>
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
-  <releaseDate>2023-12-07</releaseDate>
-  <version>5.68.0</version>
+  <releaseDate>2023-12-30</releaseDate>
+  <version>5.68.1</version>
   <develStage>alpha</develStage>
   <compatibility>
     <ver>5.68</ver>
diff --git a/civicrm/release-notes.md b/civicrm/release-notes.md
index 4403e7ec6c..af8e8b6e15 100644
--- a/civicrm/release-notes.md
+++ b/civicrm/release-notes.md
@@ -15,6 +15,15 @@ Other resources for identifying changes are:
     * https://github.com/civicrm/civicrm-joomla
     * https://github.com/civicrm/civicrm-wordpress
 
+## CiviCRM 5.68.1
+
+Released December 30, 2023
+
+- **[Synopsis](release-notes/5.68.1.md#synopsis)**
+- **[Bugs resolved](release-notes/5.68.1.md#bugs)**
+- **[Credits](release-notes/5.68.1.md#credits)**
+- **[Feedback](release-notes/5.68.1.md#feedback)**
+
 ## CiviCRM 5.68.0
 
 Released December 6, 2023
diff --git a/civicrm/release-notes/5.68.1.md b/civicrm/release-notes/5.68.1.md
new file mode 100644
index 0000000000..1350b0f8c6
--- /dev/null
+++ b/civicrm/release-notes/5.68.1.md
@@ -0,0 +1,41 @@
+# CiviCRM 5.68.1
+
+Released December 30, 2023
+
+- **[Synopsis](#synopsis)**
+- **[Bugs resolved](#bugs)**
+- **[Credits](#credits)**
+- **[Feedback](#feedback)**
+
+## <a name="synopsis"></a>Synopsis
+
+| *Does this version...?*                                         |          |
+| --------------------------------------------------------------- | -------- |
+| Change the database schema?                                     | no       |
+| Alter the API?                                                  | no       |
+| Require attention to configuration options?                     | no       |
+| Fix problems installing or upgrading to a previous version?     | no       |
+| Introduce features?                                             | no       |
+| **Fix bugs?**                                                   | **yes**  |
+| Fix security vulnerabilities?                                   | no       |
+
+## <a name="bugs"></a>Bugs resolved
+
+* **_CiviEvent_: iCalendar fails to generate due to timezone error ([#28709](https://github.com/civicrm/civicrm-core/pull/28709))**
+* **_Edit Contact_: Fix new warning about "VALUES_SEPARATOR" ([#28611](https://github.com/civicrm/civicrm-core/pull/28611))**
+* **_View Contact_: Notes do not display correctly ([dev/core#4852](https://lab.civicrm.org/dev/core/-/issues/4852): [#28614](https://github.com/civicrm/civicrm-core/pull/28614))**
+* **_dompdf_: Update to v2.0.2 to v2.0.4 (with dependencies) ([#28643](https://github.com/civicrm/civicrm-core/pull/28643))**
+
+## <a name="credits"></a>Credits
+
+This release was developed by the following authors and reviewers:
+
+Wikimedia Foundation - Eileen McNaughton; Systopia - Johannes; Megaphone Technology
+Consulting - Jon Goldberg; JMA Consulting - Seamus Lee; Dave D; CiviCRM - Tim Otten,
+Coleman Watts
+
+## <a name="feedback"></a>Feedback
+
+These release notes are edited by Tim Otten and Andie Hunt.  If you'd like to
+provide feedback on them, please login to https://chat.civicrm.org/civicrm and
+contact `@agh1`.
diff --git a/civicrm/sql/civicrm_data.mysql b/civicrm/sql/civicrm_data.mysql
index 1409daaf07..fb05e74e17 100644
--- a/civicrm/sql/civicrm_data.mysql
+++ b/civicrm/sql/civicrm_data.mysql
@@ -23108,4 +23108,4 @@ INSERT INTO `civicrm_report_instance`
     ( `domain_id`, `title`, `report_id`, `description`, `permission`, `form_values`)
 VALUES
     (  @domainID, 'Survey Details', 'survey/detail', 'Detailed report for canvassing, phone-banking, walk lists or other surveys.', 'access CiviReport', 'a:39:{s:6:"fields";a:2:{s:9:"sort_name";s:1:"1";s:6:"result";s:1:"1";}s:22:"assignee_contact_id_op";s:2:"eq";s:25:"assignee_contact_id_value";s:0:"";s:12:"sort_name_op";s:3:"has";s:15:"sort_name_value";s:0:"";s:17:"street_number_min";s:0:"";s:17:"street_number_max";s:0:"";s:16:"street_number_op";s:3:"lte";s:19:"street_number_value";s:0:"";s:14:"street_name_op";s:3:"has";s:17:"street_name_value";s:0:"";s:15:"postal_code_min";s:0:"";s:15:"postal_code_max";s:0:"";s:14:"postal_code_op";s:3:"lte";s:17:"postal_code_value";s:0:"";s:7:"city_op";s:3:"has";s:10:"city_value";s:0:"";s:20:"state_province_id_op";s:2:"in";s:23:"state_province_id_value";a:0:{}s:13:"country_id_op";s:2:"in";s:16:"country_id_value";a:0:{}s:12:"survey_id_op";s:2:"in";s:15:"survey_id_value";a:0:{}s:12:"status_id_op";s:2:"eq";s:15:"status_id_value";s:1:"1";s:11:"custom_1_op";s:2:"in";s:14:"custom_1_value";a:0:{}s:11:"custom_2_op";s:2:"in";s:14:"custom_2_value";a:0:{}s:17:"custom_3_relative";s:1:"0";s:13:"custom_3_from";s:0:"";s:11:"custom_3_to";s:0:"";s:11:"description";s:75:"Detailed report for canvassing, phone-banking, walk lists or other surveys.";s:13:"email_subject";s:0:"";s:8:"email_to";s:0:"";s:8:"email_cc";s:0:"";s:10:"permission";s:17:"access CiviReport";s:6:"groups";s:0:"";s:9:"domain_id";i:1;}');
-UPDATE civicrm_domain SET version = '5.68.0';
+UPDATE civicrm_domain SET version = '5.68.1';
diff --git a/civicrm/sql/civicrm_generated.mysql b/civicrm/sql/civicrm_generated.mysql
index a8088ebac8..2345a0a1c1 100644
--- a/civicrm/sql/civicrm_generated.mysql
+++ b/civicrm/sql/civicrm_generated.mysql
@@ -2975,7 +2975,7 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_domain` WRITE;
 /*!40000 ALTER TABLE `civicrm_domain` DISABLE KEYS */;
 INSERT INTO `civicrm_domain` (`id`, `name`, `description`, `version`, `contact_id`, `locales`, `locale_custom_strings`) VALUES
- (1,'Default Domain Name',NULL,'5.68.0',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}');
+ (1,'Default Domain Name',NULL,'5.68.1',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}');
 /*!40000 ALTER TABLE `civicrm_domain` ENABLE KEYS */;
 UNLOCK TABLES;
 
diff --git a/civicrm/templates/CRM/Note/Form/Note.tpl b/civicrm/templates/CRM/Note/Form/Note.tpl
index d458d25a95..b02126a449 100644
--- a/civicrm/templates/CRM/Note/Form/Note.tpl
+++ b/civicrm/templates/CRM/Note/Form/Note.tpl
@@ -7,8 +7,41 @@
  | and copyright information, see https://civicrm.org/licensing       |
  +--------------------------------------------------------------------+
 *}
+{* View action *}
+{if ($action eq 4)}
+  <div class="crm-block crm-content-block crm-note-view-block">
+    <table class="crm-info-panel">
+      <tr><td class="label">{ts}Subject{/ts}</td><td>{$note.subject}</td></tr>
+      <tr><td class="label">{ts}Date:{/ts}</td><td>{$note.note_date|crmDate}</td></tr>
+      <tr><td class="label">{ts}Modified Date:{/ts}</td><td>{$note.modified_date|crmDate}</td></tr>
+      <tr><td class="label">{ts}Privacy:{/ts}</td><td>{$note.privacy}</td></tr>
+      <tr><td class="label">{ts}Note:{/ts}</td><td>{$note.note|nl2br}</td></tr>
+
+        {if $currentAttachmentInfo}
+            {include file="CRM/Form/attachment.tpl"}
+        {/if}
+    </table>
+    <div class="crm-submit-buttons">
+        {crmButton class="cancel" icon="times" p='civicrm/contact/view' q="selectedChild=note&reset=1&cid=`$note.entity_id`"}{ts}Done{/ts}{/crmButton}
+    </div>
+
+      {if $comments}
+        <fieldset>
+          <legend>{ts}Comments{/ts}</legend>
+          <table class="display">
+            <thead>
+            <tr><th>{ts}Comment{/ts}</th><th>{ts}Created By{/ts}</th><th>{ts}Date{/ts}</th><th>{ts}Modified Date{/ts}</th></tr>
+            </thead>
+              {foreach from=$comments item=comment}
+                <tr class="{cycle values='odd-row,even-row'}"><td>{$comment.note}</td><td>{$comment.createdBy}</td><td>{$comment.note_date}</td><td>{$comment.modified_date}</td></tr>
+              {/foreach}
+          </table>
+        </fieldset>
+      {/if}
+
+  </div>
 {* Delete action *}
-{if ($action eq 8)}
+{elseif ($action eq 8)}
   <div class=status>{ts}Are you sure you want to delete this note?{/ts}</div>
   <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location=''}</div>
 {* Create/Update actions *}
diff --git a/civicrm/vendor/autoload.php b/civicrm/vendor/autoload.php
index d7f8e9f59f..7fe1163c19 100644
--- a/civicrm/vendor/autoload.php
+++ b/civicrm/vendor/autoload.php
@@ -9,4 +9,4 @@ if (PHP_VERSION_ID < 50600) {
 
 require_once __DIR__ . '/composer/autoload_real.php';
 
-return ComposerAutoloaderInit7e131bfaa15ca0367c946ea14269f3cb::getLoader();
+return ComposerAutoloaderInit950b3ed6f0b1ecab18eb0dbdaefa6b56::getLoader();
diff --git a/civicrm/vendor/composer/autoload_real.php b/civicrm/vendor/composer/autoload_real.php
index 20e36a6a98..0fe83035e6 100644
--- a/civicrm/vendor/composer/autoload_real.php
+++ b/civicrm/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
 
 // autoload_real.php @generated by Composer
 
-class ComposerAutoloaderInit7e131bfaa15ca0367c946ea14269f3cb
+class ComposerAutoloaderInit950b3ed6f0b1ecab18eb0dbdaefa6b56
 {
     private static $loader;
 
@@ -24,22 +24,22 @@ class ComposerAutoloaderInit7e131bfaa15ca0367c946ea14269f3cb
 
         require __DIR__ . '/platform_check.php';
 
-        spl_autoload_register(array('ComposerAutoloaderInit7e131bfaa15ca0367c946ea14269f3cb', 'loadClassLoader'), true, true);
+        spl_autoload_register(array('ComposerAutoloaderInit950b3ed6f0b1ecab18eb0dbdaefa6b56', 'loadClassLoader'), true, true);
         self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
-        spl_autoload_unregister(array('ComposerAutoloaderInit7e131bfaa15ca0367c946ea14269f3cb', 'loadClassLoader'));
+        spl_autoload_unregister(array('ComposerAutoloaderInit950b3ed6f0b1ecab18eb0dbdaefa6b56', 'loadClassLoader'));
 
         $includePaths = require __DIR__ . '/include_paths.php';
         $includePaths[] = get_include_path();
         set_include_path(implode(PATH_SEPARATOR, $includePaths));
 
         require __DIR__ . '/autoload_static.php';
-        call_user_func(\Composer\Autoload\ComposerStaticInit7e131bfaa15ca0367c946ea14269f3cb::getInitializer($loader));
+        call_user_func(\Composer\Autoload\ComposerStaticInit950b3ed6f0b1ecab18eb0dbdaefa6b56::getInitializer($loader));
 
         $loader->register(true);
 
-        $includeFiles = \Composer\Autoload\ComposerStaticInit7e131bfaa15ca0367c946ea14269f3cb::$files;
+        $includeFiles = \Composer\Autoload\ComposerStaticInit950b3ed6f0b1ecab18eb0dbdaefa6b56::$files;
         foreach ($includeFiles as $fileIdentifier => $file) {
-            composerRequire7e131bfaa15ca0367c946ea14269f3cb($fileIdentifier, $file);
+            composerRequire950b3ed6f0b1ecab18eb0dbdaefa6b56($fileIdentifier, $file);
         }
 
         return $loader;
@@ -51,7 +51,7 @@ class ComposerAutoloaderInit7e131bfaa15ca0367c946ea14269f3cb
  * @param string $file
  * @return void
  */
-function composerRequire7e131bfaa15ca0367c946ea14269f3cb($fileIdentifier, $file)
+function composerRequire950b3ed6f0b1ecab18eb0dbdaefa6b56($fileIdentifier, $file)
 {
     if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
         $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
diff --git a/civicrm/vendor/composer/autoload_static.php b/civicrm/vendor/composer/autoload_static.php
index 84556b530f..c2de4f34d6 100644
--- a/civicrm/vendor/composer/autoload_static.php
+++ b/civicrm/vendor/composer/autoload_static.php
@@ -4,7 +4,7 @@
 
 namespace Composer\Autoload;
 
-class ComposerStaticInit7e131bfaa15ca0367c946ea14269f3cb
+class ComposerStaticInit950b3ed6f0b1ecab18eb0dbdaefa6b56
 {
     public static $files = array (
         'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
@@ -725,11 +725,11 @@ class ComposerStaticInit7e131bfaa15ca0367c946ea14269f3cb
     public static function getInitializer(ClassLoader $loader)
     {
         return \Closure::bind(function () use ($loader) {
-            $loader->prefixLengthsPsr4 = ComposerStaticInit7e131bfaa15ca0367c946ea14269f3cb::$prefixLengthsPsr4;
-            $loader->prefixDirsPsr4 = ComposerStaticInit7e131bfaa15ca0367c946ea14269f3cb::$prefixDirsPsr4;
-            $loader->prefixesPsr0 = ComposerStaticInit7e131bfaa15ca0367c946ea14269f3cb::$prefixesPsr0;
-            $loader->fallbackDirsPsr0 = ComposerStaticInit7e131bfaa15ca0367c946ea14269f3cb::$fallbackDirsPsr0;
-            $loader->classMap = ComposerStaticInit7e131bfaa15ca0367c946ea14269f3cb::$classMap;
+            $loader->prefixLengthsPsr4 = ComposerStaticInit950b3ed6f0b1ecab18eb0dbdaefa6b56::$prefixLengthsPsr4;
+            $loader->prefixDirsPsr4 = ComposerStaticInit950b3ed6f0b1ecab18eb0dbdaefa6b56::$prefixDirsPsr4;
+            $loader->prefixesPsr0 = ComposerStaticInit950b3ed6f0b1ecab18eb0dbdaefa6b56::$prefixesPsr0;
+            $loader->fallbackDirsPsr0 = ComposerStaticInit950b3ed6f0b1ecab18eb0dbdaefa6b56::$fallbackDirsPsr0;
+            $loader->classMap = ComposerStaticInit950b3ed6f0b1ecab18eb0dbdaefa6b56::$classMap;
 
         }, null, ClassLoader::class);
     }
diff --git a/civicrm/vendor/composer/installed.json b/civicrm/vendor/composer/installed.json
index 6e8a6bf9e1..be1196ae09 100644
--- a/civicrm/vendor/composer/installed.json
+++ b/civicrm/vendor/composer/installed.json
@@ -514,17 +514,17 @@
         },
         {
             "name": "dompdf/dompdf",
-            "version": "v2.0.3",
-            "version_normalized": "2.0.3.0",
+            "version": "v2.0.4",
+            "version_normalized": "2.0.4.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/dompdf/dompdf.git",
-                "reference": "e8d2d5e37e8b0b30f0732a011295ab80680d7e85"
+                "reference": "093f2d9739cec57428e39ddadedfd4f3ae862c0f"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/dompdf/dompdf/zipball/e8d2d5e37e8b0b30f0732a011295ab80680d7e85",
-                "reference": "e8d2d5e37e8b0b30f0732a011295ab80680d7e85",
+                "url": "https://api.github.com/repos/dompdf/dompdf/zipball/093f2d9739cec57428e39ddadedfd4f3ae862c0f",
+                "reference": "093f2d9739cec57428e39ddadedfd4f3ae862c0f",
                 "shasum": ""
             },
             "require": {
@@ -548,7 +548,7 @@
                 "ext-imagick": "Improves image processing performance",
                 "ext-zlib": "Needed for pdf stream compression"
             },
-            "time": "2023-02-07T12:51:48+00:00",
+            "time": "2023-12-12T20:19:39+00:00",
             "type": "library",
             "installation-source": "dist",
             "autoload": {
@@ -573,7 +573,7 @@
             "homepage": "https://github.com/dompdf/dompdf",
             "support": {
                 "issues": "https://github.com/dompdf/dompdf/issues",
-                "source": "https://github.com/dompdf/dompdf/tree/v2.0.3"
+                "source": "https://github.com/dompdf/dompdf/tree/v2.0.4"
             },
             "install-path": "../dompdf/dompdf"
         },
@@ -1661,29 +1661,27 @@
         },
         {
             "name": "masterminds/html5",
-            "version": "2.7.6",
-            "version_normalized": "2.7.6.0",
+            "version": "2.8.1",
+            "version_normalized": "2.8.1.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/Masterminds/html5-php.git",
-                "reference": "897eb517a343a2281f11bc5556d6548db7d93947"
+                "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/897eb517a343a2281f11bc5556d6548db7d93947",
-                "reference": "897eb517a343a2281f11bc5556d6548db7d93947",
+                "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f47dcf3c70c584de14f21143c55d9939631bc6cf",
+                "reference": "f47dcf3c70c584de14f21143c55d9939631bc6cf",
                 "shasum": ""
             },
             "require": {
-                "ext-ctype": "*",
                 "ext-dom": "*",
-                "ext-libxml": "*",
                 "php": ">=5.3.0"
             },
             "require-dev": {
-                "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7"
+                "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8"
             },
-            "time": "2022-08-18T16:18:26+00:00",
+            "time": "2023-05-10T11:58:31+00:00",
             "type": "library",
             "extra": {
                 "branch-alias": {
@@ -1727,7 +1725,7 @@
             ],
             "support": {
                 "issues": "https://github.com/Masterminds/html5-php/issues",
-                "source": "https://github.com/Masterminds/html5-php/tree/2.7.6"
+                "source": "https://github.com/Masterminds/html5-php/tree/2.8.1"
             },
             "install-path": "../masterminds/html5"
         },
@@ -2619,17 +2617,17 @@
         },
         {
             "name": "phenx/php-svg-lib",
-            "version": "0.5.0",
-            "version_normalized": "0.5.0.0",
+            "version": "0.5.1",
+            "version_normalized": "0.5.1.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/dompdf/php-svg-lib.git",
-                "reference": "76876c6cf3080bcb6f249d7d59705108166a6685"
+                "reference": "8a8a1ebcf6aea861ef30197999f096f7bd4b4456"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/76876c6cf3080bcb6f249d7d59705108166a6685",
-                "reference": "76876c6cf3080bcb6f249d7d59705108166a6685",
+                "url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/8a8a1ebcf6aea861ef30197999f096f7bd4b4456",
+                "reference": "8a8a1ebcf6aea861ef30197999f096f7bd4b4456",
                 "shasum": ""
             },
             "require": {
@@ -2640,7 +2638,7 @@
             "require-dev": {
                 "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5"
             },
-            "time": "2022-09-06T12:16:56+00:00",
+            "time": "2023-12-11T20:56:08+00:00",
             "type": "library",
             "installation-source": "dist",
             "autoload": {
@@ -2662,7 +2660,7 @@
             "homepage": "https://github.com/PhenX/php-svg-lib",
             "support": {
                 "issues": "https://github.com/dompdf/php-svg-lib/issues",
-                "source": "https://github.com/dompdf/php-svg-lib/tree/0.5.0"
+                "source": "https://github.com/dompdf/php-svg-lib/tree/0.5.1"
             },
             "install-path": "../phenx/php-svg-lib"
         },
diff --git a/civicrm/vendor/composer/installed.php b/civicrm/vendor/composer/installed.php
index 59aa9b21e9..2302ab5f8b 100644
--- a/civicrm/vendor/composer/installed.php
+++ b/civicrm/vendor/composer/installed.php
@@ -3,7 +3,7 @@
         'name' => 'civicrm/civicrm-core',
         'pretty_version' => '5.68.x-dev',
         'version' => '5.68.9999999.9999999-dev',
-        'reference' => '8a55d28fd045ac640eaa5fc32b2b1441f92fe4b9',
+        'reference' => 'fca30dd508a215b3728b2da8bfe214c9547f99b5',
         'type' => 'library',
         'install_path' => __DIR__ . '/../../',
         'aliases' => array(),
@@ -40,7 +40,7 @@
         'civicrm/civicrm-core' => array(
             'pretty_version' => '5.68.x-dev',
             'version' => '5.68.9999999.9999999-dev',
-            'reference' => '8a55d28fd045ac640eaa5fc32b2b1441f92fe4b9',
+            'reference' => 'fca30dd508a215b3728b2da8bfe214c9547f99b5',
             'type' => 'library',
             'install_path' => __DIR__ . '/../../',
             'aliases' => array(),
@@ -101,9 +101,9 @@
             'dev_requirement' => false,
         ),
         'dompdf/dompdf' => array(
-            'pretty_version' => 'v2.0.3',
-            'version' => '2.0.3.0',
-            'reference' => 'e8d2d5e37e8b0b30f0732a011295ab80680d7e85',
+            'pretty_version' => 'v2.0.4',
+            'version' => '2.0.4.0',
+            'reference' => '093f2d9739cec57428e39ddadedfd4f3ae862c0f',
             'type' => 'library',
             'install_path' => __DIR__ . '/../dompdf/dompdf',
             'aliases' => array(),
@@ -242,9 +242,9 @@
             'dev_requirement' => false,
         ),
         'masterminds/html5' => array(
-            'pretty_version' => '2.7.6',
-            'version' => '2.7.6.0',
-            'reference' => '897eb517a343a2281f11bc5556d6548db7d93947',
+            'pretty_version' => '2.8.1',
+            'version' => '2.8.1.0',
+            'reference' => 'f47dcf3c70c584de14f21143c55d9939631bc6cf',
             'type' => 'library',
             'install_path' => __DIR__ . '/../masterminds/html5',
             'aliases' => array(),
@@ -386,9 +386,9 @@
             'dev_requirement' => false,
         ),
         'phenx/php-svg-lib' => array(
-            'pretty_version' => '0.5.0',
-            'version' => '0.5.0.0',
-            'reference' => '76876c6cf3080bcb6f249d7d59705108166a6685',
+            'pretty_version' => '0.5.1',
+            'version' => '0.5.1.0',
+            'reference' => '8a8a1ebcf6aea861ef30197999f096f7bd4b4456',
             'type' => 'library',
             'install_path' => __DIR__ . '/../phenx/php-svg-lib',
             'aliases' => array(),
diff --git a/civicrm/vendor/dompdf/dompdf/VERSION b/civicrm/vendor/dompdf/dompdf/VERSION
index 50ffc5aa7f..2165f8f9b6 100644
--- a/civicrm/vendor/dompdf/dompdf/VERSION
+++ b/civicrm/vendor/dompdf/dompdf/VERSION
@@ -1 +1 @@
-2.0.3
+2.0.4
diff --git a/civicrm/vendor/dompdf/dompdf/src/Image/Cache.php b/civicrm/vendor/dompdf/dompdf/src/Image/Cache.php
index 8e36aa2b7c..b3e1d0e9ea 100644
--- a/civicrm/vendor/dompdf/dompdf/src/Image/Cache.php
+++ b/civicrm/vendor/dompdf/dompdf/src/Image/Cache.php
@@ -31,6 +31,14 @@ class Cache
      */
     protected static $tempImages = [];
 
+    /**
+     * Array of image references from an SVG document.
+     * Used to detect circular references across SVG documents.
+     *
+     * @var array
+     */
+    protected static $svgRefs = [];
+
     /**
      * The url to the "broken image" used when images can't be loaded
      *
@@ -134,20 +142,28 @@ class Cache
                     $parser,
                     function ($parser, $name, $attributes) use ($options, $parsed_url, $full_url) {
                         if (strtolower($name) === "image") {
+                            if (!\array_key_exists($full_url, self::$svgRefs)) {
+                                self::$svgRefs[$full_url] = [];
+                            }
                             $attributes = array_change_key_case($attributes, CASE_LOWER);
                             $urls = [];
                             $urls[] = $attributes["xlink:href"] ?? "";
                             $urls[] = $attributes["href"] ?? "";
                             foreach ($urls as $url) {
-                                if (!empty($url)) {
-                                    $inner_full_url = Helpers::build_url($parsed_url["protocol"], $parsed_url["host"], $parsed_url["path"], $url);
-                                    if ($inner_full_url === $full_url) {
-                                        throw new ImageException("SVG self-reference is not allowed", E_WARNING);
-                                    }
-                                    [$resolved_url, $type, $message] = self::resolve_url($url, $parsed_url["protocol"], $parsed_url["host"], $parsed_url["path"], $options);
-                                    if (!empty($message)) {
-                                        throw new ImageException("This SVG document references a restricted resource. $message", E_WARNING);
-                                    }
+                                if (empty($url)) {
+                                    continue;
+                                }
+
+                                $inner_full_url = Helpers::build_url($parsed_url["protocol"], $parsed_url["host"], $parsed_url["path"], $url);
+                                if (empty($inner_full_url)) {
+                                    continue;
+                                }
+                                
+                                self::detectCircularRef($full_url, $inner_full_url);
+                                self::$svgRefs[$full_url][] = $inner_full_url;
+                                [$resolved_url, $type, $message] = self::resolve_url($url, $parsed_url["protocol"], $parsed_url["host"], $parsed_url["path"], $options);
+                                if (!empty($message)) {
+                                    throw new ImageException("This SVG document references a restricted resource. $message", E_WARNING);
                                 }
                             }
                         }
@@ -178,6 +194,19 @@ class Cache
         return [$resolved_url, $type, $message];
     }
 
+    static function detectCircularRef(string $src, string $target)
+    {
+        if (!\array_key_exists($target, self::$svgRefs)) {
+            return;
+        }
+        foreach (self::$svgRefs[$target] as $ref) {
+            if ($ref === $src) {
+                throw new ImageException("Circular external SVG image reference detected.", E_WARNING);
+            }
+            self::detectCircularRef($src, $ref);
+        }
+    }
+
     /**
      * Register a temp file for the given original image file.
      *
@@ -239,6 +268,7 @@ class Cache
 
         self::$_cache = [];
         self::$tempImages = [];
+        self::$svgRefs = [];
     }
 
     static function detect_type($file, $context = null)
diff --git a/civicrm/vendor/masterminds/html5/README.md b/civicrm/vendor/masterminds/html5/README.md
index b1ca1e3715..e80dec5075 100644
--- a/civicrm/vendor/masterminds/html5/README.md
+++ b/civicrm/vendor/masterminds/html5/README.md
@@ -189,7 +189,7 @@ issues known issues that are not presently on the roadmap:
 - Scripts: This parser does not contain a JavaScript or a CSS
   interpreter. While one may be supplied, not all features will be
   supported.
-- Rentrance: The current parser is not re-entrant. (Thus you can't pause
+- Reentrance: The current parser is not re-entrant. (Thus you can't pause
   the parser to modify the HTML string mid-parse.)
 - Validation: The current tree builder is **not** a validating parser.
   While it will correct some HTML, it does not check that the HTML
diff --git a/civicrm/vendor/masterminds/html5/composer.json b/civicrm/vendor/masterminds/html5/composer.json
index fb7674e05d..69f5da041b 100644
--- a/civicrm/vendor/masterminds/html5/composer.json
+++ b/civicrm/vendor/masterminds/html5/composer.json
@@ -20,13 +20,11 @@
         }
     ],
     "require" : {
-        "ext-ctype": "*",
         "ext-dom": "*",
-        "ext-libxml" : "*",
         "php" : ">=5.3.0"
     },
     "require-dev": {
-        "phpunit/phpunit" : "^4.8.35 || ^5.7.21 || ^6 || ^7"
+        "phpunit/phpunit" : "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8"
     },
     "autoload": {
         "psr-4": {"Masterminds\\": "src"}
diff --git a/civicrm/vendor/masterminds/html5/src/HTML5/Elements.php b/civicrm/vendor/masterminds/html5/src/HTML5/Elements.php
index 8fe798789e..1632dcfec7 100644
--- a/civicrm/vendor/masterminds/html5/src/HTML5/Elements.php
+++ b/civicrm/vendor/masterminds/html5/src/HTML5/Elements.php
@@ -185,7 +185,7 @@ class Elements
         'u' => 1,
         'ul' => 81, // NORMAL | AUTOCLOSE_P | BLOCK_TAG
         'var' => 1,
-        'video' => 65, // NORMAL | BLOCK_TAG
+        'video' => 1,
         'wbr' => 9, // NORMAL | VOID_TAG
 
         // Legacy?
diff --git a/civicrm/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php b/civicrm/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php
index 016919ae2b..e8b4aa0980 100644
--- a/civicrm/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php
+++ b/civicrm/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php
@@ -131,13 +131,16 @@ class Tokenizer
 
             $tok = $this->scanner->next();
 
-            if ('!' === $tok) {
+            if (false === $tok) {
+                // end of string
+                $this->parseError('Illegal tag opening');
+            } elseif ('!' === $tok) {
                 $this->markupDeclaration();
             } elseif ('/' === $tok) {
                 $this->endTag();
             } elseif ('?' === $tok) {
                 $this->processingInstruction();
-            } elseif (ctype_alpha($tok)) {
+            } elseif ($this->is_alpha($tok)) {
                 $this->tagName();
             } else {
                 $this->parseError('Illegal tag opening');
@@ -347,7 +350,7 @@ class Tokenizer
         // > -> parse error
         // EOF -> parse error
         // -> parse error
-        if (!ctype_alpha($tok)) {
+        if (!$this->is_alpha($tok)) {
             $this->parseError("Expected tag name, got '%s'", $tok);
             if ("\0" == $tok || false === $tok) {
                 return false;
@@ -1194,4 +1197,18 @@ class Tokenizer
 
         return '&';
     }
+
+    /**
+     * Checks whether a (single-byte) character is an ASCII letter or not.
+     *
+     * @param string $input A single-byte string
+     *
+     * @return bool True if it is a letter, False otherwise
+     */
+    protected function is_alpha($input)
+    {
+        $code = ord($input);
+
+        return ($code >= 97 && $code <= 122) || ($code >= 65 && $code <= 90);
+    }
 }
diff --git a/civicrm/vendor/masterminds/html5/src/HTML5/Parser/UTF8Utils.php b/civicrm/vendor/masterminds/html5/src/HTML5/Parser/UTF8Utils.php
index f6a70bface..4405e4cc0d 100644
--- a/civicrm/vendor/masterminds/html5/src/HTML5/Parser/UTF8Utils.php
+++ b/civicrm/vendor/masterminds/html5/src/HTML5/Parser/UTF8Utils.php
@@ -38,7 +38,7 @@ class UTF8Utils
 
     /**
      * Count the number of characters in a string.
-     * UTF-8 aware. This will try (in order) iconv, MB, libxml, and finally a custom counter.
+     * UTF-8 aware. This will try (in order) iconv, MB, and finally a custom counter.
      *
      * @param string $string
      *
@@ -55,12 +55,6 @@ class UTF8Utils
             return iconv_strlen($string, 'utf-8');
         }
 
-        if (function_exists('utf8_decode')) {
-            // MPB: Will this work? Won't certain decodes lead to two chars
-            // extrapolated out of 2-byte chars?
-            return strlen(utf8_decode($string));
-        }
-
         $count = count_chars($string);
 
         // 0x80 = 0x7F - 0 + 1 (one added to get inclusive range)
diff --git a/civicrm/vendor/phenx/php-svg-lib/SECURITY.md b/civicrm/vendor/phenx/php-svg-lib/SECURITY.md
new file mode 100644
index 0000000000..af4afc0695
--- /dev/null
+++ b/civicrm/vendor/phenx/php-svg-lib/SECURITY.md
@@ -0,0 +1,16 @@
+# Security Policy
+
+## Supported Versions
+
+Because of limited resources and general compatibility 
+between versions only the [latest release](https://github.com/dompdf/php-svg-lib/releases) of Dompdf 
+is actively supported.
+
+## Reporting a Vulnerability
+
+In order to give the community time to respond and patch 
+we strongly urge you report all security issues privately. 
+New vulnerabilities can be reported through the GitHub
+[Security Advisories](https://github.com/dompdf/php-svg-lib/security/advisories) 
+feature. If you have any questions email us at security@dompdf.org and 
+we will respond ASAP.
diff --git a/civicrm/vendor/phenx/php-svg-lib/src/Svg/Document.php b/civicrm/vendor/phenx/php-svg-lib/src/Svg/Document.php
index 4de226e705..309875b615 100644
--- a/civicrm/vendor/phenx/php-svg-lib/src/Svg/Document.php
+++ b/civicrm/vendor/phenx/php-svg-lib/src/Svg/Document.php
@@ -53,6 +53,8 @@ class Document extends AbstractTag
     /** @var \Sabberworm\CSS\CSSList\Document[] */
     protected $styleSheets = array();
 
+    public $allowExternalReferences = true;
+
     public function loadFile($filename)
     {
         $this->filename = $filename;
diff --git a/civicrm/vendor/phenx/php-svg-lib/src/Svg/Style.php b/civicrm/vendor/phenx/php-svg-lib/src/Svg/Style.php
index 14b11e9029..514f54629a 100644
--- a/civicrm/vendor/phenx/php-svg-lib/src/Svg/Style.php
+++ b/civicrm/vendor/phenx/php-svg-lib/src/Svg/Style.php
@@ -139,6 +139,16 @@ class Style
                         break;
                     }
                 }
+
+                if (
+                    \array_key_exists("font-family", $styles)
+                    && (
+                        \strtolower(\substr($this->href, 0, 7)) === "phar://"
+                        || ($this->document->allowExternalReferences === false && \strtolower(\substr($this->href, 0, 5)) !== "data:")
+                    )
+                ) {
+                    unset($style["font-family"]);
+                }
             }
         }
 
diff --git a/civicrm/vendor/phenx/php-svg-lib/src/Svg/Tag/Image.php b/civicrm/vendor/phenx/php-svg-lib/src/Svg/Tag/Image.php
index bda17ea314..8cbfccd89c 100644
--- a/civicrm/vendor/phenx/php-svg-lib/src/Svg/Tag/Image.php
+++ b/civicrm/vendor/phenx/php-svg-lib/src/Svg/Tag/Image.php
@@ -58,6 +58,10 @@ class Image extends AbstractTag
 
         $this->document->getSurface()->transform(1, 0, 0, -1, 0, $height);
 
+        if (\strtolower(\substr($this->href, 0, 7)) === "phar://" || ($this->document->allowExternalReferences === false && \strtolower(\substr($this->href, 0, 5) !== "data:"))) {
+            return;
+        }
+
         $this->document->getSurface()->drawImage($this->href, $this->x, $this->y, $this->width, $this->height);
     }
 
diff --git a/civicrm/vendor/phenx/php-svg-lib/src/Svg/Tag/UseTag.php b/civicrm/vendor/phenx/php-svg-lib/src/Svg/Tag/UseTag.php
index c5f00ea9d3..9e71d59d77 100644
--- a/civicrm/vendor/phenx/php-svg-lib/src/Svg/Tag/UseTag.php
+++ b/civicrm/vendor/phenx/php-svg-lib/src/Svg/Tag/UseTag.php
@@ -14,12 +14,19 @@ class UseTag extends AbstractTag
     protected $y = 0;
     protected $width;
     protected $height;
+    protected $instances = 0;
 
     /** @var AbstractTag */
     protected $reference;
 
     protected function before($attributes)
     {
+        $this->instances++;
+        if ($this->instances > 1) {
+            //TODO: log circular reference error state
+            return;
+        }
+
         if (isset($attributes['x'])) {
             $this->x = $attributes['x'];
         }
@@ -52,6 +59,9 @@ class UseTag extends AbstractTag
     }
 
     protected function after() {
+        if ($this->instances > 0) {
+            return;
+        }
         parent::after();
 
         if ($this->reference) {
@@ -63,6 +73,11 @@ class UseTag extends AbstractTag
 
     public function handle($attributes)
     {
+        if ($this->instances > 1) {
+            //TODO: log circular reference error state
+            return;
+        }
+
         parent::handle($attributes);
 
         if (!$this->reference) {
@@ -70,7 +85,7 @@ class UseTag extends AbstractTag
         }
 
         $mergedAttributes = $this->reference->attributes;
-        $attributesToNotMerge = ['x', 'y', 'width', 'height'];
+        $attributesToNotMerge = ['x', 'y', 'width', 'height', 'href', 'xlink:href', 'id'];
         foreach ($attributes as $attrKey => $attrVal) {
             if (!in_array($attrKey, $attributesToNotMerge) && !isset($mergedAttributes[$attrKey])) {
                 $mergedAttributes[$attrKey] = $attrVal;
@@ -87,6 +102,11 @@ class UseTag extends AbstractTag
 
     public function handleEnd()
     {
+        $this->instances--;
+        if ($this->instances > 0) {
+            return;
+        }
+
         parent::handleEnd();
 
         if (!$this->reference) {
diff --git a/civicrm/xml/version.xml b/civicrm/xml/version.xml
index 0cd863821a..e832cab151 100644
--- a/civicrm/xml/version.xml
+++ b/civicrm/xml/version.xml
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="iso-8859-1" ?>
 <version>
-  <version_no>5.68.0</version_no>
+  <version_no>5.68.1</version_no>
 </version>
-- 
GitLab