Releases: gsxhq/gsx
Releases · gsxhq/gsx
Release list
v0.1.1
- Language — attribute names follow the HTML rule (any characters except
controls, space,",',>,/,=, noncharacters, plus gsx's<,
{,},`); there is no distinct first character, so.prop,
?disabled,#ref,[prop],(event)andon:click|modparse. The
runtime spread keeps bag keys by the same rule: it now accepts&, and drops
C1 controls, noncharacters,{,}, backticks and invalid UTF-8 that it
previously emitted. - Escaping — the
htmxURL preset covers htmx 4:hx-queryand
hx-actionjoin the five method attributes, and every name is also
sanitized in its:inherited,:appendand:inherited:appendspellings,
which htmx 4 reads through the same lookup. One preset serves htmx 2 and 4. - Runtime — a url preset is now a predicate compiled into the runtime:
gsx.AttrSinksgainsPresets gsx.URLPreset, and generated spread sites
carryPresets: _gsxrt.PresetHTMXinstead of a name list, so a preset's
coverage can change without touching generated code. - Editor —
hx-*completion is the union of the htmx 2 and htmx 4
attribute tables; an attribute only one version has says so in its hover
text, andhx-disabledocuments both meanings. (#199) - Toolchain —
gsx.tomlresolves per module:generate,devandfmt
still walk into nested Go modules, but each module is configured from the
gsx.tomlfound walking up from ITS root, so a nested module's own file is
honoured instead of ignored. A nested module without one inherits the
ancestor file as before; when that file names a package the nested module
cannot import (aclass_merger, filter or renderer of the outer module),
the error now names the inherited file, the module, and the per-module
gsx.tomlthat fixes it. (#200)
v0.1.0
First tagged release. Everything the Status page lists as
shipped is in this tag:
- Language — verbatim component signatures with declared
childrenand
attrsroles, control flow,|>pipelines with(T, error)auto-unwrap,
attribute forwarding and ordered{{ }}bags, named slots, element literals,
js/css/ftagged literals, bare//comments, processing instructions. - Rendering — standard-library-only runtime; contextual HTML, URL, CSS and
JavaScript escaping ported fromhtml/template; name-driven boolean
attributes withgsx.Toggle;Attrs.Bool; CSP nonce injection; renderers
registry. - Toolchain —
gsx init,generate(with--watch),fmt,info,
clean,version; thegsx devloop with the Vite plugin
(@gsxhq/vite-plugin-gsx0.11) andgithub.com/gsxhq/vite(v0.3). - Editor —
gsx lsp: diagnostics, definition, references, hover, symbols,
formatting, code actions, completion with auto-import; VS Code extension and
tree-sitter grammar in sibling repos.
Requires Go 1.26.