SIA Publishing and Play is the WordPress codebase powering the Social Impact Award network. It runs as a WordPress multisite — one installation hosting a central hub and a separate site for each country team — and is organized around two units.
Publishing covers the editorial and public-facing layer: articles, events, press mentions, resources, and project listings produced by country programme managers through a shared workflow. A layout engine and contact form system underpin the sites, and a glossary links recognized terms into content automatically.
Play is the network’s internal knowledge base — a restricted-access platform for team members and candidates, with layered access control based on community role, team membership, and organization status. It also serves as the home of member profiles, country teams, partner organizations, and the competition voting system.
Connecting everything is a suite of integration and infrastructure plugins that handle data synchronization with Airtable and the Application & Assessment Platform, Slack membership and activity tracking, environment management, user permissions, and performance caching across the network.
Front end. The sites are rendered entirely through an in-house design system built on Fractal, with Twig as the templating language and Gulp as the build tool. WordPress’s native template hierarchy is not used. Instead, Timber bridges WordPress and Twig, passing structured data contexts to design system components. The design system lives in a separate repository and is included here as a library.
Design system docs mirror now skips the full build pipeline [*]
Release date: 13.03.2026
Improvements
.bin/mirror-docs.sh instead of the full build pipeline, skipping unnecessary style, script, and image compilationDocumentation changes are now mirrored to the design system automatically [*]
A new script handles the full docs-mirror workflow in one step: it rewrites all design system mirror files from their canonical sources in this repository, runs the library build, and commits and pushes the result inside the submodule. Running the script before committing the main repo means the submodule pointer advance is always bundled with the change that caused it, preventing the documentation loop where mirroring triggered a new entry which triggered another mirror.
Release date: 13.03.2026
New
.bin/mirror-docs.sh to automate the design system docs mirror: rewrites all mirror files, runs the library build, commits, and pushes the submodule in one step.bin/mirror-docs.sh into .bin/deploy.sh step 2 so the docs mirror and submodule pointer advance are always included in the tagged release commit.bin/deploy.sh for both the main repo and the design system submodule, halting before parameter validation if either has uncommitted changes.bin/deploy.sh header to accurately document all steps; replace Bitbucket reference with origin.bin/deploy.sh output style with .bin/latest.sh: coloured block on the left, text after itPresence tracking no longer loads profile data from Play unnecessarily [*]
Release date: 11.03.2026
Fixes
Presence cron scheduling now runs once on upgrade rather than on every admin request [*]
Release date: 11.03.2026
Fixes
Bot members are tracked in the presence table and membership events now update last-seen dates [*]
Slack bots were previously forwarded to the IT Infrastructure report but not recorded in the local presence table. They are now stored there directly. When any member joins the workspace or updates their profile, the system also records today as their last-seen date — a step that was previously skipped for these events.
Release date: 11.03.2026
New
Fixes
Documentation reorganised and mirrored into the design system [*]
The API reference has been split into separate REST API and WP-CLI documents. PHP 7.x installation instructions have been removed from the getting-started guide. The Mintlify submodule has been removed. All project documentation is now mirrored into the design system’s Fractal library, with each plugin getting its own overview and changelog pages.
Release date: 10.03.2026
Improvements
API.md into API.md (REST API and WordPress hooks) and WP-CLI.md (WP-CLI commands); update README.md to link to bothGETTING-STARTED.md; update config paths to PHP 8.1website-docs Mintlify submoduleweb/libraries/custom/sia-design-system/docs/publishing-and-play/: index, getting-started, REST API, WP-CLI, and per-plugin overview and changelog pages for all ten sia-* pluginsCLAUDE.md; add rule for tracking component library releases in the project changelogEvery changelog entry now shows its release date [*]
All 476 existing entries have been updated with a release date in dd.mm.yyyy format. The date appears after the description paragraph where one exists, or directly after the title for shorter entries. The project guidelines have been updated to require this line on every future entry too.
Release date: 10.03.2026
Improvements
_Release date: dd.mm.yyyy_ to all 476 existing changelog entries, sourced from git tags and commit historyCLAUDE.mdProject documentation added to the repository [*]
The repository now has a project-level README describing what SIA Publishing and Play is, how it is structured, and how the front end is rendered. Technical setup instructions have been moved to a dedicated getting-started guide, and the full REST and WP-CLI API surface is documented in two new reference files.
Release date: 06.03.2026
New
README.md project summary covering the two units, the multisite structure, the integration layer, and the Fractal/Timber/Twig front-end architectureGETTING-STARTED.md with PHP installation and New Relic monitoring setup, extracted from the previous READMEAPI.md with a full reference for all REST endpoints, WP-CLI commands, and WordPress hooks across the custom pluginsopenapi.yml with an OpenAPI 3.0.3 specification for all REST endpointsAll plugin READMEs now include descriptions [*]
Each plugin’s README now opens with a plain-language description of what the plugin does and why it exists. Plugins with rich functionality use sub-headings to describe their main features; simpler plugins use a short bullet list. Three plugins that had no README received one. Changelog entries were backfilled from the main log and git history where the plugin’s own README had none.
Release date: 05.03.2026
Improvements
Cached profile and team data is now smaller and more reliably refreshed [*]
The application caches profiles, teams, and organisations to avoid repeated database queries on every page load. This release significantly reduces the size of those caches and ensures they are always cleared when content changes — including when an organisation is edited in the admin area, which previously left stale data in place.
Release date: 05.03.2026
New
"Bash(wp eval ':*)" permissionImprovements
Fixes
For the full history see the repository changelog.