Releases: cloudwego/hertz
v0.10.1
What's Changed
- docs(README): clearly state forked from fasthttp by @xiaost in #1357
- fix(binding): BindXXX with default value by @StounhandJ in #1222
- chore: revise the comment of standard transport's readBufferSize by @ppzqh in #1362
- chore(route): remove useless code from tree by @Skyenought in #793
- fix(binding): use UnmarshalText for types like enum by @xiaost in #1359
- fix(client): set timeout for tls handshake by @xiaost in #1368
- fix(sse): add charset=utf-8 to content type by @xiaost in #1369
- chore: update thriftgo for plugin performance by @HeyJavaBean in #1371
- fix(sse): better compatibility with '\r' by @xiaost in #1374
- chore: update protobuf to v1.34.1 by @DMwangnima in #1224
- fix(resp): ChunkedBodyWriter skip zero-len buf by @xiaost in #1380
- fix(server): close malformed http conn timely by @xiaost in #1376
- test: rm unnecessary monkey patch by @xiaost in #1381
- chore: release v0.10.1 by @alice-yyds in #1387
New Contributors
- @StounhandJ made their first contribution in #1222
- @DMwangnima made their first contribution in #1224
Full Changelog: v0.10.0...v0.10.1
v0.10.0
Feature
[#1327] feat(adaptor): new HertzHandler for http.Handler
[#1349] feat(sse): SetLastEventID
[#1343] feat(sse): reader supports cancel stream
[#1341] feat(server): detect request race
[#1339] feat(sse): add LastEventID helpers
[#1335] feat(protocol): new sse pkg
[#1322] feat: std transport sense client connection close
Fix
[#1340] fix: only use netpoll & sonic on amd64/arm64 linux/darwin
[#1333] fix(protocol): unexpected set resp.bodyStream
[#1329] fix(client): stream body for sse instead of timeout
[#1332] fix(server): Shutdown checks ExitWaitTimeout
[#1316] fix: prioritize custom validator
Tests
[#1336] test(protocol): fix hardcoded listen addr
Chore
[#1353] chore: update netpoll dependency
[#1337] chore(hz): update hz tool v0.9.7
[#1328] ci: disable codecov annotations
cmd/hz/v0.9.7
v0.9.7
Fix
[#1321] fix(protocol): header safe for concurrent reading
[#1317] fix(protocol): Peek() returns non-nil if key exists
[#1315] fix(assert): NotNil checks (*T)(nil)
[#1294] fix: compare body.Cap()
with maxKeepBodySize
instead of body.Len()
[#1295] fix(client): add cleanup for https HostClient map
[#1301] fix(engine): IsRunning returns true when it's ready
[#1299] fix(network/standard): Shutdown checks active conns
Tests
[#1303] test(pkg/protocol): fix unstable AcquireResponse coverage
[#1300] test: use 127.0.0.1:0
[#1296] test(route): faster & better coverage for engine shutdown
Chore
[#1324] chore: fix broken link in readme
[#1320] chore: fix typos
[#1312] ci: deprecate tj-actions
[#1305] ci: ut x64/arm64 with go1.19/go1.20/oldstable/stable
[#1302] chore: updated ROADMAP.md
[#1286] chore(server): fix comment for server SIGTERM handling
[#1284] ci: 3*actions/stale per day & use codecov action
v0.9.6
Feature:
[#1272] feat: update sonic build constraints
Optimize:
[#1280] optimize(server): exit normally when getting SIGTERM
Fix:
[#1275] fix(hz): thrift filename with dot
[#1262] fix: fix hz gen file permission
[#1264] fix: ClientIP() handles uds instead of returning empty
Tests:
[#1268] test(client): increase timeout for windows
[#1221] test: add test in TestResponseReadBodyStream in the case of ErrBodyTooLarge
Chore:
[#1279] chore: add observability for max conns
[#1277] chore: rm release-check.yml
[#1274] ci: use self-hosted windows for ut
[#1273] chore: update hertz readme description
[#1258] chore: upgrade sonic for fixing bin size issue
[#1254] ci(lint): new linter and new issues only
v0.9.5
v0.9.4
Feature
[#1214] feat: response support hijack for upgrade conn
Fix
[#1246] fix(client): use the latest host in Location header when redirect
[#1232] fix(http1): use bytes.EqualFold for header value check
Refactor
[#1234] refactor(validator): use internal tagexpr
Tests:
[#1216] test(app): speed up client & server tests
v0.9.3
Feature
[#1173] feat(http1): add env to disable request context pool
[#1165] feat: add flag to force update hertz_client.go
Fix
[#1181] fix: update ut for assert.NotNil
[#1163] fix(test): modify the comparison to function signatures in TestClientOptions
Chore
[#1171] build: add Go 1.23 to unit tests CI
[#1168] chore: update CI and optimze efficiency
[#1167] build: Upgrade sonic to v0.12.0 to be compatible with Go 1.23
[#1166] build: upgrade gopkg to v0.1.0
[#1158] build: update go mod and CI to support go1.22
Thanks a lot to those community contributors who submit some pull requests for this version:
@lhpqaq @haoxins @snowykami @ElvisWai
v0.9.2
Feature:
[#1141] feat: export ErrMissingFile
[#1111] feat(hz): trim pb gopackage
Optimize:
[#1135] optimize: non-existent file error for binding
Fix:
[#1150] fix: hertz panic when edit ctx.Params on HandleFunc
[#1127] fix(hz): router import error for 'api.service_gen_dir'
[#1147] fix(hz): pb model_dir corner case
[#1144] fix(hz): client cookie
[#1139] fix(hz): sort all pb tags
Tests:
[#1108] test: Increase pkg/common/utils coverage to more than 93%
Chore:
[#1157] chore(hz): release v091
[#1024] chore: update comment about MaxKeepBodySize option
Thanks a lot to those community contributors who submit some pull requests for this version:
@kamikazechaser @3DRX
cmd/hz/v0.9.1
chore: release v0.9.2 (#1159)