Skip to content

Releases: ollls/quartz-h2

0.8.5

09 Jul 15:05
9cecdf9
Compare
Choose a tag to compare
  • Ability to pass http/2 trailing headers in response. (grpc)

  • http/1.1 Web-sockets. (tapir)

  • Configurable thread pools, additional start methods: startSync, startAsync

  • Optional "sslCtx: Option[SSLContext]

  • doc/index.html

v0.7

09 Apr 15:14
a935a8f
Compare
Choose a tag to compare

What's Changed

  • version upgrades and adjustment for new ( CE and FS2) with scala 3.3.3 LTS

  • logback.xml instead of logback-test.xml

  • recommended security patch for logback: CWE-502: Deserialization of Untrusted Data

v0.5.1

19 May 18:44
Compare
Choose a tag to compare
  • Fallback to http/1.1 when http/2 cannot be negotiated, with http/1.1 chunked output from fs2 Stream.
  • Version update to CATS Effect 3.5.0.

v0.4.6

17 Apr 16:23
d294e5b
Compare
Choose a tag to compare
  • TLS Server Name indication( SNI) available in the request. Route DSL "!" operator added to match request with TLS SNI, enabling virtual hosting based on SNI host. Check case req @ GET -> Root / "snihost" and case "localhost" ! GET -> Root / "example" in example folder. SNI name won't be present if you use IP address, like 127.0.0.1 to access, it needs to be "localhost" or proper DNS name. It will be 404 if SNI name won't match.

  • client TLS cipher information shown in the log.

  • sbt test now works with minitest.runner.Framework. Please, use test/scala as a reference or please add more tests and submit them.

  • Incoming connection flow control code refreshed (accumData -> dataEvalEffectProducer), potential conflict removed. sbt test#1 covers that scenario.

  • fixes for HTTP/2 client to prevent freezes when unexpected data send or server not responding properly.

  • SonarCloud's Quality Gate code duplication complain with H2 client/server code resolved, Http2ConnectionCommon base trait introduced.

  • ./h2spec http2 -h localhost -p 8443 -t -k - now gives 94 tests, 94 passed. Long lingering Issue with expired streams resolved without performance and memory overhead. Unknown streamID for window update after the stream ends won't trigger reconnect.

  • QuartzH2Server.setLoggingLevel() allows to control logging level programmatically. Used with sbt test also.

  • examples/Run.scala updated to recognize "--debug "--error" "--off" options to configure log levels. For example: sbt "IO/run --off" will switch off logging, so you can run h2load.

  • QuartzH2Server.shutdown() method to stop server, used with sbt test.

  • Logging messages updated and some output switched from info to debug.

v0.4.5

05 Apr 21:38
58e136d
Compare
Choose a tag to compare
  1. HTTP/2 Client: TLS SNI added. quartz-h2-gptapi works again.
  2. New colored logging configuration for logback, console.log with rotation. 'sbt IO/run' to check it out.
  3. User requests GET,POST,etc are logged as one liner in INFO mode, for perf tests please log level to ERROR or OFF.

0.4.3

21 Mar 22:09
885685c
Compare
Choose a tag to compare
  • HTTP/2 Client: Avoid connection resets for massive parallel loads with many parallel HTTP/2 streams and many connections.
  • HTTP/2 Client: Connection timeout parameter for QuartzH2Client.open().
  • HTTP/2 Client: QuartzH2Client.open() requires SSLContext, where TLS version and trust can be configured.
  • HTTP/2 Client: Compatibility fix for CloudFront, etc HTTP/2 services.
  • Simplified inbound flow management, now in one function. Two versions of the same function for client and server.
  • Log levels adjustments client/server.
  • Scala doc comments.

v0.4.1

19 Mar 19:54
b79ac72
Compare
Choose a tag to compare
  • HTTP/2 Client compatibility fixes with CloudFront HTTP/2. Quartz-H2 Http/2 client tested with chatGPT API.
  • Improvements for HTTP/2 client, better logging with trace and debug levels.

v0.4.0

15 Mar 03:33
7b04080
Compare
Choose a tag to compare
  • Configurable INITIAL_WINDOW_SIZE for inbound flow control.
  • Embedded multi stream HTTP/2 Client (h2 TLS ALPN and h2c prior knowledge only) with doGet, doPost, etc.
  • streamId and connId accessible in Request.
  • configurable onConnect( connId ) and onDisconnect(connId) handlers for Http/2 client connection management.
  • scala doc comments on most popular user exposed structures and calls.

v0.3.0

14 Feb 18:56
eda48c8
Compare
Choose a tag to compare
  • new web filter: Request => IO[Either[Response, Request]]. Old Option based filter was removed.
  • ReaderT(aka RIO) web routes, see "examples/RIO" on how to use RIO with environment and optional cats.Resource.
  • fix for upcoming cat effect 3.5.x: async cancelation.
  • cats-effect jar marked as "provided", cats-effect jar of specific version can be configured externally in user projects build.sbt or sbt assembly.
  • "sbt assembly "added in "Hello World" template demo project. It can be run as standalone jar.

v0.2.1.1

17 Jan 17:10
ea9c09a
Compare
Choose a tag to compare

version upgrade to cats effects 3.4.5
removed optional packet priority support with cats.Dequeue to fix stability issue with new 3.4.x Queues.