All project releases

airfleet-comeet-plugin

Release 1.1.1

Fixed a crash in the JobPosting JSON-LD schema when job location data is null.

GitHub
View full changelog

Fixed

  • Fixed JobPosting JSON-LD schema crash when job location data is null.
airfleet-platform-changelog

Release 0.14.0

Weekly Slack digests now list only the latest release per repository and show the total release count.

GitHub
View full changelog

Changed

  • Slack digest release lists: Weekly Slack digests now list only the latest release per repository and show the total release count across the number of repos, matching the monthly digest format. Both weekly and monthly Slack digests also drop the extra generated-from-summary footer line.
airfleet-platform-changelog

Release 0.13.0

Enabled Cloudflare Worker observability, adjusted Slack digest schedules, and ensured static pages update after period rollovers.

GitHub
View full changelog

Added

  • Worker observability: Enabled Cloudflare Worker observability in worker/wrangler.toml and added explicit release-processing/build-hook logs so webhook deliveries, summary generation, and Pages build-trigger attempts can be traced in Cloudflare Workers logs.

Changed

  • Slack digest workflows: Moved the weekly and monthly Slack schedules off the top of the hour, added shared period-target resolution, and updated both workflows to seed the required closed-period summary before sending to Slack.
  • Summary and deploy docs: Documented the production site URL, clarified the daily Worker cron and rollover rebuild behavior, and noted the optional PAGES_BUILD_HOOK_URL GitHub Actions secret used to refresh the static site after Slack-triggered summary backfills.
  • Worker scheduled rebuilds: The daily Worker cron now triggers a Pages rebuild when the featured closed week or month rolls over, even if the relevant summary already exists and no summary content changed.

Fixed

  • Slack summary availability: Weekly and monthly Slack digests now ensure the required summary exists in KV before posting, so scheduled sends no longer fail when the daily Worker cron has not backfilled that period yet.
  • Static weekly/monthly freshness: Weekly and monthly landing pages no longer stay pinned to the previous closed period until another release arrives; the Worker now forces a rebuild after week/month rollover so the featured static pages stay aligned with current closed periods.
airfleet-views-blade-plugin

Release 1.2.1

Automatically recompiles and retries rendering when compiled Blade cache files are missing.

GitHub
View full changelog

Fixed

  • Added error handling for missing compiled Blade cache files during rendering; automatically recompiles and retries when a compiled cache file is deleted mid-request (race condition during cache clear)
  • Added logging for cache file recovery attempts via Airfleet Cache Control logger (falls back to error_log)
airfleet-platform-changelog

Release 0.12.2

Fixed worker exception handling to prevent crashes and added guards for missing secrets.

GitHub
View full changelog

Fixed

  • Worker uncaught exception handling: Wrapped the fetch handler's handleWebhook call in a top-level try/catch so any unhandled exception returns a 500 response instead of crashing the Worker with a Cloudflare 1101 error. GitHub retries on 500, so no webhook deliveries are permanently lost.
  • Missing secret guards: Added explicit configuration guards for GITHUB_PRIVATE_KEY (in importPrivateKey) and PAGES_BUILD_HOOK_URL (in maybeTriggerBuild), throwing descriptive errors when either secret is not set rather than a cryptic TypeError.
airfleet-platform-changelog

Release 0.12.1

Webhook signature verification now handles empty secrets and ignores draft releases.

GitHub
View full changelog

Fixed

  • GitHub App webhook signature verification: Guarded verifySignature against an undefined or empty GITHUB_WEBHOOK_SECRET, which previously caused crypto.subtle.importKey to throw a DataError (empty HMAC key material) and return a 500 instead of processing the webhook. The worker now throws a descriptive error that is caught and logged clearly. Also added a missing draft release check so draft releases are ignored alongside prereleases.
airfleet-platform-changelog

Release 0.12.0

Added local summary generation, changelog statistics, and Slack automation alongside UI refinements and summary workflow improvements.

GitHub
View full changelog

