A networking framework that evolves with your application
APACHE-2.0 License
Bot releases are hidden (Show)
Published by idelpivnitskiy about 3 years ago
This is a minor maintenance release appropriate for all ServiceTalk users that contains several bug fixes and improvements.
JDK17-compatible ✅
BeforeFinallyHttpOperator
: add option to discard signals after cancellation (#1835)Developer note: Additional API deprecation advisories and guidance has been added in each of the 0.41.X releases. Please build your application with the latest 0.41.X release and carefully review the deprecation warnings reported and associated suggestions. Changes to applications may be required for compatibility with future versions of ServiceTalk beyond the API compatible 0.41.X series. While there are many deprecations for planned future API changes, most applications should require few changes as the most significant changes are to internal or specialized APIs. If you have concerns or expect problems related to any of the API deprecations please report these as an issue.
IoExecutor
create w/ ThreadFactory
(#1811)
IoThreadFactory
as a replacement for java.util.concurrent.ThreadFactory
which will be required in the future to build an IoExecutor
.IoThreadFactory
and deprecates existing NettyIoExecutors
factories that accept ThreadFactory
.GrpcClientBuilder#MultiClientBuilder
and GrpcClientBuilder#buildMulti
method (#1808)GrpcClientBuilder.disableHostHeaderFallback
in favor of GrpcClientBuilder.hostHeaderFallback(boolean)
;GrpcClientBuilder.disableDrainingRequestPayloadBody
in favor of GrpcClientBuilder.drainRequestPayloadBody(boolean)
;HttpReporter.Builder.disableSpanBatching
in favor of HttpReporter.Builder.spansBatchingEnabled(boolean)
;HttpServerBuilder.disableDrainingRequestPayloadBody
in favor of HttpServerBuilder.drainRequestPayloadBody(boolean)
;SingleAddressHttpClientBuilder.disableHostHeaderFallback
in favor of SingleAddressHttpClientBuilder.hostHeaderFallback(boolean)
;DefaultAutoRetryStrategyProvider#disableWaitForLoadBalancer
in favor of DefaultAutoRetryStrategyProvider#waitForLoadBalancer(boolean)
;DefaultAutoRetryStrategyProvider#disableRetryAllRetryableExceptions
in favor of DefaultAutoRetryStrategyProvider#retryAllRetryableExceptions(boolean)
;HttpServerBuilder
protected methods (#1830)
HttpServerBuilder#doListen
;HttpServerBuilder#buildExecutionContext
;onComplete
(#1838)subscribeShareContext
to missing static sources (#1812)NettyIoExecutors
for public NettyIoExecutors
(#1814)responseTime
and totalTime
(#1843)ProxyTunnel
wait for all input to copy (#1816)ConnectionCloseHeaderHandlingTest
don't write empty payload (#1818)appSerializerUtf8FixLen
in tests if content-length is byte length (#1822)H2ToStH1UtilsTest
(#1748)GracefulConnectionClosureHandlingTest
(s) (#1840)japicmp.sh
to compare versus local build (#1810)Every idea, review, and bug-report counts and so we thought it is worth mentioning those who helped in this area. Please report an unintended omission.
Published by Scottmitch about 3 years ago
This is a minor maintenance release appropriate for all ServiceTalk users that contains several bug fixes and improvements.
EnforceSequentialModeRequesterFilter
for http-utils
module (#1752)Callable
with AsyncContext
via public API (#1798)Http2Exception
type to the public API that exposes HTTP/2 error code (#1803)Developer note: Additional API deprecation advisories and guidance has been added in each of the 0.41.X releases. Please build your application with the latest 0.41.X release and carefully review the deprecation warnings reported and associated suggestions. Changes to applications may be required for compatibility with future versions of ServiceTalk beyond the API compatible 0.41.X series. While there are many deprecations for planned future API changes, most applications should require few changes as the most significant changes are to internal or specialized APIs. If you have concerns or expect problems related to any of the API deprecations please report these as an issue.
payloadBody(CloseableIterable<Buffer>)
methods (#1797)ExecutionStrategy
offload*()
(#1791) (#1795)syncUninterruptibly()
and awaitRequestNUninterruptibly()
in tests (#1756)ExecutionStrategy
simplification deprecations for gRPC builders (#1804)ExecutionStrategy
simplification deprecations (#1781) (#1793)Http2Exception
into appropriate GrpcStatusCode
(#1803)RST_STREAM
on client deadline expire (#1801)HttpService
(s) (#1753)NettyHttpServer
: log DecoderException
s at WARN
level (#1749)IoThreadFactory
create daemon threads by default (#1739)servicetalk-loadbalancer
module tests to jUnit5 (#1762)TestExecutor
AsyncContextMap
(#1675)AsyncContext
use and name "thread" (#1662)InterruptedException
to the NettyPipelinedConnectionTest
tests (#1744)Every idea, review and bug report counts and so we thought it is worth mentioning those who helped in this area. Please report an unintended omission.
Published by idelpivnitskiy about 3 years ago
This is a minor maintenance release appropriate for all ServiceTalk users that contains several bug fixes and improvements.
MultiAddressHttpClientBuilder
deprecation and de-deprecation refactoring (#1722)
@Deprecated
annotation from ioExecutor
, executionStrategy
, and bufferAllocator
methods;MultiAddressHttpClientFilterFactory
;appendClientFilter
methods accepting MultiAddressHttpClientFilterFactory
;StreamingHttpClientFilterFactory#asMultiAddressClientFilter
.HttpExecutionStrategy.invokeService
(#1720)AllWritesPromise
should not be writable after channel is closed (#1696)RoundRobinLoadBalancerFactory
for execution strategy computation (#1693)ConnectionInfo#toString()
format is consistent (#1746)AbstractRetryingFilterBuilder
to require jitter (#1692)HttpTransportObserverTest#clientFailsRequestPayloadBody
(#1702)HttpRequestDecoderTest.unexpectedContentAfterNoContentHeaders()
(#1700)PublisherFlatMapSingleTest
reuse existing Executor
(#1707)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.
Published by idelpivnitskiy over 3 years ago
This is a minor maintenance release appropriate for all ServiceTalk users that contains several bug fixes and improvements.
RunnableCompletable
(#1686)RoundRobinLoadBalancer
class and plan to make it pkg-private in future releases. As a replacement, we offer a new RoundRobinLoadBalancerFactory
top-level class.Publisher#flatMapConcatIterable
propagate error even if no onSubscribe (#1671)SequentialSubscription
reentry bug fix (#1676)StreamingHttpPayloadHolder
remove unused constructor argument (#1680)Completable#fromRunnable
and Single#fromCallable
implementations (#1685)DefaultExecutor
internally use AutoCloseable
(#1691)repeatWhen
, retry
, retryWhen
(#1683)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.
Published by idelpivnitskiy over 3 years ago
This is a minor maintenance release appropriate for all ServiceTalk users that contains several bug fixes and improvements.
publishAndSubscribeOn
operators (#1648)Publisher#buffer
doesn't emit if count is met or original terminates (#1650)Single#concat(Publisher)
potential demand deadlock fix (#1646)RetryableException
(#1641)FromNPublisher
: limit recursion depth to 1 (#1653)SingleConcatWithPublisher
: limit recursion depth to 1 (#1654)Single.concat(Publisher)
defer subscribe to Publisher
until requested (#1643)ClientEffectiveStrategyTest
and ServerEffectiveStrategyTest
cleanups (#1667)TestSubscription#requestedEquals(0)
incorrectly validates the value (#1642)servicetalk-http-*
tests to junit5 (#1659)0.41
branch (#1651)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.
Published by bondolo over 3 years ago
This is a minor maintenance release appropriate for all ServiceTalk users that contains several bug fixes.
Publisher.from
(#1626)PublisherFlatMapSingle
's demand handling (#1627)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.
Published by bondolo over 3 years ago
This release contains the following changes:
Publisher#flatMapMergeSingle
catch an propagate unexpected errors downstream (#1614)Single#concat(Publisher)
onNext
error propagation (#1615)DefaultDnsServiceDiscovererBuilder#maxUdpPayloadSize
validation msg fix (#1589)DefaultServiceDiscoveryRetryStrategy
may emit duplicated SD events (#1586)null
peer host for TLS and disabling host and port inference and SNI altogether (#1561)assertNoAsyncErrors
more queue types and msg arg (#1583)servicetalk-client-api
tests from jUnit4 to jUnit5 (#1612)servicetalk-client-api-internal
from jUnit4 to jUnit5 (#1608)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.
Published by idelpivnitskiy over 3 years ago
This patch release contains the following changes:
DefaultServiceDiscoveryRetryStrategy
may emit duplicated SD events (#1586)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.
Published by idelpivnitskiy over 3 years ago
This patch release contains the following changes:
DefaultServiceDiscoveryRetryStrategy
may emit duplicated SD events (#1586)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.
Published by chemicL over 3 years ago
This release contains the following significant changes:
ByteBuffer
(s) by ServiceTalkBufferAllocator
(#1528)Single#zipDelayError
operator (#1515)producer
& consumer
(#1513)append
method on all filter factories (#1578)offloadWithThreadAffinity
(#1564)publishAndSubscribeOnOverride
operators (#1527)transport-netty-internal
(#1549)grpc-api
(#1548)shutdownOutput()
for SSL connections prematurely closes the Channel (#1502)Publisher#flatMapMergeSingle
mapped source duplicate terminal improved visibility (#1516)AsyncContext
test fixture for service filters (#1505)
AsyncContext
visibility for the following service side filters:
ContentCodingHttpServiceFilter
BasicAuthHttpServiceFilter
TrailersOnly
response when gRPC endpoints throw an error (#1573)equals
and hashCode
on IdentityContentCodec
(#1525)UniformStreamByteDistributor
for HTTP/2 connections (#1523)NettyConnectionClosing#onClosing()
on HTTP/2 channel-inactive (#1560)DRYRUN
mode (#1498)servicetalk-http-api
and servicetalk-http-netty
(#1521)http-api:testFixtures
usable in other modules (#1570)ByteBuf
leak in HttpObjectDecoderTest
(#1508)BufferInputStream#skip(long)
(#1572)closePipelinedAfterTwoRequestsSentBeforeAnyResponseReceived
(#1557)PrematureClosureBeforeResponsePayloadBodyTest#notAllHeadersReceived()
(#1504)GracefulConnectionClosureHandlingTest#closeIdleBeforeExchange
test (#1500)ProxyTunnel
to always use the IP-address instead of the localhost (#1563)ignoreFailures
via system property (#1524)Buffer
byte[]
accessor methods javadoc (#1517)README.adoc
to servicetalk-test-resources
(#1509)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.
Published by idelpivnitskiy over 3 years ago
This patch release contains the following changes:
RoundRobinLoadBalancer
reduce copy/resize for connection add/remove (#1514)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.
Published by idelpivnitskiy over 3 years ago
This patch release contains the following changes:
CharSequences.newAsciiString(String)
(#1503)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.
Published by idelpivnitskiy over 3 years ago
This patch release contains the following significant changes:
SslConfig
builders (#1476)H1SpecExceptions
add option to allow LF without proceeding CR (#1475)Publisher.scanWithLifetime(ScanWithLifetimeMapper)
operator (#1450)Publisher.timeoutTerminal(Duration)
operator (#1445)onError*
operators (#1435)Single.zipWith
and Single.zip
operators (#1431)CharSequences#parseLong(CharSequence)
(#1469)TimeoutHttpServiceFilter
, support for a custom TimeoutFromRequest
function for both timeout filters, and ability to apply a timeout for the whole response (including paylaod body).CharSequences.newAsciiString
accept CharSequence
(#1470)CharSequences.isAsciiString
and replace its internal usages (#1451)io.servicetalk.http.api.CharSequences
(#1368)idleTimeout
-> timeout
(#1446)
idleTimeout
operators are deprecated now, migrate to the new operator name timeout
ContentCodec
API with offest
& length
(#1440)PayloadInfo#isEmpty
returns true
(#1495)Publisher#scanWith(ScanWithMapper)
incorrect/missing terminal after cancel (#1458)Publisher.empty()
message body (#1497)HttpTimeoutFilter
include original timeout on message body timeout (#1494)DurationUtils#isInfinite
utility (#1496)Publisher#toNanos
to DurationUtils
(#1493)H2PriorKnowledgeFeatureParityTest
remove exception verification workaround (#1477)HttpHeaders
impl for HTTP/2 does not throw NullPointerException
(#1425)WriteStreamSubscriber
(#1465)Publisher.toNanos(Duration)
should be static (#1454)junit-vintage-engine
(#1452)servicetalk-concurrent-api
module from junit4 to junit5 (#1415)RangeIntPublisher
add explicit cast to int
(#1443)grpc-accept-encoding
when the only option is identity
(#1433)Publisher.from(..)
2 and 3 arity overloads (#1432)MAINTAINERS.adoc
(#1448)Publisher.from(T, T, T)
javadoc (#1439)--max-workers
gradle param (#1444)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.
Published by idelpivnitskiy over 3 years ago
This patch release contains the following significant changes:
TRACE
request doesn't have content-length header for HTTP/2 (#1429)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.
Published by bondolo over 3 years ago
This patch release contains the following significant changes:
io.servicetalk.encoding.api.ContentCodings
has been deprecated. Use the Netty based codecs available under the same name, from the io.servicetalk.encoding.netty
package.SslConfig
APIs (#1387)
SecurityConfigurator
and related secure()
builder methods have been deprecated. Use the Builder.sslConfig(SslConfig)
APIs instead.servicetalk-concurrent-jdkflow
artifacts (#1401)GrpcBindableService
interface for DI creation and configuration (#1374)GrpcPayloadWriter
(#1406)
GrpcPayloadWriter
instances where previously ServiceTalk would close them when the handler returned.grpc-status
code was changed from INTERNAL
to UNKNOWN
if the grpc-status is not present.AsyncContext
put API relative to @Nullable
(#1399)
AsyncContextMap
values may now be null
payloadBodyAndTrailers
, transformRawPayloadBody
and transformRaw
methods.io.servicetalk.http2.allowInvalidContentLength
system property was removed.io.netty.http2.validateContentLength
(will be removed in future releases).MultiAddressHttpClientBuilder
and PartitionedHttpClientBuilder
should use initializer(SingleAddressInitializer)
builder method to customize configuration of internal SingleAddressHttpClient
instances instead of methods at the builder itself. Deprecated methods will be removed in the next release.UdpReporter.Builder#enableWireLogging
consistent with other modules (#1418)
UdpReporter.Builder#enableWireLogging(String)
is deprecated and replaced with a new overload UdpReporter.Builder#enableWireLogging(String, LogLevel, BooleanSupplier)
. The deprecated variant will be removed in the next release.Verifiers.stepVerifier
back to StepVerifiers.create
(#1392)
Verifiers
class will be removed in the next release.BufferOutputStream.write(int)
should write as byte
and not int
(#1379)transfer-encoding: chunked
inside transform
method (#1408)Content-Length
header values (#1427)FromInputStreamPublisher
should apply an upper bound to temporary buffer size (#1416)HeaderUtils#pathMatches
incorrectly compares two different CharSequence
implementations (#1380)CharSequence
equality checks with contentEquals
(#1383)HttpRequestMetaData
query string empty value parsing fix (#1355)HttpCookiePair
impls should treat name and value case-sensitively (#1370)emptyAsyncCloseable()
(#1367)ContentCodec
exceptions (#1428)EmbeddedChannel
with SocketChannel
for server flush strategy (#1393)TcpConnector
reduce log noise (#1400)LoadBalancedStreamingHttpClient
should not hide PayloadInfo
of requests (#1384)Matchers.assertThat
(#1382)runtimeOnly
(#1422)H2PriorKnowledgeFeatureParityTest#trailersWithContentLength()
(#1359)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.
Published by idelpivnitskiy over 3 years ago
This patch release contains the following significant changes:
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.
Published by idelpivnitskiy over 3 years ago
This patch release contains the following significant changes:
HEAD
requests with content-length
header over HTTP/2 (#1360)HttpRequestMetaData
query string empty value parsing fix (#1355)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.
Published by tkountis over 3 years ago
This patch release contains the following significant changes:
io.servicetalk.http2.allowInvalidContentLength
)which will be removed in a future release (see commit for more details).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.
Published by tkountis over 3 years ago
This release contains the following significant changes:
Publisher#scanWith
operator (#1326)PayloadWriter#close(Throwable)
(#1320)CharSequences#split
to support trim and min copies (#1335)CharSequences
cleanup (#1311)io.servicetalk.http.api.CharSequences
has been deprecated and the replacement is available here io.servicetalk.buffer.api.CharSequences
. The deprecated API will be removed in the upcoming releases.
As part of this work the following new methods were introduced:
StreamingHttp[Request|Response]#messageBody()
StreamingHttp[Request|Response]#transformMessageBody(UnaryOperator)
The following methods were deprecated and will be removed in the upcoming releases:
*StreamingHttp[Request|Response]#payloadBodyAndTrailers()
*StreamingHttp[Request|Response]#transformRawPayloadBody(UnaryOperator)
*StreamingHttp[Request|Response]#transformRaw(TrailersTransformer)
NettyChannelPublisher
duplicate onError
(#1343)Completable#merge(Publisher)
subscriber concurrency updates (#1334)CloseHandler
avoid writing after channel closed (#1346)Completable#mergeDelayError(Publisher)
and HTTP client control flow (#1336)content-length
when transfer-encoding: chunked
is present (#1349)CONNECT
request (#1347)EmptySubscription
propagate error to Subscriber
(#1319)[Single|Completable]
to Publisher
and Publisher#scanWith
offloading and async context fixes (#1333)Publisher#flatMapMerge*
preserve error (#1325)Publisher#flatMapConcatIterable(..)
to not cancel if onNext
throws (#1324)RoundRobinLoadBalancer
closes connections to inactive addresses (#1351)content-length
value(s) (#1350)HttpResponseDecoderTest
: Improve tests for variable response body length (#1348)ThreadContextMap
conflict check on ST default provider (#1344)Http2Exception
class (#1318)ServiceTalkTestTimeout
remove default min timeout limit (#1322)HttpProtocolVersion
in requests/responses based upon protocol selection (#1321)IoExecutor
or Executor
instance gets closed (#1337)Publisher [toIterable | toInputStream]
simplify internal queue limit (#1331)OnSubscribeIgnoringSubscriberForOffloading
empty subscription usage (#1330)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.
Published by tkountis almost 4 years ago
This release contains the following significant changes:
HttpConnectionContext#protocol()
to return HttpProtocolVersion
(#1307)GrpcServiceContext.GrpcProtocol#httpProtocol()
to return HttpProtocolVersion
(#1307)IOException
(#1304)DefaultHttpCookiePair#parseCookiePair
public -> package private (#1296)H2ProtocolConfigBuilder#enableFrameLogging(String)
as deprecated (#1315)@FunctionalInterface
annotation for ChannelInitializer
(#1288)ServiceDiscovererTestSubscriber
(#1293)effectivePort
and effectiveHost
from HttpRequestMetaData
(#1276)[Retry|Repeat]Strategies
add deprecated methods to temporarily avoid API breakage introduced by f30df63215c9056f4568ac974663797c04e220d6 (#1244)" (#1275)ServiceTalkHttp2FrameLogger
doesn't log names of Http2Settings
(#1310)AsyncContext
when RequestTarget*Filter
(s) are used (#1308)QueueFullException
from PublisherAsBlockingIterable
(#1300)DefaultSingleAddressHttpClient
may add incorrect host
header by default (#1301)close_notify
TLS alert (#1285)Completable#merge
concurrency fix, new Completable#merge
single arg override (#1291)ConcurrentStack
prevent duplicate concurrent terminals (#1298)CompletableProcessor
and SingleProcessor
race condition fix (#1283)DynamicCompositeCancellable
race condition fix (#1281)DnsResolutionObserver#resolutionCompleted
(#1261)Http2Exception
(s) generated by netty (#1314)AsyncContext
visible from TransportObserver#onNewConnection()
(#1303)Uri
parsers correctly handle malformed authorities (#1306)ServiceTalkWireLogger
consistent with LoggingHandler
(#1309)DefaultHttpCookiePair#parseCookiePair
more strict overflow detection (#1292)FlowControlUtils
remove unused methods (#1282)Tls13Test
(#1255)H2StreamResetException
(#1313)IOException
(#1304)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.