Repository navigation
Releases: lloc/Multisite-Language-Switcher
Release list
Version 3.0.3
What's Changed
Full Changelog: 3.0.2...3.0.3
Version 3.0.2
Release 3.0.2 fixes the "Reference user" dropdown on blogs with many users. Opening the settings page used to raise a PHP notice through trigger_error() whenever the blog held more users than the dropdown lists, which polluted the error log and error-tracking services such as Sentry.
MSLS now detects truncation from the user query itself by asking for one row more than it displays, and reports the limit as a plain hint below the dropdown instead of a notice. That also removes the count_users() call, a costly query on large blogs, from the settings page entirely.
Version 3.0.1
Version 3.0.0
What's Changed
- Add Quick Create for translations: create the translated post straight from the editor metabox, or pick a source post on the new "Add from Translation" submenu (single and bulk), backed by a REST endpoint and switchable in the settings.
- Add
msls_quick_create_capabilityso integrations can override the Quick Create permission checks, plus filters for the post data, the inserted post, the response, the untranslated-posts list, and the mapped taxonomy terms. - Add filter hooks for the AJAX suggest results of the post and term metaboxes.
- Restructure
lloc\Msls\into per-concern sub-namespaces (Admin\,Blog\,ContentImport\,ContentTypes\,Frontend\,Link\,Options\,Registry\,RestApi\). Every former flatMsls*class name keeps working throughlloc\Msls\Compat\Aliases, registered fromincludes/aliases.php. - Move the public helper functions into
includes/api.phpand make the$attrargument ofmsls_get_switcher()optional. - Add a PHP-DI container for service construction, built on first use by
lloc\Msls\Container::get(). - Documentation: add a developer reference under
docs/(public API, hooks, snippets, end-to-end testing, acknowledgements) and refresh the class and package diagrams. - Fix: load the backwards-compatibility aliases and the
msls_*()functions when the plugin file is included instead of onplugins_loaded, and keep the settings page slug handed tomsls_admin_registerat its pre-3.0 value. Add-ons such as MslsMenu load before the plugin and checkclass_exists( 'lloc\Msls\MslsOptions' )before registering anything, which silently disables them—no add-on settings section and no switcher in the nav menu. - Fix: check authorization on the destination post during content import, and correct the ContentImporter permission and post type checks.
- Fix: do not fall back to
home_url()for taxonomy and query archives. - Fix: broken links on the page for the latest posts.
- Fix: several issues in the blog collection.
- i18n: close gaps in the WP-CLI messages and the Quick Create button title.
- Internal: strict typing throughout, PHPStan level 8 clean,
ABSPATHguards, Plugin Check and PHPCS findings addressed, wp-env setup for local multisite development. - Internal: add a Playwright end-to-end suite (admin, frontend, and visual specs against wp-env, plus a read-only
livesmoke test) and run the local project on every pull request. - Maintenance: numerous dependency updates.
New Contributors
- @apermo made their first contribution in #581
- @miyanialkesh7 made their first contribution in #670
Full Changelog: 2.10.1...3.0.0
Version 2.10.1
2.10.0
What's Changed
- Add prefixed public helper functions (msls_get_*, msls_the_msls) with deprecation shims for legacy names to satisfy WPCS while staying backward compatible.
- Expose action hook names as constants for safer programmatic use.
- Accessibility: add aria-current="page" on the active language link.
- Fix: resolve path-related issue affecting asset/loader resolution.
- Internal: reorganized folders for clearer structure; include composer.json in release artifacts.
- Maintenance: numerous dependency updates (WordPress build tooling, Playwright/e2e utils, Node types, security bumps such as tar-fs, dotenv, js-yaml, express).
New Contributors
- @MatzeKitt made their first contribution in #459
Full Changelog: 2.9.6...2.10.0
Version 2.9.6
Highlights
- Alternate links are now printed without the title attribute.
- Fix in ImportCoordinates
Developer & CI Enhancements
- Updated actions and dependencies:
- Adjustments to Playwright and other workflows.
- Full strict typing applied across all classes for improved code safety and clarity.
- PHPStan upgraded to Level 6 with numerous fixes and improvements.
- New WP-CLI tests and adjustments to testing infrastructure.
Full Changelog: 2.9.5...2.9.6
Version 2.9.5
What's Changed
- Importer base & ImportCoordinates tested and refactored
- Phpstan issues addressed
Full Changelog: 2.9.4...2.9.5
Version 2.9.4
What's Changed
- fix: type casting for msls_id in render_option call by @MiguelRoot in #396
New Contributors
- @MiguelRoot made their first contribution in #396
Full Changelog: 2.9.3...2.9.4
Version 2.9.3
What's Changed
- Assets updates
- Welsh language code for CSS flag fixed