Skip to content

Releases: golchha21/htmlforge

v1.2.0 — Deterministic Validation & Diagnostics

01 Feb 18:27

Choose a tag to compare

HTMLForge v1.2.0 finalizes the validation pipeline and diagnostic model.

Highlights

  • Deterministic multi-violation reporting per node
  • Validators no longer short-circuit on failure
  • Formalized 3-phase validation pipeline
  • Stable rule ID registry
  • CI-ready structured diagnostics

Why this matters

If HTML renders, it is correct — and now every violation is reported exactly once, for the correct node, with a stable rule identity.

This release strengthens correctness, transparency, and debuggability without adding heuristics or auto-fixing.

Stability

The validation architecture is now frozen for all v1.x releases.

v1.1.0 — Observability & Diagnostics

31 Jan 17:15

Choose a tag to compare

This release strengthens diagnostics, traceability, and tooling readiness without changing HTMLForge’s core behavior or API guarantees.

HTMLForge v1.1.0 makes validation explainable, machine-readable, and defensible.


✨ What’s New

Structured Validation Diagnostics

  • Deterministic ValidationReport model
  • Rich Violation schema with:
    • rule (stable rule ID)
    • element
    • path (DOM-like location)
    • severity
    • spec metadata
  • Machine-readable output:
    $report->toArray();
    $report->toJson();

Rule IDs & No-Overlap Guarantees

  • Every validation emits a single canonical rule ID
  • Introduced no-overlap invariant to prevent duplicate diagnostics
  • Clear separation between:
    • structural rules
    • attribute rules
    • accessibility rules
    • policy rules

Validator Execution Discipline

  • Validators refactored onto a shared AbstractTreeValidator
  • Deterministic traversal with path tracking
  • Inert and raw-text isolation enforced consistently

Improved HTML Validation Report Renderer

  • Human-readable, browser-friendly error output
  • Clear grouping by rule and element
  • Stable structure suitable for CI artifacts

🧪 Testing & Reliability

  • Fresh PHPUnit test suite aligned to rule IDs
  • Profile-aware regression coverage:
    • WCAG_A
    • WCAG_AA
    • WCAG_AAA
    • STRICT_HTML
    • CMS_SAFE
  • Explicit invariant tests for duplicate-error prevention

🧱 Stability & Compatibility

  • No breaking changes
  • v1.x API remains frozen
  • Rendering behavior unchanged
  • Validation remains strict by default

If HTML renders, it is still correct.


📚 Documentation Updates

  • RULES.md with canonical rule registry
  • ELEMENT_REGISTRY.md generated from source
  • Updated README and ROADMAP
  • Clear separation between v1.0.x maintenance and v1.1+ evolution

Philosophy Reminder

HTMLForge treats HTML as a language, not a suggestion.

This release improves how errors are explained, not how they are forgiven.

v1.0.0

31 Jan 17:13

Choose a tag to compare

Initial Stable Release

This is the first public, production-ready release of HTMLForge.
v1.0.0 establishes the core architecture, validation model, and rendering guarantees that future releases will build on.

The API is now frozen for the v1.x series.


✨ What’s included

Standards-first core

  • Deterministic HTML AST with predictable rendering
  • Complete HTML5 element registry
  • Separate rendering modes for full documents and fragments

Structural and semantic validation

  • Content model validation for:

    • Document structure
    • Void elements
    • Raw-text elements
    • Inert content
  • Attribute validation with support for:

    • Global attributes
    • data-*
    • aria-*
  • URL, ID reference, and language attribute validation

Accessibility validation (WCAG-aware)

  • Accessible name enforcement (implicit, explicit, ARIA-based)
  • Form label validation
  • Heading outline validation
  • Landmark validation
  • ARIA role validation

Validation profiles

  • WCAG_A
  • WCAG_AA
  • WCAG_AAA
  • STRICT_HTML
  • CMS_SAFE

Developer tooling

  • ValidationReport with HTML renderer for browser-friendly error output
  • PHPUnit regression test matrix per validation profile

Security and safety

  • Inline event handlers blocked in strict profiles

🧱 Core design decisions

These are intentional and now locked in:

  • No auto-fixing of invalid HTML
  • No silent, browser-like error recovery
  • No framework or CMS assumptions in the core
  • Validation failures never throw during rendering

HTMLForge tells you what’s wrong. It does not guess what you meant.


🚀 Release status

  • First stable, production-ready release
  • API frozen for v1.x
  • Safe to adopt for long-term tooling, CMS integrations, and build pipelines