Skip to content

Releases: srdjan/hsx

v1.2.1

15 Feb 22:15

Choose a tag to compare

Documentation and JSR publish fixes.

Fixes

  • Fix JSR publish for @srdjan/hsx-widgets: declare @srdjan/hsx dependency, map hsx/jsx-runtime specifier, exclude build/examples/test files from published package

Documentation

  • Add Widgets to README feature list
  • Document @srdjan/hsx-widgets across README, User Guide, and Architecture Overview
  • Update Widgets guide with JSR import paths
  • Add deno add jsr:@srdjan/hsx-widgets to installation instructions

Packages

  • @srdjan/hsx 1.2.1
  • @srdjan/hsx-styles 1.2.1
  • @srdjan/hsx-widgets 0.1.1

v1.2.0

15 Feb 21:57

Choose a tag to compare

New package: @srdjan/hsx-widgets (0.1.0)

  • Widget protocol with widgetToHsxComponent() SSR adapter
  • Declarative Shadow DOM support (open/closed modes)
  • Embeddable widget handler with iframe shell
  • Style collection and deduplication

@srdjan/hsx (1.2.0)

  • fix: add <a> to hsxPage allowed tags
  • refactor: remove dead code, simplify render logic
  • test: extend coverage (486 tests)

@srdjan/hsx-styles (1.2.0)

  • rename .toggle to .toggle-group to avoid class conflicts

Examples

  • Harden with key props, type="button", regex escaping
  • Add check:examples build task for type checking examples

Documentation

  • Add HSX Widgets sections to README, User Guide, and Architecture Overview
  • Update Widgets guide with JSR import paths
  • Add deno add jsr:@srdjan/hsx-widgets to installation instructions

v1.1.0

11 Feb 17:52

Choose a tag to compare

Security Hardening

  • CSS custom properties (--var-name) now accepted in inline styles
  • Style values block url(), expression(), and @import injection vectors while preserving safe functions like calc()
  • hsxComponent.handle() enforces HTTP methods, returning 405 with Allow header for disallowed methods
  • Multi-verb forms (<form post={...} get={...}>) now throw instead of silently picking one

New Features

  • SSE support: ext, sseConnect, and sseSwap attributes normalize to hx-ext, sse-connect, sse-swap
  • HsxAttrs on 18 more elements: body, main, header, footer, nav, aside, p, li, ol, table, thead, tfoot, td, th, details, input, textarea, select
  • hsxPage validateOnce option: skip repeated tree validation for static page structures
  • Duplicate path parameters (e.g., /users/:id/related/:id) detected at component creation time

Type Safety

  • Urlish type no longer uses any - uses bivariant method syntax for safe variance
  • HsxExt and HsxTrigger types expanded with SSE patterns

Performance

  • Path regex and parameter names precomputed once per component instead of on every match() call

Infrastructure

  • CI pipeline now runs deno task test before publishing
  • Package versions synced at 1.1.0

Test Coverage

24 new tests covering HTMX auto-injection, SSE normalization, form fallback action/method, HTTP method enforcement, duplicate params, and full POST/FormData integration. Total: 81 tests.

v0.7.3

04 Dec 19:15

Choose a tag to compare

fixed type error

v0.7.2

04 Dec 19:12

Choose a tag to compare

updated readme file

v0.7.1

04 Dec 19:09

Choose a tag to compare

v0.7.1

v0.7.0

04 Dec 18:58

Choose a tag to compare

v0.7.0

v0.6.0

04 Dec 14:16

Choose a tag to compare

v0.6.0

v0.5.0

04 Dec 13:58

Choose a tag to compare

v0.5.0

v0.4.0

03 Dec 23:05

Choose a tag to compare

v0.4.0