diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index d62677f89..4b0828f0f 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -1,42 +1,5 @@ # Unreleased Changes -<<<<<<< HEAD -======= -## v0.38.0 - -### BREAKING CHANGES - -- CLI/RPC/Config - -- Apps - -- P2P Protocol - -- Go API - - [p2p] \#9625 Remove unused p2p/trust package (@cmwaters) - -- Blockchain Protocol - -- Data Storage - - [state] \#6541 Move pruneBlocks from consensus/state to state/execution. (@JayT106) - -- Tooling - - [tools/tm-signer-harness] \#6498 Set OS home dir to instead of the hardcoded PATH. (@JayT106) - -### FEATURES - -### IMPROVEMENTS - -- [pubsub] \#7319 Performance improvements for the event query API (@creachadair) -- [p2p/pex] \#6509 Improve addrBook.hash performance (@cuonglm) -- [crypto/merkle] \#6443 & \#6513 Improve HashAlternatives performance (@cuonglm, @marbar3778) -- [rpc] \#9650 Enable caching of RPC responses (@JayT106) - -### BUG FIXES - -- [docker] \#9462 ensure Docker image uses consistent version of Go - ->>>>>>> 816c6bac0 (rpc: Add caching support (#9650)) ## v0.37.0 Special thanks to external contributors on this release: @@ -82,13 +45,11 @@ Friendly reminder, we have a [bug bounty program](https://hackerone.com/tendermi - [proto] \#9356 Migrate from `gogo/protobuf` to `cosmos/gogoproto` (@julienrbrt) - [rpc] \#9276 Added `header` and `header_by_hash` queries to the RPC client (@samricotta) - [abci] \#5706 Added `AbciVersion` to `RequestInfo` allowing applications to check ABCI version when connecting to Tendermint. (@marbar3778) +- [rpc] \#9665 Enable caching of RPC responses (@JayT106) ### BUG FIXES - [consensus] \#9229 fix round number of `enterPropose` when handling `RoundStepNewRound` timeout. (@fatcat22) - [docker] \#9073 enable cross platform build using docker buildx -<<<<<<< HEAD - [docker] \#9462 ensure Docker image uses consistent version of Go -======= ->>>>>>> 816c6bac0 (rpc: Add caching support (#9650)) - [blocksync] \#9518 handle the case when the sending queue is full: retry block request after a timeout diff --git a/test/fuzz/tests/rpc_jsonrpc_server_test.go b/test/fuzz/tests/rpc_jsonrpc_server_test.go deleted file mode 100644 index 432a8250c..000000000 --- a/test/fuzz/tests/rpc_jsonrpc_server_test.go +++ /dev/null @@ -1,71 +0,0 @@ -//go:build gofuzz || go1.18 - -package tests - -import ( - "bytes" - "encoding/json" - "io" - "net/http" - "net/http/httptest" - "testing" - - "github.com/tendermint/tendermint/libs/log" - rpcserver "github.com/tendermint/tendermint/rpc/jsonrpc/server" - rpctypes "github.com/tendermint/tendermint/rpc/jsonrpc/types" -) - -func FuzzRPCJSONRPCServer(f *testing.F) { - type args struct { - S string `json:"s"` - I int `json:"i"` - } - var rpcFuncMap = map[string]*rpcserver.RPCFunc{ - "c": rpcserver.NewRPCFunc(func(ctx *rpctypes.Context, args *args, options ...rpcserver.Option) (string, error) { - return "foo", nil - }, "args"), - } - - mux := http.NewServeMux() - rpcserver.RegisterRPCFuncs(mux, rpcFuncMap, log.NewNopLogger()) - f.Fuzz(func(t *testing.T, data []byte) { - if len(data) == 0 { - return - } - - req, err := http.NewRequest("POST", "http://localhost/", bytes.NewReader(data)) - if err != nil { - panic(err) - } - rec := httptest.NewRecorder() - mux.ServeHTTP(rec, req) - res := rec.Result() - blob, err := io.ReadAll(res.Body) - if err != nil { - panic(err) - } - if err := res.Body.Close(); err != nil { - panic(err) - } - if len(blob) == 0 { - return - } - - if outputJSONIsSlice(blob) { - var recv []rpctypes.RPCResponse - if err := json.Unmarshal(blob, &recv); err != nil { - panic(err) - } - return - } - var recv rpctypes.RPCResponse - if err := json.Unmarshal(blob, &recv); err != nil { - panic(err) - } - }) -} - -func outputJSONIsSlice(input []byte) bool { - var slice []json.RawMessage - return json.Unmarshal(input, &slice) == nil -}