Commitab98329cRecorded10 Jul 2026Repositorysigil-http
Add CHANGELOG (Keep a Changelog, backfilled v0.16.0 through 0.17.0)
Changed
CHANGELOG.md | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 106 insertions(+)Diff
CHANGELOG.mdadded
@@ -0,0 +1,106 @@
+1
# Changelog+2
+3
All notable changes to **sigil-http** are documented in this file.+4
+5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),+6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).+7
+8
## [0.17.0] - 2026-07-10+9
+10
### Changed+11
+12
- Streaming responses (`http-response/file`, SSE) now work from a bare+13
`http-serve` / `http-server-start` **without** wrapping the call in+14
`with-async`. The server establishes its own async scheduler when none is+15
active, and reuses the caller's when one is present. This fixes streaming and+16
SSE routes throwing `go: not running in an async context` on a default+17
server, which caused large assets to intermittently fail to download.+18
- `HEAD` requests now return identical status and headers (including a correct+19
`Content-Length`) with **zero body bytes**, instead of sending the full body.+20
+21
### Added+22
+23
- Opt-in automatic gzip via a `gzip:` option on `make-http-server` /+24
`http-serve` (default `#f`, so the default server is unchanged). When enabled,+25
non-streaming responses are gzip-encoded per the request's `Accept-Encoding`+26
(compressible content types over a size floor), adding `Content-Encoding:+27
gzip` and `Vary: Accept-Encoding`. Streaming and incompressible bodies are+28
left untouched.+29
+30
## [0.16.7] - 2026-07-07+31
+32
### Changed+33
+34
- Realigned the sigil toolchain pin to `^0.17`.+35
- `http-response/json` now accepts either a dict or an already-encoded string.+36
- `http-response/sse-broadcast` defaults its message handler to identity.+37
+38
## [0.16.6] - 2026-06-30+39
+40
### Fixed+41
+42
- HTTP client `timeout:` callers can now distinguish a request that was never+43
sent from one that was delivered but whose ack is unconfirmed.+44
+45
## [0.16.5] - 2026-06-30+46
+47
### Changed+48
+49
- Threaded a `connect-timeout:` option through the HTTP client and relocked onto+50
sigil-tls 0.16.2.+51
+52
## [0.16.4] - 2026-06-30+53
+54
### Fixed+55
+56
- Response reads now terminate on HTTP framing rather than on connection close.+57
+58
## [0.16.3] - 2026-06-29+59
+60
### Added+61
+62
- Opt-in `timeout:` keyword for HTTP client reads.+63
+64
## [0.16.2] - 2026-06-24+65
+66
### Changed+67
+68
- Repointed sigil-test dev-dependencies at the reintegrated monorepo.+69
+70
## [0.16.1] - 2026-05-31+71
+72
### Added+73
+74
- `http-response-gzip` response helper (gzip content negotiation).+75
+76
### Changed+77
+78
- Response send loop rewritten to be O(n) via offset-based partial writes,+79
avoiding O(n²) recopying of large bodies over slow links.+80
+81
## [0.16.0] - 2026-05-06+82
+83
Initial tagged release of the standalone `sigil-http` package, extracted from+84
the sigil monorepo (requires sigil `^0.16`).+85
+86
### Fixed+87
+88
- Non-blocking HTTP response writes.+89
- HTTP request body byte handling (Content-Length counted in bytes).+90
+91
### Added+92
+93
- Server crash diagnostics and guard blocks around the handler, streaming+94
goroutine, and server loop; an outer server-loop guard that restarts on an+95
otherwise-escaping exception.+96
- SSE heartbeat utility for dead-client detection.+97
+98
[0.17.0]: https://codeberg.org/sigil/sigil-http/compare/v0.16.7...v0.17.0+99
[0.16.7]: https://codeberg.org/sigil/sigil-http/compare/v0.16.6...v0.16.7+100
[0.16.6]: https://codeberg.org/sigil/sigil-http/compare/v0.16.5...v0.16.6+101
[0.16.5]: https://codeberg.org/sigil/sigil-http/compare/v0.16.4...v0.16.5+102
[0.16.4]: https://codeberg.org/sigil/sigil-http/compare/v0.16.3...v0.16.4+103
[0.16.3]: https://codeberg.org/sigil/sigil-http/compare/v0.16.2...v0.16.3+104
[0.16.2]: https://codeberg.org/sigil/sigil-http/compare/v0.16.1...v0.16.2+105
[0.16.1]: https://codeberg.org/sigil/sigil-http/compare/v0.16.0...v0.16.1+106
[0.16.0]: https://codeberg.org/sigil/sigil-http/releases/tag/v0.16.0