Added

  • Local summary generation: Added scripts/summarize-local.ts and npm run summarize:local to generate release, weekly, and monthly summaries using a local Ollama model instead of Cloudflare Workers AI. Supports the same --year/--month/--week/--release selectors and --existing/--only modes as the cloud seeding script. An optional --upload flag pushes generated summaries directly to Cloudflare KV. OLLAMA_HOST and OLLAMA_DEFAULT_MODEL env vars configure the Ollama endpoint and default model.
  • Changelog stats: Added a Stats page with all-time repository and release totals, monthly release activity, and per-repository release counts.
  • Seeded previews: Added a preview:seed script to seed live KV data, build the site, and start the local preview server in one command.
  • Selective summary seeding: Added --only flag to npm run data:seed-summaries to control which summary types are regenerated. Accepts a comma-separated list of releases, weekly, and monthly — e.g. --month 2026-04 --only monthly regenerates only the monthly summary without touching release or weekly summaries.
  • Repository exclusion config: Added src/data/excluded-repos.json to exclude repositories from all changelog views. Entries are full repo names (owner/name). airfleet/airfleet-elements-test is excluded by default. Filtering is applied centrally in the data layer across all pages.

Changed

  • Changelog page polish: Refined release-card disclosure controls, simplified the project filter, tightened weekly/monthly summary layouts, added month summaries to archive cards, aligned weekly/monthly archive labels and cards, and added previous/next navigation to archive detail pages.
  • Layout and archive polish: Made the site brand in the header link back to the homepage, refreshed the footer copy to use the product name, surfaced the all-time release count, and aligned archive week pages around the YYYY-Www label plus a clearer week range.
  • Weekly and monthly summaries: Added a Monthly page, promoted summary-aware weekly cards, introduced separate monthly and summary KV paths, and wired the Worker plus a manual backfill workflow to generate Cloudflare-native release/weekly/monthly summaries for closed periods.
  • Summary backfill controls and prompts: Expanded the manual summary seeding workflow and CLI to target a full year, one month, one week, or one release; added explicit refresh/skip/overwrite behavior plus model overrides; switched the shared default model to @cf/zai-org/glm-4.7-flash; and upgraded monthly summaries to use a more narrative grouped prompt.
  • Summary presentation: Tightened release, weekly, and monthly summary prompts to avoid redundant project/version/count phrasing and generic openings; stopped generating unused expanded release summaries; promoted compact summaries on week/month cards; and aligned weekly/monthly landing pages with the archive detail layouts.
  • Monthly summary prompts: Upgraded monthly compact summaries to avoid opening with the month name, year, or any time-period reference — the summary must start with the work itself. Upgraded monthly expanded summaries to produce a richer structured narrative with 2–4 ##-headed sections by capability theme, starting with a one-sentence overview. Prompt version bumped to monthly-v6 with increased token budget.
  • Release card repo label: The repository label on release cards is now a link to the repository's release history page (/repo/{owner}/{name}).
  • Slack digest automation: Added weekly and monthly GitHub Actions workflows plus CLI helpers that post stored summaries to Slack through a Slack app bot, with manual period overrides for reruns.
  • Docs and workflow guidance: Updated README.md and AGENTS.md for the summaries workflow, release checklist, and changelog expectations.

