Skip to content

Releases: apple/servicetalk

0.41.2

15 Jul 20:41
8a721d8
Compare
Choose a tag to compare

Changes

This is a minor maintenance release appropriate for all ServiceTalk users that contains several bug fixes and improvements.

API deprecation

  • ac72f93 - Deprecate OpenTracing APIs that will be removed later (#1669)
    • For more context of future OpenTracing API changes see "Fix B3 sampling API to support missing values" (#1640)
  • ebd777e - Deprecate publishAndSubscribeOn operators (#1648)

Bug fixes

  • 05a1cc5 - Fix H2 Server with SNI bug (#1665)
  • fd8f27e - Publisher#buffer doesn't emit if count is met or original terminates (#1650)
  • ac8937d - HTTP request may become non-retryable when first write fails (#1644)
  • f615202 - Single#concat(Publisher) potential demand deadlock fix (#1646)

Improvements

  • a0c4a43 - Mark any exception before the first message is written as RetryableException (#1641)
  • 1c19c0a - FromNPublisher: limit recursion depth to 1 (#1653)
  • ecd9ff3 - SingleConcatWithPublisher: limit recursion depth to 1 (#1654)
  • ea2f56c - Single.concat(Publisher) defer subscribe to Publisher until requested (#1643)

Improvements for tests

  • 6be8a8d - ClientEffectiveStrategyTest and ServerEffectiveStrategyTest cleanups (#1667)
  • 8f2c372 - TestSubscription#requestedEquals(0) incorrectly validates the value (#1642)
  • 1920d33 - Migrate servicetalk-http-* tests to junit5 (#1659)
  • fe4eff2 - Migrate tests of misc modules to junit5 (#1664)
  • fb6fef8 - Migrate servicetalk-data-jackson-jersey and servicetalk-http-router-jersey tests to junit5 (#1645)

Documentation

  • 1835d89 - Convert "ASCII-art" arrows to unicode arrows (#1668)
  • af1f67d - Fixes issues with GRPC Examples documentation (#1656)

Build/Release/Github actions


Thank you

Every idea and bug report counts and so we thought it is worth mentioning those who helped in this area. Please report an unintended omission.

0.41.1

28 Jun 20:05
Compare
Choose a tag to compare

Changes

This is a minor maintenance release appropriate for all ServiceTalk users that contains several bug fixes.

Bug fixes

  • fa5f888 - Handle reentry for n-arity Publisher.from (#1626)
  • 07b451c - Fix PublisherFlatMapSingle's demand handling (#1627)

Improvements for tests

  • 60d7896 - Migrate servicetalk-concurrent-reactivestreams tests to Junit 5 (#1628)
  • ebfedfa - Migrate servicetalk-concurrent-jdkflow tests to Junit 5 (#1568) (#1624)

Thank you

Every idea and bug report counts and so we thought it is worth mentioning those who helped in this area. Please report an unintended omission.

0.41.0

16 Jun 19:16
Compare
Choose a tag to compare

Changes

This release contains the following changes:

Bug fixes

  • 4e9c7e0 - Publisher#flatMapMergeSingle catch an propagate unexpected errors downstream (#1614)
  • 1ef82dd - Single#concat(Publisher) onNext error propagation (#1615)
  • 4f7110b - Defer trailer transformer callbacks on null msg-body to subscription (#1577)
  • fbcfc7f - Prevent memory leak if HTTP/1.1 encoding fails (#1610)
  • b2a26ca - DefaultDnsServiceDiscovererBuilder#maxUdpPayloadSize validation msg fix (#1589)
  • a51d2f2 - DefaultServiceDiscoveryRetryStrategy may emit duplicated SD events (#1586)

Improvements

  • 4c8e681 - Allow using null peer host for TLS and disabling host and port inference and SNI altogether (#1561)

Improvements for tests

  • 0d06d0d - New PMD rules introduced in PMD 6.35 (#1596)
  • 62dc0c1 - assertNoAsyncErrors more queue types and msg arg (#1583)

  • 6384f04 - Migrate servicetalk-client-api tests from jUnit4 to jUnit5 (#1612)
  • 83c9206 - Migrate servicetalk-client-api-internal from jUnit4 to jUnit5 (#1608)
  • 8cffe4c - Migrate servicetalk-dns-discovery-netty tests to JUnit 5 (#1568) (#1607)
  • aa4d662 - Migrate servicetalk-opentracing-zipkin-publisher tests to JUnit 5 (#1568) (#1606)
  • f85f15d - Migrate servicetalk-opentracing-log4j2 tests to JUnit 5 (#1568) (#1605)
  • 6fd2e31 - Migrate servicetalk-opentracing-http tests to JUnit 5 (#1568) (#1604)
  • e4e1704 - Migrate servicetalk-opentracing-asynccontext tests to JUnit 5 (#1568) (#1603)
  • e890ac9 - Migrate servicetalk-transport-netty-internal tests to JUnit 5 (#1568) (#1601)
  • bae5f7b - Migrate servicetalk-transport-api tests to JUnit 5 (#1568) (#1600)
  • 1a20e12 - Migrate servicetalk-opentracing-inmemory tests to JUnit 5 (#1568) (#1599)
  • d89a9a8 - Migrate servicetalk-buffer-api tests to JUnit 5 (#1568) (#1592)
  • 7f2d5a1 - Migrate servicetalk-buffer-netty tests to JUnit 5 (#1568) (#1593)

Build/Release/Github actions

  • 9aac76b - run GitHub release action publish task without parallel (#1620)
  • 63f1673 - Bump scacap/action-surefire-report from 1.0.11 to 1.0.12 (#1618)
  • eea9bde - Bump scacap/action-surefire-report from 1.0.10 to 1.0.11 (#1611)
  • 9d90c14 - Upgrade Gradle to 7.0.2 and configure parallel tasks (#1598)
  • a3f1c02 - Bump gradle/wrapper-validation-action from 1.0.3 to 1.0.4 (#1594)
  • 305eeea - Execute Gradle tasks in parallel (#1591)
  • 0c4bd54 - Bump actions/cache from 2.1.5 to 2.1.6 (#1587)
  • 571440a - Bump scacap/action-surefire-report from 1.0.9 to 1.0.10 (#1584)
  • 426165d - Forces a check for updated snapshots on remote repositories for japicmp (#1581)
  • 0cf4944 - release.sh: check that the next version doesn't equal to the current one (#1582)

Dependency upgrades


Thank you

Every idea and bug report counts and so we thought it is worth mentioning those who helped in this area. Please report an unintended omission.

0.40.1

28 May 07:00
Compare
Choose a tag to compare

Changes

This patch release contains the following changes:

Bug fixes

  • eac9813 - DefaultServiceDiscoveryRetryStrategy may emit duplicated SD events (#1586)

Thank you

Every idea and bug-report counts and so we thought it is worth mentioning those who helped in this area. Please report an unintended omission.

0.39.3

28 May 06:09
Compare
Choose a tag to compare

Changes

This patch release contains the following changes:

Bug fixes

  • 5556e22 - DefaultServiceDiscoveryRetryStrategy may emit duplicated SD events (#1586)

Thank you

Every idea and bug-report counts and so we thought it is worth mentioning those who helped in this area. Please report an unintended omission.

0.40.0

26 May 16:58
Compare
Choose a tag to compare

Changes

This release contains the following significant changes:

New features

  • 2b8b57e - Support wrapping read-only ByteBuffer(s) by ServiceTalkBufferAllocator (#1528)
  • d97df5f - Add Single#zipDelayError operator (#1515)
  • 98ff59d - Support additional opentracing span kinds producer & consumer (#1513)

API or Behavior changes

  • 98e40c0 - Unconditional timeout filter for gRPC server and client (#1529)
  • 6f0d87f - Deprecate append method on all filter factories (#1578)
  • a31605d - Deprecate HTTP/gRPC offloadWithThreadAffinity (#1564)
  • 0c27f44 - Deprecate publishAndSubscribeOnOverride operators (#1527)
  • 42be7ff - Restore public API changes for transport-netty-internal (#1549)
  • e055ea7 - Restore public API changes for grpc-api (#1548)

Bug fixes

  • 4e128eb - Disable auto ack for HTTP/2 PING frames by netty (#1558)
  • 2bc89b5 - shutdownOutput() for SSL connections prematurely closes the Channel (#1502)
  • 362a697 - Publisher#flatMapMergeSingle mapped source duplicate terminal improved visibility (#1516)
  • 9a56a3d - Introduce AsyncContext test fixture for service filters (#1505)
    • Fixes AsyncContext visibility for the following service side filters:
      • ContentCodingHttpServiceFilter
      • BasicAuthHttpServiceFilter

Improvements

  • ce49400 - Produce a TrailersOnly response when gRPC endpoints throw an error (#1573)
  • bdc0c9f - Implementation of equals and hashCode on IdentityContentCodec (#1525)
  • 3a20890 - Use UniformStreamByteDistributor for HTTP/2 connections (#1523)
  • c525813 - Don't load netty-transport-native classes when native lib isn't available (#1539)
  • a07bf29 - Move gRPC deadline details to new internal module (#1501)
  • 70e3368 - Trigger NettyConnectionClosing#onClosing() on HTTP/2 channel-inactive (#1560)
  • edc0e6d - Optimize encoding of HTTP/2 frames to write less on the wire (#1518)
  • 487f77e - Reduce test logging output from build (#1506)
  • e516c64 - release.sh: identify the remote before switching into DRYRUN mode (#1498)

Improvements for tests

  • 6b4a240 - Script that checks API/ABI compatibility between versions (#1552)
  • cd26412 - junit4 to junit5 migration. step 2 - modules servicetalk-http-api and servicetalk-http-netty (#1521)
  • 253c34d - Make http-api:testFixtures usable in other modules (#1570)
  • b6f1e22 - Fix "assume" statements in tests (#1574)
  • 67dcd07 - Fix ByteBuf leak in HttpObjectDecoderTest (#1508)
  • cbfb48e - Test BufferInputStream#skip(long) (#1572)
  • 8d92bb5 - Fix flaky closePipelinedAfterTwoRequestsSentBeforeAnyResponseReceived (#1557)
  • c294cc5 - Fix flaky PrematureClosureBeforeResponsePayloadBodyTest#notAllHeadersReceived() (#1504)
  • 8a4f916 - Fix flaky GracefulConnectionClosureHandlingTest#closeIdleBeforeExchange test (#1500)
  • fecc3d3 - Fix ProxyTunnel to always use the IP-address instead of the localhost (#1563)
  • 65a77cb - Do not use TLSv1.1 in tests (#1533)
  • ad7e8e1 - Config test ignoreFailures via system property (#1524)

Documentation

  • 4d0ed54 - Jersey example with multipart file upload support (#1555)
  • 57f1071 - Do not hardcode netty-tcnative version in docs (#1571)
  • d599ab6 - Fix broken link in HTTP timeout example (#1547)
  • 5a60f1f - Minor grammar corrections on blocking-safe-by-default.adoc. (#1526)
  • d045f2c - Minor grammar corrections on async-context.adoc. (#1520)
  • 4bf74e8 - Minor grammar corrections and misspelled words in GOVERNANCE.adoc (#1511)
  • 1267227 - Enhance Buffer byte[] accessor methods javadoc (#1517)
  • c2c3113 - Add README.adoc to servicetalk-test-resources (#1509)

Github actions

  • b88e4fa - Bump actions/checkout from 2 to 2.3.4 (#1553)
  • cd4d6f0 - Reduce default test timeout on CI to 30s for jUnit4 (#1534)
  • 7cfa6b1 - Bump dawidd6/action-download-artifact (#1519)

Dependency upgrades


Thank you

Every idea and bug report counts and so we thought it is worth mentioning those who helped in this area. Please report an unintended omission.

0.39.2

07 May 04:16
Compare
Choose a tag to compare

Changes

This patch release contains the following changes:

Binary compatibility fixes

  • ecec67e - RoundRobinLoadBalancer reduce copy/resize for connection add/remove (#1514)

Thank you

Every idea and bug-report counts and so we thought it is worth mentioning those who helped in this area. Please report an unintended omission.

0.39.1

20 Apr 00:48
Compare
Choose a tag to compare

Changes

This patch release contains the following changes:

Binary compatibility fixes

  • 284cd7c - Restore CharSequences.newAsciiString(String) (#1503)

Thank you

Every idea and bug-report counts and so we thought it is worth mentioning those who helped in this area. Please report an unintended omission.

0.39.0

16 Apr 02:13
Compare
Choose a tag to compare

Changes

This patch release contains the following significant changes:

New features

  • 7aa4751 - Add client and server support for gRPC deadlines (#1462)
  • 808b31c - Add TCP Fast Open support (#1375)
  • 1fc3b68 - Allow overriding key/trust managers on SslConfig builders (#1476)
  • cf51335 - H1SpecExceptions add option to allow LF without proceeding CR (#1475)
  • 6df4265 - Add Publisher.scanWithLifetime(ScanWithLifetimeMapper) operator (#1450)
  • c63d265 - Add Publisher.timeoutTerminal(Duration) operator (#1445)
  • 9fd0add - Publisher, Single, Completable onError* operators (#1435)
  • 786eed8 - Add Single.zipWith and Single.zip operators (#1431)
  • fc33ee5 - Implement CharSequences#parseLong(CharSequence) (#1469)
  • a953261 - Improve timeout support for HTTP (#1456)
    • This adds TimeoutHttpServiceFilter, support for a custom TimeoutFromRequest function for both timeout filters, and ability to apply a timeout for the whole response (including paylaod body).
    • 6948c0f - Use consistent defaults for HTTP Timeout filters (#1486)
  • d7ecc59 - Add a ServiceTalk debugging utilities example (#1459)
  • 59c5411 - Enable SHA256 and SHA512 checksums for published artifacts (#1485)

API or Behavior changes

  • 58aa4da - CharSequences.newAsciiString accept CharSequence (#1470)
  • dab5c28 - Deprecate CharSequences.isAsciiString and replace its internal usages (#1451)
  • dcdf1d5 - Remove deprecated io.servicetalk.http.api.CharSequences (#1368)
  • da2b605 - Publisher, Single, Completable rename idleTimeout -> timeout (#1446)
    • idleTimeout operators are deprecated now, migrate to the new operator name timeout
  • 1306f84 - Deprecate ContentCodec API with offest & length (#1440)

Bug fixes

  • dd4dc47 - Fix unsubscribed message-body when PayloadInfo#isEmpty returns true (#1495)
  • 5b0100b - Fix duration comparison bug in timeout filters and reduce code duplication (#1491)
  • 75a546f - Use only monotonic clock in deadline calculations (#1481)
  • 0372955 - FlakyTest: CancellationTest - Improve close handling (#1404)
    • 1d4b799 - Filter out missed racy close on CancellationTest (#1488)
  • 8f3db89 - Publisher#scanWith(ScanWithMapper) incorrect/missing terminal after cancel (#1458)
  • 35b4293 - Smaller max delays and retry/repeat strategies with delta jitter (#1447)
  • 57c7e74 - gRPC deserializer, multiple nio buffers with multiple messages (#1449)

Improvements

  • 97b45c6 - Optimize HTTP messages with empty payload body (#1479)
  • 82f2dd3 - Do not concatenate Publisher.empty() message body (#1497)
  • fb8af44 - HttpTimeoutFilter include original timeout on message body timeout (#1494)
  • 925142b - Add DurationUtils#isInfinite utility (#1496)
  • ee527ec - Move Publisher#toNanos to DurationUtils (#1493)
  • c3ece23 - H2PriorKnowledgeFeatureParityTest remove exception verification workaround (#1477)
  • 097ea26 - Verify that HttpHeaders impl for HTTP/2 does not throw NullPointerException (#1425)
  • 5ee8446 - Reduce initial size of listeners queue in WriteStreamSubscriber (#1465)
  • 3a253fb - Publisher.toNanos(Duration) should be static (#1454)
  • 0a154c2 - Run JUnit 4 based tests using junit-vintage-engine (#1452)
  • d5cdaac - Migrate tests in servicetalk-concurrent-api module from junit4 to junit5 (#1415)
  • bf7b3a2 - Remove obsolete and unproductive JVM options (#1437)
  • ecb85bd - RangeIntPublisher add explicit cast to int (#1443)
  • 58dcb6f - Skip grpc-accept-encoding when the only option is identity (#1433)
  • 0585f9f - Add Publisher.from(..) 2 and 3 arity overloads (#1432)

Documentation

Github actions

  • bc810aa - Github Actions Remove --max-workers gradle param (#1444)
  • c26cac6 - Github Actions Add CodeQL Analysis (#1442)
  • 627c354 - Github Actions dawidd6/action-download-artifact set workflow_conclusion (#1441)

Dependency upgrades

  • 376282b - Remove jcenter dependencies from build (#1436)
  • d4037d3 - Update netty 4.1.60 -> 4.1.63, netty-tcnative 2.0.36 -> 2.0.38 (#1466)
  • 8366265 - Update log4j 2.14.0 -> 2.14.1 (#1483)
  • 31a86f5 - Update grpc-java 1.36.0 -> 1.36.1 (#1460)
  • 5c39d13 - Update grpc-java 1.36.1 -> 1.37.0 (#1482)
  • 5683e5b - Update checkstyle to 8.41.1, pmd to 6.33.0, spotbugs-plugin to 4.7.0 (#1484)
  • ff0ec96 - Update JMH 1.28 -> 1.29 and me.champeau.jmh plugin 0.5.3 -> 0.6.3 (#1468)
  • 14de7f9 - Bump me.champeau.jmh from 0.6.3 to 0.6.4 (#1480)
  • 1c6d167 - Bump actions/cache from v2.1.4 to v2.1.5 (#1478)
  • 12ddffe - Bump actions/setup-java from v1 to v2 (#1471)
  • 92b55e3 - Bump scacap/action-surefire-report (#1457)
  • ec26d27 - Bump dawidd6/action-download-artifact (#1434)
  • 4946440 - Update dependencies for site documentation (#1461)

Thank you

Every idea and bug report counts and so we thought it is worth mentioning those who helped in this area. Please report an unintended omission.

0.38.1

12 Mar 22:33
Compare
Choose a tag to compare

Changes

This patch release contains the following significant changes:

Bug fixes

  • 6c22657 - Allow client security configuration without trust material (#1430)
  • 15cff22 - Fix NPE when TRACE request doesn't have content-length header for HTTP/2 (#1429)

Thank you

Every idea and bug-report counts and so we thought it is worth mentioning those who helped in this area. Please report an unintended omission.