# v0.10.0

## Highlights

- **`.response` replaced by pipeline metadata** (breaking): Use `metadata set { merge {'http.response': {status: 200}} }` instead

- **Content-type inference**: Lists become JSON arrays, record streams become JSONL, binary becomes application/octet-stream, empty responses omit the header

- **Nushell 0.110, cross-stream 0.9**

- **New commands**: `print` (logging), `to dstar-redirect` (Datastar SDK), sqlite commands enabled

- **`--services` flag**: Enable xs handlers, generators, commands

## Changelog

- chore: update to nushell 0.110 and cross-stream 0.9
- feat: lists serialize as JSON arrays, streams as JSONL
- feat: omit Content-Type header for empty responses
- feat: replace .response with pipeline metadata
- feat: abort SSE connections on hot reload
- feat: default binary values to application/octet-stream
- fix: preserve template loader for external refs in .mj commands
- feat: add print command that outputs to logging system
- feat: add SDK test endpoint and support raw string signals
- feat: add to dstar-redirect command for Datastar SDK
- perf: enable LTO and single codegen unit for release builds
- feat: enable sqlite commands in nushell pipelines
- feat: add --services flag to enable xs handlers, generators, commands
