{"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:1717532088.0","currentOid":""},"activityList":{"items":[{"before":"26ecff5004ec900c9a30a7eb6752232a3e49e99e","after":"23b941705f31d3cffd784c1449a094909f61bf64","ref":"refs/heads/main","pushedAt":"2024-06-07T22:20:30.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 lbDescription to host priority strategy (#2957)\n\nMotivation:\r\n\r\nLogs are going to be exponentially more useful if we know which LB\r\nthey're tied to but right now the DefaultHostPriorityStrategy is flying\r\nblind with regard to it's parent.\r\n\r\nModifications:\r\n\r\nFollow the pattern of other components of DefaultLoadBalancer and pass\r\nthe lbDescription into the construction of the HostPriorityStrategy.\r\n\r\nResult:\r\n\r\nBetter observability.","shortMessageHtmlLink":"loadbalancer-experimental: Add lbDescription to host priority strategy ("}},{"before":"bb569d0326dd86e62845578dd2943286da817317","after":"26ecff5004ec900c9a30a7eb6752232a3e49e99e","ref":"refs/heads/main","pushedAt":"2024-06-07T15:39:31.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: support non-sequential priorities (#2953)\n\nMotivation:\r\n\r\nWe currently don't support priority sets that don't have sequential\r\ngroups numbers, eg we require groups 0, 1, 2, ... and will reject\r\na set of groups such as 0, 2, 3, ... This is an artificial constraint.\r\n\r\nModifications:\r\n\r\nLift the constraint.","shortMessageHtmlLink":"loadbalancer-experimental: support non-sequential priorities (#2953)"}},{"before":"314fb7ac4b439ce2fcc708fbb96a3e238ef98b5f","after":"bb569d0326dd86e62845578dd2943286da817317","ref":"refs/heads/main","pushedAt":"2024-06-07T15:04:34.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: allow configuring whether cancellation is an error (#2956)\n\nMotivation:\r\n\r\nCancellation is ambiguous as to why it was cancelled, although\r\nit is most likely due to timeouts. We should let users configure\r\nthis.\r\n\r\nModifications:\r\n\r\n- Make classification of cancellation as an error a configuration\r\n option.\r\n- Make cancellation considered an error by default. This should be\r\n the overwhelmingly most common case.\r\n- Thread it through, including in the providers.\r\n\r\nResult:\r\n\r\nMore flexible classification of cancellation.","shortMessageHtmlLink":"loadbalancer-experimental: allow configuring whether cancellation is …"}},{"before":"f9ba8e84624357ea0c8d0d7b68ddc1175d699301","after":"314fb7ac4b439ce2fcc708fbb96a3e238ef98b5f","ref":"refs/heads/main","pushedAt":"2024-06-05T23:58:53.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: make loadBalancingWeight easier to debug (#2954)\n\nMotivation\r\n\r\nBecause we use mutable state to represent the load balancing weight\r\nwe need to make sure that it is reset back to the service discovery weight\r\nbefore we re-run hosts through the transformations. This is currently done\r\nwhen we set the SD weight via `serviceDiscoveryWeight(double)` which\r\nhappens even if it is unchanged. The result is that we change the lb weight\r\neven if we don't plan to run it through the transformations again. We still\r\nload balance correctly because we won't rebuild, but it could be really\r\nconfusing to debug since the lb weight won't reflect transformations.\r\n\r\nModifications\r\n\r\n- Separate setting the SD weight and LB weight and before we rebuild\r\n reset the LB weight to the current SD weight.\r\n- Add some tests that ensure we set the weight correctly.","shortMessageHtmlLink":"loadbalancer-experimental: make loadBalancingWeight easier to debug (#…"}},{"before":"8949741cbc771555949bfccc5808a228c801893e","after":"f9ba8e84624357ea0c8d0d7b68ddc1175d699301","ref":"refs/heads/main","pushedAt":"2024-06-05T23:56:25.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 some documentation for OutlierDetector (#2955)\n\nMotivation:\r\n\r\nThe `healthStatusChanged()` method of `OutlierDetector` lacks documentation.\r\n\r\nModifications:\r\n\r\n- Add a doc string.","shortMessageHtmlLink":"loadbalancer-experimental: add some documentation for OutlierDetector ("}},{"before":"963711b24731facad079b1c78fc29be9984c5d21","after":"8949741cbc771555949bfccc5808a228c801893e","ref":"refs/heads/main","pushedAt":"2024-06-05T15:33:45.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":"Fallback to `readChunkSize` if `InputStream.available()` not implemented (#2949)\n\nMotivation:\r\n\r\n`FromInputStreamPublisher` attempts to read only 1 byte when\r\n`InputStream.available()` is not implemented. As a result, users of\r\nblocking streaming API with payload body as `InputStream` may write and\r\nflush by 1 byte if their `InputStream` implementation always returns 0\r\navailable bytes (default).\r\n\r\nModifications:\r\n\r\n- Consider `available()` as a best effort to avoid blocking. If it\r\nreturns 0 bytes, attempt to read up to `readChunkSize` bytes;\r\n\r\nResult:\r\n\r\nImproved efficiency of writing `InputStream` data for outgoing requests.","shortMessageHtmlLink":"Fallback to readChunkSize if InputStream.available() not implemen…"}},{"before":"72e5d54fac3570f917392b6b5d1bab85fb1b9ea3","after":null,"ref":"refs/heads/dependabot/github_actions/dawidd6/action-download-artifact-5","pushedAt":"2024-06-04T20:14:48.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":"f200c0e38e1d6a5f23022b82fd676077bf0d068c","after":"963711b24731facad079b1c78fc29be9984c5d21","ref":"refs/heads/main","pushedAt":"2024-06-04T20:14:45.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 dawidd6/action-download-artifact from 3.1.4 to 5 (#2952)\n\nBumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 3.1.4 to 5.\r\n- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)\r\n- [Commits](https://github.com/dawidd6/action-download-artifact/compare/09f2f74827fd3a8607589e5ad7f9398816f540fe...deb3bb83256a78589fef6a7b942e5f2573ad7c13)\r\n\r\n---\r\nupdated-dependencies:\r\n- dependency-name: dawidd6/action-download-artifact\r\n dependency-type: direct:production\r\n update-type: version-update:semver-major\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 dawidd6/action-download-artifact from 3.1.4 to 5 (#…"}},{"before":null,"after":"8822099d7974e037b5b5872128415262a8e63d6e","ref":"refs/heads/readChunkSize","pushedAt":"2024-06-04T19:38:53.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":"Add readChunkSize system property","shortMessageHtmlLink":"Add readChunkSize system property"}},{"before":"20da981ceb0c37c08bb021e379f662dd6d6f7e1d","after":null,"ref":"refs/heads/dependabot/github_actions/dawidd6/action-download-artifact-4","pushedAt":"2024-06-04T19:35:14.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":null,"after":"72e5d54fac3570f917392b6b5d1bab85fb1b9ea3","ref":"refs/heads/dependabot/github_actions/dawidd6/action-download-artifact-5","pushedAt":"2024-06-04T19:35:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"build(deps): bump dawidd6/action-download-artifact from 3.1.4 to 5\n\nBumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 3.1.4 to 5.\n- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)\n- [Commits](https://github.com/dawidd6/action-download-artifact/compare/09f2f74827fd3a8607589e5ad7f9398816f540fe...deb3bb83256a78589fef6a7b942e5f2573ad7c13)\n\n---\nupdated-dependencies:\n- dependency-name: dawidd6/action-download-artifact\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump dawidd6/action-download-artifact from 3.1.4 to 5"}},{"before":"bc6c3c4dde667db7aabdbff134a7f995467cdfec","after":"f200c0e38e1d6a5f23022b82fd676077bf0d068c","ref":"refs/heads/main","pushedAt":"2024-06-04T18:03:08.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 broken link to Jetty ALPN documentation (#2950)","shortMessageHtmlLink":"Fix broken link to Jetty ALPN documentation (#2950)"}},{"before":null,"after":"20da981ceb0c37c08bb021e379f662dd6d6f7e1d","ref":"refs/heads/dependabot/github_actions/dawidd6/action-download-artifact-4","pushedAt":"2024-06-04T02:29:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"build(deps): bump dawidd6/action-download-artifact from 3.1.4 to 4\n\nBumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 3.1.4 to 4.\n- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)\n- [Commits](https://github.com/dawidd6/action-download-artifact/compare/09f2f74827fd3a8607589e5ad7f9398816f540fe...854e2de9396304899dbe03bf9995fd73533190d1)\n\n---\nupdated-dependencies:\n- dependency-name: dawidd6/action-download-artifact\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump dawidd6/action-download-artifact from 3.1.4 to 4"}},{"before":"b49e66b691d466fd04ada995aa015073d10ffca2","after":"bc6c3c4dde667db7aabdbff134a7f995467cdfec","ref":"refs/heads/main","pushedAt":"2024-06-02T18:50:22.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":"Convert scheme to lower case when parsing URI (#2938)\n\nMotivation:\r\n\r\n`HttpRequestMetaData#scheme()` javadocs state the result will be lowercase, but this is not always the case because `Uri3986` parses the scheme as-is. As a result, `DefaultMultiAddressUrlHttpClientBuilder` may have more than 1 client instance for the same address if users use URI with different scheme letters case. \r\nSee https://github.com/apple/servicetalk/issues/1423 for details.\r\n\r\nModifications:\r\n\r\n- Convert scheme to lower case when parsing `Uri3986` reusing well-known schemes (\"http\" and \"https\")\r\n\r\nResult:\r\n\r\nFixes #1423.","shortMessageHtmlLink":"Convert scheme to lower case when parsing URI (#2938)"}},{"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)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEX6JM9wA","startCursor":null,"endCursor":null}},"title":"Activity · apple/servicetalk"}