Skip to content

Dev#16

Merged
dannorthern merged 3 commits into
mainfrom
dev
May 12, 2026
Merged

Dev#16
dannorthern merged 3 commits into
mainfrom
dev

Conversation

@dannorthern

Copy link
Copy Markdown
Member

No description provided.

dannorthern and others added 3 commits August 30, 2025 14:11
- Update PHP requirement from 8.1 to 8.0 for consistency across all packages
Co-authored-by: Cursor <cursoragent@cursor.com>
…ation

Security:
- OutputService and SchemaGraph now use JSON_HEX_TAG|AMP|APOS|QUOT flags
  to prevent </script> XSS breakout inside application/ld+json blocks

Provider enrichments:
- ArticleProvider: add mainEntityOfPage, inLanguage, isPartOf, image
  dimensions, keywords (tags), articleSection (category), wordCount;
  fix missing wp_schema_framework_article_data filter on regular posts
- WebPageProvider: add inLanguage, image with width/height; make breadcrumb
  reference conditional via wp_schema_framework_has_breadcrumb filter so
  dangling references are never output when no BreadcrumbList is present
- WebsiteProvider: add inLanguage from bloginfo
- MediaProvider: fix can_provide to use attachment context; fix
  format_duration returning invalid 'PT' for zero-second media

Context and graph:
- ContextDetector: add attachment context; wire wp_schema_framework_context
  filter that was documented but never applied
- GraphBuilder: log validate_references() errors under WP_DEBUG

App:
- register_provider() guards against non-existent class, missing interface,
  and constructor Throwables; returns false safely when called before init
- Move initialized=true before do_action('wp_schema_framework_register_providers')
  so external providers registered during that action are accepted

Tests:
- Add ContextDetectorTest and OutputServiceTest
- Extend AppTest with interface check, Throwable catch, and pre-init guard
@dannorthern dannorthern merged commit 396d82c into main May 12, 2026
0 of 7 checks passed
dannorthern added a commit that referenced this pull request May 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant