GitPedia
kristoff-it

kristoff-it/superhtml

HTML Validator, Formatter, LSP, and Templating Language Library

17 Releases
Latest: 6d ago
v0.7.0Latest
kristoff-itkristoff-it·6d ago·June 9, 2026
GitHub

📋 Changes:

  • Added support for `[role]` and `[aria-*]` attributes (thanks bitterlox!) which
  • includes also autocomplete support for the language server.
  • Greatly improved JS formatting: JS code has now a proper tokenizer that
  • avoids the previous issues with formatting code that makes non-trivial
  • use of curly braces (thanks Jeffrey Crochet!).
  • Relaxed rules for `<iframe [allow]>`: apparently nobody on the internet
  • respects the grammar for values of this attribute (eg. when you copy
  • embed code from youtube, it gives you completely wrong code), and since
  • + 11 more
v0.6.2
kristoff-itkristoff-it·8mo ago·October 13, 2025
GitHub

📋 Changes

  • The "boolean attributes cannot have a value" error now puts squigglies under the attribute name instead of the value.
  • Improved validation for `<link>` `[crossorigin]`, it previously used its own implementation of CORS validation, while now it uses one central implementation shared by all other similar attributes.
  • `[lang]` (and similar attributes) now accept the empty string as value, used to signify that the language is unknown.
  • Fixed a condition that would cause the language server to attempt to detect html elements inside of svg elements.
v0.6.1
kristoff-itkristoff-it·8mo ago·October 3, 2025
GitHub

📋 Changes

  • `fmt` now properly leaves `<pre>` tags untouched, this regressed in the recent changes to formatting code, sorry!
  • `--syntax-only` (and relative switch in VSCode) now silences also "invalid element name" errors, making it viable to use superhtml with some kinds of templated html
v0.6.0 - State of the art release!v0.6.0
kristoff-itkristoff-it·8mo ago·September 22, 2025
GitHub

This release introduces two huge new features

  • Validation for HTML elements and attributes (including nesting, attribute values and combinations, etc).
  • All the main LSP features: completions, polished autoformatting, definitions, etc.
  • SuperHTML is as of today the only HTML language server that implements the WHATWG HTML living spec to this degree (see open issues for the last few remaining bits).
  • Detailed changelist:
  • All major Language Server features implemented: completions, clear diagnostics, descriptions, etc.
  • New diagnostics cover element nesting errors and attribute validation, including complex interactions between different attributes and elements.
  • Duplicate ID diagnostics that are `<template>` aware.
  • Rename symbol on a tag name will rename both start and end tags at once.
  • + 10 more
v0.5.3
kristoff-itkristoff-it·1y ago·October 31, 2024
GitHub

📋 Changes

  • Fixes a remaining bug when formatting void elements vertically.
  • patch version bumped to 3 to match the VScode extension
v0.5.1
kristoff-itkristoff-it·1y ago·October 30, 2024
GitHub

📋 Changes

  • Added WASM build of the Language Server to the list of releases, in case editors other than vscode might want to bundle a WASM-WASI version of SuperHTML. NOTE: unlike other artifacts, the wasm module only contains the language server, not the entire CLI tool.
  • Fixed #40
v0.5.0
kristoff-itkristoff-it·1y ago·September 12, 2024
GitHub

Fixed the list of obsolete tag names as it previously contained outdated entries.

v0.4.3
kristoff-itkristoff-it·1y ago·July 26, 2024
GitHub

Add `-Dforce-version` flag to build the SuperHTML CLI tool with a manually specified version, bypassing `git describe`. This is useful for package managers that build `superhtml` from a shallow clone of the git repository (or use a tarball, et simila).

v0.4.2
kristoff-itkristoff-it·1y ago·July 25, 2024
GitHub

Fixes a crash found by @EliSauder, updates zig-afl-fuzz (development only) dependency.

v0.4.1
kristoff-itkristoff-it·1y ago·July 24, 2024
GitHub

Minor polishes to the CLI help menu and other improvements to the build script.

Bugfixes, proper version reporting v0.4.0
kristoff-itkristoff-it·1y ago·July 23, 2024
GitHub

📦 SuperHTML CLI (LSP)

  • Bugfixes
  • Introduced correct version reporting (now `superhtml version` will report the correct version)

📦 SuperHTML Templating Language

  • Added support for Scripty interrupts
fmt bugfixv0.3.1
kristoff-itkristoff-it·1y ago·July 15, 2024
GitHub

Last release introduced a minor bug in the autoformatting code, which is now fixed.

Fuzztested!v0.3.0
kristoff-itkristoff-it·1y ago·July 15, 2024
GitHub

The HTML parser was fuzztested with AFL++ (see the `fuzz` build step for more info) and a few crashes were solved. The language server is now fit for general use with HTML files.

<svg> support & bugfixesv0.2.0Pre-release
kristoff-itkristoff-it·1y ago·July 11, 2024
GitHub

📋 Changes

  • Various bugfixes
  • Support for `<self-closing/>` tags in `<svg>`
0.1.3Pre-release
kristoff-itkristoff-it·1y ago·July 8, 2024
GitHub

📋 Changes

  • fix erroneous 'duplicate attr name' diagnostics
  • mark `plaintext` and `listing` as deprecated and unsupported tags
Character Reference Checking0.1.2Pre-release
kristoff-itkristoff-it·1y ago·July 6, 2024
GitHub

Main feature of this release is the addition of character reference errors (e.g. `&doesntexist;`).

Initial HTML LSP Release0.1.0Pre-release
kristoff-itkristoff-it·1y ago·July 5, 2024
GitHub

This is an initial release of the Super CLI tool that supports `fmt` and `lsp` functionality. The LSP still has a lot of missing functionality but autoformatting and basic diagnostic errors should work. If using VSCode, consider installing the "Super HTML" extension from its marketplace.