Plugin Directory

Changeset 3282609


Ignore:
Timestamp:
04/27/2025 08:17:28 AM (2 weeks ago)
Author:
coffee2code
Message:

Release v2.5:

  • Hardening: Prevent unsafe markup from being output
  • Update widget base class to v006:
    • Hardening: Prevent unsafe markup from being output
    • Change: Include version number in class name to ensure use of expected version
    • Change: Move PHPCS-related inline comments with their associated phpcs:ignore comments
  • Change: Note compatibility through WP 6.8+
  • Change: Note compatibility through PHP 8.3+
  • Change: Update copyright date (2025)
Location:
linkify-tags
Files:
12 edited
1 copied

Legend:

Unmodified
Added
Removed
  • linkify-tags/tags/2.5/CHANGELOG.md

    r3138418r3282609 
    11# Changelog
     2
     3## 2.5 _(2025-04-27)_
     4* Hardening: Prevent unsafe markup from being output
     5* Update widget base class to v006:
     6    * Hardening: Prevent unsafe markup from being output
     7    * Change: Include version number in class name to ensure use of expected version
     8    * Change: Move PHPCS-related inline comments with their associated `phpcs:ignore` comments
     9* Change: Note compatibility through WP 6.8+
     10* Change: Note compatibility through PHP 8.3+
     11* Change: Update copyright date (2025)
     12* Unit tests:
     13    * Change: Remove vestiges of testing for now-removed `linkify_categories()`
     14    * Change: Explicitly define return type for overridden methods
    215
    316## 2.4 _(2024-08-20)_
  • linkify-tags/tags/2.5/DEVELOPER-DOCS.md

    r2957021r3282609 
    1313
    1414### Arguments
     15
     16_Note: Unsafe markup (such as `script`) will be omitted from any string being output._
    1517
    1618* `$tags` _(string|int|array)_
  • linkify-tags/tags/2.5/linkify-tags.php

    r3138418r3282609 
    22/**
    33 * Plugin Name: Linkify Tags
    4  * Version:     2.4
     4 * Version:     2.5
    55 * Plugin URI:  https://coffee2code.com/wp-plugins/linkify-tags/
    66 * Author:      Scott Reilly
     
    1111 * Description: Turn a string, list, or array of tag IDs and/or slugs into a list of links to those tag archives. Provides a widget and template tag.
    1212 *
    13  * Compatible with WordPress 3.3 through 6.6+.
     13 * Compatible with WordPress 3.3 through 6.8+, and PHP through at least 8.3+.
    1414 *
    1515 * =>> Read the accompanying readme.txt file for instructions and documentation.
     
    1919 * @package Linkify_Tags
    2020 * @author  Scott Reilly
    21  * @version 2.4
     21 * @version 2.5
    2222 */
    2323
    2424/*
    25     Copyright (c) 2009-2024 by Scott Reilly (aka coffee2code)
     25    Copyright (c) 2009-2025 by Scott Reilly (aka coffee2code)
    2626
    2727    This program is free software; you can redistribute it and/or
     
    112112    }
    113113
    114     // Output categories (which is permitted to include markup).
    115     // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    116     echo $before . $response . $after;
     114    // Output categories.
     115    echo wp_kses_post( $before . $response . $after );
    117116}
    118117add_action( 'c2c_linkify_tags', 'c2c_linkify_tags', 10, 6 );
  • linkify-tags/tags/2.5/linkify-tags.widget.php

    r3138418r3282609 
    33 * Linkify Tags plugin widget code
    44 *
    5  * Copyright (c) 2011-2024 by Scott Reilly (aka coffee2code)
     5 * Copyright (c) 2011-2025 by Scott Reilly (aka coffee2code)
    66 *
    77 * @package Linkify_Tags_Widget
    88 * @author  Scott Reilly
    9  * @version 005
     9 * @version 006
    1010 */
    1111
     
    1616if ( class_exists( 'WP_Widget' ) && ! class_exists( 'c2c_LinkifyTagsWidget' ) ) :
    1717
    18 class c2c_LinkifyTagsWidget extends c2c_LinkifyWidget {
     18class c2c_LinkifyTagsWidget extends c2c_LinkifyWidget_006 {
    1919
    2020    /**
     
    2424     */
    2525    public static function version() {
    26         return '005';
     26        return '006';
    2727    }
    2828
  • linkify-tags/tags/2.5/linkify-widget.php

    r3138418r3282609 
    33 * Linkify plugin widget code
    44 *
    5  * Copyright (c) 2011-2024 by Scott Reilly (aka coffee2code)
     5 * Copyright (c) 2011-2025 by Scott Reilly (aka coffee2code)
    66 *
    77 * @package Linkify_Widget
    88 * @author  Scott Reilly
    9  * @version 005
     9 * @version 006
    1010 */
    1111
    1212defined( 'ABSPATH' ) or die();
    1313
    14 if ( class_exists( 'WP_Widget' ) && ! class_exists( 'c2c_LinkifyWidget' ) ) :
    15 
    16 abstract class c2c_LinkifyWidget extends WP_Widget {
     14if ( class_exists( 'WP_Widget' ) && ! class_exists( 'c2c_LinkifyWidget_006' ) ) :
     15
     16abstract class c2c_LinkifyWidget_006 extends WP_Widget {
    1717
    1818    abstract function widget_content( $args, $instance );
     
    7373     */
    7474    public static function version() {
    75         return '005';
     75        return '006';
    7676    }
    7777
     
    121121        }
    122122
    123         // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    124         echo $before_widget;
     123        echo wp_kses_post( $before_widget );
    125124
    126125        if ( $title ) {
    127             // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    128             echo $before_title . $title . $after_title;
     126            echo wp_kses_post( $before_title . $title . $after_title );
    129127        }
    130128
     
    133131        $this->widget_content( $args, $instance );
    134132
    135         // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    136         echo $after_widget;
     133        echo wp_kses_post( $after_widget );
    137134    }
    138135
     
    242239                    esc_attr( $input_name ),
    243240                    esc_attr( $input_id ),
    244                     // PHPCS: The keys and values of all attributes are being escaped by esc_attributes(), so this is safe.
    245                     // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
     241                    // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- The keys and values of all attributes are being escaped by esc_attributes(), so this is safe.
    246242                    $this->esc_attributes( $this->config[ $opt ]['input_attributes'] ),
    247243                    esc_html( $value )
     
    296292                    esc_attr( $tstyle ),
    297293                    ( 'checkbox' === $input ? checked( $value, 1, false ) : '' ),
    298                     // PHPCS: The keys and values of all attributes are being escaped by esc_attributes(), so this is safe.
    299                     // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
     294                    // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- The keys and values of all attributes are being escaped by esc_attributes(), so this is safe.
    300295                    $this->esc_attributes( $this->config[ $opt ]['input_attributes'] )
    301296                );
    302297            }
    303298            if ( $this->config[ $opt ]['help'] ) {
    304                 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    305                 echo "<div style='color:#888; font-size:x-small;'>({$this->config[ $opt ]['help']})</div>";
     299                echo '<div style="color:#888; font-size:x-small;">(';
     300                echo wp_kses_post( $this->config[ $opt ]['help'] );
     301                echo ')</div>';
    306302            }
    307303            echo "</p>\n";
  • linkify-tags/tags/2.5/readme.txt

    r3138418r3282609 
    66License URI: https://www.gnu.org/licenses/gpl-2.0.html
    77Requires at least: 3.3
    8 Tested up to: 6.6
    9 Stable tag: 2.4
     8Tested up to: 6.8
     9Stable tag: 2.5
    1010
    1111Turn a string, list, or array of tag IDs and/or slugs into a list of links to those tag archives. Provides a widget and template tag.
     
    4545Between tags: `</li><li>`
    4646
    47 = Does this plugin include unit tests? =
     47= Does this plugin have unit tests? =
    4848
    4949Yes. The tests are not packaged in the release .zip file or included in plugins.svn.wordpress.org, but can be found in the [plugin's repository](https://.com/coffee2code/linkify-tags/).
     
    6464
    6565== Changelog ==
     66
     67= 2.5 (2025-04-27) =
     68* Hardening: Prevent unsafe markup from being output
     69* Update widget base class to v006:
     70    * Hardening: Prevent unsafe markup from being output
     71    * Change: Include version number in class name to ensure use of expected version
     72    * Change: Move PHPCS-related inline comments with their associated `phpcs:ignore` comments
     73* Change: Note compatibility through WP 6.8+
     74* Change: Note compatibility through PHP 8.3+
     75* Change: Update copyright date (2025)
     76* Unit tests:
     77    * Change: Remove vestiges of testing for now-removed `linkify_categories()`
     78    * Change: Explicitly define return type for overridden methods
    6679
    6780= 2.4 (2024-08-20) =
     
    102115    * Change: Prevent PHP warnings due to missing core-related generated files
    103116
    104 = 2.3 (2021-10-20) =
    105 Highlights:
    106 
    107 This minor release removes support for the long-deprecated `linkify_tags()`, adds DEVELOPER-DOCS.md, notes compatibility through WP 5.8+, and minor reorganization and tweaks to unit tests.
    108 
    109 Details:
    110 
    111 * Change: Remove long-deprecated function `linkify_tags()`
    112 * New: Add DEVELOPER-DOCS.md and move template tag and hooks documentation into it
    113 * Change: Tweak installation instruction
    114 * Change: Note compatibility through WP 5.8+
    115 * Unit tests:
    116     * Change: Restructure unit test directories
    117         * Change: Move `phpunit/` into `tests/phpunit/`
    118         * Change: Move `phpunit/bin/` into `tests/`
    119     * Change: Remove 'test-' prefix from unit test file
    120     * Change: In bootstrap, store path to plugin file constant
    121     * Change: In bootstrap, add backcompat for PHPUnit pre-v6.0
    122 
    123117_Full changelog is available in [CHANGELOG.md](https://.com/coffee2code/linkify-tags/blob/master/CHANGELOG.md)._
    124118
    125119
    126120== Upgrade Notice ==
     121
     122= 2.5 =
     123Recommended update: prevented unsafe markup from being output, versioned widget base class to ensure use of expected version, noted compatibility through WP 6.8+ and PHP 8.3+, and updated copyright date (2025)
    127124
    128125= 2.4 =
  • linkify-tags/trunk/CHANGELOG.md

    r3138418r3282609 
    11# Changelog
     2
     3## 2.5 _(2025-04-27)_
     4* Hardening: Prevent unsafe markup from being output
     5* Update widget base class to v006:
     6    * Hardening: Prevent unsafe markup from being output
     7    * Change: Include version number in class name to ensure use of expected version
     8    * Change: Move PHPCS-related inline comments with their associated `phpcs:ignore` comments
     9* Change: Note compatibility through WP 6.8+
     10* Change: Note compatibility through PHP 8.3+
     11* Change: Update copyright date (2025)
     12* Unit tests:
     13    * Change: Remove vestiges of testing for now-removed `linkify_categories()`
     14    * Change: Explicitly define return type for overridden methods
    215
    316## 2.4 _(2024-08-20)_
  • linkify-tags/trunk/DEVELOPER-DOCS.md

    r2957021r3282609 
    1313
    1414### Arguments
     15
     16_Note: Unsafe markup (such as `script`) will be omitted from any string being output._
    1517
    1618* `$tags` _(string|int|array)_
  • linkify-tags/trunk/linkify-tags.php

    r3138418r3282609 
    22/**
    33 * Plugin Name: Linkify Tags
    4  * Version:     2.4
     4 * Version:     2.5
    55 * Plugin URI:  https://coffee2code.com/wp-plugins/linkify-tags/
    66 * Author:      Scott Reilly
     
    1111 * Description: Turn a string, list, or array of tag IDs and/or slugs into a list of links to those tag archives. Provides a widget and template tag.
    1212 *
    13  * Compatible with WordPress 3.3 through 6.6+.
     13 * Compatible with WordPress 3.3 through 6.8+, and PHP through at least 8.3+.
    1414 *
    1515 * =>> Read the accompanying readme.txt file for instructions and documentation.
     
    1919 * @package Linkify_Tags
    2020 * @author  Scott Reilly
    21  * @version 2.4
     21 * @version 2.5
    2222 */
    2323
    2424/*
    25     Copyright (c) 2009-2024 by Scott Reilly (aka coffee2code)
     25    Copyright (c) 2009-2025 by Scott Reilly (aka coffee2code)
    2626
    2727    This program is free software; you can redistribute it and/or
     
    112112    }
    113113
    114     // Output categories (which is permitted to include markup).
    115     // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    116     echo $before . $response . $after;
     114    // Output categories.
     115    echo wp_kses_post( $before . $response . $after );
    117116}
    118117add_action( 'c2c_linkify_tags', 'c2c_linkify_tags', 10, 6 );
  • linkify-tags/trunk/linkify-tags.widget.php

    r3138418r3282609 
    33 * Linkify Tags plugin widget code
    44 *
    5  * Copyright (c) 2011-2024 by Scott Reilly (aka coffee2code)
     5 * Copyright (c) 2011-2025 by Scott Reilly (aka coffee2code)
    66 *
    77 * @package Linkify_Tags_Widget
    88 * @author  Scott Reilly
    9  * @version 005
     9 * @version 006
    1010 */
    1111
     
    1616if ( class_exists( 'WP_Widget' ) && ! class_exists( 'c2c_LinkifyTagsWidget' ) ) :
    1717
    18 class c2c_LinkifyTagsWidget extends c2c_LinkifyWidget {
     18class c2c_LinkifyTagsWidget extends c2c_LinkifyWidget_006 {
    1919
    2020    /**
     
    2424     */
    2525    public static function version() {
    26         return '005';
     26        return '006';
    2727    }
    2828
  • linkify-tags/trunk/linkify-widget.php

    r3138418r3282609 
    33 * Linkify plugin widget code
    44 *
    5  * Copyright (c) 2011-2024 by Scott Reilly (aka coffee2code)
     5 * Copyright (c) 2011-2025 by Scott Reilly (aka coffee2code)
    66 *
    77 * @package Linkify_Widget
    88 * @author  Scott Reilly
    9  * @version 005
     9 * @version 006
    1010 */
    1111
    1212defined( 'ABSPATH' ) or die();
    1313
    14 if ( class_exists( 'WP_Widget' ) && ! class_exists( 'c2c_LinkifyWidget' ) ) :
    15 
    16 abstract class c2c_LinkifyWidget extends WP_Widget {
     14if ( class_exists( 'WP_Widget' ) && ! class_exists( 'c2c_LinkifyWidget_006' ) ) :
     15
     16abstract class c2c_LinkifyWidget_006 extends WP_Widget {
    1717
    1818    abstract function widget_content( $args, $instance );
     
    7373     */
    7474    public static function version() {
    75         return '005';
     75        return '006';
    7676    }
    7777
     
    121121        }
    122122
    123         // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    124         echo $before_widget;
     123        echo wp_kses_post( $before_widget );
    125124
    126125        if ( $title ) {
    127             // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    128             echo $before_title . $title . $after_title;
     126            echo wp_kses_post( $before_title . $title . $after_title );
    129127        }
    130128
     
    133131        $this->widget_content( $args, $instance );
    134132
    135         // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    136         echo $after_widget;
     133        echo wp_kses_post( $after_widget );
    137134    }
    138135
     
    242239                    esc_attr( $input_name ),
    243240                    esc_attr( $input_id ),
    244                     // PHPCS: The keys and values of all attributes are being escaped by esc_attributes(), so this is safe.
    245                     // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
     241                    // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- The keys and values of all attributes are being escaped by esc_attributes(), so this is safe.
    246242                    $this->esc_attributes( $this->config[ $opt ]['input_attributes'] ),
    247243                    esc_html( $value )
     
    296292                    esc_attr( $tstyle ),
    297293                    ( 'checkbox' === $input ? checked( $value, 1, false ) : '' ),
    298                     // PHPCS: The keys and values of all attributes are being escaped by esc_attributes(), so this is safe.
    299                     // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
     294                    // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- The keys and values of all attributes are being escaped by esc_attributes(), so this is safe.
    300295                    $this->esc_attributes( $this->config[ $opt ]['input_attributes'] )
    301296                );
    302297            }
    303298            if ( $this->config[ $opt ]['help'] ) {
    304                 // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
    305                 echo "<div style='color:#888; font-size:x-small;'>({$this->config[ $opt ]['help']})</div>";
     299                echo '<div style="color:#888; font-size:x-small;">(';
     300                echo wp_kses_post( $this->config[ $opt ]['help'] );
     301                echo ')</div>';
    306302            }
    307303            echo "</p>\n";
  • linkify-tags/trunk/readme.txt

    r3138418r3282609 
    66License URI: https://www.gnu.org/licenses/gpl-2.0.html
    77Requires at least: 3.3
    8 Tested up to: 6.6
    9 Stable tag: 2.4
     8Tested up to: 6.8
     9Stable tag: 2.5
    1010
    1111Turn a string, list, or array of tag IDs and/or slugs into a list of links to those tag archives. Provides a widget and template tag.
     
    4545Between tags: `</li><li>`
    4646
    47 = Does this plugin include unit tests? =
     47= Does this plugin have unit tests? =
    4848
    4949Yes. The tests are not packaged in the release .zip file or included in plugins.svn.wordpress.org, but can be found in the [plugin's repository](https://.com/coffee2code/linkify-tags/).
     
    6464
    6565== Changelog ==
     66
     67= 2.5 (2025-04-27) =
     68* Hardening: Prevent unsafe markup from being output
     69* Update widget base class to v006:
     70    * Hardening: Prevent unsafe markup from being output
     71    * Change: Include version number in class name to ensure use of expected version
     72    * Change: Move PHPCS-related inline comments with their associated `phpcs:ignore` comments
     73* Change: Note compatibility through WP 6.8+
     74* Change: Note compatibility through PHP 8.3+
     75* Change: Update copyright date (2025)
     76* Unit tests:
     77    * Change: Remove vestiges of testing for now-removed `linkify_categories()`
     78    * Change: Explicitly define return type for overridden methods
    6679
    6780= 2.4 (2024-08-20) =
     
    102115    * Change: Prevent PHP warnings due to missing core-related generated files
    103116
    104 = 2.3 (2021-10-20) =
    105 Highlights:
    106 
    107 This minor release removes support for the long-deprecated `linkify_tags()`, adds DEVELOPER-DOCS.md, notes compatibility through WP 5.8+, and minor reorganization and tweaks to unit tests.
    108 
    109 Details:
    110 
    111 * Change: Remove long-deprecated function `linkify_tags()`
    112 * New: Add DEVELOPER-DOCS.md and move template tag and hooks documentation into it
    113 * Change: Tweak installation instruction
    114 * Change: Note compatibility through WP 5.8+
    115 * Unit tests:
    116     * Change: Restructure unit test directories
    117         * Change: Move `phpunit/` into `tests/phpunit/`
    118         * Change: Move `phpunit/bin/` into `tests/`
    119     * Change: Remove 'test-' prefix from unit test file
    120     * Change: In bootstrap, store path to plugin file constant
    121     * Change: In bootstrap, add backcompat for PHPUnit pre-v6.0
    122 
    123117_Full changelog is available in [CHANGELOG.md](https://.com/coffee2code/linkify-tags/blob/master/CHANGELOG.md)._
    124118
    125119
    126120== Upgrade Notice ==
     121
     122= 2.5 =
     123Recommended update: prevented unsafe markup from being output, versioned widget base class to ensure use of expected version, noted compatibility through WP 6.8+ and PHP 8.3+, and updated copyright date (2025)
    127124
    128125= 2.4 =
Note: See TracChangeset for help on using the changeset viewer.