Releases: cablehead/http-nu
Releases · cablehead/http-nu
Release v0.9.1
v0.9.1
Highlights
.mjnow supports template inheritance and includes ({% extends %},
{% include %},{% import %}). Referenced templates resolve from the
template's directory and subdirectories.
Raw commits
- feat: support template inheritance and includes in .mj (2026-01-10)
- docs: streamline nixos packaging guide (#36) (2026-01-08)
Release v0.9.0
v0.9.0
Highlights
- Breaking: CLI accepts script file directly: The CLI now takes a script file as the main argument. Use
-cfor inline commands. Example:http-nu :3001 ./serve.nuorhttp-nu :3001 -c '{|req| "hello"}' - Watch mode: New
-w/--watchflag enables automatic hot-reload when files change during development - Embedded store: New
--storeflag embeds cross.stream for real-time state and event streaming - Windows Unix socket support: Full Unix socket support on Windows
- Markdown rendering: New
.mdcommand converts Markdown to HTML with syntax-highlighted code blocks - Module paths: New
-I/--include-pathflag for module resolution
Raw commits
- feat: Windows Unix socket support (#35) (2026-01-06)
- test: verify plugin process is shared across requests (2026-01-04)
- feat: embed cross.stream store with --store flag (2026-01-03)
- feat: add -w/--watch flag for file watching and hot reload (2026-01-02)
- feat!: change CLI to accept script file, -c for inline commands (2026-01-02)
- chore: format markdown files (2026-01-02)
- docs: update CSS architecture to prioritize base typography (2026-01-02)
- fix: add base paragraph spacing (2026-01-02)
- docs: document javascript: URL injection vector in .md (2026-01-02)
- feat: add .md command for markdown-to-HTML conversion (2026-01-02)
- docs: add Datastar-ready branding (2026-01-02)
- feat: add --include-path/-I flag for module resolution (2026-01-02)
- feat(www): add Datastar demo, typography system, anchor links (2026-01-02)
- fix: improve error formatting for streaming responses (2026-01-01)
- bench: add Flask+gunicorn comparison benchmark (2026-01-01)
- feat(www): add animated rocket to install section (2026-01-01)
- refactor: replace indicatif with crossterm, add RequestGuard for abort handling (2026-01-01)
- docs(www): add --locked to cargo install, add $ prompts (2026-01-01)
Release v0.8.0
v0.8.0
Highlights
- Replaced tracing with custom event system: Removed tracing, tracing-subscriber, and valuable dependencies. New broadcast-based logging with dedicated handler threads sustains 24K+ req/sec. Fixes
cargo installwithout requiring RUSTFLAGS.
Raw commits
- refactor: replace tracing with broadcast-based event system (2026-01-01)
- docs: center README header with logo, nav links, and badges (2026-01-01)
- docs: add tarball verification step to release process (2025-12-31)
Release v0.7.1
v0.7.1
Highlights
- Fix
cargo install: Settracing_unstablecfg flag automatically in build.rs so users no longer need to set RUSTFLAGS manually (thanks @cboecking for reporting)
Raw commits
- fix: set tracing_unstable cfg flag in build.rs for cargo install (2025-12-31)
- feat(www): add tabbed install section with copy button and wave divider (2025-12-31)
- docs: add eval subcommand and homebrew to release notes (2025-12-31)
- docs: add Homebrew install method and update release process (2025-12-31)
Release v0.7.0
v0.7.0
Highlights
- HTML DSL: Write HTML naturally in Nushell without string concatenation or templates. Includes SVG and MathML elements, automatic XSS escaping, and composable components via Nushell functions
- Datastar SDK 🚀: Build reactive UIs with server-sent events—all logic stays in Nushell
- HTTP/2 & Graceful Shutdown: Production-ready with HTTP/2 over TLS and clean shutdown handling
- Request Logging: Live-updating human-friendly logs (default) or structured JSONL for aggregation.
--trust-proxyextracts real client IPs from X-Forwarded-For when behind reverse proxies - Routing Module: Organize routes with
routeanddispatchcommands - Syntax Highlighting:
.highlightcommand for code blocks with theme support - Plugin Support: Load Nushell plugins with
--pluginflag - Precompiled Templates:
.mj compile/renderfor Jinja2 templates—~200x faster than generating HTML on the fly - Eval Subcommand:
http-nu evalruns Nushell expressions with http-nu's embedded modules and custom builtin commands available - Homebrew:
brew install cablehead/tap/http-nuon macOS
Raw commits
- feat: add Open Graph meta tags and social card image (2025-12-31)
- docs: README.md (2025-12-31)
- feat: add landing page (2025-12-31)
- feat: add SVG and MathML elements to HTML DSL (2025-12-31)
- feat: add syntax highlighting commands (2025-12-30)
- docs: add precompiled template capture example (2025-12-30)
- fix: preserve closure captures when running handler (2025-12-29)
- feat: add structured logging and trusted proxy support (#34) (2025-12-29)
- test: improve graceful shutdown test timing tolerance for CI (2025-12-29)
- ci: free disk space before builds to fix Windows linker OOM (2025-12-29)
- fix: make --plugin flag global for position-independent usage (2025-12-29)
- feat: add --plugin flag to load Nushell plugins (#33) (2025-12-29)
- docs: document {__html} for trusted content in HTML DSL (2025-12-29)
- fix(examples): wrap P elements in quotes example (2025-12-29)
- feat(html): HTML element includes DOCTYPE automatically (2025-12-29)
- docs: add file watch reload example (2025-12-29)
- chore: format nushell files with topiary (2025-12-27)
- fix: update examples to use correct HTML DSL syntax (2025-12-27)
- feat: auto-unwrap {__html} records in response handling (2025-12-26)
- feat: HTML DSL redesign with XSS protection and Jinja2 integration (2025-12-26)
- feat: add .mj compile/render commands and eval subcommand (2025-12-26)
- feat(html): ADD UPPERCASE TAG VARIANTS FOR THE SHOUTY STYLE (2025-12-19)
- feat(html): style values accept lists for comma-separated CSS (2025-12-19)
- docs(html): document boolean attributes (2025-12-18)
- feat(html): support boolean attributes (2025-12-18)
- fix(html): handle empty args for nushell <0.109 compat (2025-12-18)
- feat(html): variadic args, class lists, recursive children (2025-12-17)
- docs(datastar): add mathml to namespace options (2025-12-17)
- feat(html): allow style attribute to be a record (2025-12-17)
- refactor(examples): use HTML DSL, unquoted methods, content negotiation (2025-12-16)
- chore: lint test_html.nu (2025-12-16)
- feat(html): add +tag append variants for sibling elements (2025-12-16)
- docs: reorganize README with Reference section and Embedded Modules (2025-12-16)
- refactor(examples): use append pipelines in datastar-sdk (2025-12-16)
- refactor(router): stream request body through dispatch to handlers (2025-12-16)
- feat: add datastar-sdk example and fix from datastar-request API (2025-12-16)
- docs: simplify quotes example with nushell and posix examples (2025-12-16)
- refactor(html): use _ prefix and explicit append for siblings (2025-12-16)
- style: use raw strings in tests and apply nushell formatting (2025-12-15)
- test: export attrs-to-string and add tests (2025-12-15)
- docs: document HTTP/2 support in TLS section (2025-12-15)
- feat: add Datastar SSE SDK module (#31) (2025-12-15)
- feat: add HTML DSL module (#30) (2025-12-15)
- feat: add embedded routing module (2025-12-11)
- feat: add HTTP/2 support and graceful shutdown (2025-12-06)
Release v0.6.0
v0.6.0
Highlights
- Dynamic script updates via stdin - Scripts can now be updated at runtime without restarting the server
- Minijinja template rendering - New
.mjcommand for rendering minijinja templates - Brotli compression - Added brotli compression with streaming support
- Multi-value headers - Support for multi-value headers using list syntax
- Nushell 0.109.1 - Updated to the latest Nushell version
http-nu-brotli.mp4
Raw commits
- chore: add uninlined_format_args lint to CI and check script (2025-12-05)
- feat: support dynamic script updates via stdin (#29) (2025-12-05)
- chore: add /release command and streamline CLAUDE.md (2025-12-05)
- feat: add .mj command for minijinja template rendering (2025-12-05)
- feat: update nushell to 0.109.1 (2025-12-05)
- chore: fix line wrapping in README (2025-12-05)
- feat: add brotli compression with streaming support (#28) (2025-12-04)
- docs: add NixOS packaging documentation (#26) (2025-12-03)
- feat: support multi-value headers with list syntax (2025-11-24)
- fix: print parse errors with proper ANSI formatting (2025-11-24)
Release v0.5.1
v0.5.1
Highlights
- Fixed HTTPS support in Nushell commands: Commands like
http get https://...now work correctly within http-nu handlers by initializing nu_command's TLS crypto provider
Raw commits
- fix: initialize nu_command crypto provider for https support (2025-11-07)
- chore: update Cargo.lock to resolve dependency conflicts (2025-10-15)
Release v0.5.0
v0.5.0
- feat: update nushell dependencies to 0.108 (2025-10-15)
Release v0.4.6
v0.4.6
Highlights
- Query Parameter Manipulation: Added
queryconfig option to.reverse-proxycommand allowing complete replacement of query parameters using Nu record syntax. Supports standard Nu operations likeupsert,reject, anddefaultfor flexible parameter control.
Raw commits
- feat: add query parameter manipulation to .reverse-proxy (2025-08-21)
- docs: standardize CLAUDE.md with mcp-server-nu style (2025-08-12)
- Update CLAUDE.md (2025-08-09)
- chore: update Cargo.lock (2025-07-30)
- docs: add release creation process to CLAUDE.md (2025-07-30)
Release v0.4.5
v0.4.5
Highlights
- New
.reverse-proxycommand: Full HTTP reverse proxy functionality with header customization, path stripping, and streaming support - SPA support for
.static: Added--fallbackoption to serve index.html for single page applications - Upgraded to Nushell 0.106.1: Latest Nushell features and improvements
- Improved error handling: Better error messages and robustness for malformed requests
- TLS fixes: Resolved TLS connection issues for secure HTTPS serving
- Architecture improvements: Removed axum dependency, consolidated socket handling, and improved performance
Raw commits
- chore: bump version to 0.4.4-dev.10 (2025-07-30)
- format: README (2025-07-30)
- feat: update nushell dependencies to 0.106.1 (2025-07-30)
- test: allow dead code in test utility methods (2025-07-30)
- fix: improve error handling (#23) (2025-07-09)
- Update README.md (2025-07-06)
- Update README.md (2025-07-06)
- chore: bump version to 0.4.4-dev.8 (2025-07-05)
- feat: add a --fallback option to .static to support SPAs (#22) (2025-07-04)
- fix(ci): populate change log, if empty on release tag push (#18) (2025-07-01)
- fix: .reverse-proxy streams the backend's response body (#20) (2025-07-01)
- refactor: remove axum dependency, consolidate unix socket, tcp and tls handling (#19) (2025-07-01)
- Update README.md (2025-06-30)
- Update README.md (2025-06-30)
- feat(server): add .reverse-proxy command and graceful shutdown, migrate to tower services (via axum) (#15) (2025-06-30)
- fix: tls support (#13) (2025-06-27)
- docs(README): install with eget (2025-06-25)