Releases: kristoff-it/superhtml
v0.7.0
This release contains a few big improvements (mainly aria support and better
JS formatting) implemented by contributors. Thank you very much for the
support!
It took me a while to get back to SuperHTML and merge this work, sorry all
for the wait. Also for the PRs that remain open, sit tight, I'll get to them soon.
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
that grammar is a spec external to the HTML spec, I've made checking more
lenient because it would otherwise be too hard for users to figure out
the right syntax. - Fix
<svg>,<math>,<ins>,<del>categorization (previously you
would get false positive nesting errors). - Fixed incorrect analysis of comments inside of
<details>elements which
could cause false positive errors for a<summary>child. - Fixed some minor bugs relative to the obsolete
<script>double escape
state. This should have no impact on anybody as it's a legacy feature. - Fixed a rendering bug where formatting a file multiple times in a row
could cause it to end up with 2 newlines at the bottom (instead of 1).
v0.6.2
- 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
Fixes two bugs:
fmtnow 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!
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.
- Find references can be used on class names to find other elements that have the same class.
- New improved autoformatting that keeps the first attribute on the same line as the element:
- Uses tabs for indentation and spaces for alignment (experimental, might be reverted)
- Respects empty lines that delineate separate blocks.
- Doesn't format vertically elements in between text nodes anymore.
- Basic CSS and JS autoformatting.
- Introduced a "Syntax Only Mode" setting to disable advanced validation for compatibility with templated HTML files.
This is a huge jump forward bug reports (with repro instructions!) are appreciated.
If you believe a diagnostic produced by SuperHTML to be wrong you are welcome to open an issue but
you will be asked to reference the HTML spec to dissuade poorly researched, drive-by issues.
v0.5.3
- Fixes a remaining bug when formatting void elements vertically.
- patch version bumped to 3 to match the VScode extension
v0.5.1
v0.5.0
Fixed the list of obsolete tag names as it previously contained outdated entries.
v0.4.3
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
Fixes a crash found by @EliSauder, updates zig-afl-fuzz (development only) dependency.
v0.4.1
Minor polishes to the CLI help menu and other improvements to the build script.