- Replace Dep with Go Modules @JohanBrandhorst in #911
- Replace prototool with buf @JohanBrandhorst in #847
- Allow websocket read limit to be configured @bryanmcgrane in #1023
- Fix /metrics, /debug/requests, /debug/events @zolkin in #957
- Fix websocket cancellation handling @MarcusLongmuir in #917
- Server: Change websocket lib to nhooyr.io/websocket @Hellysonrp in #815
- Client & Server: Update TS/JS & Go dependencies @MarcusLongmuir in #841
- Client: Fixed fetch abort behaviour for Edge 16+ @MarcusLongmuir in #819
- Server: Check flusher before flush @kostyay in #817
- Server: Websockets test should use case-insensitive header compare @mgkeeley in #760
- Client: No longer invoking callbacks within timeouts - this may affect the temporal ordering of some usage. @marcuslongmuir in #576
- Server: grpcwebproxy uses
backend_max_call_recv_msg_size
flag value for client call to backend (in addition to its usage as its own receive limit). @itwalton in #654
- Server: Add option to enabled websocket keepalive pinging. @angwangiot in #546
- Server: Support header whitelist in websocket transport. @alexvas in #558
- Server: Check that there aren't any unknown command line arguments. @Timmmm in #577
- Server: Remove connection header from grpcwebproxy. @crlssn in #588
- Client: React Native support - Adds and exposes ReactNativeTransport. @pbsf in #458
- Client: node-http-transport fix deprecation. @the729 in #595
- Server: Add "WrapHandler" function and "WithEndpointsFunc" option. @yinzara in #619
### Breaking changes
- Server: Revert changes to flusher interface which accidentally introduced a recursive call to
Flush()
. @johanbrandhorst in #527
- Server: Check flusher interface before calling Flush. @mangas in #479
- Server: Remove
CloseNotify
. @mangas in #478 - Client: Set Content-Length header in NodeHTTPTransport to disable chunked encoding. @MichaelAquilina in #427
- Server: Update grpc-go, golang/protobuf dependencies. @johanbrandhorst in #395
- Server: Add
grpc-status
&grpc-message
as exposed headers. @Globegitter in #489
- Server: Allow non root resources. @mangas in #454
- Client: Fix aborting requests from within a web-worker context. @midan888 in #443
- Client: Fix broken v0.9.3 release (client binaries were not rebuilt prior to npm publish)
- Client: Added grpc-web-fake-transport package.
- Client: Fix global definition in grpc-web UMD build which prevented it from working from within a WebWorker context. @midan888 in #411
- Server: Remove
content-length
response header. @LeonSha in #385 - Server: Don't block on writing to the close notify channel. @devnev in #403
- Documentation: Remove reference to specific release version in grpcwebproxy README. @l4u in #370
- Documentation: Fix up problems present in the
grpc-web-react-example
project. @atecce in #360 - Documentation: Updated the installation instructions of grpcwebproxy. @enmasse in #399
- Server: Ensure headers from wrapped server are forwarded appropriately. @danilvpetrov in #359
- Server: Deny CORS Requests by Default. @jonny-improbable in #158
- Server: Support client certs for backend connections. [@mastersingh24] in #333
- Scoped npm package under the @improbable-eng org; consumers should now
npm install @improbable-eng/grpc-web
.
- Removed built-in support for NodeJS Environments; if you want to use
grpc-web-client
in a NodeJS environment you will need to importgrpc-web-node-http-transport
and specify it as your Default Transport. - The
transport
property passed tounary()
,invoke()
andclient()
should now be an instance of theTransport
interface (was a reference to a factory function which returned aTransport
instance), see #265 for details.
- Client: Added
grpc.setDefaultTransport()
which can be used to specify which Transport is used when none is specified with the request. @jonny-improbable in #265 - Client: Allowed for configuration of XHR and Fetch-based transports and exposed them via the
grpc
namespace. @jonny-improbable in #265 - Client: Don't call callbacks if close() is called. @virtuald in #258
- Client: Export
grpc-web-client
as a UMD Module. @Dig-Doug in #276 - Server: Fix gRPC Web spec violation related to header/trailer names. @ktr0731 in #271
- Server: Add backend_backoff_max_delay flag to grpcwebproxy. @fordhurley in #278
- Server: Add support for specifying a default :authority header for backend calls. @sandersaares in #267
- Server: Prevent leaking goroutines from websocket connections. @amerry in #253
- Server: Add option to increase max message size. @nevi-me in #246
- Server: Switched to assign CAs to correct config property. @jonahbron in #244
- Fix callbacks being invoked after cancellation @mwei0210 in #207
- Fix unhandled promise rejection upon errors in fetch transport @Runar1 in #189
- Fix bug in gprcwebproxy's WebSocket Transport support @bianbian-org in #211
- Fix headers/trailers being lost when grpc-status is non-zero @gunn4r in #226
- Fix gRPC message decoding @ishitatsuyuki in #117
- Update the localhost certificate generation to create certs from a local certificate authority. @absoludity in #169
- Fix memory leak in fetch transport @nathanb21 in #184
- Add abort signal support in fetch transport @Runar1 in #173
- Fix stream terminated by RST_STREAM @MrWinstead in #148
- Make gRPC status codes consistent with gRPC-Go @johanbrandhorst in #150
- React usage examples added @easyCZ in #133
- Added experimental WebSocket transport @MarcusLongmuir in #132
- Refactored client interface to provide a stronger abstraction for alternative Transports (ie: WebSockets) @MarcusLongmuir in #132
- Everything is now exported under a single namespace (
grpc
).