Releases: apple/servicetalk
0.41.2
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 toPublisher
until requested (#1643)
Improvements for tests
- 6be8a8d -
ClientEffectiveStrategyTest
andServerEffectiveStrategyTest
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
- bae121c - Enable CI for
0.41
branch (#1651) - d697674 - Remove SNAPSHOT from validation path for docs (#1657)
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
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
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
- 6201cb5 - Update Jersey 2.32 -> 2.34 (#1619)
- 93deaf6 - Upgrade to Gradle 7.0.2 (#1590)
- 8948abc - Upgrade checkstyle 8.42 -> 8.43 (#1597)
- f94e4b5 - Upgrade PMD 6.34.0 -> 6.35.0 (#1595)
- 677f2c1 - Update proto-google-common-protos 2.0.1 -> 2.3.2 (#1542)
- e1bd758 - Update protobuf-java 3.15.3 -> 3.17.3 (#1541)
- 3fc293e - Update protobuf-gradle-plugin 0.8.15 -> 0.8.16 (#1540)
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
Changes
This patch release contains the following changes:
Bug fixes
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
Changes
This patch release contains the following changes:
Bug fixes
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
Changes
This release contains the following significant changes:
New features
- 2b8b57e - Support wrapping read-only
ByteBuffer
(s) byServiceTalkBufferAllocator
(#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
- Fixes
Improvements
- ce49400 - Produce a
TrailersOnly
response when gRPC endpoints throw an error (#1573) - bdc0c9f - Implementation of
equals
andhashCode
onIdentityContentCodec
(#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
andservicetalk-http-netty
(#1521) - 253c34d - Make
http-api:testFixtures
usable in other modules (#1570) - b6f1e22 - Fix "assume" statements in tests (#1574)
- 67dcd07 - Fix
ByteBuf
leak inHttpObjectDecoderTest
(#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
toservicetalk-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
- 9f16423 - Update netty 4.1.63.Final -> 4.1.65.Final (#1567)
- 4ad70d5 - Update netty-tcnative 2.0.38.Final -> 2.0.39.Final (#1556)
- bc9cd45 - Bump gradle/wrapper-validation-action from 1 to 1.0.3 (#1554)
- 63f30f0 - Update checkstyle 8.41.1 -> 8.42 (#1544)
- 5fa212e - Update pmd 6.33.0 -> 6.34.0 (#1546)
- 5022ddc - Update jmh-core 1.29 -> 1.30 (#1545)
- 484d345 - Update Gradle wrapper to 6.9 (#1531)
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
Changes
This patch release contains the following changes:
Binary compatibility fixes
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
Changes
This patch release contains the following changes:
Binary compatibility fixes
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
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
andSingle.zip
operators (#1431) - fc33ee5 - Implement
CharSequences#parseLong(CharSequence)
(#1469) - a953261 - Improve timeout support for HTTP (#1456)
- 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
acceptCharSequence
(#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 nametimeout
- 1306f84 - Deprecate
ContentCodec
API withoffest
&length
(#1440)
Bug fixes
- dd4dc47 - Fix unsubscribed message-body when
PayloadInfo#isEmpty
returnstrue
(#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)
- 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
toDurationUtils
(#1493) - c3ece23 -
H2PriorKnowledgeFeatureParityTest
remove exception verification workaround (#1477) - 097ea26 - Verify that
HttpHeaders
impl for HTTP/2 does not throwNullPointerException
(#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 toint
(#1443) - 58dcb6f - Skip
grpc-accept-encoding
when the only option isidentity
(#1433) - 0585f9f - Add
Publisher.from(..)
2 and 3 arity overloads (#1432)
Documentation
- dc35df8 - Update
MAINTAINERS.adoc
(#1448) - 4d60e67 - Fix typo in
Publisher.from(T, T, T)
javadoc (#1439)
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
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.