{"id":3110,"date":"2025-02-13T13:05:44","date_gmt":"2025-02-13T13:05:44","guid":{"rendered":"https:\/\/s-o-s.net\/safe-svg\/"},"modified":"2025-02-13T13:05:44","modified_gmt":"2025-02-13T13:05:44","slug":"safe-svg","status":"publish","type":"post","link":"http:\/\/s-o-s.net\/en_gb\/safe-svg\/","title":{"rendered":"Safe SVG"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<article id=\"post-37343\" class=\"alignwide post-37343 plugin type-plugin status-publish hentry plugin_tags-media plugin_tags-mime plugin_tags-security plugin_tags-svg plugin_tags-vector plugin_category-security-and-spam-protection plugin_contributors-10up plugin_contributors-enshrined plugin_contributors-jeffpaul plugin_business_model-community plugin_committers-10up plugin_committers-10upbot plugin_support_reps-ankit-k-gupta plugin_support_reps-dharm1025 plugin_support_reps-dkotter plugin_support_reps-enshrined plugin_support_reps-faisal03 plugin_support_reps-jeffpaul plugin_support_reps-nomnom99 plugin_support_reps-peterwilsoncc plugin_support_reps-sumitbagthariya16\">\n<div class=\"plugin-banner\" id=\"plugin-banner-safe-svg\"><\/div>\n<header class=\"plugin-header\">\n<div class=\"entry-heading-container\">\n<div>\n<div class=\"entry-thumbnail\">\n\t\t\t\t\t<img decoding=\"async\" class=\"plugin-icon\" src=\"https:\/\/ps.w.org\/safe-svg\/assets\/icon.svg?rev=2779013\" alt=\"\">\t\t\t\t<\/div>\n<div>\n<h1 class=\"plugin-title\">Safe SVG<\/h1>\n<p>\t\t\t\t\t<span class=\"byline\">By <span class=\"author vcard\"><a target=\"_blank\" class=\"url fn n\" href=\"https:\/\/profiles.wordpress.org\/10up\/\" rel=\"noopener\">10up<\/a><\/span><\/span>\n\t\t\t\t<\/div>\n<\/p><\/div>\n<div class=\"plugin-actions\">\n<div class=\"wp-block-button is-small plugin-download download-button\"><a target=\"_blank\" class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/downloads.wordpress.org\/plugin\/safe-svg.2.3.1.zip\" rel=\"noopener\">Download<\/a><\/div>\n<div class=\"wp-block-button is-small is-style-outline plugin-preview download-button is-style-outline--9\"><a target=\"_blank\" class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/wordpress.org\/plugins\/safe-svg\/?preview=1\" rel=\"noopener\">Live Preview<\/a><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/header>\n<p><!-- .entry-header --><\/p>\n<p>\t<span id=\"description\"><\/span><br \/>\n\t<span id=\"reviews\"><\/span><br \/>\n\t<span id=\"installation\"><\/span><br \/>\n\t<span id=\"developers\"><\/span><br \/>\n\t<span id=\"advanced\" class=\"\"><\/span><br \/>\n\t<span id=\"section-links\"><\/p>\n<ul class=\"tabs clear\">\n<li id=\"tablink-description\"><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/safe-svg\/#description\" rel=\"noopener\">Details<\/a><\/li>\n<li id=\"tablink-reviews\"><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/safe-svg\/#reviews\" rel=\"noopener\">Reviews<\/a><\/li>\n<li id=\"tablink-installation\">\n\t\t\t\t<a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/safe-svg\/#installation\" rel=\"noopener\">Installation<\/a>\n\t\t\t<\/li>\n<li id=\"tablink-developers\"><a target=\"_blank\" href=\"https:\/\/wordpress.org\/plugins\/safe-svg\/#developers\" rel=\"noopener\">Development<\/a><\/li>\n<\/ul>\n<div id=\"link-support\">\n\t\t\t<a target=\"_blank\" href=\"https:\/\/wordpress.org\/support\/plugin\/safe-svg\/\" rel=\"noopener\">Support<\/a>\n\t\t<\/div>\n<p>\t<\/span><br \/>\n\t<script type=\"text\/javascript\">if ( '#changelog' == window.location.hash ) { window.setTimeout( function() { window.location.hash=\"#developers\"; }, 10 ); }<\/script><\/p>\n<div class=\"entry-content\">\n<div id=\"tab-description\" class=\"plugin-description section\">\n<h2 id=\"description-header\">Description<\/h2>\n<p>Safe SVG is the best way to Allow SVG Uploads in WordPress!<\/p>\n<p>It gives you the ability to allow SVG uploads whilst making sure that they\u2019re sanitized to stop SVG\/XML vulnerabilities affecting your site.  It also gives you the ability to preview your uploaded SVGs in the media library in all views.<\/p>\n<h4>Current Features<\/h4>\n<ul>\n<li><strong>Sanitised SVGs<\/strong> \u2013 Don\u2019t open up security holes in your WordPress site by allowing uploads of unsanitised files.<\/li>\n<li><strong>SVGO Optimisation<\/strong> \u2013 Runs your SVGs through the SVGO tool on upload to save you space. This feature is disabled by default but can be enabled by adding the following code: <code>add_filter( 'safe_svg_optimizer_enabled', '__return_true' );<\/code><\/li>\n<li><strong>View SVGs in the Media Library<\/strong> \u2013 Gone are the days of guessing which SVG is the correct one, we\u2019ll enable SVG previews in the WordPress media library.<\/li>\n<li><strong>Choose Who Can Upload<\/strong> \u2013 Restrict SVG uploads to certain users on your WordPress site or allow anyone to upload.<\/li>\n<\/ul>\n<p>Initially a proof of concept for <a target=\"_blank\" href=\"https:\/\/core.trac.wordpress.org\/ticket\/24251\" rel=\"nofollow ugc noopener\" class=\"broken_link\">#24251<\/a>.<\/p>\n<p>SVG Sanitization is done through the following library: <a target=\"_blank\" href=\"https:\/\/github.com\/darylldoyle\/svg-sanitizer\" rel=\"nofollow ugc noopener\">https:\/\/github.com\/darylldoyle\/svg-sanitizer<\/a>.<\/p>\n<p>SVG Optimization is done through the following library: <a target=\"_blank\" href=\"https:\/\/github.com\/svg\/svgo\" rel=\"nofollow ugc noopener\">https:\/\/github.com\/svg\/svgo<\/a>.<\/p>\n<\/div>\n<div id=\"blocks\" class=\"plugin-blocks section\">\n<h2 id=\"blocks-header\">Blocks<\/h2>\n<p>This plugin provides 1 block.<\/p>\n<ul class=\"plugin-blocks-list\">\n<li class=\"plugin-blocks-list-item has-description\">\n\t\t\t\t\t\t\t\t\t<span class=\"block-icon dashicons dashicons-block-default\"><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"block-title\">Safe SVG<\/span><br \/>\n\t\t\t\t\t\t\t\t\t<span class=\"block-description\">Display the SVG icon<br \/>\n\t\t\t\t\t\t\t<\/span><\/li>\n<\/ul>\n<\/div>\n<div id=\"tab-installation\" class=\"plugin-installation section\">\n<h2 id=\"installation-header\">Installation<\/h2>\n<p>Install through the WordPress directory or download, unzip and upload the files to your <code>\/wp-content\/plugins\/<\/code> directory<\/p>\n<\/div>\n<div id=\"faq\" class=\"plugin-faq section\">\n<h2 id=\"faq-header\">FAQ<\/h2>\n<dl>\n<dt id=\"can%20we%20change%20the%20allowed%20attributes%20and%20tags%3F\">\n<h3>Can we change the allowed attributes and tags?<\/h3>\n<\/dt>\n<dd>\n<p>Yes, this can be done using the <code>svg_allowed_attributes<\/code> and <code>svg_allowed_tags<\/code> filters.<br \/>\nThey take one argument that must be returned. See below for examples:<\/p>\n<pre><code>add_filter( 'svg_allowed_attributes', function ( $attributes ) {\n\n    \/\/ Do what you want here...\n\n    \/\/ This should return an array so add your attributes to\n    \/\/ to the $attributes array before returning it. E.G.\n\n    $attributes[] = 'target'; \/\/ This would allow the target=\"\" attribute.\n\n    return $attributes;\n} );\n\n\nadd_filter( 'svg_allowed_tags', function ( $tags ) {\n\n    \/\/ Do what you want here...\n\n    \/\/ This should return an array so add your tags to\n    \/\/ to the $tags array before returning it. E.G.\n\n    $tags[] = 'use'; \/\/ This would allow the &lt;use&gt; element.\n\n    return $tags;\n} );\n<\/code><\/pre>\n<\/dd>\n<\/dl>\n<\/div>\n<div id=\"tab-reviews\" class=\"plugin-reviews section\">\n<h2 id=\"reviews-header\">Reviews<\/h2>\n<div class=\"plugin-reviews\">\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/590c1a85322729f2345aa128684db6522b37951ea328215b6f501ed8439c0a91?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/590c1a85322729f2345aa128684db6522b37951ea328215b6f501ed8439c0a91?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/effortless-26\/\" rel=\"noopener\">Effortless<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/shirtguy72\/\" title=\"Posts by shirtguy72\" rel=\"author noopener\">shirtguy72<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">November 14, 2024<\/span><br \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"review-replies\">1 reply<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">Thanks for creating this plugin!<\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/834458946888ec75336c8dd227b6638fc2af468aa16f1b0f324c494bbd14cf9a?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/834458946888ec75336c8dd227b6638fc2af468aa16f1b0f324c494bbd14cf9a?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"2 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"2\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-empty\"><\/span><span class=\"dashicons dashicons-star-empty\"><\/span><span class=\"dashicons dashicons-star-empty\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/caused-very-long-loading-times-in-homepage-translations-wpml\/\" rel=\"noopener\">Caused very long loading times in homepage translations (wpml)<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/headfalcon\/\" title=\"Posts by headfalcon\" rel=\"author noopener\">headfalcon<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">July 31, 2024<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">I didn\u2019t look into it but this plugin caused my homepage in translations to take about 30 seconds to load, instead of 1-2. We use WPML. It was back to normal the moment I deleted the plugin.<\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/a7276235fb250f091f56688568365e47d4536c5acc9b22873be5d89ded125a3e?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/a7276235fb250f091f56688568365e47d4536c5acc9b22873be5d89ded125a3e?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/quick-and-easy-366\/\" rel=\"noopener\">Quick and easy!<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/iz4atkal\/\" title=\"Posts by iz4atkal\" rel=\"author noopener\">iz4atkal<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">July 30, 2024<\/span><br \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"review-replies\">1 reply<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">Does what it says. \ud83d\udc4d<\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/01786cf1d8cdab6aa0d197ec383585cdbc8ccb4e18609fd9867ce85769735777?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/01786cf1d8cdab6aa0d197ec383585cdbc8ccb4e18609fd9867ce85769735777?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/sorry-you-are-not-allowed-to-upload-this-file-type-13\/\" rel=\"noopener\">Sorry, you are not allowed to upload this file type.<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/psyphi\/\" title=\"Posts by psyphi\" rel=\"author noopener\">psyphi<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">January 10, 2024<\/span><br \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"review-replies\">5 replies<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">Hello everyone,the Plugin does not work for me, I refreshed, logged in and out, checked several different svg files but the uploading is still not possible.After having read so many positive reviews I think I am an exception. Thanks for any advice!<\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/d181c62107ada4acfcb7483b640c0f99da445768ed939d79ce4cc6daaa6a5ce1?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/d181c62107ada4acfcb7483b640c0f99da445768ed939d79ce4cc6daaa6a5ce1?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/mandatory-plugin-10\/\" rel=\"noopener\">mandatory plugin<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/bartesuski\/\" title=\"Posts by bartesuski\" rel=\"author noopener\">bartesuski<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">August 16, 2023<\/span><br \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"review-replies\">1 reply<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">I don\u2019t understand why this isn\u2019t in core wordpress. Plugin integrates flawlessly into the website and causes no issues.<\/div>\n<\/p><\/div>\n<\/article>\n<article class=\"plugin-review\">\n<div class=\"review-avatar\">\n\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/bc6034ce088de1773571e814f9a0e5032ef8758ddad66f549a30a307a13b3514?s=60&amp;d=retro&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/bc6034ce088de1773571e814f9a0e5032ef8758ddad66f549a30a307a13b3514?s=120&amp;d=retro&amp;r=g 2x\" class=\"avatar avatar-60 photo\" height=\"60\" width=\"60\">\t\t\t\t\t<\/div>\n<div class=\"review\">\n<header>\n<div class=\"header-top\">\n<div class=\"wporg-ratings\" aria-label=\"5 out of 5 stars\" data-title-template=\"%s out of 5 stars\" data-rating=\"5\" style=\"color:#ffb900;\"><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><span class=\"dashicons dashicons-star-filled\"><\/span><\/div>\n<h3 class=\"review-title\"><a target=\"_blank\" class=\"url\" href=\"https:\/\/wordpress.org\/support\/topic\/does-what-is-says-quick-and-easy\/\" rel=\"noopener\">Does what is says. Quick and easy.<\/a><\/h3>\n<\/p><\/div>\n<div class=\"header-bottom\">\n\t\t\t\t\t\t\t\t<span class=\"review-author author vcard\"><a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/geonaught\/\" title=\"Posts by geonaught\" rel=\"author noopener\">geonaught<\/a><\/span><br \/>\n\t\t\t\t\t\t\t\t<span class=\"review-date\">July 15, 2023<\/span><br \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"review-replies\">1 reply<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/header>\n<div class=\"review-content\">Does what is says. Quick and easy.<\/div>\n<\/p><\/div>\n<\/article><\/div>\n<p>\t\t<a target=\"_blank\" class=\"reviews-link\" href=\"https:\/\/wordpress.org\/support\/plugin\/safe-svg\/reviews\/\" rel=\"noopener\"><br \/>\n\t\t\tRead all 73 reviews\t\t<\/a><\/div>\n<div id=\"tab-developers\" class=\"plugin-developers section\">\n<h2 id=\"developers-header\">Contributors &amp; Developers<\/h2>\n<div class=\"plugin-contributors\">\n<p>\u201cSafe SVG\u201d is open source software. The following people have contributed to this plugin.<\/p>\n<p><span class=\"screen-reader-text\">Contributors<\/span><\/p>\n<ul id=\"contributors-list\" class=\"contributors-list\">\n<li>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/a23224a610fd2e01327438b5faab5749d7afe5bb8a888ca23e7ab751824e5458?s=32&amp;d=mm&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/a23224a610fd2e01327438b5faab5749d7afe5bb8a888ca23e7ab751824e5458?s=64&amp;d=mm&amp;r=g 2x\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/10up\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\t10up\t\t\t\t<\/a>\n\t\t\t<\/li>\n<li>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/9c4f608be1318c7ca580fff7a037a860abe60a9886a8d12c44be2013c9e20901?s=32&amp;d=mm&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/9c4f608be1318c7ca580fff7a037a860abe60a9886a8d12c44be2013c9e20901?s=64&amp;d=mm&amp;r=g 2x\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/enshrined\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\tDaryll Doyle\t\t\t\t<\/a>\n\t\t\t<\/li>\n<li>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" alt=\"\" src=\"https:\/\/secure.gravatar.com\/avatar\/c95de1e6c222121175c2c0dddf4631d2ea45704938f53332d12710379c6153e6?s=32&amp;d=mm&amp;r=g\" srcset=\"https:\/\/secure.gravatar.com\/avatar\/c95de1e6c222121175c2c0dddf4631d2ea45704938f53332d12710379c6153e6?s=64&amp;d=mm&amp;r=g 2x\" class=\"avatar avatar-32 photo\" height=\"32\" width=\"32\">\t\t\t\t<a target=\"_blank\" href=\"https:\/\/profiles.wordpress.org\/jeffpaul\/\" rel=\"noopener\"><br \/>\n\t\t\t\t\tJeffrey Paul\t\t\t\t<\/a>\n\t\t\t<\/li>\n<\/ul><\/div>\n<div class=\"plugin-development\">\n<p>\u201cSafe SVG\u201d has been translated into 29 locales. Thank you to <a target=\"_blank\" href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/safe-svg\/contributors\" rel=\"noopener\">the translators<\/a> for their contributions.<\/p>\n<p><a target=\"_blank\" href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/safe-svg\" rel=\"noopener\">Translate \u201cSafe SVG\u201d into your language.<\/a><\/p>\n<h3>Interested in development?<\/h3>\n<p><a target=\"_blank\" href=\"https:\/\/plugins.trac.wordpress.org\/browser\/safe-svg\/\" rel=\"noopener\" class=\"broken_link\">Browse the code<\/a>, check out the <a target=\"_blank\" href=\"https:\/\/plugins.svn.wordpress.org\/safe-svg\/\" rel=\"noopener\">SVN repository<\/a>, or subscribe to the <a target=\"_blank\" href=\"https:\/\/plugins.trac.wordpress.org\/log\/safe-svg\/\" rel=\"noopener\" class=\"broken_link\">development log<\/a> by <a target=\"_blank\" href=\"https:\/\/plugins.trac.wordpress.org\/log\/safe-svg\/?limit=100&amp;mode=stop_on_copy&amp;format=rss\" rel=\"noopener\" class=\"broken_link\">RSS<\/a>.<\/p>\n<\/div>\n<\/div>\n<div id=\"tab-changelog\" class=\"plugin-changelog section\">\n<h2 id=\"changelog-header\">Changelog<\/h2>\n<h4>2.3.1 \u2013 2024-12-05<\/h4>\n<ul>\n<li><strong>Fixed:<\/strong> Revert changes made to how we determine custom dimensions for SVGs (props <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/martinpl\" rel=\"nofollow ugc noopener\">@martinpl<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/subfighter3\" rel=\"nofollow ugc noopener\">@subfighter3<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/smerriman\" rel=\"nofollow ugc noopener\">@smerriman<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/gigatyrant\" rel=\"nofollow ugc noopener\">@gigatyrant<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/jeffpaul\" rel=\"nofollow ugc noopener\">@jeffpaul<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/iamdharmesh\" rel=\"nofollow ugc noopener\">@iamdharmesh<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/238\" rel=\"nofollow ugc noopener\">#238<\/a>).<\/li>\n<\/ul>\n<h4>2.3.0 \u2013 2024-11-25<\/h4>\n<ul>\n<li><strong>Added:<\/strong> New setting that allows large SVG files (roughly 10MB or greater) to be uploaded and sanitized properly (props <a target=\"_blank\" href=\"https:\/\/github.com\/kirtangajjar\" rel=\"nofollow ugc noopener\">@kirtangajjar<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/faisal-alvi\" rel=\"nofollow ugc noopener\">@faisal-alvi<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/darylldoyle\" rel=\"nofollow ugc noopener\">@darylldoyle<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/manojsiddoji\" rel=\"nofollow ugc noopener\">@manojsiddoji<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/201\" rel=\"nofollow ugc noopener\">#201<\/a>).<\/li>\n<li><strong>Added:<\/strong> New <code>get_svg_dimensions<\/code> function in order to reduce code duplication (props <a target=\"_blank\" href=\"https:\/\/github.com\/gabriel-glo\" rel=\"nofollow ugc noopener\">@gabriel-glo<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/jeremymoore\" rel=\"nofollow ugc noopener\">@jeremymoore<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/darylldoyle\" rel=\"nofollow ugc noopener\">@darylldoyle<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/iamdharmesh\" rel=\"nofollow ugc noopener\">@iamdharmesh<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/216\" rel=\"nofollow ugc noopener\">#216<\/a>).<\/li>\n<li><strong>Changed:<\/strong> Updated the <code>enshrined\/svg-sanitize<\/code> package from 0.16.0 to 0.19.0 to fix a PHP 8.3 compatibility issue (props <a target=\"_blank\" href=\"https:\/\/github.com\/sksaju\" rel=\"nofollow ugc noopener\">@sksaju<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/TylerB24890\" rel=\"nofollow ugc noopener\">@TylerB24890<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/darylldoyle\" rel=\"nofollow ugc noopener\">@darylldoyle<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/rolf-yoast\" rel=\"nofollow ugc noopener\">@rolf-yoast<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/faisal-alvi\" rel=\"nofollow ugc noopener\">@faisal-alvi<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/214\" rel=\"nofollow ugc noopener\">#214<\/a>).<\/li>\n<li><strong>Changed:<\/strong> Update how image dimensions are passed in <code>get_image_tag_override<\/code> and <code>one_pixel_fix<\/code> methods (props <a target=\"_blank\" href=\"https:\/\/github.com\/gabriel-glo\" rel=\"nofollow ugc noopener\">@gabriel-glo<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/jeremymoore\" rel=\"nofollow ugc noopener\">@jeremymoore<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/darylldoyle\" rel=\"nofollow ugc noopener\">@darylldoyle<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/iamdharmesh\" rel=\"nofollow ugc noopener\">@iamdharmesh<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/216\" rel=\"nofollow ugc noopener\">#216<\/a>).<\/li>\n<li><strong>Changed:<\/strong> Bump WordPress \u201ctested up to\u201d version to 6.7 (props <a target=\"_blank\" href=\"https:\/\/github.com\/colinswinney\" rel=\"nofollow ugc noopener\">@colinswinney<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/jeffpaul\" rel=\"nofollow ugc noopener\">@jeffpaul<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/232\" rel=\"nofollow ugc noopener\">#232<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/233\" rel=\"nofollow ugc noopener\">#233<\/a>).<\/li>\n<li><strong>Changed:<\/strong> Bump WordPress minimum from 6.4 to 6.5 (props <a target=\"_blank\" href=\"https:\/\/github.com\/colinswinney\" rel=\"nofollow ugc noopener\">@colinswinney<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/jeffpaul\" rel=\"nofollow ugc noopener\">@jeffpaul<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/232\" rel=\"nofollow ugc noopener\">#232<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/233\" rel=\"nofollow ugc noopener\">#233<\/a>).<\/li>\n<li><strong>Changed:<\/strong> Remove composer dev dependencies from archived project (props <a target=\"_blank\" href=\"https:\/\/github.com\/TylerB24890\" rel=\"nofollow ugc noopener\">@TylerB24890<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/szepeviktor\" rel=\"nofollow ugc noopener\">@szepeviktor<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/peterwilsoncc\" rel=\"nofollow ugc noopener\">@peterwilsoncc<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/220\" rel=\"nofollow ugc noopener\">#220<\/a>).<\/li>\n<li><strong>Fixed:<\/strong> Use proper block category for the Safe SVG Icon block (props <a target=\"_blank\" href=\"https:\/\/github.com\/kirtangajjar\" rel=\"nofollow ugc noopener\">@kirtangajjar<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/fabiankaegy\" rel=\"nofollow ugc noopener\">@fabiankaegy<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/226\" rel=\"nofollow ugc noopener\">#226<\/a>).<\/li>\n<li><strong>Security:<\/strong> Only allow SVG file types to be uploaded if our sanitizer is able to run on those files (props <a target=\"_blank\" href=\"https:\/\/github.com\/darylldoyle\" rel=\"nofollow ugc noopener\">@darylldoyle<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/xknown\" rel=\"nofollow ugc noopener\">@xknown<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/228\" rel=\"nofollow ugc noopener\">#228<\/a>).<\/li>\n<li><strong>Security:<\/strong> Bump <code>webpack<\/code> from 5.90.1 to 5.94.0 (props <a target=\"_blank\" href=\"https:\/\/github.com\/apps\/dependabot\" rel=\"nofollow ugc noopener\">@dependabot<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/peterwilsoncc\" rel=\"nofollow ugc noopener\">@peterwilsoncc<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/222\" rel=\"nofollow ugc noopener\">#222<\/a>).<\/li>\n<li><strong>Security:<\/strong> Bump <code>ws<\/code> from 7.5.10 to 8.18.0, <code>serve-static<\/code> from 1.15.0 to 1.16.2 and <code>express<\/code> from 4.19.2 to 4.21.0 (props <a target=\"_blank\" href=\"https:\/\/github.com\/apps\/dependabot\" rel=\"nofollow ugc noopener\">@dependabot<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/Sidsector9\" rel=\"nofollow ugc noopener\">@Sidsector9<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/faisal-alvi\" rel=\"nofollow ugc noopener\">@faisal-alvi<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/227\" rel=\"nofollow ugc noopener\">#227<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/230\" rel=\"nofollow ugc noopener\">#230<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/234\" rel=\"nofollow ugc noopener\">#234<\/a>).<\/li>\n<\/ul>\n<h4>2.2.6 \u2013 2024-08-28<\/h4>\n<ul>\n<li><strong>Changed:<\/strong> Bump WordPress \u201ctested up to\u201d version to 6.6 (props <a target=\"_blank\" href=\"https:\/\/github.com\/sudip-md\" rel=\"nofollow ugc noopener\">@sudip-md<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/ankitguptaindia\" rel=\"nofollow ugc noopener\">@ankitguptaindia<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/jeffpaul\" rel=\"nofollow ugc noopener\">@jeffpaul<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/212\" rel=\"nofollow ugc noopener\">#212<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/213\" rel=\"nofollow ugc noopener\">#213<\/a>).<\/li>\n<li><strong>Changed:<\/strong> Bump WordPress minimum from 5.7 to 6.4 (props <a target=\"_blank\" href=\"https:\/\/github.com\/sudip-md\" rel=\"nofollow ugc noopener\">@sudip-md<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/ankitguptaindia\" rel=\"nofollow ugc noopener\">@ankitguptaindia<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/jeffpaul\" rel=\"nofollow ugc noopener\">@jeffpaul<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/212\" rel=\"nofollow ugc noopener\">#212<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/213\" rel=\"nofollow ugc noopener\">#213<\/a>).<\/li>\n<li><strong>Security:<\/strong> Add svg sanitization on the <code>wp_handle_sideload_prefilter<\/code> filter (props <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/xknown\" rel=\"nofollow ugc noopener\">@xknown<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/iamdharmesh\" rel=\"nofollow ugc noopener\">@iamdharmesh<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/security\/advisories\/GHSA-3vr7-86pg-hf4g\" rel=\"nofollow ugc noopener\" class=\"broken_link\">GHSA-3vr7-86pg-hf4g<\/a>).<\/li>\n<li><strong>Security:<\/strong> Bump <code>braces<\/code> from 3.0.2 to 3.0.3, <code>pac-resolver<\/code> from 7.0.0 to 7.0.1, <code>socks<\/code> from 2.7.1 to 2.8.3, <code>ws<\/code> from 7.5.9 to 7.5.10 and remove <code>ip<\/code> (props <a target=\"_blank\" href=\"https:\/\/github.com\/apps\/dependabot\" rel=\"nofollow ugc noopener\">@dependabot<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/Sidsector9\" rel=\"nofollow ugc noopener\">@Sidsector9<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/206\" rel=\"nofollow ugc noopener\">#206<\/a>).<\/li>\n<li><strong>Security:<\/strong> Bump <code>axios<\/code> from 1.6.7 to 1.7.4 (props <a target=\"_blank\" href=\"https:\/\/github.com\/apps\/dependabot\" rel=\"nofollow ugc noopener\">@dependabot<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/faisal-alvi\" rel=\"nofollow ugc noopener\">@faisal-alvi<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/218\" rel=\"nofollow ugc noopener\">#218<\/a>).<\/li>\n<\/ul>\n<h4>2.2.5 \u2013 2024-06-27<\/h4>\n<ul>\n<li><strong>Added:<\/strong> New filter, <code>safe_svg_current_user_can_upload<\/code>, allowing more control over who can upload SVG files (props <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/iamdharmesh\" rel=\"nofollow ugc noopener\">@iamdharmesh<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/193\" rel=\"nofollow ugc noopener\">#193<\/a>).<\/li>\n<li><strong>Fixed:<\/strong> Fatal error when applying the <code>admin_post_thumbnail_html<\/code> filter with just two arguments (props <a target=\"_blank\" href=\"https:\/\/github.com\/kmgalanakis\" rel=\"nofollow ugc noopener\">@kmgalanakis<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/liz1kiweno\" rel=\"nofollow ugc noopener\">@liz1kiweno<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/196\" rel=\"nofollow ugc noopener\">#196<\/a>).<\/li>\n<li><strong>Fixed:<\/strong> Prevent PHP fatal error when the value of the filtered block categories is not an array (props <a target=\"_blank\" href=\"https:\/\/github.com\/kmgalanakis\" rel=\"nofollow ugc noopener\">@kmgalanakis<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/cguidog\" rel=\"nofollow ugc noopener\">@cguidog<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/200\" rel=\"nofollow ugc noopener\">#200<\/a>).<\/li>\n<li><strong>Fixed:<\/strong> Handled PHP warning when the <code>$image_meta<\/code> is not an array (props <a target=\"_blank\" href=\"https:\/\/github.com\/faisal-alvi\" rel=\"nofollow ugc noopener\">@faisal-alvi<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/drazenbebic\" rel=\"nofollow ugc noopener\">@drazenbebic<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/kirtangajjar\" rel=\"nofollow ugc noopener\">@kirtangajjar<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/203\" rel=\"nofollow ugc noopener\">#203<\/a>).<\/li>\n<\/ul>\n<h4>2.2.4 \u2013 2024-03-28<\/h4>\n<ul>\n<li><strong>Changed:<\/strong> Upgrade the <code>download-artifact<\/code> from v3 to v4 (props <a target=\"_blank\" href=\"https:\/\/github.com\/iamdharmesh\" rel=\"nofollow ugc noopener\">@iamdharmesh<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/jeffpaul\" rel=\"nofollow ugc noopener\">@jeffpaul<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/181\" rel=\"nofollow ugc noopener\">#181<\/a>).<\/li>\n<li><strong>Changed:<\/strong> Replaced <code>lee-dohm\/no-response<\/code> with <code>actions\/stale<\/code> to help with closing no-response\/stale issues (props <a target=\"_blank\" href=\"https:\/\/github.com\/jeffpaul\" rel=\"nofollow ugc noopener\">@jeffpaul<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/183\" rel=\"nofollow ugc noopener\">#183<\/a>).<\/li>\n<li><strong>Fixed:<\/strong> Ensure the svg file can be loaded before we try accessing it\u2019s attributes (props <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/metashield-ie\" rel=\"nofollow ugc noopener\">@metashield-ie<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/ocean90\" rel=\"nofollow ugc noopener\">@ocean90<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/darylldoyle\" rel=\"nofollow ugc noopener\">@darylldoyle<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/faisal-alvi\" rel=\"nofollow ugc noopener\">@faisal-alvi<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/186\" rel=\"nofollow ugc noopener\">#186<\/a>).<\/li>\n<li><strong>Fixed:<\/strong> Ensure we don\u2019t throw JS errors in the Classic Editor when the optimizer feature is turned on (props <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/turtlepod\" rel=\"nofollow ugc noopener\">@turtlepod<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/faisal-alvi\" rel=\"nofollow ugc noopener\">@faisal-alvi<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/187\" rel=\"nofollow ugc noopener\">#187<\/a>).<\/li>\n<li><strong>Security:<\/strong> Bump <code>webpack-dev-middleware<\/code> from 5.3.3 to 5.3.4 (props <a target=\"_blank\" href=\"https:\/\/github.com\/apps\/dependabot\" rel=\"nofollow ugc noopener\">@dependabot<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/185\" rel=\"nofollow ugc noopener\">#185<\/a>).<\/li>\n<li><strong>Security:<\/strong> Bump <code>express<\/code> from 4.18.2 to 4.19.2 (props <a target=\"_blank\" href=\"https:\/\/github.com\/apps\/dependabot\" rel=\"nofollow ugc noopener\">@dependabot<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/188\" rel=\"nofollow ugc noopener\">#188<\/a>).<\/li>\n<\/ul>\n<h4>2.2.3 \u2013 2024-03-20<\/h4>\n<ul>\n<li><strong>Added:<\/strong> Support for the WordPress.org plugin preview (props <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/jeffpaul\" rel=\"nofollow ugc noopener\">@jeffpaul<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/167\" rel=\"nofollow ugc noopener\">#167<\/a>).<\/li>\n<li><strong>Changed:<\/strong> Bump WordPress \u201ctested up to\u201d version 6.5 (props <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/jeffpaul\" rel=\"nofollow ugc noopener\">@jeffpaul<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/180\" rel=\"nofollow ugc noopener\">#180<\/a>).<\/li>\n<li><strong>Changed:<\/strong> Clean up NPM dependencies and update node to v20 (props <a target=\"_blank\" href=\"https:\/\/github.com\/Sidsector9\" rel=\"nofollow ugc noopener\">@Sidsector9<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/172\" rel=\"nofollow ugc noopener\">#172<\/a>).<\/li>\n<li><strong>Fixed:<\/strong> Refactor the <code>svg_dimensions<\/code> function to be more performant (props <a target=\"_blank\" href=\"https:\/\/github.com\/sksaju\" rel=\"nofollow ugc noopener\">@sksaju<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/cjyabraham\" rel=\"nofollow ugc noopener\">@cjyabraham<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/bmarshall511\" rel=\"nofollow ugc noopener\">@bmarshall511<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/Hercilio1\" rel=\"nofollow ugc noopener\">@Hercilio1<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/darylldoyle\" rel=\"nofollow ugc noopener\">@darylldoyle<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/154\" rel=\"nofollow ugc noopener\">#154<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/174\" rel=\"nofollow ugc noopener\">#174<\/a>).<\/li>\n<li><strong>Fixed:<\/strong> Address fatal JS error when optimization is enabled and an item is published without blocks (props <a target=\"_blank\" href=\"https:\/\/github.com\/psorensen\" rel=\"nofollow ugc noopener\">@psorensen<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/tictag\" rel=\"nofollow ugc noopener\">@tictag<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/173\" rel=\"nofollow ugc noopener\">#173<\/a>).<\/li>\n<li><strong>Security:<\/strong> Bump <code>axios<\/code> from 0.25.0 to 1.6.2 and <code>@wordpress\/scripts<\/code> from 26.0.0 to 26.18.0 (props <a target=\"_blank\" href=\"https:\/\/github.com\/apps\/dependabot\" rel=\"nofollow ugc noopener\">@dependabot<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/ravinderk\" rel=\"nofollow ugc noopener\">@ravinderk<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/166\" rel=\"nofollow ugc noopener\">#166<\/a>).<\/li>\n<li><strong>Security:<\/strong> Bump <code>follow-redirects<\/code> from 1.15.3 to 1.15.6 and <code>ip<\/code> from 1.1.8 to 1.1.9 (props <a target=\"_blank\" href=\"https:\/\/github.com\/apps\/dependabot\" rel=\"nofollow ugc noopener\">@dependabot<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/169\" rel=\"nofollow ugc noopener\">#169<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/177\" rel=\"nofollow ugc noopener\">#177<\/a>).<\/li>\n<\/ul>\n<h4>2.2.2 \u2013 2023-11-21<\/h4>\n<ul>\n<li><strong>Changed:<\/strong> Bump WordPress \u201ctested up to\u201d version 6.4 (props <a target=\"_blank\" href=\"https:\/\/github.com\/qasumitbagthariya\" rel=\"nofollow ugc noopener\">@qasumitbagthariya<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/jeffpaul\" rel=\"nofollow ugc noopener\">@jeffpaul<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/162\" rel=\"nofollow ugc noopener\">#162<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/163\" rel=\"nofollow ugc noopener\">#163<\/a>).<\/li>\n<li><strong>Fixed:<\/strong> Ensure CSS applies properly to the SVG Icon block when added via <code>theme.json<\/code> (props <a target=\"_blank\" href=\"https:\/\/github.com\/tobeycodes\" rel=\"nofollow ugc noopener\">@tobeycodes<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/161\" rel=\"nofollow ugc noopener\">#161<\/a>).<\/li>\n<\/ul>\n<h4>2.2.1 \u2013 2023-10-23<\/h4>\n<ul>\n<li><strong>Changed:<\/strong> Update to <code>apiVersion<\/code> 3 for our SVG Icon block (props <a target=\"_blank\" href=\"https:\/\/github.com\/fabiankaegy\" rel=\"nofollow ugc noopener\">@fabiankaegy<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/ravinderk\" rel=\"nofollow ugc noopener\">@ravinderk<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/jeffpaul\" rel=\"nofollow ugc noopener\">@jeffpaul<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/133\" rel=\"nofollow ugc noopener\">#133<\/a>).<\/li>\n<li><strong>Fixed:<\/strong> Address an error due to the SVG Icon block using the <code>fill-rule<\/code> attribute (props <a target=\"_blank\" href=\"https:\/\/github.com\/zamanq\" rel=\"nofollow ugc noopener\">@zamanq<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/jeffpaul\" rel=\"nofollow ugc noopener\">@jeffpaul<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/iamdharmesh\" rel=\"nofollow ugc noopener\">@iamdharmesh<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/152\" rel=\"nofollow ugc noopener\">#152<\/a>).<\/li>\n<li><strong>Security:<\/strong> Bump <code>postcss<\/code> from 8.4.20 to 8.4.31 (props <a target=\"_blank\" href=\"https:\/\/github.com\/apps\/dependabot\" rel=\"nofollow ugc noopener\">@dependabot<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/faisal-alvi\" rel=\"nofollow ugc noopener\">@faisal-alvi<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/155\" rel=\"nofollow ugc noopener\">#155<\/a>).<\/li>\n<li><strong>Security:<\/strong> Bump <code>@cypress\/request<\/code> from 2.88.12 to 3.0.1 and <code>cypress<\/code> from 10.11.0 to 13.3.0 (props <a target=\"_blank\" href=\"https:\/\/github.com\/apps\/dependabot\" rel=\"nofollow ugc noopener\">@dependabot<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/ravinderk\" rel=\"nofollow ugc noopener\">@ravinderk<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/156\" rel=\"nofollow ugc noopener\">#156<\/a>).<\/li>\n<li><strong>Security:<\/strong> Bump <code>@babel\/traverse<\/code> from 7.20.12 to 7.23.2 (props <a target=\"_blank\" href=\"https:\/\/github.com\/apps\/dependabot\" rel=\"nofollow ugc noopener\">@dependabot<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/iamdharmesh\" rel=\"nofollow ugc noopener\">@iamdharmesh<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/157\" rel=\"nofollow ugc noopener\">#158<\/a>).<\/li>\n<\/ul>\n<h4>2.2.0 \u2013 2023-08-21<\/h4>\n<ul>\n<li><strong>Added:<\/strong> New settings that give the ability to select which user roles can upload SVG files (props <a target=\"_blank\" href=\"https:\/\/github.com\/dhanendran\" rel=\"nofollow ugc noopener\">@dhanendran<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/csloisel\" rel=\"nofollow ugc noopener\">@csloisel<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/faisal-alvi\" rel=\"nofollow ugc noopener\">@faisal-alvi<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/76\" rel=\"nofollow ugc noopener\">#76<\/a>).<\/li>\n<li><strong>Added:<\/strong> SVG optimization during upload via SVGO. Feature is disabled by default but can be enabled using the <code>safe_svg_optimizer_enabled<\/code> filter (props <a target=\"_blank\" href=\"https:\/\/github.com\/gsarig\" rel=\"nofollow ugc noopener\">@gsarig<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/peterwilsoncc\" rel=\"nofollow ugc noopener\">@peterwilsoncc<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/Sidsector9\" rel=\"nofollow ugc noopener\">@Sidsector9<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/darylldoyle\" rel=\"nofollow ugc noopener\">@darylldoyle<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/faisal-alvi\" rel=\"nofollow ugc noopener\">@faisal-alvi<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/ravinderk\" rel=\"nofollow ugc noopener\">@ravinderk<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/79\" rel=\"nofollow ugc noopener\">#79<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/145\" rel=\"nofollow ugc noopener\">#145<\/a>).<\/li>\n<li><strong>Added:<\/strong> Spacing and color controls added to SVG block (props <a target=\"_blank\" href=\"https:\/\/github.com\/bmarshall511\" rel=\"nofollow ugc noopener\">@bmarshall511<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/iamdharmesh\" rel=\"nofollow ugc noopener\">@iamdharmesh<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/135\" rel=\"nofollow ugc noopener\">#135<\/a>).<\/li>\n<li><strong>Added:<\/strong> Mochawesome reporter added for Cypress test report (props <a target=\"_blank\" href=\"https:\/\/github.com\/jayedul\" rel=\"nofollow ugc noopener\">@jayedul<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/peterwilsoncc\" rel=\"nofollow ugc noopener\">@peterwilsoncc<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/124\" rel=\"nofollow ugc noopener\">#124<\/a>).<\/li>\n<li><strong>Changed:<\/strong> Update <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg#support-level\" rel=\"nofollow ugc noopener\">Support Level<\/a> from <code>Active<\/code> to <code>Stable<\/code> (props <a target=\"_blank\" href=\"https:\/\/github.com\/Sidsector9\" rel=\"nofollow ugc noopener\">@Sidsector9<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/iamdharmesh\" rel=\"nofollow ugc noopener\">@iamdharmesh<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/100\" rel=\"nofollow ugc noopener\">#100<\/a>).<\/li>\n<li><strong>Changed:<\/strong> Update name of SVG block from Safe SVG Icon to Inline SVG (props <a target=\"_blank\" href=\"https:\/\/github.com\/bmarshall511\" rel=\"nofollow ugc noopener\">@bmarshall511<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/iamdharmesh\" rel=\"nofollow ugc noopener\">@iamdharmesh<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/135\" rel=\"nofollow ugc noopener\">#135<\/a>).<\/li>\n<li><strong>Changed:<\/strong> Bump WordPress \u201ctested up to\u201d version 6.3 (props <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/jeffpaul\" rel=\"nofollow ugc noopener\">@jeffpaul<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/144\" rel=\"nofollow ugc noopener\">#144<\/a>).<\/li>\n<li><strong>Changed:<\/strong> Update the Dependency Review GitHub Action (props <a target=\"_blank\" href=\"https:\/\/github.com\/jeffpaul\" rel=\"nofollow ugc noopener\">@jeffpaul<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/Sidsector9\" rel=\"nofollow ugc noopener\">@Sidsector9<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/128\" rel=\"nofollow ugc noopener\">#128<\/a>).<\/li>\n<li><strong>Fixed:<\/strong> Add namespace to the <code>class_exists<\/code> check (props <a target=\"_blank\" href=\"https:\/\/github.com\/szepeviktor\" rel=\"nofollow ugc noopener\">@szepeviktor<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/iamdharmesh\" rel=\"nofollow ugc noopener\">@iamdharmesh<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/120\" rel=\"nofollow ugc noopener\">#120<\/a>).<\/li>\n<li><strong>Fixed:<\/strong> Ensure Sanitizer class is properly imported (props <a target=\"_blank\" href=\"https:\/\/github.com\/szepeviktor\" rel=\"nofollow ugc noopener\">@szepeviktor<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/iamdharmesh\" rel=\"nofollow ugc noopener\">@iamdharmesh<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/121\" rel=\"nofollow ugc noopener\">#121<\/a>).<\/li>\n<li><strong>Fixed:<\/strong> Remove an unneeded global (props <a target=\"_blank\" href=\"https:\/\/github.com\/szepeviktor\" rel=\"nofollow ugc noopener\">@szepeviktor<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/iamdharmesh\" rel=\"nofollow ugc noopener\">@iamdharmesh<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/122\" rel=\"nofollow ugc noopener\">#122<\/a>).<\/li>\n<li><strong>Fixed:<\/strong> Use absolute path in require (props <a target=\"_blank\" href=\"https:\/\/github.com\/szepeviktor\" rel=\"nofollow ugc noopener\">@szepeviktor<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/iamdharmesh\" rel=\"nofollow ugc noopener\">@iamdharmesh<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/123\" rel=\"nofollow ugc noopener\">#123<\/a>).<\/li>\n<li><strong>Fixed:<\/strong> Ensure custom classname added to SVG block is output on the front-end (props <a target=\"_blank\" href=\"https:\/\/github.com\/bmarshall511\" rel=\"nofollow ugc noopener\">@bmarshall511<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/Sidsector9\" rel=\"nofollow ugc noopener\">@Sidsector9<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/dkotter\" rel=\"nofollow ugc noopener\">@dkotter<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/130\" rel=\"nofollow ugc noopener\">#130<\/a>).<\/li>\n<li><strong>Fixed:<\/strong> Ensure <code>SimpleXML<\/code> exists before using it (props <a target=\"_blank\" href=\"https:\/\/github.com\/sdmtt\" rel=\"nofollow ugc noopener\">@sdmtt<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/faisal-alvi\" rel=\"nofollow ugc noopener\">@faisal-alvi<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/140\" rel=\"nofollow ugc noopener\">#140<\/a>).<\/li>\n<li><strong>Fixed:<\/strong> Fix markdown issues in the readme (props <a target=\"_blank\" href=\"https:\/\/github.com\/szepeviktor\" rel=\"nofollow ugc noopener\">@szepeviktor<\/a>, <a target=\"_blank\" href=\"https:\/\/github.com\/iamdharmesh\" rel=\"nofollow ugc noopener\">@iamdharmesh<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/119\" rel=\"nofollow ugc noopener\">#119<\/a>).<\/li>\n<li><strong>Security:<\/strong> Bump <code>semver<\/code> from 5.7.1 to 5.7.2 (props <a target=\"_blank\" href=\"https:\/\/github.com\/apps\/dependabot\" rel=\"nofollow ugc noopener\">@dependabot<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/134\" rel=\"nofollow ugc noopener\">#134<\/a>).<\/li>\n<li><strong>Security:<\/strong> Bump <code>word-wrap<\/code> from 1.2.3 to 1.2.5 (props <a target=\"_blank\" href=\"https:\/\/github.com\/apps\/dependabot\" rel=\"nofollow ugc noopener\">@dependabot<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/141\" rel=\"nofollow ugc noopener\">#141<\/a>).<\/li>\n<li><strong>Security:<\/strong> Bump <code>tough-cookie<\/code> from 4.1.2 to 4.1.3 and <code>@cypress\/request<\/code> from 2.88.10 to 2.88.12 (props <a target=\"_blank\" href=\"https:\/\/github.com\/apps\/dependabot\" rel=\"nofollow ugc noopener\">@dependabot<\/a> via <a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/pull\/146\" rel=\"nofollow ugc noopener\">#146<\/a>).<\/li>\n<\/ul>\n<p><a target=\"_blank\" href=\"https:\/\/github.com\/10up\/safe-svg\/blob\/develop\/CHANGELOG.md\" rel=\"nofollow ugc noopener\">View historical changelog details here<\/a>.<\/p>\n<\/div><\/div>\n<p><!-- .entry-content --><\/p>\n<p>\t<!-- .entry-meta --><br \/>\n<\/article>\n<p><br \/>\n<br \/><a href=\"https:\/\/wordpress.org\/plugins\/safe-svg\/\" target=\"_blank\" rel=\"noopener\">Source link <\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Safe SVG By 10up Download Live Preview Details Reviews Installation Development Support Description Safe SVG is the best way to Allow SVG Uploads in WordPress! It gives you the ability to allow SVG uploads whilst making sure that they\u2019re sanitized to stop SVG\/XML vulnerabilities affecting your site. It also gives you the ability to preview [&hellip;]<\/p>","protected":false},"author":32,"featured_media":3111,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"give_campaign_id":0,"footnotes":""},"categories":[1933,39,40],"tags":[2051,2052],"class_list":["post-3110","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-community-plugin","category-lite-version","category-wp-plugin-solution","tag-safe","tag-svg"],"acf":[],"fifu_image_url":"https:\/\/ps.w.org\/safe-svg\/assets\/banner-772x250.png?rev=2683939","_links":{"self":[{"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/posts\/3110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/users\/32"}],"replies":[{"embeddable":true,"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/comments?post=3110"}],"version-history":[{"count":0,"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/posts\/3110\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/media\/3111"}],"wp:attachment":[{"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/media?parent=3110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/categories?post=3110"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/s-o-s.net\/en_gb\/wp-json\/wp\/v2\/tags?post=3110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}