Digital Sovereignty for everyone

Changelog

2.19

Fixed fatal error: self:: was used inside the nested global function lh_qr_code() to call get_qr_png_url()/get_qr_svg_url()/return_plugin_namespace(). Nested function declarations are not class methods in PHP, so self:: is illegal there and fails at compile time. Replaced with the explicit class name LH_QR_codes_plugin::. This is the same bug originally fixed in 2.14; see the 2.18 note below.

2.18

File was modified on disk without a corresponding code-change proposal record. The only observable change from 2.17 was the version bump itself, but the self:: nested-function bug from 2.14 was present again in this version, causing every plugin-activation attempt to fatal. Root cause of the regression is unconfirmed.

2.17

Reverted text domain in translation functions to method call; documented as known false positive in readme.md.

2.16

Fixed all PCP errors: added License header, bumped Requires at least to 6.9, updated block apiVersion to 3, removed non-existent Domain Path header, fixed EscapeOutput warnings, reverted text domain to literal strings in translation functions.

2.15

All translatable strings use return_plugin_text_domain() method.

2.14

Fixed self:: usage in global function context.

2.13

REST namespace derived from return_plugin_text_domain() via rest_namespace() method.

2.12

Ability slugs and category slug derived from return_plugin_text_domain().

2.11

Added identity methods and init_plugin filter gate per LocalHero plugin conventions.

2.10

Added VERSION constant, readme.md, error handling, GD check, block PNG scale from display size, removed dead includes file.

2.09

Added generate-qr-svg MCP ability returning raw SVG markup.

2.08

Replaced nonce-based URL protection with HMAC-SHA256 signatures.

2.00

Complete rewrite. REST API, rewrite endpoints, Gutenberg block, Composer autoloader.

If you like this plugin please consider making a donation to further development

Install LHero.org

lhero.org

Open it straight from your home screen, full screen and quicker to load.

  1. Tap the Share button . If you cannot see it, tap ••• first.
  2. Scroll down and tap Add to Home Screen.
  3. Tap Add.
  1. Tap the browser menu â‹®.
  2. Tap Install app or Add to Home screen.
  1. In the menu bar, choose File, then Add to Dock.

Use your browser's menu to install this site or add it to your home screen.