Oleksandr Redko
51b4947320
test: replace atomic operations with atomic types ( #2048 )
2025-08-07 19:02:12 -04:00
jwntree
1d8fe19359
Add reuseport support for Solaris ( #2046 )
2025-08-04 16:27:16 +02:00
Erik Dubbelboer
01d533ad15
Fix RequestHeader.ContentLength() if disableSpecialHeader is true ( #2042 )
2025-07-27 08:20:03 +02:00
Erik Dubbelboer
a1c842f19e
Fix trailer security ( #2043 )
...
Bad trailers weren't checked correctly.
Some bad trailers that could cause security issues weren't being
disallowed.
2025-07-27 08:19:46 +02:00
dependabot[bot]
dab027680c
chore(deps): bump securego/gosec from 2.22.5 to 2.22.7 ( #2039 )
...
Bumps [securego/gosec](https://github.com/securego/gosec ) from 2.22.5 to 2.22.7.
- [Release notes](https://github.com/securego/gosec/releases )
- [Changelog](https://github.com/securego/gosec/blob/master/.goreleaser.yml )
- [Commits](https://github.com/securego/gosec/compare/v2.22.5...v2.22.7 )
---
updated-dependencies:
- dependency-name: securego/gosec
dependency-version: 2.22.7
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-22 12:40:29 +08:00
Erik Dubbelboer
ab3c358753
zstdEncoderPool was never used
...
releaseZstdWriter() is never called, so zstdEncoderPool is only used for Get(), never Put().
We can just inline the non Get() path of acquireZstdWriter() and remove releaseZstdWriter().
Also fixed some spelling mistakes.
2025-07-21 05:33:35 +02:00
byte0o
7e15e31a33
Simplify Client.Do function and lock usage ( #2038 )
...
* Optimization:
1. Simplify the Client.Do function, extract the acquisition of HostClient object into a separate function, and simplify the lock code
2. Remove redundant code from the AcquireReader and AcquireWriter functions of HostClient
* fix []byte to string 1 allocs/op
2025-07-19 14:37:13 +08:00
dependabot[bot]
b1a54c8de5
chore(deps): bump golang.org/x/net from 0.41.0 to 0.42.0 ( #2035 )
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.41.0 to 0.42.0.
- [Commits](https://github.com/golang/net/compare/v0.41.0...v0.42.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-version: 0.42.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
v1.64.0
2025-07-11 07:32:40 +02:00
dependabot[bot]
7ac856f71f
chore(deps): bump golang.org/x/crypto from 0.39.0 to 0.40.0 ( #2036 )
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.39.0 to 0.40.0.
- [Commits](https://github.com/golang/crypto/compare/v0.39.0...v0.40.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.40.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-11 07:21:09 +02:00
dependabot[bot]
2a917b661a
chore(deps): bump golang.org/x/sys from 0.33.0 to 0.34.0 ( #2034 )
...
Bumps [golang.org/x/sys](https://github.com/golang/sys ) from 0.33.0 to 0.34.0.
- [Commits](https://github.com/golang/sys/compare/v0.33.0...v0.34.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/sys
dependency-version: 0.34.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-10 07:55:29 +02:00
Erik Dubbelboer
a3c9dab757
Add warning for deprecated newline separator ( #2031 )
...
* Add warning for deprecated newline separator
* Fix feedback, no context by default, use slog
2025-07-10 06:47:32 +02:00
Kashiwa
eb1f908d97
refact: eliminate duplication in Request/Response via struct embedding ( #2027 )
...
* refact: Eliminate duplication in Request/Response headers via struct embedding
* revert: SetMultipartFormBoundaryBytes
* refact: rename the params of SetProtocol and SetProtocolBytes
2025-07-05 07:51:46 +02:00
dependabot[bot]
8b512b7dae
chore(deps): bump github.com/andybalholm/brotli from 1.1.1 to 1.2.0 ( #2029 )
...
Bumps [github.com/andybalholm/brotli](https://github.com/andybalholm/brotli ) from 1.1.1 to 1.2.0.
- [Commits](https://github.com/andybalholm/brotli/compare/v1.1.1...v1.2.0 )
---
updated-dependencies:
- dependency-name: github.com/andybalholm/brotli
dependency-version: 1.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
v1.63.0
2025-06-24 14:02:38 +09:00
Erik Dubbelboer
d356cacd84
Implement io.StringWriter on some more types ( #2023 )
...
In theory this can optimize some code paths where a string first needs
to be converted to a []byte to use the normal Write method. By
implementing WriteString this extra copy isn't needed. Internall we
don't do the copy and just use s2b instead.
2025-06-19 08:59:25 +02:00
dependabot[bot]
641dd96586
chore(deps): bump securego/gosec from 2.22.4 to 2.22.5 ( #2025 )
...
Bumps [securego/gosec](https://github.com/securego/gosec ) from 2.22.4 to 2.22.5.
- [Release notes](https://github.com/securego/gosec/releases )
- [Changelog](https://github.com/securego/gosec/blob/master/.goreleaser.yml )
- [Commits](https://github.com/securego/gosec/compare/v2.22.4...v2.22.5 )
---
updated-dependencies:
- dependency-name: securego/gosec
dependency-version: 2.22.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-17 15:23:07 +09:00
Erik Dubbelboer
28ebbd9bf1
Drop support before go1.20 ( #2022 )
...
We still had old implementations of s2b and b2s that didn't require
unsafe.StringData and unsafe.SliceData that were added in go1.20. Since
we don't support go1.20 anymore we can drop these functions.
2025-06-15 05:14:07 +02:00
dependabot[bot]
75d2192d37
chore(deps): bump golang.org/x/net from 0.40.0 to 0.41.0 ( #2018 )
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.40.0 to 0.41.0.
- [Commits](https://github.com/golang/net/compare/v0.40.0...v0.41.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-version: 0.41.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-06 14:48:16 +09:00
Veeral Kansara
46ae933953
Proposal : To add Unsafe Zero-Allocation Conversions Sections in main documentation ( #2013 )
...
* fix: removed resolved issue link from readme file, issue no longer exists
* chore: removed wrong information from main documentation as these functions does not exist
* chore: removed old information from main documentation as these functions does not exist
* chore: added unsafe zero-allocation conversion section
---------
Co-authored-by: Veeral Kansara <veeral.kansara@brightmountainmedia.com >
2025-05-24 05:20:08 +02:00
Veeral Kansara
74f3d4cfc8
Removed old information from main documentation as these functions does not exist ( #2012 )
...
* fix: removed resolved issue link from readme file, issue no longer exists
* chore: removed wrong information from main documentation as these functions does not exist
* chore: removed old information from main documentation as these functions does not exist
---------
Co-authored-by: Veeral Kansara <veeral.kansara@brightmountainmedia.com >
2025-05-20 14:38:18 +09:00
Kashiwa
a1783ffacc
feat: Add iter.Seq2 iterator #2010 ( #2011 )
2025-05-18 13:23:04 +02:00
Erik Dubbelboer
2466344648
Remove unused file
2025-05-15 05:20:27 +02:00
Veeral Kansara
d856840619
fix: removed resolved issue link from readme file, issue no longer exists ( #2008 )
...
Co-authored-by: Veeral Kansara <veeral.kansara@brightmountainmedia.com >
2025-05-10 01:57:14 +02:00
dependabot[bot]
8412015fdc
chore(deps): bump securego/gosec from 2.22.3 to 2.22.4 ( #2007 )
...
Bumps [securego/gosec](https://github.com/securego/gosec ) from 2.22.3 to 2.22.4.
- [Release notes](https://github.com/securego/gosec/releases )
- [Changelog](https://github.com/securego/gosec/blob/master/.goreleaser.yml )
- [Commits](https://github.com/securego/gosec/compare/v2.22.3...v2.22.4 )
---
updated-dependencies:
- dependency-name: securego/gosec
dependency-version: 2.22.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-09 14:24:21 +09:00
shawn wang
9e457ebd98
mod acceptConn ( #2005 )
...
* add connKeepAliveer interface{}.
* use connKeepAliveer insteadof *net.TCPConn to set TCPKeepalive and TCPKeepalivePeriod
v1.62.0
2025-05-07 14:14:06 +09:00
dependabot[bot]
69a68df4eb
chore(deps): bump golang.org/x/net from 0.39.0 to 0.40.0 ( #2003 )
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.39.0 to 0.40.0.
- [Commits](https://github.com/golang/net/compare/v0.39.0...v0.40.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-version: 0.40.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-06 17:43:19 +09:00
dependabot[bot]
83fbe80f93
chore(deps): bump golang.org/x/crypto from 0.37.0 to 0.38.0 ( #2002 )
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.37.0 to 0.38.0.
- [Commits](https://github.com/golang/crypto/compare/v0.37.0...v0.38.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.38.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-06 17:14:27 +09:00
dependabot[bot]
51817a4eb6
chore(deps): bump golangci/golangci-lint-action from 7 to 8 ( #2001 )
...
* chore(deps): bump golangci/golangci-lint-action from 7 to 8
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action ) from 7 to 8.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases )
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v7...v8 )
---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
dependency-version: '8'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* Update lint version
* disable funcorder
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Erik Dubbelboer <erik@dubbelboer.com >
2025-05-05 15:50:24 +09:00
Max Denushev
41a1449627
feat: move user values to Request structure ( #1999 )
...
Co-authored-by: Max Denushev <denushev@tochka.com >
2025-05-03 15:10:15 +09:00
osxtest
1345f42ede
Add support for streaming identity-encoded or unknown length response bodies ( #2000 )
2025-05-03 13:51:32 +09:00
pj
a05560dd7e
implement early hints ( #1996 )
v1.61.0
2025-04-21 13:01:35 +02:00
Erik Dubbelboer
48f3a2f423
Fix panic when perIPConn.Close is called multiple times ( #1993 )
...
This happens when a perIPConn is idle and closed during
Server.Shutdown() and then again closed by the WorkerFunc returning.
2025-04-12 04:36:07 +02:00
Yota Toyama
e380d34bce
Fix round robin addresses in dual stack dialing ( #1995 )
2025-04-11 15:00:19 +09:00
dependabot[bot]
4c71125994
chore(deps): bump golang.org/x/net from 0.38.0 to 0.39.0 ( #1991 )
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.38.0 to 0.39.0.
- [Commits](https://github.com/golang/net/compare/v0.38.0...v0.39.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-version: 0.39.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-08 13:51:29 +09:00
dependabot[bot]
76acf1443d
chore(deps): bump securego/gosec from 2.22.2 to 2.22.3 ( #1990 )
...
Bumps [securego/gosec](https://github.com/securego/gosec ) from 2.22.2 to 2.22.3.
- [Release notes](https://github.com/securego/gosec/releases )
- [Changelog](https://github.com/securego/gosec/blob/master/.goreleaser.yml )
- [Commits](https://github.com/securego/gosec/compare/v2.22.2...v2.22.3 )
---
updated-dependencies:
- dependency-name: securego/gosec
dependency-version: 2.22.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-07 07:43:20 +02:00
dependabot[bot]
236b2f3148
chore(deps): bump golang.org/x/crypto from 0.36.0 to 0.37.0 ( #1988 )
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.36.0 to 0.37.0.
- [Commits](https://github.com/golang/crypto/compare/v0.36.0...v0.37.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.37.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-07 06:51:14 +02:00
dependabot[bot]
2629d9d869
chore(deps): bump golang.org/x/sys from 0.31.0 to 0.32.0 ( #1989 )
...
Bumps [golang.org/x/sys](https://github.com/golang/sys ) from 0.31.0 to 0.32.0.
- [Commits](https://github.com/golang/sys/compare/v0.31.0...v0.32.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/sys
dependency-version: 0.32.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-07 06:30:14 +02:00
Erik Dubbelboer
752b0e7004
Remove idleConns mutex for every request ( #1986 )
...
Locking and unlocking a mutex multiple times per request is a major
slowdown that we can avoid with clever use of atomics.
Before:
```
BenchmarkServerGet100ReqPerConn10KClients-12 84167428 867.7 ns/op
```
After:
```
BenchmarkServerGet100ReqPerConn10KClients-12 187397954 386.3 ns/op
```
v1.60.0
2025-04-02 05:43:14 +02:00
dependabot[bot]
bf3f552c8e
chore(deps): bump golang.org/x/net from 0.37.0 to 0.38.0 ( #1983 )
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.37.0 to 0.38.0.
- [Commits](https://github.com/golang/net/compare/v0.37.0...v0.38.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-28 05:54:38 +01:00
Erik Dubbelboer
4891fc5304
Update golangci-lint to v2 ( #1980 )
2025-03-25 06:40:55 +01:00
Erik Dubbelboer
30b09beff1
Fix untyped int constant 4294967295
...
Fix: https://github.com/valyala/fasthttp/issues/1960
2025-03-13 04:58:07 +01:00
dependabot[bot]
4269e2d68c
chore(deps): bump golang.org/x/net from 0.36.0 to 0.37.0 ( #1971 )
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.36.0 to 0.37.0.
- [Commits](https://github.com/golang/net/compare/v0.36.0...v0.37.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-06 06:34:17 +01:00
dependabot[bot]
1353ca59f2
chore(deps): bump securego/gosec from 2.22.1 to 2.22.2 ( #1972 )
...
Bumps [securego/gosec](https://github.com/securego/gosec ) from 2.22.1 to 2.22.2.
- [Release notes](https://github.com/securego/gosec/releases )
- [Changelog](https://github.com/securego/gosec/blob/master/.goreleaser.yml )
- [Commits](https://github.com/securego/gosec/compare/v2.22.1...v2.22.2 )
---
updated-dependencies:
- dependency-name: securego/gosec
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-06 06:34:02 +01:00
dependabot[bot]
6c07c2f523
chore(deps): bump golang.org/x/net from 0.35.0 to 0.36.0 ( #1968 )
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.35.0 to 0.36.0.
- [Commits](https://github.com/golang/net/compare/v0.35.0...v0.36.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-05 05:26:51 +01:00
Erik Dubbelboer
69dc7b1280
Update the supported version to the same as Go itself ( #1967 )
...
Some of our dependences require the supported versions of Go.
For example github.com/golang/crypto now requires 1.23 or higher.
See: https://github.com/golang/crypto/commit/89ff08d67c4d79f9ac619aaf1f7388888798651fa
For more information on the new policy of the Go team see: https://github.com/golang/go/issues/69095
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-26 04:39:17 +01:00
Erik Dubbelboer
b8969ed8dc
Fix normalizeHeaderValue ( #1963 )
...
The fuzzer found some cases where it would panic.
The output of normalizeHeaderValue doesn't need to affect s.b and s.hLen
because the length of the normalized header will never be bigger, so it
can just be normalize in place without affecting the rest of the buffer.
2025-02-22 08:33:57 +01:00
Liu Ziming
31e34c5fe0
add related project for opentelemetry-go-auto-instrumentation ( #1962 )
...
* add related project for opentelemetry-go-auto-instrumentation
* Update README.md
2025-02-22 06:52:20 +01:00
dependabot[bot]
80d3e444a1
chore(deps): bump github.com/klauspost/compress from 1.17.11 to 1.18.0 ( #1958 )
...
Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress ) from 1.17.11 to 1.18.0.
- [Release notes](https://github.com/klauspost/compress/releases )
- [Changelog](https://github.com/klauspost/compress/blob/master/.goreleaser.yml )
- [Commits](https://github.com/klauspost/compress/compare/v1.17.11...v1.18.0 )
---
updated-dependencies:
- dependency-name: github.com/klauspost/compress
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-20 19:38:20 +09:00
Erik Dubbelboer
84f0231a53
Drop support for Go 1.21, add support for 1.24 ( #1959 )
2025-02-20 11:01:50 +01:00
Kashiwa
086a114445
fix: accept invalid headers with a space ( #1953 )
...
* fix: accept invalid headers with a space #1917
Make behavior consistent with net/http by allowing header keys and trailers containing spaces without canonicalizing them
* fix: lint paramTypeCombine
* fix: https://github.com/valyala/fasthttp/pull/1953#issuecomment-2660691298
* fix: golangci-lint nestingReduce
2025-02-19 19:49:48 +09:00
Kashiwa
b59f47e3ee
Refactor: split delAllArgs into delAllArgs and delAllArgsStable ( #1945 )
...
- Renamed the original `delAllArgs` method to `delAllArgsStable` to maintain stable behavior.
- Added a new `delAllArgs` method for non-stable functionality, improving runtime efficiency.
2025-02-19 19:48:10 +09:00