Skip to content

Releases: cameronterry/dark-matter

2.5.0

25 Aug 14:51
2dcc6c3

Choose a tag to compare

  • Switched to a new reusable build tool for CSS and JavaScript rather than some self cobbled together Webpack process.
  • Switched to wordpress/elements package with Dependency Extraction rather than including a standalone version of React.
    • Should prevent the possibility of any compatibility issues and ensures the plugin and WordPress use the same version.
    • JS for the Admin UI is now 12KB instead of 180KB. CSS is marginally smaller.
    • Static assets now use a dynamic, build-related, version instead of relying on the constant.
    • Removed the plugin's own webpack and postcss config files.
    • This plugin now only includes minified, built, CSS and JS files. Non-minified is no longer included.
    • JS now included in the footer.
  • Moves build assets into dist/ folder rather than build/. (Note: you may need to adjust deployment process ignore directives.)
  • Uses wordpress/api-fetch package instead of jQuery.ajax().
    • This also removes the dependency on jQuery for Dark Matter Plugin.
  • Admin menu now updates when the primary domain is changed.
    • These updates are applied when the data is loaded, rather than specific actions. This captures changing the primary domain, adding as well as deleting.
    • Resolves issue, #111.
  • Developer updates;
    • Removed version bump and Snyk.
    • Resolves a couple of Dependabot issues.
  • Tested up to WordPress 6.8.2.

Full Changelog: 2.4.0...2.5.0

2.4.0

26 May 14:14

Choose a tag to compare

  • The SSO between admin and primary domain - used to show the admin bar on mapped domains - has been removed.
    • Functionality was based on third-party cookies and no longer works reliably.
    • A number of browsers, such as Brave, Firefox, Safari, block or handle third party cookies in a manner that means the feature doesn't work.
    • Similar to issue with the rebuild attempted in v3. More information, and links to browser's documentations, can be found on PR 109.
  • Fixed a warning notice for dynamic properties in newer versions of PHP.
  • Fixed an issue where Script Modules domains didn't map properly.
  • Fixed an issue with custom font(s) URL(s) are not being mapped when adjusting settings for Full Site Editing.
  • Fixed the response for creating a domain with the REST API endpoint not returning the proper response (was missing the sub-object for site).
  • Improved the escaping of Request URI in DM_URL.
  • Moved to a new update server.
  • Switched Root API for the Admin UI to that introduced in React 18+.
  • Changed name from "Dark Matter" to "Dark Matter Plugin".
  • Tested upto WordPress 6.8.1.
  • Plugin development:
    • Composer and NPM dependencies updated.
    • Fixed an issue on GitHub Actions where SVN has been removed from ubuntu-latest container.
    • Simplified the PHPCS configuration.

Full Changelog: 2.3.4...2.4.0

2.3.4

18 Dec 14:59
349538e

Choose a tag to compare

  • Fixed an issue where assets such as CSS and JavaScript were mapped on login/register pages, even if the URL is on the admin domain. This was found in the forthcoming 3.0.0 release.
  • PHP 8.1 compatibility fixes and tweaks. Dark Matter now supports versions 7.0 to 8.1, in line with WordPress Core.
  • Plugin development changes:
  • Composer and NPM dependencies updated.
  • Tested upto WordPress 6.1

Full Changelog: 2.3.3...2.3.4

2.3.3

29 Oct 11:46
8adc3a0

Choose a tag to compare

  • Updated the dependencies for Composer and Node.
  • Added version bump dependency to aid in future releases of Dark Matter.
  • Tested upto WordPress 6.0.3

2.3.2

16 May 21:09

Choose a tag to compare

  • Fixed an uncaught issue with the way the cached domain is cast into an object.

Full Changelog: 2.3.1...2.3.2

2.3.1

14 May 11:27
0629a41