Fixed

  • Homepage load-more page count: Capped getRequiredPageCount() by the total matching release count so filtering to a repo with fewer releases than the visible limit no longer requests non-existent pages and triggers 404 errors.
  • Monthly week overlap filter: Normalized both sides of the week/month overlap comparison to YYYY-MM-DD so full ISO timestamps stored in monthly index items no longer cause boundary weeks to be incorrectly excluded.
  • Markdown protocol-relative URL sanitization: sanitizeUrl now explicitly rejects protocol-relative URLs (//example.com) instead of normalizing them to http: and passing the allowlist check.
  • Weekly Slack digest formatting: Applied the same markdown-to-mrkdwn conversion used by the monthly digest so weekly summaries render bold text, headings, and links correctly in Slack instead of showing raw markdown syntax.
  • KV data download safety: downloadKvData now only deletes public/data after confirming the KV namespace contains keys, preventing an empty build when credentials point at a wrong or temporarily empty namespace.
airfleet-canvas-theme

Release 0.8.0

Updated color palettes, typography, and button styles to use theme.json tokens while adding block templates and global styles.

GitHub
View full changelog

Added

  • Added front-page and page block templates with header, post content, and footer template parts.
  • Added a brand style variation partial with an alternate palette and Plus Jakarta Sans typography setup.
  • Added light fill and outline button style variation partials with theme.json hover states.
  • Added expanded theme presets for border radii, aspect ratios, shadows, semantic spacing sizes, fluid spacing sizes, and transition custom tokens.
  • Added global theme styles for core button, code, navigation, preformatted, pullquote, separator, and table blocks.
  • Added link default, hover, and visited styles in theme.json.
  • Added .cursor/plans to ignored local tooling files.

Changed

  • Updated the theme color palette and gradient definitions to the latest brand token slugs and values.
  • Updated font size, heading, paragraph, button, spacing, block gap, and root padding styles in theme.json.
  • Moved button fill and outline defaults into theme.json core button variations, including shared transitions via theme custom tokens.
  • Renamed button style variations from dark/light primary/secondary/link variants to fill, outline, and link-oriented variations.
  • Updated the button block SCSS to only cover styles that theme.json cannot express, including icon-only button support.
  • Updated transition mixins to use WordPress-emitted --wp--custom--transition--* tokens instead of local --afs-trs-* variables.
  • Updated block style documentation to reflect theme.json-first style variations and the current token names.
  • Updated the editor entry bundle to remove the example style registration side-effect import.
  • Updated the index template markup to the current block editor query template structure.

Removed

  • Removed JavaScript-based example block style registration and the unused heading/paragraph example stylesheets.
  • Removed heading and paragraph style variation JSON partials now handled by global theme typography styles.
  • Removed obsolete primary and secondary button style variation partials.
airfleet-nexus-plugin

Release 0.54.0

Adds a Background Image block for cover-style backgrounds with loading options and allows placement inside Media Background containers.

GitHub
View full changelog

Added

  • block-background-image: Add a Background Image block for cover-style section and container backgrounds, with editor image selection and lazy or eager loading.
  • block-background-image: Allow Background Image blocks inside Media Background containers for responsive art direction alongside video and Lottie layers.
airfleet-nexus-plugin

Release 0.53.0

Adds environment settings and block documentation, updates module workflows and taxonomy, and fixes Dev Container and SVG sanitization issues.

GitHub
View full changelog

Added

  • environment: Add a shared settings section for overriding the resolved environment while keeping auto-detect as the default.
  • block-lottie: Add dedicated block documentation covering attributes, playback modes, lazy loading, events, and poster behavior.

Changed

  • Module Manager: require enabled child modules to be disabled before parent dependencies, confirm before disabling critical modules, and link enabled modules directly to available settings tabs and sections.
  • Module Manager: remove the module card "More" details popover from the badge row.
  • Module taxonomy: clarify tier semantics, add the premium tier value to the UI, and update current module metadata for forms, providers, components menu, and Allow Lottie.
  • Admin pages: document that module settings should generally live in Airfleet → Settings rather than standalone submenus.
  • Internal: move SVG sanitization into the shared Core\Svg\SvgSanitizer utility for use outside the Allow SVG module.

Fixed

  • Dev Containers: Allow the WordPress container to open from Git worktrees by using dynamic workspace paths and preserving worktree Git metadata paths inside the container.
  • Dev Containers: Enable visible and logged PHP errors in the WordPress container with explicit WordPress debug constants and PHP ini settings.
  • SVG sanitizer: Reject non-fragment url(...) references while avoiding false positives for plain values that merely contain protocol-like substrings.
airfleet-plugin-manager-plugin

Release 1.12.1

Fixes the license badge fallback color for the Preview badge when the legacy Admin plugin is not installed

GitHub
View full changelog

Fixed

  • Fixed license badge fallback color for Preview badge when legacy Admin plugin is not installed
airfleet-nexus-ai-server

Release 0.4.0

Adds page-spec v2 vocabulary, admin catalog pages, and research pipeline tooling while upgrading existing specs and fixing entrypoint detection.

GitHub
View full changelog

Added

  • Page-spec v2 vocabulary on pageTypeSpecSchema: audience, voice, expectedCta, requiredProofTypes, formFriction, defaultSections, forbidsArchetypes, validationRubric, guidance. All optional or defaulted — v1-shape literals still parse.
  • Section archetype catalog with auto-discovery: Hero, ValueProps, SocialProof, FeatureDeepDive, Pricing, Faq, FinalCta, plus ComparisonTable, AwardBadgeRow, IconFeatureGrid, InlineLeadForm, IntegrationGrid synthesized from the swipe-file corpus. Filesystem-driven — drop a .ts under archetypes/ and restart.
  • Best-practice page specs (product, content, service, demo) authored from 89 per-page analyses across 5 categories of a 110-page landing-page swipe file.
  • Page-spec auto-discovery: drop a spec file under page-specs/specs/ and it's picked up at boot via readdirSync + dynamic import + top-level await.
  • SpecRepository interface + InMemorySpecRepository as migration insurance for an eventual code → DB swap.
  • Admin browse endpoints under /admin/api/{page-specs,section-archetypes,block-specs} with cross-reference counts and rendered-prompt previews (Zone 2 for blocks, Zone 3 for specs), gated by requireSession.
  • Admin SPA catalog pages (Page Specs / Section Archetypes / Block Specs + detail views) with cross-linking, debounced search, and source filters. Sidebar nav extended.
  • New CSS patterns for detail pages: .card, .kv, .breadcrumb, .prose-block, .block-id-list, .chip, .badge-custom/.badge-native, .empty-state, .id-cell, .num-cell.
  • Page-type research pipeline tooling under page-type-data/: extract-from-coda.js (DevTools snippet), fetch-images.mjs (parallel image fetcher with native-resolution URL cleanup), analyze-screenshot.md (per-screenshot analysis prompt), synthesize-best-practice.md (per-category synthesis prompt), README documenting the 5-step pipeline.
  • Prompt-rendering snapshot tests (prompts.snapshot.test.ts) covering all shipped specs.
  • pnpm dump-prompt CLI: dump the full assembled system prompt for a (spec, stage) pair to stdout, with optional fixture file for Zone 4. Useful for offline iteration without burning API credits.
  • Inline archetype definitions in Zone 3 of the system prompt for LLM grounding.
  • Universal page rules + canonical propose_plan example baked into BASE_PROMPT.
  • purchase and start-trial CtaAction enum values.

Changed

  • Existing comparison spec upgraded based on best-practice synthesis (13-sample corpus): ComparisonTable added as required default section, Faq moved from required to forbidsArchetypes, Pricing added to forbidsArchetypes, SocialProof split into trust-logo-belt + switcher-testimonial slots, FeatureDeepDive ×1 required + 1 optional added, requiredProofTypes expanded with logos and metric, validation rubric expanded from 5 to 9 testable assertions.
  • book-demo, comparison, resources specs re-authored with full v2 vocabulary content.
  • data-index.js renamed to data-index.json to reflect its actual content (pure JSON) and avoid ESLint parsing it as code.

Fixed

  • Entrypoint detection (isEntrypoint) now uses pathToFileURL so the boot block runs correctly on paths containing spaces (e.g. /Users/.../Local Sites/...); previously the check silently failed off-Railway.
  • pnpm dump-prompt script imports updated for the post-restructure monorepo layout (../plugins/page-ai/src/... for runtime modules, @airfleet/nexus-ai-server-wp-contracts for types).
airfleet-nexus-ai-server

Release 0.3.1

Fixed build and deployment workflows to compile packages and resolve dependencies correctly.

GitHub
View full changelog

Fixed

  • Build: Root pnpm run build now runs build:packages before apps/server, compiling platform-sdk, platform, wp-contracts, and page-ai to dist/ and pointing each package exports default entry at ./dist/index.js. Production previously only emitted apps/server/dist; Node still resolved workspace imports to TypeScript sources and failed at runtime (ERR_MODULE_NOT_FOUND for *.js siblings), breaking Railway health checks after the pnpm workspace migration.
  • Deploy: predb:migrate invokes build:packages so the migration script always resolves @airfleet/nexus-ai-server-platform from emitted dist output; pnpm test does the same so Vitest matches production resolution.
airfleet-acf-addons-plugin

Release 1.0.3

Prevents jQuery AJAX requests from crashing when the XHR body is null or non-string.

GitHub
View full changelog

Fixed

  • Fixed BlockPreviewDebounce crashing jQuery $.ajax GET requests in wp-admin (including author search and Quick Edit author dropdowns) when the XHR body is null or non-string. The XHR override now coerces non-string bodies before checking whether the request targets an ACF block fetch.
airfleet-nexus-plugin

Release 0.52.0

Adds an AI Page Builder screen and removes the AI Block Generator module.

GitHub
View full changelog

Added

  • Add the ai-page-generator module (AI Page Generator): a wp-admin AI Page Builder screen with session management and a full-screen editor shell, REST and SSE proxying to the external AI server so the API key never reaches the browser, Airfleet → Settings → Content fields for api_key and optional server_url, and the airfleet/nexus/ai_page_generator/server_url filter for overriding the AI service origin.

Removed

  • Remove the ai-block-generator module (AI Block Generator): block editor toolbar integration, REST proxy to the external layout service, Airfleet Settings section, related options, and the airfleet/nexus/ai_block_generator/server_url filter.
airfleet-nexus-plugin

Release 0.51.1

Restored CI workflow path filtering by checking out the repository before running the change detector.

GitHub
View full changelog

Fixed

  • CI: Restore WordPress test workflow path filtering by checking out the repository before running the change detector.
airfleet-nexus-plugin

Release 0.51.0

Update recommended models and config, refresh PR review workflows, and add planning guardrails.

GitHub
View full changelog

Changed

  • Internal: Update oh-my-opencode-slim.json to latest recommended models and config
  • Internal: Replace the parked gh-aw PR review workflows with standard GitHub Actions + Copilot CLI review workflows and refresh the PR review automation guidance
  • Internal: Add plan-pressure-test and implementation-guardrails skills to reinforce the existing planning and implementation workflow without adding competing commands
airfleet-nexus-plugin

Release 0.50.0

Updates Dev Containers to PHP 8.3, reorganizes project scripts, and optimizes CI workflows with changed-file filters.

GitHub
View full changelog

Changed

  • Tooling: Reorganize project scripts under scripts/docs/, scripts/docmd/, scripts/playground/, and scripts/webpack/.
  • Dev Containers: Move both containers to PHP 8.3, update the pinned OpenCode binary to 1.14.28, and let VS Code forward the WordPress service port while keeping WP_DEBUG and SCRIPT_DEBUG enabled.
  • CI: Add changed-file filters to the WordPress and block e2e test workflows so expensive checks run only for relevant source, dependency, tooling, test, or workflow changes.
  • CI: Update the docs workflow to actions/upload-pages-artifact@v5.
airfleet-nexus-plugin

Release 0.49.0

Added generated API references and documentation guidance, and standardized DOM event naming conventions.

GitHub
View full changelog

Added

  • Add generated API references for Blocks, CPTs, and JavaScript events, plus generated release notes sourced from CHANGELOG.md.
  • Add documentation guidance for block pages, optional block contributor notes, JS event doc blocks, content type references, generated references, release notes, and hook images.
  • Add naming guidance for JavaScript events, transient keys, and settings groups/keys.
  • Add custom docs styling for inline code and release notes layout.

Changed

  • Upgrade @docmd/core to 0.7.7.
  • Expand bun run docs:generate to orchestrate PHP API references, JavaScript event references, and release notes.
  • Rework docs navigation and API Reference labels/order, using Modules, Hooks, CPTs, Taxonomies when present, Blocks, and JS Events without the repeated "Reference" suffix.
  • Run docs deployment after the plugin release workflow so generated release notes build from the versioned release commit.
  • Rename the changelog/versioning guide to docs/getting-started/release-process.md.
  • Update generated references so hook and block headings omit project prefixes while preserving full slugs in metadata, block attributes/supports are collapsible, block rendering details are concise, JS events are grouped in cards, and empty taxonomy references are skipped.
  • Standardize form and modal DOM events on the afnx- naming convention.
  • Simplify block documentation pages so they focus on editor usage and link to generated references for attributes, supports, and metadata.

Removed

  • Remove old airfleet/nexus/form/* and airfleet/nexus/modal/* DOM event names in favor of afnx-form-* and afnx-modal-*.
airfleet-nexus-plugin

Release 0.48.0

Updates Gutenberg block best practices with content attributes, linter rules, and guardrails for unstable components.

GitHub
View full changelog

Changed

  • nexus-block-patterns skill: comprehensive Gutenberg block best practices update — add "role": "content" for primary content attributes, SCSS import linter rules for index.js/edit.js/save.js, dynamic block patterns (InnerBlocks save.js rules, omit save.js for standard blocks), experimental/unstable components guardrail with explicit permission requirements