Theme SCSS Compiler

Changelog

1.0.5

  • Fixed: “Compile now” could trigger a fatal FTP error (“ftp_nlist(): … null given”) on servers where WordPress falls back to the FTP/SSH filesystem without stored credentials. This is common on nginx/php-fpm where the web server user does not own the theme files. The plugin now writes compiled CSS directly, and an unwritable target shows a clear error instead of crashing.

1.0.4

  • Fixed: fatal error on PHP 8.1 that stopped the plugin from loading. A bundled library now ships in its PHP 8.1-compatible version.
  • Added: a “Settings” link in the plugin’s row on the Plugins screen.
  • Fixed: settings-page input fields rendered at uneven heights on WordPress 7.

1.0.3

  • Compatibility: tested with WordPress 7.0. No code or behaviour changes.

1.0.2

  • Fixed: “Compile now” now updates each changed pair’s Version field instantly, without a page reload.
  • Documentation: expanded FAQ (beginner SCSS primer, front-end behaviour, error display, git/deploy, theme-relative paths, child themes); tempered the scssphp / Dart Sass wording.
  • Synced bundled libraries to the locked versions (no behaviour change).
  • No configuration, options or public API changes.

1.0.1

  • Fixed: editing an @imported partial did not always trigger auto-recompile. When the SCSS compiler reported an included file via a non-canonical path (containing .., . or doubled slashes), the recorded dependency was silently discarded and changes to that partial went undetected. Included paths are now collapsed before being stored.
  • Fixed: on installs where the theme directory is a symlink (e.g. Bedrock-style layouts), dependency tracking failed entirely – the resolved (realpath) source paths never matched the unresolved theme directory, so every dependency was dropped. The theme directory is now resolved consistently for all comparisons.
  • Note: both issues affected automatic compilation only. The manual “Compile now” button was never affected, as it compiles unconditionally without consulting the dependency cache.
  • No changes to configuration, options or public API.

1.0.0

  • Initial release.
  • Multiple SCSS → CSS pairs with per-pair version and Frontend/Admin context.
  • @import-aware dependency tracking – every imported partial is recorded; editing a partial alone triggers auto-recompile.
  • Smart change detection via content comparison – versions only bump on real CSS changes.
  • Auto-compile on missing or stale output.
  • Auto-enqueue with duplicate detection (runs at PHP_INT_MAX priority).
  • Manual compile button with AJAX feedback.
  • Concurrent-compile lock to prevent race conditions on busy multi-admin sites.
  • Code-first configuration via TSCSSCOMPILER_* constants.
  • tscsscompiler_capability filter for granting access to custom roles.
  • Filesystem writes via WordPress WP_Filesystem API.
  • WCAG 2.1 AA compliant admin UI.
  • German translation included.
  • PHP 8.1+ required.
  • Bundles scssphp 2.1 (MIT) and dependencies.

Plugin Website
Visit website

Author
Simon Mista
Version:
1.0.5
Last Updated
May 31, 2026
Active Installs
40
Requires
WordPress 6.3
Tested Up To
WordPress 7.0
Requires PHP
8.1

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.