Choose a tag to compare

  • Fixed a major performance issue introduced in 2.3.0 for excessive database calls for primary domains. (#99)
    • This was caused by a malformed cache set for primary domains, after it was moved to resolve an issue previously where it would update only the database when a new primary domain was set.
    • Also removed an old call to set a primary domain, which is no longer needed and was causing irrelevant UPDATE SQL queries (it was essentially update the values to exactly what they were already).
  • Moved the primary domain cache set when retrieving a domain to slightly later in the process.
  • Atypical installations should not need to flush the cache. However, you may need to use WP CLI wp cache flush - or equivalent - after upgrading.

Full Changelog: 2.3.0...2.3.1

2.3.0

04 May 19:01
2ebe6f6

Choose a tag to compare

  • Added switch_to_blog() support for Media Domains. (#97)
    • When using the various attachment functions within the switch_to_blog() context, it will now respect media domain settings on a per site basis.
    • Setting media domains through the DM_NETWORK_MEDIA constant now works more fully.
    • It is now possible to controlled media domains through the network_media property on DarkMatter_Domains, to enable more sophisticated logic in code.
  • Tweaked the way mapped domains are detected to better support scenarios involving switch_to_blog(). (#96)
    • No longer relies solely on the DOMAIN_MAPPING constant, set when a request is processed through a primary domain.
    • Essentially, if the website handling the request is being viewed through its primary domain, then URLs within a switch_to_blog() context will be mapped if applicable (i.e. the blog switched to has an active primary domain).
    • And vice-versa - if a request is through the admin domain ("unmapped"), then URLs in the switch_to_blog() context will be unmapped as well (to prevent cross-domain compatibility issues / warnings in browsers).
  • Fixed an issue where setting and unsetting the Primary Domain would update the database only, and not the cache. (#94)
    • DarkMatter_Domains now handles the cache state for both primary and general domain caches.
    • Also removes some duplicate database update logic.
    • The third parameter of action hooks darkmatter_primary_set and darkmatter_primary_unset is now deprecated. It is always true as the database is always updated now, therefore it is redundant.
  • Domains are now ordered alphabetically - A to Z - when returned by get_domains_by_type(). (#95)
  • Fixed a typo preventing the cache retrieval for Restricted Domains working properly. (#89)
  • Fixed a malformed header for the 2.2.3 release in readme.txt file.
  • First iteration of unit tests added to the project to improve quality assurance of this release and future releases. (#88)
    • Uses PHP Unit and based on the setup provided by the WP CLI scaffold.
    • Issues / fixes in this release were found by the new unit tests.
    • Unit tests are not included with the release version of the plugin, and are accessible via Github repository: https://github.com/cameronterry/dark-matter/
  • Updated NPM dependencies to their latest versions.
  • Tested with WordPress 6.0 RC1.
  • We have incorporated Snyk scanning for dependencies in Composer and NPM. (#76)

Full Changelog: 2.2.3...2.3.0

2.2.3

10 Apr 13:14
6f42c59

Choose a tag to compare

  • Updated Composer and NPM dependencies.
    • No change in any logic code.
    • Some lint fixes in JavaScript and PHP files.
    • Switched eslint-loader for eslint-webpack-plugin.
  • PHP CodeSniffer set to test PHP 8.0 to ensure compatibility and support going forward.
  • Tested up to WordPress 5.9.3.

Full Changelog: 2.2.2...2.2.3

2.2.2

05 Feb 16:09

Choose a tag to compare

  • Updated Composer and NPM dependencies. No code changes made to CSS and JS files. (Security scans can be found on: #83)
  • Tested with WordPress 5.9 "Joséphine".
  • Checked for basic compatibility with Rank Math 1.0.81 and Yoast SEO 18.

Full Changelog: 2.2.1...2.2.2

2.2.1

10 Jan 09:58

Choose a tag to compare

  • Fixes an issue caused by a discrepancy between eslint setup.
  • This caused the build script to fail and was missed in 2.2.0, meaning the UI broke at the final deploy stage.
  • Apologies for the inconvenience.