Skip to content

Releases: senlin/quick-multilingual

version 2.0.3

Choose a tag to compare

@senlin senlin released this 06 Sep 00:44
b62f4f4
  • date: September 5, 2026
  • Added: "Number of Languages" selector (3–20) at the top of the General Settings tab, shown faded/disabled with a "Coming Soon" overlay; it will be enabled by the upcoming QML Premium addon.
  • Changed: General Settings tab now groups the HTML lang attribute and hreflang fields per language (Primary Language / Secondary Language rows). Option keys unchanged; stored settings are unaffected.

version 2.0.2

Choose a tag to compare

@senlin senlin released this 05 Sep 06:59
6da469d
  • date: September 5, 2026
  • Fixed: silenced Plugin Check prefix warnings on the uninstall.php helper variables and the so_qmp filter names (false positives; the sniffer derives its expected prefix from the plugin name).

version 2.0.1

Choose a tag to compare

@senlin senlin released this 05 Sep 06:27
47a1ad6
  • date: September 5, 2026
  • Added: filter-aware accessors for tier limits (so_qmp/tier, so_qmp/max_languages, so_qmp/max_page_mappings) in preparation for the Premium addon.
  • Changed: the html lang attribute is now driven by the plugin's page mappings instead of page hierarchy; pages removed from the mapping fall back to the primary language.
  • Fixed: unmapped pages no longer output self-referencing hreflang and x-default links.
  • Fixed: mapping rows beyond the stored "Number of Pages to Map" are ignored on the frontend and deleted from the database when the count is reduced.

version 2.0.0 major refactor OOP

Choose a tag to compare

@senlin senlin released this 19 Aug 04:18
8f2c982
  • date: August 19, 2026
  • Note: Major refactor. Minimum WP raised to 6.2. Minimum PHP raised to 8.2. No breaking changes to stored settings; existing so_qmp_* options are preserved.
  • New: OOP architecture under the SOWP\QuickMultilingual namespace with split class files in src/.
  • New: Canonical URL output for mapped pages (<link rel="canonical">), removing WordPress core rel_canonical on those pages to prevent duplicate tags.
  • New: Activation guard deactivates the plugin and shows an admin notice when PHP < 8.2 or WordPress < 6.2.
  • Changed: Minimum PHP requirement raised from 7.0 to 8.2.
  • Changed: Minimum WP requirement raised from 5.0 to 6.2.
  • Changed: Page mapping loop now follows the tier limit (MAX_PAGE_MAPPINGS = 4) instead of a hardcoded 4, preparing for the Premium tier.
  • Developer: Lite/Premium roadmap; tier limits centralised in Config. Settings page markup kept compatible with the existing admin.js (.nav-tab, .so_qmp-tab-content, #so_qmp_number_of_pages, #page-translations-table, .page-mapping-row).

version 1.5.8

Choose a tag to compare

@senlin senlin released this 19 Aug 02:27
6fdf61f
  • date: August 19, 2026
  • Fixed: HTML lang attribute now correctly switches to the secondary language based on the page hierarchy instead of unreliable URL string matching.

version 1.5.7

Choose a tag to compare

@senlin senlin released this 18 Aug 08:11
e916bc1
  • date: August 18, 2026
  • Fixed: Escaped all admin option outputs and dropdowns to satisfy PHPCS/PCP checks and prevent unescaped output vulnerabilities.
  • Fixed: Added explicit casting with absint() for stored page IDs (for example so_qmp_language_folder_page) to ensure integer values are used where expected.
  • Fixed: Added translators comment for the "Page %d" label to clarify the placeholder meaning.
  • Changed: Replaced hardcoded script version with SO_QMP_VERSION and bumped asset versioning to improve cache-busting for admin.js and admin.css.
  • Fixed: Added a targeted PHPCS ignore for an admin-only exclude usage in wp_dropdown_pages() to address a WordPress VIP performance warning (settings screen; excludes a small, bounded set of pages).
  • Changed: Prefixed uninstall.php file-scope variables to follow plugin naming conventions and remove PCP naming warnings.
  • Notes: No breaking changes. Behaviour is unchanged; changes are defensive and to satisfy code-quality checks.
  • tested up to WP 7.1

v1.5.5

Choose a tag to compare

@senlin senlin released this 26 Sep 10:11
53a21d9
  • September 26, 2024
  • Make HTML lang attribute output more robust

v1.5.4

Choose a tag to compare

@senlin senlin released this 26 Sep 08:54
78bc318
  • September 26, 2024
  • Plugin approved by WP Plugins Review Team
  • Update readme files with screenshots

v1.5.3

Choose a tag to compare

@senlin senlin released this 25 Sep 14:40
c57b9da

1.5.3 - improvements after review by WP Plugins Team

  • Change the namespace from hlh_ to so_qmp_
  • Improve sanitisation and escaping throughout the plugin
  • Properly enqueue scripts and styles
  • Internationalise all user-facing strings, including those in JavaScript
  • Update the uninstall.php file for better security and precision
  • Ensure proper handling of external links