Skip to content

v1.0.0-rc3

Pre-release
Pre-release
Compare
Choose a tag to compare
@jhump jhump released this 21 Feb 16:58
· 132 commits to main since this release
9d4a2f7

What's Changed

Bugfixes

  • Fix issue that prevented use of --known-failing patterns that could match the test cases run against the grpc-go reference implementations by @smaye81 in #754
  • Fix use of raw request in test cases: test runner needs to add test case expectation headers to raw request, by @jhump in #758
  • Fix assertions on query parameters that were overly strict, which prevented working implementations in connect-kotlin and connect-swift from passing the Connect GET test cases, by @jhump in #771
  • Higher grace periods in test case timeouts to reduce flakiness, by @jhump in #782 (and small part of #761)
  • Disable support for accepting gzip responses in referenceclient when no compression should be used by @jhump in #783

Enhancements

  • Add command-line flags for more control over test cases to run and how they're handled by @jhump in #757
    • This adds new --run, --skip, and --known-flaky command-line flags, which all take a pattern and can be specified multiple times. To point to a text file containing multiple patterns (one per line), prefix the argument with @. The --run and --skip are mainly intended for interactive runs of tests. CI invocations should prefer --known-failing and --known-flaky.
    • This includes a backwards-incompatible change to the --known-failing flag so its behavior is consistent with the above new flags: its argument is now interpreted as a single pattern. To instead point to a file that contains patterns, prefix the argument with @.
  • Add --trace option to print full trace of HTTP requests and responses for failed test cases by @jhump in #761
  • Add tests for HTTP status code <-> RPC code mappings by @smaye81 in #762
  • Add numerous protocol-specific test cases that use raw requests and raw responses, by @jhump in #770 and #794
  • Add test cases that verify deadlines are correctly propagated by @jhump in #772
  • The referenceserver checks that there are no request trailers by @jhump in #779
  • The referenceclient validates raw wire details for gRPC-Web trailers, actual HTTP trailers, and Connect error and end-stream JSON by @smaye81 in #768 and @jhump in #780, #790
  • Add tests for unexpected raw responses by @smaye81 in #774

Other Changes

  • Test the referenceserver and grpcserver implementation of gRPC-web protocol using gRPC-web JS client by @smaye81 in #751
  • Add docs for writing test cases by @smaye81 in #791
  • Add additional documentation to the proto module and update error code in proto model to use an enum by @smaye81 in #792
    • This includes a backwards-incompatible change. The Error.code field is now an enum and not an int32. This will require corresponding code changes in conformance clients and servers.
  • Rename test suites and test cases according to new, documented naming convention by @smaye81 in #786
    • This includes backwards-incompatible changes. Configuration for known failing tests may need to be updated to account for new names.

Full Changelog: v1.0.0-rc2...v1.0.0-rc3