Releases: valyala/fasthttp
Releases · valyala/fasthttp
v1.58.0
What's Changed
- chore(deps): bump golang.org/x/crypto from 0.28.0 to 0.29.0 by @dependabot in #1895
- perf: improve copyZeroAlloc for os.File and net.TCPConn by @ksw2000 in #1893
- refactor: fix revive.indent-error-flow lint issues by @alexandear in #1896
- chore(deps): bump golang.org/x/net from 0.30.0 to 0.31.0 by @dependabot in #1897
- fix: incorrect handling of negative cookie.maxAge #1900 by @ksw2000 in #1902
- fix: lenient chunk extension parsing leading to request smuggling issues by @JeppW in #1899
- fix: ShutdownWithContext and ctx.Done() exist race. by @r27153733 in #1908
New Contributors
- @JeppW made their first contribution in #1899
- @r27153733 made their first contribution in #1908
Full Changelog: v1.57.0...v1.58.0
v1.57.0
What's Changed
- Add a note to clarify header.Set behavior on cookies by @sigmundxia in #1864
- chore(deps): bump github.com/klauspost/compress from 1.17.9 to 1.17.10 by @dependabot in #1872
- chore(deps): bump securego/gosec from 2.21.3 to 2.21.4 by @dependabot in #1874
- feat (request): expose req timeout by @aarcex3 in #1878
- chore(deps): bump golang.org/x/crypto from 0.27.0 to 0.28.0 by @dependabot in #1881
- chore(deps): bump golang.org/x/net from 0.29.0 to 0.30.0 by @dependabot in #1880
- improve ishex and unhex by hex2intTable by @ksw2000 in #1883
- chore(deps): bump github.com/andybalholm/brotli from 1.1.0 to 1.1.1 by @dependabot in #1884
- chore(deps): bump github.com/klauspost/compress from 1.17.10 to 1.17.11 by @dependabot in #1886
- chore: Upgrade golangci-lint to 1.61.0 by @alexandear in #1887
- feat(fasthttpproxy): add dual-stack connection support to enable IPv6 proxies for HTTP and SOCKS5 dialers by @lavish440 in #1885
- fix RequestCtx is canceled (#1879) by @ksw2000 in #1890
New Contributors
- @aarcex3 made their first contribution in #1878
- @lavish440 made their first contribution in #1885
Full Changelog: v1.56.0...v1.57.0
v1.56.0
What's Changed
- fix: add timeout to proxy connection reading and writing by @Sniper91 in #1791
- Validate header values by @erikdubbelboer in #1796
- chore(deps): bump golang.org/x/sys from 0.21.0 to 0.22.0 by @dependabot in #1800
- chore(deps): bump golang.org/x/crypto from 0.24.0 to 0.25.0 by @dependabot in #1802
- chore(deps): bump golang.org/x/net from 0.26.0 to 0.27.0 by @dependabot in #1801
- Optimize struct field order to reduce memory usage by @ksw2000 in #1809
- Fix possible race condition on request ctx done #1662 by @byte0o in #1806
- Fix header parser (#1808) by @ksw2000 in #1810
- Replace custom AppendUint with strconv.AppendUint by @gaby in #1813
- Use Named Fields and Align Structures to Reduce Memory Usage by @gaby in #1814
- chore(deps): bump golang.org/x/crypto from 0.25.0 to 0.26.0 by @dependabot in #1820
- chore(deps): bump golang.org/x/net from 0.27.0 to 0.28.0 by @dependabot in #1821
- chore(deps): bump golang.org/x/sys from 0.23.0 to 0.24.0 by @dependabot in #1823
- StreamRequestBody shouldn't read more data than actual need. by @newacorn in #1819
- Reduce the size of ResponseHeader and RequestHeader by @ksw2000 in #1826
- A response without a body can't have trailers by @erikdubbelboer in #1825
- TestHostClientMaxConnWaitTimeoutError test case sometimes fails by @newacorn in #1832
- Fix the MaxConns semaphore issue in HostClient. by @newacorn in #1831
- Add a dedicated cache container for the zstd compression algorithm by @newacorn in #1828
- We cannot avoid continuing to call SetReadDeadline and similar methods after the connection is closed. by @newacorn in #1835
- Remove support for go 1.19 and 1.20, and add support for 1.23 by @erikdubbelboer in #1837
- Merge the various proxy dialer implementations from the fasthttpproxy into a single struct. by @newacorn in #1829
- Make RetryIfFunc handle request errors by @ksw2000 in #1818
- Using atomic instead of mutex and delete scratch slice by @NikoMalik in #1833
- Fix Different request paths share the same
fs
cache is some cases. by @newacorn in #1843 - Make the tests complete earlier. by @newacorn in #1848
- Fix potential data race reports when the
-race
flag is enabled. by @newacorn in #1847 - Fix issues with tests interfering with each other in certain situations. by @newacorn in #1842
- When
StreamRequestBody
is set totrue
, we cannot safely releasebr
by @newacorn in #1844 - Revert Pull 1233 fix: The client write operation did not immediately return upon encountering an RST packet. by @newacorn in #1849
- RetryIf might need more information and greater control over the execution flow. by @newacorn in #1850
- Sorry about forgetting to remove a redundant field and clarify the comments. by @newacorn in #1851
- chore(deps): bump golang.org/x/crypto from 0.26.0 to 0.27.0 by @dependabot in #1858
- chore(deps): bump golang.org/x/net from 0.28.0 to 0.29.0 by @dependabot in #1857
- chore(deps): bump securego/gosec from 2.20.0 to 2.21.1 by @dependabot in #1855
- chore(deps): bump securego/gosec from 2.21.1 to 2.21.2 by @dependabot in #1861
- Revert "Using atomic instead of mutex and delete scratch slice" by @newacorn in #1846
- Fix improper memory reuse in NewFastHTTPHandler by @sigmundxia in #1860
- Improve the performance of ConnState.String() by @ksw2000 in #1871
- chore(deps): bump securego/gosec from 2.21.2 to 2.21.3 by @dependabot in #1870
- Reduce the size of the Cookie by 32 bytes. by @ksw2000 in #1866
- fix: type assertion to perIPTLSConn instead of erroneous perIPConn by @KSpaceer in #1863
- Improve performance of ParseUfloat by @ksw2000 in #1865
New Contributors
- @Sniper91 made their first contribution in #1791
- @ksw2000 made their first contribution in #1809
- @newacorn made their first contribution in #1819
- @NikoMalik made their first contribution in #1833
- @sigmundxia made their first contribution in #1860
- @KSpaceer made their first contribution in #1863
Full Changelog: v1.55.0...v1.56.0
v1.55.0
What's Changed
- all: add riscv64 support by @mengzhuo in #1781
- Use FASTHTTP_PREFORK_CHILD env variable to detect child by @erikdubbelboer in #1783
- Fix common recurring CI issues by @erikdubbelboer in #1784
- test: fix typo by @alexandear in #1790
- Don't allow \r in header names by @erikdubbelboer in #1789
- chore(deps): bump github.com/klauspost/compress from 1.17.7 to 1.17.9 by @dependabot in #1792
- chore(deps): bump golang.org/x/crypto from 0.21.0 to 0.24.0 by @dependabot in #1787
- chore(deps): bump golang.org/x/net from 0.23.0 to 0.26.0 by @dependabot in #1788
- chore(deps): bump securego/gosec from 2.19.0 to 2.20.0 by @dependabot in #1776
New Contributors
Full Changelog: 1.54.0...v1.55.0
v1.54.0
v1.53.0
What's Changed
- chore(deps): bump securego/gosec from 2.18.2 to 2.19.0 by @dependabot in #1720
- adaptor ResponseWriter - adding Hijack method and pass proper fields by @gilwo in #1525
- Remove unnecessary build tag go1.21 by @alexandear in #1721
- Upgrade golangci-lint to v1.56.2; fix gocritic issues by @alexandear in #1722
- feat:support zstd compress and uncompressed by @Max-Cheng in #1701
- chore(deps): bump golang.org/x/crypto from 0.19.0 to 0.20.0 by @dependabot in #1725
- Enable several gocritic checks; resolve identified issues by @alexandear in #1728
- test: remove
//nolint:govet
comments by @alexandear in #1729 - Enable perfsprint linter; fix up lint issues by @alexandear in #1727
- refactor: rename error local variables by @alexandear in #1738
- test: remove redundant error check by @alexandear in #1741
- fix: panic in ParseIPv4 when len(dst) > 4 by @alexandear in #1742
- test: remove panics in client tests by @alexandear in #1747
- chore(deps): bump golang.org/x/net from 0.22.0 to 0.23.0 by @dependabot in #1748
- add support for CHIPS (Cookies Having Independent Partitioned State) by @gurkan0791 in #1752
- Add macos-14 platform, enable shuffle of unit-tests by @gaby in #1746
- refactor: do not return error as it is always nil by @alexandear in #1759
- fix: propagate body stream error to close function (#1743) by @mdenushev in #1757
- chore(deps): bump golangci/golangci-lint-action from 4 to 5 by @dependabot in #1769
- Don't allow , in host when using Client by @erikdubbelboer in #1761
- Implemented what was described by me in #1766. by @rhabichl in #1767
- feat: add address to tryDial errors by @mdenushev in #1763
- chore(deps): bump golangci/golangci-lint-action from 5 to 6 by @dependabot in #1774
New Contributors
- @gilwo made their first contribution in #1525
- @Max-Cheng made their first contribution in #1701
- @gurkan0791 made their first contribution in #1752
- @mdenushev made their first contribution in #1757
- @rhabichl made their first contribution in #1767
Full Changelog: v1.52.0...v1.53.0
v1.52.0
What's Changed
Minor backwards incompatible changes
These changes are only backwards incompatible if you are sending bad requests.
- Prevent request smuggling by @erikdubbelboer in #1719
- Follow RFCs 7230 and 9112 for HTTP versions by @erikdubbelboer in #1710
New features
- Implement
GetRejectedConnectionsCount
function by @mopeneko in #1704 - add DisableDNSResolution for TCPDialer. by @xuxiao415 in #1702
- feat: add function to parse HTTP header parameters by @nickajacks1 in #1685
- add support for custom dial function with timeouts by @avivcarmis in #1669
Other
- Enable wastedassign, whitespace linters; fix issues by @alexandear in #1665
- chore: Use 'any' instead of 'interface{}' by @alexandear in #1666
- bug: Flush the write buffer before putting it to the pool by @Jille in #1672
- copyZeroAlloc: Try WriteTo and ReadFrom before acquiring a buffer by @Jille in #1673
- writeBodyFixedSize: Only do an early flush if the reader is an *os.File by @Jille in #1674
- chore: Set max line length to 130 characters by @alexandear in #1676
- docs: Add missing dots at the end of comments by @alexandear in #1677
- chore(deps): bump golang.org/x/crypto from 0.14.0 to 0.17.0 by @dependabot in #1678
- chore: move cookie fuzz test to go 1.18 fuzzing by @nickajacks1 in #1686
- Change empty string checks to be more idiomatic by @alexandear in #1684
- test(expvarhandler): fix failure when using -count to run more than once by @nickajacks1 in #1688
- test: migrate remaining fuzzit tests to go 1.18 fuzzing by @nickajacks1 in #1687
- Add CIFuzz by @AdamKorcz in #1443
- refactor: move manually created tchar table to bytesconv_table_gen by @nickajacks1 in #1689
- Bump supported Go version in readme by @erikdubbelboer in #1690
- update build tag by @tylitianrui in #1695
- Updates to GitHub Actions, add go1.22 to Test Matrix by @gaby in #1707
- chore(deps): bump golangci/golangci-lint-action from 3 to 4 by @dependabot in #1711
- Bump dependencies by @erikdubbelboer in #1718
New Contributors
- @avivcarmis made their first contribution in #1669
- @Jille made their first contribution in #1672
- @nickajacks1 made their first contribution in #1685
- @AdamKorcz made their first contribution in #1443
- @mopeneko made their first contribution in #1704
- @gaby made their first contribution in #1707
Full Changelog: v1.51.0...v1.52.0
v1.51.0
What's Changed
- Refactor: Move RSA Key and Certificate to Variables in Tests by @OrangeFlag in #1621
- Replace path.Join with filepath.Join in tests by @alexandear in #1623
- reset request disableSpecialHeader by @xiluoxi in #1626
- Make
hijackConn
behaviour compliant withnet.Conn
interface by @askolesov in #1629 - BUGFIX: HostClient.DialDualStack not work when using DoDeadline by @cloudfly in #1634
- Allow redirect URI path to not be normalized. by @skidder in #1638
- Add support to fs.fs on serve static files by @peczenyj in #1640
- fix benchmark panics on client_timing_test.go by @peczenyj in #1643
- add support to go 1.21.x into test.yml by @peczenyj in #1642
- Don't fast fail when one test fails by @erikdubbelboer in #1645
- Skip fs cache based on config by @peczenyj in #1644
- chore: Rename coarseTime.go to coarsetime.go by @alexandear in #1651
- chore: Remove redundant and outdated build constraints by @alexandear in #1650
- chore: add golangci-lint config file for flexibility by @alexandear in #1649
- Lazy load stackless functions by @Gusted in #1656
- Enable dupword, unconvert linters by @alexandear in #1658
New Contributors
- @OrangeFlag made their first contribution in #1621
- @xiluoxi made their first contribution in #1626
- @askolesov made their first contribution in #1629
- @cloudfly made their first contribution in #1634
- @skidder made their first contribution in #1638
- @Gusted made their first contribution in #1656
Full Changelog: v1.50.0...v1.51.0
v1.50.0
- 8cc5539 Fix various request timeout issues (Erik Dubbelboer)
- 34e7da1 Allow connection close for custom streams (#1603) (Armin Becher)
- 8236f8d fasthttpproxy: fix doc examples (Oleksandr Redko)
- 4ec5c5a docs: fix typos in comments and tests (Oleksandr Redko)
- 9aa666e Enable gocritic linter; fix lint issues (#1612) (Oleksandr Redko)
v1.49.0
- 0e99e64 Update golangci-lint and gosec (#1609) (Erik Dubbelboer)
- 6aea1e0 fix round2_32, split round2 tests because they depend on sizeof int at compile time (#1607) (Duncan Overbruck)
- 4b0e6c7 Update ErrNoMultipartForm (Erik Dubbelboer)
- 727021a Update security policy (Erik Dubbelboer)
- 54fdc7a Abstracts the RoundTripper interface and provides a default implement (#1602) (Tim)
- e181af1 fasthttpproxy support ipv6 (#1597) (Pluto)
- 6eb2249 fix:fasthttp server with tlsConfig (#1595) (Zhang Xiaopei)
- 1c85d43 Fix round2 (Erik Dubbelboer)
- 064124e Avoid nolint:errcheck in header tests (#1589) (Oleksandr Redko)
- 0d0bbfe Auto add 'Vary' header after compression (#1585) (AutumnSun)
- d229959 Remove unnecessary indent blocks (#1586) (Oleksandr Redko)
- 6b68042 Use timeout in TCPDialer to resolveTCPAddrs (#1582) (un000)