{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":147747963,"defaultBranch":"main","name":"servicetalk","ownerLogin":"apple","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-09-07T00:14:48.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/10639145?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715730888.0","currentOid":""},"activityList":{"items":[{"before":"733a6a576a7523a652cad40e38c3569ee9f260ae","after":"105066bc95cf3753f2c08642e30daefad91d4bc9","ref":"refs/heads/main","pushedAt":"2024-05-15T00:07:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"idelpivnitskiy","name":"Idel Pivnitskiy","path":"/idelpivnitskiy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3968288?s=80&v=4"},"commit":{"message":"Preparing for 0.42.45-SNAPSHOT development (#2934)\n\nMotivation:\r\n\r\nThe previous snapshot version was incorrect.\r\n\r\nModifications:\r\n\r\nFix it.","shortMessageHtmlLink":"Preparing for 0.42.45-SNAPSHOT development (#2934)"}},{"before":"05aa08301831a3d03dc7b42d8c4553dde2c7aeab","after":"b0c7c04a29c9619c485107ff4eba6550f5e3989f","ref":"refs/heads/gh-pages","pushedAt":"2024-05-14T23:54:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"bryce-anderson","name":"Bryce Anderson","path":"/bryce-anderson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2948506?s=80&v=4"},"commit":{"message":"Publish docs website 0.42","shortMessageHtmlLink":"Publish docs website 0.42"}},{"before":"1a466fda9f6b755683458c1d2c75a7d70eee6a37","after":"733a6a576a7523a652cad40e38c3569ee9f260ae","ref":"refs/heads/main","pushedAt":"2024-05-14T23:54:45.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"bryce-anderson","name":"Bryce Anderson","path":"/bryce-anderson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2948506?s=80&v=4"},"commit":{"message":"Preparing for 0.44.0-SNAPSHOT development","shortMessageHtmlLink":"Preparing for 0.44.0-SNAPSHOT development"}},{"before":"6163b47ac34a61c6d062d6df51b2c049334df936","after":"1a466fda9f6b755683458c1d2c75a7d70eee6a37","ref":"refs/heads/main","pushedAt":"2024-05-14T23:48:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"bryce-anderson","name":"Bryce Anderson","path":"/bryce-anderson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2948506?s=80&v=4"},"commit":{"message":"Suppress JavadocPackage check for servicetalk-loadbalancer-experimental (#2933)","shortMessageHtmlLink":"Suppress JavadocPackage check for servicetalk-loadbalancer-experiment…"}},{"before":"af629a8fe9e4b5dd6edb3a9a3c3c8debc288c118","after":"6163b47ac34a61c6d062d6df51b2c049334df936","ref":"refs/heads/main","pushedAt":"2024-05-14T23:35:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"bryce-anderson","name":"Bryce Anderson","path":"/bryce-anderson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2948506?s=80&v=4"},"commit":{"message":"Fix `javadocAll` task (#2932)\n\n- Exclude `-jersey3-jakartaX` modules;\r\n- Remove `package-info.java` from\r\n`servicetalk-loadbalancer-experimental` because it reuses pre-existing\r\npackage `io.servicetalk.loadbalancer` where `package-info.java` already\r\nexists.","shortMessageHtmlLink":"Fix javadocAll task (#2932)"}},{"before":"f0e7afff111023f3fc59184f837c039912e83ee1","after":"af629a8fe9e4b5dd6edb3a9a3c3c8debc288c118","ref":"refs/heads/main","pushedAt":"2024-05-14T22:37:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"idelpivnitskiy","name":"Idel Pivnitskiy","path":"/idelpivnitskiy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3968288?s=80&v=4"},"commit":{"message":"GitHub Actions: make `./gradlew clean` an independent pipeline step (#2931)\n\nMotivation:\r\n\r\nJakarta modules have some conflicts between `clean` and `check` tasks when they are executed for 2+ modules in a single run.\r\n\r\nModification:\r\n\r\n- Run `clean` as an independent task;\r\n\r\nResult:\r\n\r\nWe expect snapshot build pipelines to recover.","shortMessageHtmlLink":"GitHub Actions: make ./gradlew clean an independent pipeline step (#…"}},{"before":"dd37c3b4ab5e99f8333ce739e6a881e3d031a78b","after":"f0e7afff111023f3fc59184f837c039912e83ee1","ref":"refs/heads/main","pushedAt":"2024-05-14T21:03:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"bryce-anderson","name":"Bryce Anderson","path":"/bryce-anderson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2948506?s=80&v=4"},"commit":{"message":"loadbalancer-experimental: adjust load balancer policy docs and helpers (#2926)\n\nMotivation:\r\n\r\n- More detail could be provided for the P2C and RR `failOpen` configuration\r\n option since it might not be clear what fail-open mean in that context.\r\n- We could use some helpers to make the different policies more discoverable.\r\n\r\nModifications:\r\n\r\n- Adjust the docs for `.failOpen` to add more detail.\r\n- Add LoadBalancerPolicies to aid discoverability of load balancer policies.\r\n- Move away from `new *Builder` pattern and add deprecations.","shortMessageHtmlLink":"loadbalancer-experimental: adjust load balancer policy docs and helpe…"}},{"before":"556a1b1bb8726b8985a02284da0c07c791cc9218","after":"dd37c3b4ab5e99f8333ce739e6a881e3d031a78b","ref":"refs/heads/main","pushedAt":"2024-05-14T20:49:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"idelpivnitskiy","name":"Idel Pivnitskiy","path":"/idelpivnitskiy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3968288?s=80&v=4"},"commit":{"message":"Disable all quality tasks for jakarta modules (#2930)\n\nMotivation:\r\n\r\nNot all tasks were correctly disabled.\r\n\r\nModifications:\r\n\r\n- Disable by task type;\r\n\r\nResult:\r\n\r\nAll unnecessary tasks should be disabled for jakarta modules.","shortMessageHtmlLink":"Disable all quality tasks for jakarta modules (#2930)"}},{"before":"2200df3ed50c12e6f5be400728c6126fe75a2d9a","after":"556a1b1bb8726b8985a02284da0c07c791cc9218","ref":"refs/heads/main","pushedAt":"2024-05-14T19:40:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"idelpivnitskiy","name":"Idel Pivnitskiy","path":"/idelpivnitskiy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3968288?s=80&v=4"},"commit":{"message":"Move `DelayedRetry` to `client-api` as `DelayedRetryException` (#2927)\n\nMotivation:\r\n\r\nCurrently, `servicetalk-traffic-resilience-http` module must define\r\n`servicetalk-http-netty` as API dependency only to access\r\n`RetryingHttpRequesterFilter.DelayedRetry` interface. This can be\r\navoided if we promote this interface to `servicetalk-client-api`.\r\n\r\nModifications:\r\n\r\n- Introduce `io.servicetalk.client.api.DelayedRetryException` interface;\r\n- Deprecate `io.servicetalk.http.netty.RetryingHttpRequesterFilter.DelayedRetry`;\r\n- Introduce `io.servicetalk.http.netty.RetryingHttpRequesterFilter.Builder.retryDelayedRetryExceptions(BiFunction)`;\r\n- Deprecate `io.servicetalk.http.netty.RetryingHttpRequesterFilter.Builder.retryDelayedRetries(BiFunction)`;\r\n- Update `DelayedRetryRequestDroppedException` to implement\r\n`io.servicetalk.client.api.DelayedRetryException` instead of\r\n`io.servicetalk.http.netty.RetryingHttpRequesterFilter.DelayedRetry`;\r\n- Update javadoc;\r\n\r\nResult:\r\n\r\n`servicetalk-traffic-resilience-http` doesn't have to define\r\n`servicetalk-http-netty` as API dependency.","shortMessageHtmlLink":"Move DelayedRetry to client-api as DelayedRetryException (#2927)"}},{"before":"7919d3aaa0f697667f62e070af7940e2360b79ab","after":"2200df3ed50c12e6f5be400728c6126fe75a2d9a","ref":"refs/heads/main","pushedAt":"2024-05-14T19:39:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tkountis","name":"Thomas Kountis","path":"/tkountis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3369598?s=80&v=4"},"commit":{"message":"Traffic resiliency gradient profiles API improvements (comments follow up) (#2921)\n\n* Traffic resiliency profiles API improvements","shortMessageHtmlLink":"Traffic resiliency gradient profiles API improvements (comments follo…"}},{"before":"a65238c01972042742d2cbeb41d58295049d4898","after":"7919d3aaa0f697667f62e070af7940e2360b79ab","ref":"refs/heads/main","pushedAt":"2024-05-14T18:01:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"idelpivnitskiy","name":"Idel Pivnitskiy","path":"/idelpivnitskiy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3968288?s=80&v=4"},"commit":{"message":"`RetryingHttpRequesterFilter`: add on request retry callback (#2916)\n\nMotivation:\r\n\r\nThere are use-cases when users need to perform an action before the\r\nretry, like updating meta-data or logging/metrics. Because all retry\r\nfunctions return `BackoffPolicy`, it's still not known inside the\r\nfunction of `BackoffPolicy` will retry or not because of the retry\r\ncounts limit.\r\n\r\nModifications:\r\n- Add `RetryingHttpRequesterFilter.Builder.onRequestRetry(RetryCallbacks)`\r\nthat users can use to intercept every retry attempt;\r\n- Test that the new callback works for request retries;\r\n\r\nResult:\r\n\r\nUsers can see when the retry actually happens, after backoff time.\r\n\r\nIf there will be a similar use-case for `reserveConnection` in the\r\nfuture, we will add a separate callback.","shortMessageHtmlLink":"RetryingHttpRequesterFilter: add on request retry callback (#2916)"}},{"before":"e207cd21e4af996f0f6d7beb945cb90bf54f2762","after":"a65238c01972042742d2cbeb41d58295049d4898","ref":"refs/heads/main","pushedAt":"2024-05-14T17:57:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"idelpivnitskiy","name":"Idel Pivnitskiy","path":"/idelpivnitskiy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3968288?s=80&v=4"},"commit":{"message":"Support Jersey 3 and Jakarta EE 9/10 (#2919)\n\nMotivation:\r\n\r\nJersey, in its latest releases has adopted both Jakarta EE 9 and 10 which makes a break from the legacy JEE API. This unfortunately makes any Jersey 3 application incompatible with any Jersey 2 application. Widely-used frameworks like Spring have also adopted Jakarta EE 10.\r\nIn order for ServiceTalk to support those applications, it needs to offer Jersey 3-compatible modules that ServiceTalk applications can consume.\r\n\r\nModifications:\r\n\r\n- Add module `servicetalk-data-jackson-jersey3-jakarta9` and `-jakarta10`;\r\n- Add module `servicetalk-data-protobuf-jersey3-jakarta9` and `-jakarta10`;\r\n- Add module `servicetalk-http-router-jersey3-jakarta9` and `-jakarta10`;\r\n- Add module `servicetalk-http-router-jersey3-internal-jakarta9` and `-jakarta10`;\r\n- Add module `servicetalk-http-security-jersey3-jakarta9` and `-jakarta10`;\r\n- Update `build.gradle` in new modules to pull source from the original `-jersey` modules and replace the imports;\r\n- Add Jersey and Jakarta EE dependency versions for both 9 and 10;\r\n- Update related docs to describe how to use Jersey 3.0.x and 3.1.x\r\n\r\nResult:\r\n\r\nApplications can use the relevant new Jersey 3 modules to be compatible with Jakarta EE 9 and 10.","shortMessageHtmlLink":"Support Jersey 3 and Jakarta EE 9/10 (#2919)"}},{"before":"cc52f9556d683e70258b876f2743e6fbf321100b","after":"e207cd21e4af996f0f6d7beb945cb90bf54f2762","ref":"refs/heads/main","pushedAt":"2024-05-14T17:03:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"idelpivnitskiy","name":"Idel Pivnitskiy","path":"/idelpivnitskiy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3968288?s=80&v=4"},"commit":{"message":"Fix flaky `DefaultDnsClientTest.testQueryTimeout(RecordType)` (#2929)\n\nMotivation:\r\n\r\nThe `nanoTime()` check causes flakiness.\r\n\r\nFixes: #2928","shortMessageHtmlLink":"Fix flaky DefaultDnsClientTest.testQueryTimeout(RecordType) (#2929)"}},{"before":"a75d9fae34a993a372b83fa688651f0a5a8fb056","after":"cc52f9556d683e70258b876f2743e6fbf321100b","ref":"refs/heads/main","pushedAt":"2024-05-14T16:11:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"bryce-anderson","name":"Bryce Anderson","path":"/bryce-anderson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2948506?s=80&v=4"},"commit":{"message":"loadbalancer-experimental-provider: make config options evaluate on LB factory creation (#2925)\n\nMotivation:\r\n\r\nProviders are loaded as part of a static initializer and that order can\r\nhappen before or after users set system properties in a non-determinate\r\nmanner. That makes it tough to be sure the config takes affect when a client\r\nis created.\r\n\r\nModifications:\r\n\r\nChange the evaluation of parameters to be when a client builder is created.\r\nThis will make parameter evaluation happen when a client is desired which\r\nmakes parameter evaluation much easier to reason about and test.","shortMessageHtmlLink":"loadbalancer-experimental-provider: make config options evaluate on L…"}},{"before":"6f120398359a9e792c1b0a79f1c305f1a6374c91","after":"a75d9fae34a993a372b83fa688651f0a5a8fb056","ref":"refs/heads/main","pushedAt":"2024-05-13T21:27:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"bryce-anderson","name":"Bryce Anderson","path":"/bryce-anderson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2948506?s=80&v=4"},"commit":{"message":"loadbalancer-experimental-provider: use System.getProperty directly (#2922)\n\nMotivation:\r\n\r\nWe unnecessarily pass in and set a Properties in the\r\nDefaultLoadBalancerProviderConfig constructor that is only used\r\nin the constructor. This doesn't buy anything but noise.\r\n\r\nModifications:\r\n\r\nJust use the System.getProperty and related methods.","shortMessageHtmlLink":"loadbalancer-experimental-provider: use System.getProperty directly (#…"}},{"before":"b757ba2f63e0ea57c2aa50e5b6f59df2cb2fdb57","after":"6f120398359a9e792c1b0a79f1c305f1a6374c91","ref":"refs/heads/main","pushedAt":"2024-05-13T20:45:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"bryce-anderson","name":"Bryce Anderson","path":"/bryce-anderson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2948506?s=80&v=4"},"commit":{"message":"loadbalancer-experimental: add flag to use DefaultLoadBalancer in place of RoundRobin (#2913)\n\nMotivation:\r\n\r\nDefaultLoadBalancer can reproduce the behavior of RoundRobinLoadBalancer\r\nand will eventually replace it, but we need to be careful about it.\r\n\r\nModifications:\r\n\r\nAdd a `RoundRobinLoadBalancerBuilderProvider` that will instantiate\r\na DefaultLoadBalancer in compatibility mode which is gated behind a\r\nflag.\r\n\r\nResult:\r\n\r\nWe can start turning on DefaultLoadBalancer more broadly even for\r\nthose using the RoundRobinLoadBalancerFactory API.","shortMessageHtmlLink":"loadbalancer-experimental: add flag to use DefaultLoadBalancer in pla…"}},{"before":"fd653344ccb4dc1cbb72e40033d0bd1d5c84d8ab","after":"b757ba2f63e0ea57c2aa50e5b6f59df2cb2fdb57","ref":"refs/heads/main","pushedAt":"2024-05-11T16:34:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"idelpivnitskiy","name":"Idel Pivnitskiy","path":"/idelpivnitskiy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3968288?s=80&v=4"},"commit":{"message":"`AbstractTrafficManagementHttpFilter`: rename and defer breaker prtns (#2920)\n\nMotivation:\r\n\r\n1. Align naming with `TrafficResilienceHttpClientFilter` and\r\n`TrafficResilienceHttpServiceFilter`.\r\n2. Don't call to `circuitBreakerPartitions` function if\r\n`CapacityLimiter` drops the request.","shortMessageHtmlLink":"AbstractTrafficManagementHttpFilter: rename and defer breaker prtns ("}},{"before":"c85a8f4dcf95d6d5576b5152b47806d8acbf7bbf","after":"fd653344ccb4dc1cbb72e40033d0bd1d5c84d8ab","ref":"refs/heads/main","pushedAt":"2024-05-11T00:19:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tkountis","name":"Thomas Kountis","path":"/tkountis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3369598?s=80&v=4"},"commit":{"message":"Traffic resiliency outstanding improvements (comments) (#2917)\n\n* Traffic resiliency outstanding improvements (comments)","shortMessageHtmlLink":"Traffic resiliency outstanding improvements (comments) (#2917)"}},{"before":"e94fa6c4183d314176c3623171969245c654685e","after":"c85a8f4dcf95d6d5576b5152b47806d8acbf7bbf","ref":"refs/heads/main","pushedAt":"2024-05-10T22:40:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"idelpivnitskiy","name":"Idel Pivnitskiy","path":"/idelpivnitskiy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3968288?s=80&v=4"},"commit":{"message":"`DnsServiceDiscoverer`: add total resolution timeout (#2908)\n\nMotivation:\r\n\r\nThe existing `DnsServiceDiscovererBuilder.queryTimeout` is applied per\r\neach UDP/TCP query. If resolution requires multiple CNAME resolutions,\r\nretries on a different NS server, or applies a list of search domains,\r\nthe total time is not capped. As a result, resolution can take\r\nsignificantly longer than originally anticipated.\r\n\r\nModifications:\r\n\r\n- Add `DnsServiceDiscovererBuilder.resolutionTimeout` option that can be\r\nused to cap total resolution duration with default value set to\r\n`2 x queryTimeout`;\r\n- Add tests for `queryTimeout` and `resolutionTimeout`;\r\n\r\nResult:\r\n\r\nUsers can configure the total resolution timeout.","shortMessageHtmlLink":"DnsServiceDiscoverer: add total resolution timeout (#2908)"}},{"before":"7bb8b6d44986dc5fb1f5be208e36d3e28bb092cc","after":"e94fa6c4183d314176c3623171969245c654685e","ref":"refs/heads/main","pushedAt":"2024-05-09T18:38:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tkountis","name":"Thomas Kountis","path":"/tkountis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3369598?s=80&v=4"},"commit":{"message":"Rename Traffic Resilience packages (#2914)\n\n* Rename Traffic Resilience packages","shortMessageHtmlLink":"Rename Traffic Resilience packages (#2914)"}},{"before":"baac8d66a661ae6878454fb7ea05afda7ecbc35a","after":"7bb8b6d44986dc5fb1f5be208e36d3e28bb092cc","ref":"refs/heads/main","pushedAt":"2024-05-09T17:11:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"idelpivnitskiy","name":"Idel Pivnitskiy","path":"/idelpivnitskiy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3968288?s=80&v=4"},"commit":{"message":"Follow-up comments for traffic resilience features (#2915)\n\nMotivation:\r\n\r\nMinor comments for #2911.","shortMessageHtmlLink":"Follow-up comments for traffic resilience features (#2915)"}},{"before":"b97f2eaeb1e188607d2f4e90142b99cfa112ab9d","after":"baac8d66a661ae6878454fb7ea05afda7ecbc35a","ref":"refs/heads/main","pushedAt":"2024-05-08T21:07:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"tkountis","name":"Thomas Kountis","path":"/tkountis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3369598?s=80&v=4"},"commit":{"message":"Introduce traffic resiliency features (#2911)\n\nMotivation\r\n\r\nLack of common resiliency features like breakers, limiters and integrations with the remaining of the client workflows.\r\n\r\nModifications\r\n\r\nSupport for\r\n- Circuit breakers\r\n- Capacity limiters (rate, quotas, dynamic, fixed)\r\n - Request clacification\r\n- Server feedback evaluation\r\n - Retry after\r\n - Limit adaptation","shortMessageHtmlLink":"Introduce traffic resiliency features (#2911)"}},{"before":"f1e39d75aed4f786950b7dda5fdf15b468022752","after":"b97f2eaeb1e188607d2f4e90142b99cfa112ab9d","ref":"refs/heads/main","pushedAt":"2024-05-08T20:34:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"bryce-anderson","name":"Bryce Anderson","path":"/bryce-anderson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2948506?s=80&v=4"},"commit":{"message":"loadbalancer-experimental-provider: include the resource file (#2910)\n\nMotivation:\r\n\r\nIf someone wants to use the experimental provider they need to\r\nalso add the resource file, increasing the barrier to entry.\r\n\r\nModifications:\r\n\r\nAdd the resource file to the loadbalanacer-experimental-provider\r\npackage. If they're including it they are already opting in.","shortMessageHtmlLink":"loadbalancer-experimental-provider: include the resource file (#2910)"}},{"before":"36670af072a2eaa51ec803bab934f87dc35d36d5","after":"f1e39d75aed4f786950b7dda5fdf15b468022752","ref":"refs/heads/main","pushedAt":"2024-05-08T20:26:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"bryce-anderson","name":"Bryce Anderson","path":"/bryce-anderson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2948506?s=80&v=4"},"commit":{"message":"loadbalancer-experimental: add support for weights in round robin (#2909)\n\nMotivation:\r\n\r\nWe want to support weighted but don't in the round-robin\r\nHostSelector.\r\n\r\nModifications:\r\n\r\nAdd weight support to round-robin using the static stride\r\nalgorithm common to the grpc libraries.","shortMessageHtmlLink":"loadbalancer-experimental: add support for weights in round robin (#2909"}},{"before":"2b55150361de7881e5d90abfe7d5d059a675c911","after":"36670af072a2eaa51ec803bab934f87dc35d36d5","ref":"refs/heads/main","pushedAt":"2024-05-08T18:45:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"bryce-anderson","name":"Bryce Anderson","path":"/bryce-anderson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2948506?s=80&v=4"},"commit":{"message":"Move DefaultHttpLoadBalancerFactory to http-api (#2912)\n\nMotivation:\r\n\r\nThere is nothing netty specific about DefaultHttpLoadBalancerFactory\r\nbut it lives in the servicetalk-http-netty package.\r\n\r\nModifications:\r\n\r\n- Copy the class to the http-api package.\r\n- Drop the Builder from the new version.\r\n- Deprecate the http-netty version.","shortMessageHtmlLink":"Move DefaultHttpLoadBalancerFactory to http-api (#2912)"}},{"before":"d02f8668611273f88e34ac39dcc69be07754bf44","after":"2b55150361de7881e5d90abfe7d5d059a675c911","ref":"refs/heads/main","pushedAt":"2024-05-03T21:00:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"bryce-anderson","name":"Bryce Anderson","path":"/bryce-anderson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2948506?s=80&v=4"},"commit":{"message":"loadbalancer-experimental: add a ServiceDiscovererEvent to carry weight and priority (#2907)\n\nMotivation:\r\n\r\nIf we're going to use priority groups we need a way of sending that\r\ninformation down the load balancers.\r\n\r\nModifications:\r\n\r\n- make a custom event that carries that priority information.","shortMessageHtmlLink":"loadbalancer-experimental: add a ServiceDiscovererEvent to carry weig…"}},{"before":"7c8516173c0a6be6f10bec69373f7492c80a40c2","after":"d02f8668611273f88e34ac39dcc69be07754bf44","ref":"refs/heads/main","pushedAt":"2024-05-03T17:39:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"bryce-anderson","name":"Bryce Anderson","path":"/bryce-anderson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2948506?s=80&v=4"},"commit":{"message":"loadbalancer-experimental: add support for prioritization (#2905)\n\nMotivation:\r\n\r\nWe want to support priority groups in the LB.\r\n\r\nModifications:\r\n\r\nSupport it.","shortMessageHtmlLink":"loadbalancer-experimental: add support for prioritization (#2905)"}},{"before":"8949cf8905a5b4b5d63472ff7989120e04c2e465","after":null,"ref":"refs/heads/dependabot/github_actions/gradle/wrapper-validation-action-3.3.2","pushedAt":"2024-05-01T17:41:31.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"idelpivnitskiy","name":"Idel Pivnitskiy","path":"/idelpivnitskiy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3968288?s=80&v=4"}},{"before":"53f9f35713bc6e933d631fa046c2cff88f6f01c5","after":"7c8516173c0a6be6f10bec69373f7492c80a40c2","ref":"refs/heads/main","pushedAt":"2024-05-01T17:41:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"idelpivnitskiy","name":"Idel Pivnitskiy","path":"/idelpivnitskiy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3968288?s=80&v=4"},"commit":{"message":"build(deps): bump gradle/wrapper-validation-action from 3.3.0 to 3.3.2 (#2904)\n\nBumps [gradle/wrapper-validation-action](https://github.com/gradle/wrapper-validation-action) from 3.3.0 to 3.3.2.\r\n- [Release notes](https://github.com/gradle/wrapper-validation-action/releases)\r\n- [Commits](https://github.com/gradle/wrapper-validation-action/compare/v3.3.0...v3.3.2)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: gradle/wrapper-validation-action\r\n dependency-type: direct:production\r\n update-type: version-update:semver-patch\r\n...\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"build(deps): bump gradle/wrapper-validation-action from 3.3.0 to 3.3.2 ("}},{"before":"8f096dad41a16ddccbbeccdc83698dadf295fb91","after":"53f9f35713bc6e933d631fa046c2cff88f6f01c5","ref":"refs/heads/main","pushedAt":"2024-04-26T17:20:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"bryce-anderson","name":"Bryce Anderson","path":"/bryce-anderson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2948506?s=80&v=4"},"commit":{"message":"loadbalancer-experimental: add provider for enabling DefaultLoadBalancer (#2900)\n\nMotivation:\r\n\r\nWe want to make it easy for users to enable DefaultLoadBalancer\r\nfor specific clients and then manipulate it's behavior via system\r\nproperties so they don't require rebuilding apps to test.\r\n\r\nModifications:\r\n\r\nAdd a new package that includes a SingleAddressHttpClientBuilderProvider\r\nwhich enables users to enable DefaultLoadBalancer for clients\r\nbased on the address used, or all clients if desired.","shortMessageHtmlLink":"loadbalancer-experimental: add provider for enabling DefaultLoadBalan…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAESgCEbgA","startCursor":null,"endCursor":null}},"title":"Activity · apple/servicetalk"}