{"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:1716509886.0","currentOid":""},"activityList":{"items":[{"before":"904f82c3654617a6422caaaaeb521ec5f1b55623","after":"b49e66b691d466fd04ada995aa015073d10ffca2","ref":"refs/heads/main","pushedAt":"2024-05-31T15:35:48.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":"Reduce default TLS handshake timeout from 10 to 5 seconds (#2947)\n\nMotivation:\r\n\r\n10 seconds feels like too high value to hold a connection attempt by\r\nwaiting for TLS handshake to complete. Because TLS handshake happens\r\nbefore ST writes a request, it's always marked as `RetryableException`\r\nand is retried up to 3 times.\r\n\r\nModifications:\r\n\r\n- Reduce `DEFAULT_HANDSHAKE_TIMEOUT` from 10 to 5 seconds;\r\n\r\nResult:\r\n\r\nLess wait time for TLS handshake process that hangs longer than\r\nexpected.","shortMessageHtmlLink":"Reduce default TLS handshake timeout from 10 to 5 seconds (#2947)"}},{"before":"f05823be20a02f737c6f45c46dc87bb04f30024a","after":"904f82c3654617a6422caaaaeb521ec5f1b55623","ref":"refs/heads/main","pushedAt":"2024-05-29T00:40:43.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":"ci-netty-snapshot.yml: update output for \"Print Netty Version\" (#2946)","shortMessageHtmlLink":"ci-netty-snapshot.yml: update output for \"Print Netty Version\" (#2946)"}},{"before":"90903e45109110261eeac249f3d485fe503c6453","after":"f05823be20a02f737c6f45c46dc87bb04f30024a","ref":"refs/heads/main","pushedAt":"2024-05-29T00:36:29.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.gradle: add Netty Snapshots repository for ci-netty-snapshot.yml (#2945)\n\nMotivation:\r\n\r\n`ci-netty-snapshot.yml` can not use Netty Snapshots because our\r\n`build.gradle` script never adds a repo that contains snapshots.","shortMessageHtmlLink":"build.gradle: add Netty Snapshots repository for ci-netty-snapshot.yml ("}},{"before":"17370c0e6ddcb90b607196c6f444ffbc436ef755","after":"90903e45109110261eeac249f3d485fe503c6453","ref":"refs/heads/main","pushedAt":"2024-05-28T23:10:38.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":"ci-netty-snapshot.yml: remove an extra quote character (#2944)","shortMessageHtmlLink":"ci-netty-snapshot.yml: remove an extra quote character (#2944)"}},{"before":"a09650867106779170c90e10f680ffbfeafd1b98","after":"17370c0e6ddcb90b607196c6f444ffbc436ef755","ref":"refs/heads/main","pushedAt":"2024-05-28T23: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":"ci-netty-snapshot.yml: add workflow_dispatch as a trigger event (#2943)","shortMessageHtmlLink":"ci-netty-snapshot.yml: add workflow_dispatch as a trigger event (#2943)"}},{"before":"4eeffeb4313c2aeabeecc1899aa80a0392a5c594","after":"a09650867106779170c90e10f680ffbfeafd1b98","ref":"refs/heads/main","pushedAt":"2024-05-28T22:57:10.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":"Enhance output for ci-netty-snapshot.yml (#2942)","shortMessageHtmlLink":"Enhance output for ci-netty-snapshot.yml (#2942)"}},{"before":"32c91b54405267e96c222ba4244cd63881e3a002","after":"4eeffeb4313c2aeabeecc1899aa80a0392a5c594","ref":"refs/heads/main","pushedAt":"2024-05-24T21:54:15.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: split ErrorClass into connection and request types (#2940)\n\nMotivation:\r\n\r\nWe have separate interfaces for the connection and request tracking\r\nin large part because we can't install our request tracker until we\r\nactually get a connection. However, they both use the same ErrorClass\r\ntypes.\r\n\r\nModifications:\r\n\r\n- Split the error class types into two parts: those for connect path and\r\n those for request path.","shortMessageHtmlLink":"loadbalancer-experimental: split ErrorClass into connection and reque…"}},{"before":"6ada3e0b3c880c03347428f60a406e4c4bae7a9e","after":"32c91b54405267e96c222ba4244cd63881e3a002","ref":"refs/heads/main","pushedAt":"2024-05-24T18:58:19.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: break test dependency cycle (#2941)\n\nMotivation:\r\n\r\nIJ can get upset that there is a dependency cycle between http-netty\r\nand loadbalancer-experimental-provider because the provider module\r\ndepends on http-netty as a test dependency.\r\n\r\nModifications:\r\n\r\nMove the tests from loadbalancer-experimental-provider to htp-netty\r\nand remove the test dependency. This is a better test structure\r\nanyway because if people have http-netty on the classpath it should\r\nload the provider.\r\n\r\nResult:\r\n\r\nBetter test structure and fix IJ tools.","shortMessageHtmlLink":"loadbalancer-experimental: break test dependency cycle (#2941)"}},{"before":"6345fc0d0eed5a3c25a39f7fdeb75330a646ecc4","after":null,"ref":"refs/heads/idelpivnitskiy-patch-1","pushedAt":"2024-05-24T00:18:06.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":"2f503826694d29f727ff0f9d9a2a986d17665c99","after":"6ada3e0b3c880c03347428f60a406e4c4bae7a9e","ref":"refs/heads/main","pushedAt":"2024-05-24T00:18:03.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":"Update Netty 4.1.109 -> 4.1.110 (#2939)","shortMessageHtmlLink":"Update Netty 4.1.109 -> 4.1.110 (#2939)"}},{"before":null,"after":"6345fc0d0eed5a3c25a39f7fdeb75330a646ecc4","ref":"refs/heads/idelpivnitskiy-patch-1","pushedAt":"2024-05-22T16:35:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"idelpivnitskiy","name":"Idel Pivnitskiy","path":"/idelpivnitskiy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3968288?s=80&v=4"},"commit":{"message":"Update Netty 4.1.109 -> 4.1.110","shortMessageHtmlLink":"Update Netty 4.1.109 -> 4.1.110"}},{"before":"54ec680952e326b5f984fa50590b943341fc38cd","after":"2f503826694d29f727ff0f9d9a2a986d17665c99","ref":"refs/heads/main","pushedAt":"2024-05-21T15:35:47.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":"Enhance header name validation exception message (#2924)\n\nMotivation:\r\n\r\nProvide more details about a illegal header name.\r\n\r\nModifications:\r\n\r\n- Use `TokenValidatingProcessor` that captures more context for generating an exception message, if necessary;\r\n- Add benchmark to measure performance before/after change;\r\n\r\nResult:\r\n\r\nUsers can see what header name has an illegal character as well as the position (index) of an illegal character.","shortMessageHtmlLink":"Enhance header name validation exception message (#2924)"}},{"before":"6027c74b72216a725a05c4073920be9c5fb77e3c","after":"54ec680952e326b5f984fa50590b943341fc38cd","ref":"refs/heads/main","pushedAt":"2024-05-16T22:39:45.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: thread lbDescription into the LoadBalancerObserver (#2936)\n\nMotivation:\r\n\r\nWe already have a standard resource identifier for use when logging\r\nload balancer concerns: lbDescrption. However, we don't use that for\r\nthe LoadBalancerObserver type because we don't know it on construction.\r\n\r\nModifications:\r\n\r\n- Change the LoadBalancerBuilder to take a factory of LoadBalancerObservers\r\n which will consume the lbDescription during load balancer construction.\r\n- Deprecate the older API for a release cycle.\r\n\r\nResult:\r\n\r\nBetter logging.","shortMessageHtmlLink":"loadbalancer-experimental: thread lbDescription into the LoadBalancer…"}},{"before":"d667d1d9b6a9597b1a74710faf5f64dd4bb2b64a","after":"6027c74b72216a725a05c4073920be9c5fb77e3c","ref":"refs/heads/main","pushedAt":"2024-05-16T20:05:56.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: rename LoadBalancerPolicies to LoadBalancingPolicies (#2937)\n\nMotivation:\r\n\r\nThe naming of LoadBalancerPolicies is inconsistent with what it builds\r\nwhich are `*LoadBalancingPolicyBuilder`s.\r\n\r\nModifications:\r\n\r\n- Rename it to `LoadBalancingPolicies`.\r\n- Keep `LoadBalancerPolicies` but deprecated to be removed after 0.42.45.","shortMessageHtmlLink":"loadbalancer-experimental: rename LoadBalancerPolicies to LoadBalanci…"}},{"before":"105066bc95cf3753f2c08642e30daefad91d4bc9","after":"d667d1d9b6a9597b1a74710faf5f64dd4bb2b64a","ref":"refs/heads/main","pushedAt":"2024-05-16T15:18:23.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: remove deprecated API's (#2935)\n\nMotivation:\r\n\r\nNow that 0.42.44 is released we can remove the deprecated API's from\r\nloadbalancer-experimental. This includes making some LoadBalancingPolicy\r\nclasses package privateand removing their internal builders.\r\n\r\nModifications:\r\n\r\nRemove the deprecated API's.","shortMessageHtmlLink":"loadbalancer-experimental: remove deprecated API's (#2935)"}},{"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 (#…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWSxuBwA","startCursor":null,"endCursor":null}},"title":"Activity · apple/servicetalk"}