Skip to content

v3.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 02 May 12:32
61f264e

Added

  • WordPressVIPMinimum.Security.ExitAfterRedirect (error): flags
    wp_redirect() and wp_safe_redirect() calls not followed by
    exit(), preventing unintended output or side effects after
    headers are sent — a known WordPress footgun, especially in
    admin_post_* handlers. Pulled from automattic/vipwpcs
    (cherry-picked; the full VIP ruleset is not included).
    Closes #103.

Removed

  • BREAKING: Short echo tags (<?= … ?>) are no longer
    allowed. The ruleset previously excluded
    Generic.PHP.DisallowShortOpenTag.EchoFound and
    Squiz.PHP.EmbeddedPhp.ShortOpenEchoNoSemicolon; both
    exclusions have been dropped so the WordPress defaults apply.
    This brings local PHPCS in line with the WordPress.org Plugin
    Check, which enforces DisallowShortOpenTag.EchoFound and is
    not configurable from a consuming project. Migration is
    mechanical: replace <?= esc_html( $x ) ?> with
    <?php echo esc_html( $x ); ?>. Closes #107.

Fixed

  • Apermo.WordPress.ImplicitPostFunction.IntegerArgument no
    longer fires on get_post( int ) or get_post( $var->ID ).
    Unlike the other functions in POST_FUNCTIONS, get_post()
    is overloaded: the int form forces a fresh DB fetch
    (intentional after wp_update_post()), while passing a
    WP_Post returns the (possibly stale) object as-is.
    get_post() with no argument and get_post( null ) still
    error. Closes #110.

CI

  • Migrate stale.yml to apermo/reusable-workflows
    (reusable-stale.yml). Aligns with the rest of the
    apermo/* namespace and centralizes future updates.
    Closes #106.
  • Migrate validate-conventional-commits.yml to
    apermo/reusable-workflows
    (reusable-conventional-commits.yml). The shared workflow
    supports the Conventional Commits ! breaking-change
    marker (feat(scope)!: …); the local copy did not.
    Allowed-types kept narrow per this repo's style guide.
    Closes #111.