Skip to content

V2: nag only when no license key is saved (2.1.0) - #27

Merged
shazzad merged 2 commits into
mainfrom
fix/no-expired-license-notice
Sep 15, 2026
Merged

shazzad merged 2 commits into
mainfrom
fix/no-expired-license-notice

Conversation

@shazzad

@shazzad shazzad commented Sep 14, 2026

Copy link
Copy Markdown
Owner

Summary

The V2 admin notice now shows only when no license key is saved. An expired license no longer gets a sitewide notice.

Decided 2026-09-15 while testing pimipay-wc-paddle PR #67. The expired notice appeared on every admin screen (including WooCommerce → Payments) and came back weekly after dismissal. An expired plugin keeps working; only updates stop. So the notice was more nag than help.

What changes

  • src/V2/Admin/Notices.php: removes the expired notice type, its renew message, and its snooze type. TYPES is now [ 'unlicensed' ].
  • Unchanged: the unlicensed notice, its one-week snooze, the snooze option key, and the plugins-screen deferral (is_covered_by_update_row).
  • Expiry information stays where the product lives:
    • the license page (status and renewal_url link)
    • the plugins-list update row (V2\Admin\UpdateMessage)
    • get_license_status() and get_license_renewal_url()
  • V1 (frozen) is untouched. It never had notices.
  • CHANGELOG (2.1.0), README, and CLAUDE.md updated.

Notes

  • Leftover option: sites that snoozed the old expired notice keep a {storage}_notice_snooze_expired option. Nothing reads it now; it's harmless, so there's no migration.
  • Consumers:
    • pimipay-wc-paddle PR #67 will bump to ^2.1 once this is tagged.
    • LoxoWP gets the change on its next updater bump.
  • Release: tag 2.1.0, no v prefix. Not tagged; this PR is not merged.

Test plan

  • New: an expired license with a key renders no notice, and get_notice_type() returns ''.
  • New: a snooze request for the removed expired type is ignored.
  • Existing unlicensed, active, capability, license-page, plugins-screen and snooze tests still pass.
  • composer test: 213 tests, 389 assertions, OK (the same 6 risky no-assertion tests as on main).
  • PHP 7.4 compatibility check (phpcs-check) is clean.
  • composer phpcs (WordPress standard) exits non-zero, but that's pre-existing: 180 errors and 48 warnings in 13 files, identical counts on main and this branch (Notices.php 11 errors on both).

🤖 Generated with Claude Code

https://claude.ai/code/session_013VELFUvbdtn26TuL14hpJz

shazzad and others added 2 commits September 15, 2026 05:29
Remove the sitewide expired-license admin notice from V2\Admin\Notices.
An expired plugin keeps working and only stops receiving updates, so a
notice on every admin screen that returns weekly was more nag than help.
Expiry still shows on the license page and in the plugins-list update
row.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013VELFUvbdtn26TuL14hpJz
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013VELFUvbdtn26TuL14hpJz
@shazzad
shazzad merged commit e04c8c3 into main Sep 15, 2026
1 check passed
@shazzad
shazzad deleted the fix/no-expired-license-notice branch September 15, 2026 00:24
shazzad added a commit that referenced this pull request Sep 15, 2026
…tice"

This reverts commit e04c8c3. The updater is shared by many products; the
expired-notice suppression moves into pimipay-wc-paddle instead.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013VELFUvbdtn26TuL14hpJz
@shazzad

shazzad commented Sep 15, 2026

Copy link
Copy Markdown
Owner Author

Reverted on main (ce7de82) and released as 2.1.1, which restores the expired-license notice exactly as in 2.0.1. The updater is shared by many products, so it doesn't change for one product. 2.1.0 was withdrawn (tag and release deleted) before any consumer picked it up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant