)]}'
{
  "log": [
    {
      "commit": "d104fa3d232e9084213a630c832f727c4845c5bd",
      "tree": "57f74fb299a42c4cc3ac2119b2c1ecd70f89d4cb",
      "parents": [
        "cee26a6a930ecbd9d48881ee275736302a22216b"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Fri Jul 10 19:17:39 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 18:17:39 2026 +0100"
      },
      "message": "Update grpc-core, grpc-interop-testing, ... to 1.82.2 (#789)\n\n* Update grpc-core, grpc-interop-testing, ... to 1.82.2\n\n* more updates\n\n---------\n\nCo-authored-by: PJ Fanning \u003cpjfanning@users.noreply.github.com\u003e"
    },
    {
      "commit": "cee26a6a930ecbd9d48881ee275736302a22216b",
      "tree": "9ad67525571e3480fca77ba9fe60e6f8029902ed",
      "parents": [
        "162a667554bc9bc4d6ac6eaeadc331e13bfa38ae"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Fri Jul 10 19:00:51 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 18:00:51 2026 +0100"
      },
      "message": "Update logback-classic to 1.5.38 (#788)"
    },
    {
      "commit": "162a667554bc9bc4d6ac6eaeadc331e13bfa38ae",
      "tree": "58d026c7eadaae973b27346c18121c5495e8b7c1",
      "parents": [
        "c012e301f47d25ce26c29eafd07281031049f7bd"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Fri Jul 10 19:00:02 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 18:00:02 2026 +0100"
      },
      "message": "Update sbt-reproducible-builds to 0.35 (#790)"
    },
    {
      "commit": "c012e301f47d25ce26c29eafd07281031049f7bd",
      "tree": "be416b137696e9606c374ed95a2e7502485be577",
      "parents": [
        "ede672416bff1d06db574be9a32147570ba971bc"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Fri Jul 10 18:59:31 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 10 17:59:31 2026 +0100"
      },
      "message": "Update scalafmt-core to 3.11.2 (#791)"
    },
    {
      "commit": "ede672416bff1d06db574be9a32147570ba971bc",
      "tree": "694efa67d7c88ddd6714e170b635091d4fc986d7",
      "parents": [
        "81cc77364bfc60b01ef5b8287d5bda60f8061165"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Thu Jul 09 21:08:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 09 21:08:53 2026 +0800"
      },
      "message": "refactor: replace codegen reflection with method handles (#782)\n\nMotivation:\nAvoid reflective constructor, method, and Scala module invocation in gRPC code generation and plugin bridge paths while keeping generator loading compatible across Scala versions.\n\nModification:\nCache MethodHandles for logger forwarding and extra generator constructors. Use public MethodHandles for Scala singleton module access and generator bridge calls. Remove the Scala 2.12 ToolBox path in ReflectiveCodeGen and use fixed-arity invoke() call sites with explicit Object values where needed.\n\nResult:\nCodegen, Maven plugin, sbt plugin, and reflective test build generation use MethodHandles consistently while preserving public access semantics and avoiding avoidable invokeWithArguments boxing.\n\nTests:\n- JDK 17: sbt \"codegen / compile\" \"maven-plugin / compile\" \"sbt-plugin / compile\" - success\n- JDK 17: sbt \"++2.13.18!\" codegen/test \"++3.3.8!\" codegen/test - success, 2 tests per version\n- JDK 17: sbt \"++2.13.*\" \"sbt-plugin/scripted gen-scala-server/06-compatibility-plugins\" - first failed because protoc-gen-go was missing; installed protoc-gen-go v1.32.0, rerun success\n- JDK 17: sbt \"++3.8.4!\" \"sbt-plugin/scripted scala3/*\" - success, 3 scripted tests\n- JDK 17: sbt \"++2.13.*\" \"sbt-plugin/scripted gen-scala-server/06-compatibility-plugins\" \"++3.8.4!\" \"sbt-plugin/scripted scala3/03-sbt2-basic\" - success after explicit Object annotations\n- scalafmt --mode diff-ref\u003dorigin/main - success\n- scalafmt --list --mode diff-ref\u003dorigin/main - success\n- git diff --check - success\n- Qoder stdout review: /tmp/project-qoder-review.log - No must-fix findings\n\nReferences:\nNone - internal refactoring"
    },
    {
      "commit": "81cc77364bfc60b01ef5b8287d5bda60f8061165",
      "tree": "9632113f73eb96015a7540c5707ba5bdb9555d3a",
      "parents": [
        "97344e35e3b648b9767f37925a46a1bec3c463ff"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Wed Jul 08 18:21:52 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 08 17:21:52 2026 +0100"
      },
      "message": "Update sbt-protoc to 1.1.0-RC2 (#786)"
    },
    {
      "commit": "97344e35e3b648b9767f37925a46a1bec3c463ff",
      "tree": "98fb6fb90e9efaf4d6f064aaa894683b1620adfa",
      "parents": [
        "3729e1277d1622dba6b75232030f89d65fd8078c"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Tue Jul 07 14:34:36 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 07 14:34:36 2026 +0100"
      },
      "message": "Update ScalaPB compiler plugin version to 1.0.0-alpha.6 (#785)"
    },
    {
      "commit": "3729e1277d1622dba6b75232030f89d65fd8078c",
      "tree": "25018cca4c6602872c65cca5945d1ff0296a0802",
      "parents": [
        "d9714dc4184f8b4af20e8d41c8f397cf48a3e88b"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Tue Jul 07 02:11:48 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 07 02:11:48 2026 +0800"
      },
      "message": "fix: fix scaladoc warnings in runtime module (#776)\n\nMotivation:\nThe runtime module had 8 scaladoc warnings about unresolvable links\nfor external types and types with incorrect package prefixes.\n\nModification:\n- Replace [[io.grpc.StatusException]] with backtick-quoted code (external type)\n- Replace [[Failure]] with backtick-quoted code (scala.util.Failure external type)\n- Replace [[Chunk]] and [[LastChunk]] with backtick-quoted code (pekko-http types)\n- Replace [[pekko.japi.function.Function]] with backtick-quoted code (wrong prefix)\n- Replace [[pekko.grpc.GrpcChannel]] with backtick-quoted code (wrong prefix)\n\nResult:\nAll 8 scaladoc warnings in the runtime module are resolved.\n`sbt runtime/doc` completes with no warnings.\n\nTests:\nVerified with `sbt runtime/clean; runtime/doc` - 0 warnings."
    },
    {
      "commit": "d9714dc4184f8b4af20e8d41c8f397cf48a3e88b",
      "tree": "e8f8e969aea2e5b59e5d5941e3780bf99f830b25",
      "parents": [
        "419a983b8a93f43bded93ae19946ecd6d9040657"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Mon Jul 06 23:17:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 23:17:34 2026 +0800"
      },
      "message": "chore: use StandardCharsets.UTF_8 (#783)\n\nMotivation:\\nAvoid stringly-typed UTF-8 charset usage in encoding and decoding code paths.\\n\\nModification:\\nReplace UTF-8 charset string arguments with StandardCharsets.UTF_8 and normalize touched XML declarations where applicable.\\n\\nResult:\\nCharset usage is type-safe and exact lowercase \"utf-8\" string literals are removed from the touched areas."
    },
    {
      "commit": "419a983b8a93f43bded93ae19946ecd6d9040657",
      "tree": "4149e3c25128612e780bc71120323e72b47c4f96",
      "parents": [
        "09f3cebdb1bc4b73b8a7461722a24c439259f10b"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jul 06 11:54:12 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 11:54:12 2026 +0800"
      },
      "message": "Bump sbt/setup-sbt from 1.4.0 to 1.5.0 (#780)\n\nBumps [sbt/setup-sbt](https://github.com/sbt/setup-sbt) from 1.4.0 to 1.5.0.\n- [Release notes](https://github.com/sbt/setup-sbt/releases)\n- [Commits](https://github.com/sbt/setup-sbt/compare/3afe9cf056c5d139bfc46579af1192d77a2f0821...66fb4376e81982c7d92a4074170846fff88e2e30)\n\n---\nupdated-dependencies:\n- dependency-name: sbt/setup-sbt\n  dependency-version: 1.5.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "09f3cebdb1bc4b73b8a7461722a24c439259f10b",
      "tree": "cfc8b8b65aa976389e2d0934820aebcb9b9b8748",
      "parents": [
        "bbaa2df120d0cd1cc947d9d9a35a591e6a2c0270"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Mon Jul 06 05:25:02 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 06 05:25:02 2026 +0800"
      },
      "message": "feat: add Scala next cross-build coverage (#779)\n\nMotivation:\\nPrepare the build for the next Scala 3 LTS lane while keeping published Scala artifacts on the current 2.13.x and 3.3.x release lines.\\n\\nModification:\\nCentralize the next Scala version lookup for CI, keep published crossScalaVersions on release lanes, force the next lane only in build/test matrices, and fix Scala 3.8.4 compile, MiMa, and formatting issues.\\n\\nResult:\\n2.13.x, 3.3.8, and 3.8.4 build/test coverage can run while MiMa and publishing remain on published Scala versions."
    },
    {
      "commit": "bbaa2df120d0cd1cc947d9d9a35a591e6a2c0270",
      "tree": "89cd610dd3dad8c15ad5c79656459fd91add2269",
      "parents": [
        "ac696fada1b57ce3625831c18b91df48c93e558a"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Sun Jul 05 06:14:17 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 05 06:14:17 2026 +0800"
      },
      "message": "fix: fix javadoc warning in JavaTestServiceImpl.java (#775)\n\n* fix: fix javadoc warning in JavaTestServiceImpl.java\n\nMotivation:\nRunning `sbt doc` produces a javadoc warning:\n- Scala-style `[[...]]` link is not recognized by javadoc\n\nModification:\n- Replace `[[io.grpc.testing.integration.TestServiceImpl]]` with\n  `{@code io.grpc.testing.integration.TestServiceImpl}`\n\nResult:\nJavadoc warning is eliminated.\n\nTests:\nNot run - docs only\n\nReferences:\nNone\n\n* fix: fix additional javadoc warnings in Java sources\n\nMotivation:\nAdditional javadoc warnings found in Java source files:\n- Scala-style `[[...]]` links in interop test files\n- Unqualified `@throws IllegalArgumentException` in benchmark files\n\nModification:\n- JavaTestServiceImpl.java (interop-tests): Replace `[[...]]` with `{@code}`\n- PekkoGrpcJavaClientTester.java: Replace `[[...]]` with `{@code}`\n- Transport.java, ServerConfiguration.java, Configuration.java:\n  Use fully qualified `java.lang.IllegalArgumentException` in @throws\n\nResult:\nRemaining javadoc warnings in Java sources are eliminated.\n\nTests:\nNot run - docs only\n\nReferences:\nFollow-up to #775\n\n* style: apply javafmt to javadoc PR files\n\nMotivation:\nCI javafmtCheck fails on the javadoc warnings PR due to unformatted Java files.\n\nModification:\nRun sbt javafmt to auto-format all Java source files.\n\nResult:\nCI javafmtCheck should now pass."
    },
    {
      "commit": "ac696fada1b57ce3625831c18b91df48c93e558a",
      "tree": "30c534dded8979b609e25c5dc272c59a9361b7a1",
      "parents": [
        "87f0b2e1a44078f3be38d427bf34ccb56c6d3ee7"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Sun Jul 05 01:31:31 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jul 05 01:31:31 2026 +0800"
      },
      "message": "test: remove Gradle 4.0 from compatibility test (#777)\n\nMotivation:\nThe GradleCompatibilitySpecTest downloads Gradle 4.0 distribution from\nservices.gradle.org during CI, which frequently times out causing\nspurious test failures unrelated to code changes.\n\nModification:\nRemove Gradle 4.0 from the failVersions parameterized test. Gradle 5.5\nremains to verify the \"below minimum 5.6\" rejection logic. Simplify the\nassumeGradleVersionCanRunOnCurrentJava guard that had a special case for 4.0.\n\nResult:\nMore reliable CI with no loss of test coverage for the minimum version check."
    },
    {
      "commit": "87f0b2e1a44078f3be38d427bf34ccb56c6d3ee7",
      "tree": "1a3b636d4017d90992decabf190ad053bba6e233",
      "parents": [
        "e9342f67355b662dad65fa18afc391b435e71033"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Fri Jul 03 22:34:53 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 03 22:34:53 2026 +0100"
      },
      "message": "Update dependencies in build.gradle (#767)\n\n* Update dependencies in build.gradle\n\n* Downgrade protobuf-gradle-plugin version to 0.9.6\n\n* upgrade"
    },
    {
      "commit": "e9342f67355b662dad65fa18afc391b435e71033",
      "tree": "8d3cc4e9f1d98a39fdbbddda29c7bfe11f14dd85",
      "parents": [
        "f3a13c76df59e9f520740f1f722e2b6cb50ef6c3"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Fri Jul 03 22:34:37 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 03 22:34:37 2026 +0100"
      },
      "message": "upgrade maven plugins (#769)"
    },
    {
      "commit": "f3a13c76df59e9f520740f1f722e2b6cb50ef6c3",
      "tree": "6a3d702034f77772f114a494a57de21fece59364",
      "parents": [
        "bd2ec65d8c3814d361352ca70d20785984dd6962"
      ],
      "author": {
        "name": "Arnout Engelen",
        "email": "arnout@bzzt.net",
        "time": "Fri Jul 03 18:39:26 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 03 18:39:26 2026 +0200"
      },
      "message": "sbt-reproducible-builds: update to 0.33 (#774)"
    },
    {
      "commit": "bd2ec65d8c3814d361352ca70d20785984dd6962",
      "tree": "23abda1b45f89a6a90013d2e6032c920d2c3ac06",
      "parents": [
        "641d969ecbd468e223749f9645bd81c5c65bfe82"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Fri Jul 03 20:41:46 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 03 20:41:46 2026 +0800"
      },
      "message": "Generate Scala 3-friendly gRPC sources (#770)\n\nMotivation:\nScala 3 generated sources still used Scala 2 implicit syntax when scala3_sources was enabled, and Gradle users had no direct scala3Sources option.\n\nModification:\nGenerate using/given syntax and Scala 3 wildcard imports from the Scala templates when scala3_sources is enabled. Add Gradle scala3Sources wiring for pekkoGrpc and scalapb, cover Maven generator setting parsing, and document the Gradle and Maven configuration. Use a VarHandle-based Gradle unit-test helper instead of reflective Method#setAccessible access.\n\nResult:\nGenerated Scala sources can opt into Scala 3 syntax consistently across sbt, Gradle, and Maven configuration paths.\n\nTests:\n- sbt \"sbt-plugin/scripted scala3/02-scala3-sourcegen\" / environment failed before publishing local Scala 3 runtime: missing org.apache.pekko:pekko-grpc-runtime_3 SNAPSHOT\n- sbt \"codegen / Compile / compile\" / passed\n- sbt \"maven-plugin / Test / compile\" / passed\n- sbt \"maven-plugin / Test / testOnly org.apache.pekko.grpc.maven.ProtocSpec\" / passed\n- cd gradle-plugin \u0026\u0026 ./gradlew test --tests unit.ApplySpecTest.shouldExposeScala3SourcesOption --tests unit.ApplySpecTest.shouldPassScala3SourcesToScalaGenerators / passed\n- cd gradle-plugin \u0026\u0026 ./gradlew test --tests unit.ApplySpecTest.shouldPassScala3SourcesToScalaGenerators / environment failed once while sbt javafmtCheckAll was running concurrently: sbt boot socket Address already in use\n- cd gradle-plugin \u0026\u0026 ./gradlew test --tests unit.ApplySpecTest.shouldPassScala3SourcesToScalaGenerators / passed after replacing reflection with VarHandle\n- sbt \"++ 3.3.8 runtime/publishLocal\" \"sbt-plugin/scripted scala3/02-scala3-sourcegen\" / passed\n- sbt docs/paradox / passed\n- sbt headerCreateAll / passed\n- sbt +headerCheckAll / passed\n- sbt checkCodeStyle / passed\n- scalafmt --mode diff-ref\u003dorigin/main / passed\n- scalafmt --list --mode diff-ref\u003dorigin/main / passed\n- JDK 17 sbt javafmtAll / passed\n- JDK 17 sbt javafmtCheckAll / passed\n- cd gradle-plugin \u0026\u0026 ./gradlew test / environment failed on Java 25 because Gradle 7.6.4 cannot process class file major version 69\n- JDK 17 cd gradle-plugin \u0026\u0026 ./gradlew test / passed with pekkoGrpcTest.baselineVersion\u003d2.0.0-M2-43-6b2d34c7-20260703-0040-SNAPSHOT\n- git diff --check / passed\n\nReferences:\nFixes #766"
    },
    {
      "commit": "641d969ecbd468e223749f9645bd81c5c65bfe82",
      "tree": "ec0f08af2358be10f323790e7f848823a323b241",
      "parents": [
        "fac9b2bad9f8a9d7b0f0539272ad57a3d055b7b6"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Fri Jul 03 11:13:00 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 03 11:13:00 2026 +0800"
      },
      "message": "Remove private[this] from Maven plugin (#771)\n\nMotivation:\nAvoid using private[this] in Scala sources.\n\nModification:\nReplace the remaining Maven plugin private[this] method modifiers with ordinary private modifiers.\n\nResult:\nThe repository no longer contains private[this] usages.\n\nTests:\n- rg -n \"private\\[this\\]\" . / no matches\n- scalafmt --mode diff-ref\u003dorigin/main / passed\n- scalafmt --list --mode diff-ref\u003dorigin/main / passed\n- sbt \"maven-plugin / Compile / compile\" / passed\n- git diff --check / passed\n\nReferences:\nNone - cleanup requested separately from #766"
    },
    {
      "commit": "fac9b2bad9f8a9d7b0f0539272ad57a3d055b7b6",
      "tree": "3f1df7f3b9ed171f37f73f325b1d3fed73be7a05",
      "parents": [
        "6b2d34c7f98885259253395802e36123b8eeaab4"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Fri Jul 03 11:12:14 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jul 03 11:12:14 2026 +0800"
      },
      "message": "fix: pass all protoPaths as -I import params to protoc in Maven plugin (#773)\n\nMotivation:\nWhen using Maven, only the current protoDir was passed as -I to protoc.\nThis prevented proto files from importing definitions in other configured\nprotoPaths (e.g. unpacked artifact dependencies). sbt and Gradle already\nsupported this use case.\n\nModification:\nExtract normalize helper and normalizedProtoPaths lazy val. Remove\nprotoDir parameter from executeProtoc and instead pass all\nnormalizedProtoPaths as -I include paths. Update Maven docs to document\nthe artifact dependency workflow.\n\nResult:\nAll configured protoPaths are now passed as -I to protoc, enabling proto\nimports from artifact dependencies in Maven builds.\n\nTests:\nsbt \"maven-plugin / compile\" — success\n\nReferences:\nFixes akka/akka-grpc#1300, Fixes akka/akka-grpc#686, Refs akka/akka-grpc#1768"
    },
    {
      "commit": "6b2d34c7f98885259253395802e36123b8eeaab4",
      "tree": "296e4190b12c66b46caf4b5c6d8b8c8254fc5d7f",
      "parents": [
        "79af633998939b75c65d329d35c2bfc0b0842857"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Thu Jul 02 14:30:33 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 02 14:30:33 2026 +0100"
      },
      "message": "scala 3.8.4 build (#768)"
    },
    {
      "commit": "79af633998939b75c65d329d35c2bfc0b0842857",
      "tree": "0c87009b1f4f47408ce114141bff400fb48348d6",
      "parents": [
        "ad11f97dc09809dd6e2073acd44f2a077a4222b6"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jun 29 12:26:45 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 12:26:45 2026 +0800"
      },
      "message": "Bump actions/setup-go from 6.4.0 to 6.5.0 (#763)\n\nBumps [actions/setup-go](https://github.com/actions/setup-go) from 6.4.0 to 6.5.0.\n- [Release notes](https://github.com/actions/setup-go/releases)\n- [Commits](https://github.com/actions/setup-go/compare/4a3601121dd01d1626a1e23e37211e3254c1c06c...924ae3a1cded613372ab5595356fb5720e22ba16)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-go\n  dependency-version: 6.5.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "ad11f97dc09809dd6e2073acd44f2a077a4222b6",
      "tree": "4c1ce573ba90b7e111ab5425cae85dbee3591421",
      "parents": [
        "28c24e659509ffd204212121b3321e3af9d4ea2d"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jun 29 12:26:20 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 12:26:20 2026 +0800"
      },
      "message": "Bump actions/cache from 5.0.5 to 6.1.0 (#764)\n\nBumps [actions/cache](https://github.com/actions/cache) from 5.0.5 to 6.1.0.\n- [Release notes](https://github.com/actions/cache/releases)\n- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)\n- [Commits](https://github.com/actions/cache/compare/27d5ce7f107fe9357f9df03efb73ab90386fccae...55cc8345863c7cc4c66a329aec7e433d2d1c52a9)\n\n---\nupdated-dependencies:\n- dependency-name: actions/cache\n  dependency-version: 6.1.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "28c24e659509ffd204212121b3321e3af9d4ea2d",
      "tree": "72920a5bb914986c13d06fb0defc3cee904a3fca",
      "parents": [
        "db93b5803becd64ab4ecfde8addc1984a6d49386"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jun 29 12:26:01 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 29 12:26:01 2026 +0800"
      },
      "message": "Bump actions/setup-java from 5.3.0 to 5.4.0 (#765)\n\nBumps [actions/setup-java](https://github.com/actions/setup-java) from 5.3.0 to 5.4.0.\n- [Release notes](https://github.com/actions/setup-java/releases)\n- [Commits](https://github.com/actions/setup-java/compare/ad2b38190b15e4d6bdf0c97fb4fca8412226d287...1bcf9fb12cf4aa7d266a90ae39939e61372fe520)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-java\n  dependency-version: 5.4.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "db93b5803becd64ab4ecfde8addc1984a6d49386",
      "tree": "fbcb3999d241569e883cd9db805184cee1e0e4dd",
      "parents": [
        "2005fcb3e94d0e097922e4db05db0c99f62305d2"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Sun Jun 28 18:37:12 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 28 17:37:12 2026 +0100"
      },
      "message": "Update junit-jupiter-api, ... to 6.1.1 (#761)"
    },
    {
      "commit": "2005fcb3e94d0e097922e4db05db0c99f62305d2",
      "tree": "da06180c035e663d75a2185ebd3547e72a99ed96",
      "parents": [
        "51736716fa526902e358b308ef03334e2346feac"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Sun Jun 28 18:35:17 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 28 17:35:17 2026 +0100"
      },
      "message": "Update junit-platform-launcher to 6.1.1 (#762)"
    },
    {
      "commit": "51736716fa526902e358b308ef03334e2346feac",
      "tree": "3a688f72165110dd7304bcb944defd3d2ca0a47f",
      "parents": [
        "1ad39c29d3edcc88938a1c85f25443362ee09394"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Sat Jun 27 21:50:51 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 27 21:50:51 2026 +0800"
      },
      "message": "refactor: migrate JUnit 4 to JUnit 6.1.0 (#758)\n\nMotivation:\nJUnit 4 is end-of-life. JUnit 6 unifies version numbering across\nPlatform, Jupiter, and Vintage components.\n\nModification:\n- Add sbt-jupiter-interface plugin and JupiterKeys overrides for\n  JUnit Jupiter and Platform 6.1.0\n- Migrate test files (Java, Scala, Groovy) from JUnit 4 to Jupiter:\n  * Java: @Test, @Before/@After -\u003e @BeforeEach/@AfterEach,\n    @Ignore -\u003e @Disabled, Assert.xxx -\u003e Assertions.xxx\n    (message param moves from first to last)\n  * Java: Remove `extends JUnitSuite` and @RunWith(JUnit4.class)\n  * Scala: Remove @RunWith(classOf[JUnitRunner]) from ScalaTest specs\n    where discovery does not depend on the JUnit 4 bridge\n  * Scala: org.junit.Assert._ -\u003e org.junit.jupiter.api.Assertions._\n  * Groovy: Spock specs converted to JUnit Jupiter Java tests\n    (@Unroll+where -\u003e @ParameterizedTest+@MethodSource,\n    cleanup() -\u003e @AfterEach, @TempDir replaced with manual\n    Files.createTempDirectory management)\n- Replace scalatestplus-junit with Jupiter test dependencies in\n  Dependencies.scala (keep scalaTestPlusJunit for plugin-tester-scala\n  where Gradle relies on the JUnit 4 runner for ScalaTest discovery)\n- Update Gradle build files to use JUnit Jupiter and useJUnitPlatform()\n- Convert gradle-plugin Spock/Groovy tests to JUnit Jupiter Java tests\n  to avoid Groovy version conflicts with Gradle\u0027s bundled Groovy\n- Update benchmark-java standalone build to use JUnit Jupiter 6.1.0\n- Update scripted test build and PekkoGrpcClientTester to use\n  Jupiter assertions\n- Configure explicit ScalaFutures PatienceConfig in Scala 3 scripted\n  greeter specs and use brace syntax for scalafmt compatibility\n- Pin Gradle plugin tests to JUnit Jupiter 5.14.1 and add explicit\n  junit-platform-launcher:1.14.1 for Spock 2.4 compatibility\n  (main project tests use JUnit 6)\n\nResult:\nAll tests run on JUnit 6.1.0 (Jupiter). JUnit 4 is no longer a test\ndependency in the main project.\n\nTests:\nNot run here - each constituent change was validated in its own\ncommit; full validation to follow after rebase.\n\nReferences:\nRefs #759 (Gradle wrapper 8.14.5 upgrade, now on main)\nRefs #762 (scalafmt disable Scala 3 syntax)"
    },
    {
      "commit": "1ad39c29d3edcc88938a1c85f25443362ee09394",
      "tree": "69004d709069d1d2f6b1441206d97c6bf8e570b1",
      "parents": [
        "9c1d9e875f9b618e3866179c455be4bb43ab518c"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Sat Jun 27 19:31:39 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 27 19:31:39 2026 +0800"
      },
      "message": "Upgrade Gradle wrapper from 7.6.4 to 8.14.5 (#759)\n\n* chore: upgrade Gradle wrapper from 7.6.4 to 8.12\n\nMotivation:\nGradle 7.6.4 bundles Groovy 3.0.13 which has a GroovyBugError when\nTestKit runs in-process (withDebug(true)) on JDK 17, causing\nNoClassDefFoundError for org.codehaus.groovy.vmplugin.v7.Java7.\nThis blocks all gradle-plugin tests in CI.\n\nModification:\nUpgrade Gradle wrapper from 7.6.4 to 8.12 in all three Gradle\nprojects: gradle-plugin, plugin-tester-java, plugin-tester-scala.\nUpdated gradle-wrapper.properties and gradlew scripts.\n\nResult:\nGradle 8.12 bundles a compatible Groovy version, resolving the\nin-process TestKit initialization failure on JDK 17.\n\nTests:\ncd gradle-plugin \u0026\u0026 ./gradlew clean test\n\nReferences:\nNone - infrastructure upgrade\n\n* chore: use Gradle 8.14.5 instead of 8.12\n\nUse the latest patch version in the 8.x line for best JDK\ncompatibility (supports up to JDK 24) while avoiding Gradle 9.x\nbreaking API changes.\n\n* fix: restore gradlew scripts with wrapper jar download fallback\n\nThe gradlew scripts on main include a curl-based fallback to download\ngradle-wrapper.jar when it\u0027s missing (the jar is in .gitignore).\nRunning ./gradlew wrapper replaced them with standard scripts lacking\nthis mechanism, causing CI failures.\n\n* fix: wire Gradle license resources through processResources\n\nMotivation:\nGradle 8.14.5 fails the Gradle test CI job because compileTestGroovy sees files written by copyLicenseToBuildResources in build/resources/main without a declared task dependency.\n\nModification:\nMove the Gradle plugin LICENSE, NOTICE, and DISCLAIMER resource copy into processResources and remove the separate Copy task and jar dependency.\n\nResult:\nGradle owns the resource output directory, so test compilation and publishing no longer trip implicit dependency validation.\n\nTests:\n- export JAVA_HOME\u003d/Users/hepin/Library/Java/JavaVirtualMachines/azul-17.0.17/Contents/Home; cd gradle-plugin \u0026\u0026 ./gradlew clean test publishToMavenLocal --console\u003dplain --stacktrace: passed\n- export JAVA_HOME\u003d/Users/hepin/Library/Java/JavaVirtualMachines/azul-17.0.17/Contents/Home; sbt codegen/publishM2 scalapb-protoc-plugin/publishM2 +runtime/publishM2: passed\n- git diff --check: passed\n\nReferences:\nRefs #759\n\n* fix: relax Scala 3 scripted future patience\n\nMotivation:\nCI exposed a timing-sensitive Scala 3 scripted test failure when server binding took longer than ScalaTest futureValue default timeout.\n\nModification:\nSet an explicit ScalaFutures PatienceConfig in both Scala 3 scripted greeter specs and remove the unused patience import.\n\nResult:\nThe Scala 3 scripted examples tolerate normal CI startup latency.\n\nTests:\n- scalafmt sbt-plugin/src/sbt-test/scala3/01-basic-client-server/src/test/scala/example/myapp/helloworld/GreeterServiceSpec.scala sbt-plugin/src/sbt-test/scala3/02-scala3-sourcegen/src/test/scala/example/myapp/helloworld/GreeterServiceSpec.scala - failed; current scalafmt dialect rejected existing Scala 3 significant-indentation syntax at the class declaration\n- JDK 17: sbt ++3.3.* \"sbt-plugin/scripted scala3/01-basic-client-server\" - passed\n- JDK 17: sbt ++3.3.* \"sbt-plugin/scripted scala3/*\" - passed\n- git diff --check - passed\n\nReferences:\nRefs #759\n\n* fix: make Scala 3 scripted specs scalafmt-compatible\n\nMotivation:\nThe native scalafmt PR check formats changed files with --mode diff-ref\u003dorigin/main and the existing Scala 3 scripted test syntax failed to parse under the repository scalafmt configuration.\n\nModification:\nUse brace syntax in the two changed Scala 3 scripted greeter specs while keeping the explicit ScalaFutures patience configuration.\n\nResult:\nThe native scalafmt check can parse the changed scripted specs and the Scala 3 scripted tests still pass.\n\nTests:\n- scalafmt --mode diff-ref\u003dorigin/main - passed\n- scalafmt --list --mode diff-ref\u003dorigin/main - passed\n- JDK 17: sbt ++3.3.* \"sbt-plugin/scripted scala3/*\" - passed\n- git diff --check - passed\n\nReferences:\nRefs #759"
    },
    {
      "commit": "9c1d9e875f9b618e3866179c455be4bb43ab518c",
      "tree": "91a231fba9e9650d9800e2d15b027f230d7012fc",
      "parents": [
        "58e28a512f88d7fbac3da74d6f25ee02d0e74175"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Fri Jun 26 17:43:46 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 16:43:46 2026 +0100"
      },
      "message": "Update logback-classic to 1.5.37 (#757)"
    },
    {
      "commit": "58e28a512f88d7fbac3da74d6f25ee02d0e74175",
      "tree": "d8876fef5f6820b54b8445e87c9509d95d4ca4b7",
      "parents": [
        "9e351da452e11d611bf0c3e87a73dc07a52c4d5d"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Fri Jun 26 21:55:43 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 21:55:43 2026 +0800"
      },
      "message": "refactor: use Files.readString (Java 11+) (#755)\n\n* refactor: use Files.readString (Java 11+)\n\nMotivation:\nFiles.readString was introduced in Java 11 and provides a cleaner API\nfor reading an entire file into a String, replacing the\nnew String(Files.readAllBytes(path), charset) pattern.\n\nModification:\nReplace new String(Files.readAllBytes(path), \"UTF-8\") with\nFiles.readString(path, StandardCharsets.UTF_8) in two files.\n\nResult:\nMore idiomatic Java 11+ code with identical behavior.\n\nTests:\nNot run - behavior-preserving refactoring\n\nReferences:\nNone - Java 11+ API migration\n\n* fix: apply javafmt formatting"
    },
    {
      "commit": "9e351da452e11d611bf0c3e87a73dc07a52c4d5d",
      "tree": "d313ddbed75f1ade55914bc865cb433a49b89c17",
      "parents": [
        "7b201265ddfffb606506d4608c538bf5f7071d66"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Fri Jun 26 21:55:32 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 21:55:32 2026 +0800"
      },
      "message": "refactor: migrate switch statements to modern switch syntax (Java 14+) (#754)\n\n* refactor: migrate switch statements to modern switch syntax (Java 14+)\n\nMotivation:\nJava 14 introduced enhanced switch statements and switch expressions\nwith arrow syntax, eliminating fall-through bugs and reducing boilerplate.\n\nModification:\nConvert switch statements to switch expressions and enhanced switch\nstatements in LoadClient, LoadServer, AsyncClient, and TestServiceClient\nbenchmark and interop test files.\n\nResult:\nCleaner, more concise switch code with no fall-through risk.\n\n* fix: apply javafmt formatting"
    },
    {
      "commit": "7b201265ddfffb606506d4608c538bf5f7071d66",
      "tree": "9971f8bfa75cb675ec62b15884fcc93f770ac992",
      "parents": [
        "162dfe989e180b2036c13b871b7b1e5267abf0c5"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Fri Jun 26 21:53:41 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 21:53:41 2026 +0800"
      },
      "message": "refactor: migrate Arrays.asList to List.of() factory method (#751)\n\nMotivation:\nJava 9+ List.of() provides concise, immutable collection creation.\n\nModification:\nReplace Arrays.asList() with List.of() across 5 files.\nUpdate imports accordingly.\n\nResult:\nCleaner code using Java 17 immutable collection factories.\n\nTests:\nNot run - compile-only test file changes\n\nReferences:\nNone - Java 17 API modernization"
    },
    {
      "commit": "162dfe989e180b2036c13b871b7b1e5267abf0c5",
      "tree": "f574597aeea74ad9146390bcbd9aa3baefe6db54",
      "parents": [
        "166a9f03b6b081360262ecbc5948bc810681e72b"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Fri Jun 26 21:53:31 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 21:53:31 2026 +0800"
      },
      "message": "refactor: replace .collect(Collectors.toList()) with .toList() (#752)\n\n* refactor: replace .collect(Collectors.toList()) with .toList()\n\nMotivation:\nJava 16+ Stream.toList() provides a concise way to collect stream\nelements into an unmodifiable list.\n\nModification:\nReplace .collect(Collectors.toList()) with .toList() across 4 files.\nRemove unused Collectors imports.\n\nResult:\nCleaner stream collection code using Java 17 API.\n\nTests:\nNot run - compile-only test file changes\n\nReferences:\nNone - Java 17 API modernization\n\n* fix: apply javafmt formatting"
    },
    {
      "commit": "166a9f03b6b081360262ecbc5948bc810681e72b",
      "tree": "89614db02946d3c76ec330c89a85997e3c154783",
      "parents": [
        "560dc667949abaec958e693490c0025a46b75296"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Fri Jun 26 18:16:00 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 18:16:00 2026 +0800"
      },
      "message": "refactor: migrate String.format to String.formatted (Java 15+) (#753)\n\nMotivation:\nJava 15 introduced String.formatted() as an instance method counterpart\nto String.format(), providing cleaner and more readable string formatting.\n\nModification:\nReplace String.format(\"literal\", args) with \"literal\".formatted(args)\nin gRPC service implementation.\n\nResult:\nMore concise and idiomatic Java code leveraging Java 15+ API."
    },
    {
      "commit": "560dc667949abaec958e693490c0025a46b75296",
      "tree": "0410cec2fe757886e49b9fa233727fa33018f480",
      "parents": [
        "800ec10882c87fb12eb321a0803dd75310261b21"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Fri Jun 26 18:15:43 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 26 18:15:43 2026 +0800"
      },
      "message": "refactor: use List.copyOf/Set.copyOf (Java 10+) (#756)\n\nMotivation:\nReplace Collections.unmodifiableList(new ArrayList\u003c\u003e(...)) with the\nmore concise List.copyOf() available since Java 10.\n\nModification:\nUse List.copyOf() and Set.copyOf() which create immutable copies in\na single call, eliminating the intermediate mutable collection.\n\nResult:\nCleaner, more concise code. List.copyOf also rejects nulls, providing\nfail-fast behavior for configuration classes."
    },
    {
      "commit": "800ec10882c87fb12eb321a0803dd75310261b21",
      "tree": "767140f93b8e7f641780147102af07589aed0795",
      "parents": [
        "6e1640b4eaddcf156f058a95b6c0e806cdf501e3"
      ],
      "author": {
        "name": "Arnout Engelen",
        "email": "arnout@bzzt.net",
        "time": "Thu Jun 25 14:27:29 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 25 14:27:29 2026 +0200"
      },
      "message": "fix: consistently include proto\u0027s in built artifacts (#746)\n\nEarlier it would depend on the task ordering between the download task\nand the resource discovery task, this should make it deterministic"
    },
    {
      "commit": "6e1640b4eaddcf156f058a95b6c0e806cdf501e3",
      "tree": "4767f326a34d3bf1bc3d5ed3523d1428e7f2a1da",
      "parents": [
        "d41c34c056a29ceb2236f28ca554ff1be9ab9cde"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Thu Jun 25 02:14:53 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 25 01:14:53 2026 +0100"
      },
      "message": "Update grpc-core, grpc-interop-testing, ... to 1.82.1 (#750)\n\n* Update grpc-core, grpc-interop-testing, ... to 1.82.1\n\n* more changes\n\n---------\n\nCo-authored-by: PJ Fanning \u003cpjfanning@users.noreply.github.com\u003e"
    },
    {
      "commit": "d41c34c056a29ceb2236f28ca554ff1be9ab9cde",
      "tree": "51abad80afa810b3144c98f2bbbd67397acbb895",
      "parents": [
        "e488dce99a91356a8d7d0be1965c910491bcc152"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Wed Jun 24 19:33:21 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 24 18:33:21 2026 +0100"
      },
      "message": "Update logback-classic to 1.5.35 (#748)"
    },
    {
      "commit": "e488dce99a91356a8d7d0be1965c910491bcc152",
      "tree": "cad304ccb77b8660a21b756a71ad676bad5ee0d0",
      "parents": [
        "3c5e281ff714b630474191fc87c98d260e8a598f"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Wed Jun 24 18:52:00 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 24 17:52:00 2026 +0100"
      },
      "message": "Update sbt-salad-days to 0.2.0 (#749)"
    },
    {
      "commit": "3c5e281ff714b630474191fc87c98d260e8a598f",
      "tree": "daff0cbdaefc4da7c6efc2da5485471d4af6d3be",
      "parents": [
        "4dbf335670998c4e1b9706fd0ae5d200da5922b3"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Wed Jun 24 18:38:59 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 24 12:38:59 2026 +0200"
      },
      "message": "chore: add sbt-salad-days to reduce Scaladoc archive size (#737)\n\nMotivation:\nScala 3 Scaladoc archives bundle large font files and inkuire.js\nsearch engine, bloating release artifacts and wasting CI storage.\n\nModification:\nAdd sbt-salad-days plugin (0.1.0) which automatically strips\nfonts and scripts from Scaladoc output during packaging.\n\nResult:\nSignificantly smaller Scaladoc archives (e.g. ~420KB for minimal\ndocs), reducing upload time and storage consumption."
    },
    {
      "commit": "4dbf335670998c4e1b9706fd0ae5d200da5922b3",
      "tree": "d09849550aecafc28adf71e1dbbe9205bd10900f",
      "parents": [
        "9185fffd4c5bc3c1b989d91ee5eacd001cb37ef0"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Mon Jun 22 17:00:34 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 22 16:00:34 2026 +0100"
      },
      "message": "Update protobuf-java to 4.35.1 (#743)\n\n* Update protobuf-java to 4.35.1\n\n* other changes\n\n---------\n\nCo-authored-by: PJ Fanning \u003cpjfanning@users.noreply.github.com\u003e"
    },
    {
      "commit": "9185fffd4c5bc3c1b989d91ee5eacd001cb37ef0",
      "tree": "876b088ae916280559b284290757af181ddf6fbd",
      "parents": [
        "fac65ce05fd21c412202e3c5823d0df7aa252b08"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Mon Jun 22 16:59:53 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 22 22:59:53 2026 +0800"
      },
      "message": "Update sbt, scripted-plugin to 1.12.13 (#745)\n\n* Update sbt, scripted-plugin to 1.12.13\n\n* Update build.sbt\n\n---------\n\nCo-authored-by: PJ Fanning \u003cpjfanning@users.noreply.github.com\u003e"
    },
    {
      "commit": "fac65ce05fd21c412202e3c5823d0df7aa252b08",
      "tree": "f10b1919d71b09411b5d7edcf08aa952f7fac5fe",
      "parents": [
        "83a0a2e46216e7bfcfb3d35c5a8c2be86fe368cb"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Mon Jun 22 16:50:25 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 22 15:50:25 2026 +0100"
      },
      "message": "Update org.eclipse.jgit to 7.7.0.202606012155-r (#744)"
    },
    {
      "commit": "83a0a2e46216e7bfcfb3d35c5a8c2be86fe368cb",
      "tree": "c5b5523bacc2eac2db9dd449933cbcecf76c72ac",
      "parents": [
        "3018474d8de13a96098e87be12a11efde17c0c8a"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jun 22 12:50:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 22 12:50:40 2026 +0800"
      },
      "message": "Bump actions/setup-java from 5.2.0 to 5.3.0 (#740)\n\nBumps [actions/setup-java](https://github.com/actions/setup-java) from 5.2.0 to 5.3.0.\n- [Release notes](https://github.com/actions/setup-java/releases)\n- [Commits](https://github.com/actions/setup-java/compare/be666c2fcd27ec809703dec50e508c2fdc7f6654...ad2b38190b15e4d6bdf0c97fb4fca8412226d287)\n\n---\nupdated-dependencies:\n- dependency-name: actions/setup-java\n  dependency-version: 5.3.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "3018474d8de13a96098e87be12a11efde17c0c8a",
      "tree": "62ce1a0c08474bd871622da699d9233d8a1affe6",
      "parents": [
        "b81a7b2439337fa2e3409fd1cece84cce344c92e"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jun 22 12:20:17 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 22 12:20:17 2026 +0800"
      },
      "message": "Bump actions/checkout from 6.0.3 to 7.0.0 (#741)\n\nBumps [actions/checkout](https://github.com/actions/checkout) from 6.0.3 to 7.0.0.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/df4cb1c069e1874edd31b4311f1884172cec0e10...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0)\n\n---\nupdated-dependencies:\n- dependency-name: actions/checkout\n  dependency-version: 7.0.0\n  dependency-type: direct:production\n  update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "b81a7b2439337fa2e3409fd1cece84cce344c92e",
      "tree": "031a3775da079255f64dc215da59ad031cd9ae32",
      "parents": [
        "b4ec77114b6f7ca874fb8f88041e69bd32d2ff88"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jun 22 12:19:37 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 22 12:19:37 2026 +0800"
      },
      "message": "Bump sbt/setup-sbt from 1.2.1 to 1.4.0 (#742)\n\nBumps [sbt/setup-sbt](https://github.com/sbt/setup-sbt) from 1.2.1 to 1.4.0.\n- [Release notes](https://github.com/sbt/setup-sbt/releases)\n- [Commits](https://github.com/sbt/setup-sbt/compare/af116cce31c00823d3903ce687f9cda3a4f19f1b...3afe9cf056c5d139bfc46579af1192d77a2f0821)\n\n---\nupdated-dependencies:\n- dependency-name: sbt/setup-sbt\n  dependency-version: 1.4.0\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "b4ec77114b6f7ca874fb8f88041e69bd32d2ff88",
      "tree": "2b25365a36e45e41d8b2253e2ca75c94b6306039",
      "parents": [
        "802f17e192fcd7d3e16698017384b3db7c471691"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Sat Jun 20 19:31:13 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 20 19:31:13 2026 +0100"
      },
      "message": "Update .scala-steward.conf for version pins (#738)\n\n* Update .scala-steward.conf for version pins\n\nRemoved outdated JGit version pin and added SBT version pin.\n\n* Fix syntax error in .scala-steward.conf"
    },
    {
      "commit": "802f17e192fcd7d3e16698017384b3db7c471691",
      "tree": "d206581f81e487768af4771cd5d12a47c08d2c9f",
      "parents": [
        "12d679786ef77e200727c3e01134e02bd3dd08cb"
      ],
      "author": {
        "name": "Arnout Engelen",
        "email": "arnout@bzzt.net",
        "time": "Fri Jun 19 13:24:10 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 19 13:24:10 2026 +0200"
      },
      "message": "sbt-plugin: publish in non-legacy style (#736)\n\nWe enabled the legacy style this in the past (#543)\nto keep support for sbt 1.8 and below.\n\nNow that `main` targets a future 2.0.0 release, I think it\u0027s\nreasonable to move to the non-legacy style there. Notably\nthe Maven Portal no longer supports the old style, and while\n_currently_ we\u0027re not affected by that as we deploy through\n`repository.a.o` this seems risky."
    },
    {
      "commit": "12d679786ef77e200727c3e01134e02bd3dd08cb",
      "tree": "244f8edb82e6807b34788f5d8f0637c258093f4a",
      "parents": [
        "f611ae031976737c4eac43e32952d6b3a1b15d9c"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Fri Jun 19 17:03:23 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 19 17:03:23 2026 +0800"
      },
      "message": "docs: add mandatory header workflow reminder to Licensing Rules (#735)\n\nMotivation:\nAgents can miss the rule about not hand-writing license headers and\naccidentally paste the wrong header (e.g. the Akka-derived header for\nnew code).\n\nModification:\nAdd a prominent blockquote reminder at the top of the Licensing Rules\nsection that spells out the mandatory workflow: create file without\nheader -\u003e sbt headerCreateAll -\u003e done.\n\nResult:\nAgents see the workflow before reading the detailed rules, reducing\nthe chance of hand-writing an incorrect header.\n\nTests:\nNot run - docs only\n\nReferences:\nNone - process improvement"
    },
    {
      "commit": "f611ae031976737c4eac43e32952d6b3a1b15d9c",
      "tree": "729aebfe685e80fd297be08d102152c86edb7967",
      "parents": [
        "5a5d43e2659050132791409bc6be93d04f55424c"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Fri Jun 19 16:42:20 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 19 16:42:20 2026 +0800"
      },
      "message": "refactor: modernize Java example code with Java 17 records (#734)\n\n* refactor: modernize Java example code with Java 17 records\n\nMotivation:\nJava 17 introduced records that make Java code more concise by\neliminating boilerplate for data carrier classes.\n\nModification:\n- Convert ChangeGreeting, GetGreeting, Greeting to records in\n  typedhelloworld GreeterActor\n- Convert ChangeGreeting, Greeting to records in statefulhelloworld\n  GreeterActor\n- Update field accesses to use record accessor methods\n\nResult:\nExample Java code is more concise and idiomatic for Java 17+.\n\nTests:\nsbt \"plugin-tester-java / compile\"\n\nReferences:\nNone - code modernization\n\n* fix: update record field accessors in GreeterServiceImpl callers\n\nMotivation:\nThe previous commit converted Greeting to a record but missed updating\nfield accesses in GreeterServiceImpl files that cast to Greeting.\n\nModification:\n- Update ((GreeterActor.Greeting) message).greeting to .greeting()\n  in both typedhelloworld and statefulhelloworld GreeterServiceImpl\n\nResult:\nplugin-tester-java compiles correctly with the record conversions.\n\nTests:\nsbt \"plugin-tester-java / compile\" (success)\nsbt javafmtAll (passes)\n\nReferences:\nNone - compilation fix"
    },
    {
      "commit": "5a5d43e2659050132791409bc6be93d04f55424c",
      "tree": "6b4f2f44b7496c3e0df667e5584b3b3674f86162",
      "parents": [
        "b8664150d63d3acc05396f475de40b32e3912712"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Fri Jun 19 05:32:50 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 19 05:32:50 2026 +0800"
      },
      "message": "fix: correct typos in pekko-grpc build and tests (#733)\n\nMotivation:\nTypos found in sbt test config and integration test code.\n\nModification:\n- overriden→overridden in sbt-plugin test build.sbt\n- flakyness→flakiness in NonBalancingIntegrationSpec.scala\n\nResult:\nCleaner codebase with corrected spelling.\n\nTests:\nNot run - typo fixes only (comments/config)\n\nReferences:\nNone - typo cleanup"
    },
    {
      "commit": "b8664150d63d3acc05396f475de40b32e3912712",
      "tree": "6f4280f2c3c0d22da30350e42dfa39e320ddc9c2",
      "parents": [
        "d8d009f5d4c98ade10a286cdb20ea2b811363393"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Fri Jun 19 01:15:48 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 19 01:15:48 2026 +0800"
      },
      "message": "fix: remove -Yfuture-lazy-vals for Scala 3.9+ (#732)\n\n* fix: remove -Yfuture-lazy-vals for Scala 3.9+\n\nMotivation:\nScala 3.9.0-RC1 removed the -Yfuture-lazy-vals compiler option (the\nbehavior is now the default). Under -Werror, the \"bad option\" warning\nbecomes a compilation error.\n\nModification:\nConditionally include -Yfuture-lazy-vals only for Scala 3.x where x \u003c 9.\n\nResult:\npekko-grpc codegen module compiles cleanly with Scala 3.9.0-RC1.\n\nTests:\n- sbt \"++3.9.0-RC1!; codegen/compile\" passes\n\nReferences: None - Scala 3.9 forward compatibility\n\n* chore: apply scalafmt to project/Common.scala\n\nMotivation:\nCI scalafmt check failed because project/Common.scala was not formatted.\n\nModification:\nRan scalafmt on the build file.\n\nResult:\nscalafmtSbtCheck and Code is formatted CI checks should pass.\n\nTests:\nNot run - formatting only"
    },
    {
      "commit": "d8d009f5d4c98ade10a286cdb20ea2b811363393",
      "tree": "3585cddb255eb86e19fd63be6b131d44485436e4",
      "parents": [
        "8b69462b3debdc042358bbbc45578c5b0429f7c9"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Tue Jun 16 16:27:48 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 16 15:27:48 2026 +0100"
      },
      "message": "Update sbt-mima-plugin to 1.1.6 (#730)"
    },
    {
      "commit": "8b69462b3debdc042358bbbc45578c5b0429f7c9",
      "tree": "3f52986ca13a1518e21065def37f28a4d6b27197",
      "parents": [
        "0c23d2ce13544e8fb248f99c540266cfa78f8812"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Tue Jun 16 18:23:38 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 16 18:23:38 2026 +0800"
      },
      "message": "build: fix sbt lint warning by excluding previewPath key (#729)\n\nMotivation:\nsbt lint reported unused docs/previewSite/previewPath key.\n\nModification:\nAdd Global / excludeLintKeys +\u003d previewPath in build.sbt docs project.\n\nResult:\nsbt lint warning resolved.\n\nTests:\n- sbt \"clean; compile\" - zero sbt lint warnings\n\nReferences:\nNone - build configuration cleanup"
    },
    {
      "commit": "0c23d2ce13544e8fb248f99c540266cfa78f8812",
      "tree": "9d7909dc3801ef0cbe3b41349763e72cc8e669fc",
      "parents": [
        "5495e1a43a52b8c0e0be878488fa783b0284eb6b"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Tue Jun 16 10:47:26 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 16 10:47:26 2026 +0100"
      },
      "message": "release 2.0.0-M2 (#719)"
    },
    {
      "commit": "5495e1a43a52b8c0e0be878488fa783b0284eb6b",
      "tree": "7f9189e74224edddb3eb56dff5ab20bc876c05cd",
      "parents": [
        "ac4b895b106ef4fee2b5fea04c13bd53a772080c"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Mon Jun 15 19:36:48 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 15 19:36:48 2026 +0800"
      },
      "message": "docs: add AGENTS.md and CLAUDE.md for AI coding agents (#727)\n\nMotivation:\nAI coding agents benefit from project-specific instructions to follow\nconventions, run correct validation, and produce consistent PRs.\n\nModification:\nAdd AGENTS.md with comprehensive rules (worktree, licensing, PR,\nformatting, validation, test, code, CI, commit format) and CLAUDE.md\nwith a pre-PR verification checklist.\n\nResult:\nAI agents working on this repository will follow established\nconventions and produce higher-quality contributions.\n\nTests:\nNot run - docs only\n\nReferences:\nNone - AI agent configuration"
    },
    {
      "commit": "ac4b895b106ef4fee2b5fea04c13bd53a772080c",
      "tree": "2c6a592e8d8db70252af9bd7cfa83498c43273dc",
      "parents": [
        "2262fabcf781890256aee47f5712927cd4c3dcdb"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Sun Jun 14 16:41:50 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 14 15:41:50 2026 +0100"
      },
      "message": "Update sbt, scripted-plugin to 1.12.12 (#726)"
    },
    {
      "commit": "2262fabcf781890256aee47f5712927cd4c3dcdb",
      "tree": "a796ef369d43efa28b3227062e5f493a6d777c78",
      "parents": [
        "e6029a0d57f781218d508a96941e478c6f82e8dc"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Sun Jun 14 21:15:08 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 14 21:15:08 2026 +0800"
      },
      "message": "chore: unify formatter config - standardize aliases, add JDK17 setting (#725)\n\n* chore: unify formatter config across pekko sub-projects\n\nMotivation:\nAlign formatter plugins, command aliases, and JDK settings with other\npekko sub-projects to reduce maintenance burden.\n\nModification:\n- Standardize checkCodeStyle/applyCodeStyle command aliases\n- Add ThisBuild / javafmtFormatterCompatibleJavaVersion :\u003d 17 where missing\n- Replace custom verifyCodeFmt tasks with standard aliases where applicable\n- Upgrade sbt-java-formatter plugin where needed\n\nResult:\nConsistent formatter configuration across all pekko sub-projects.\n\nTests:\nNot run - build config change only\n\nReferences:\nNone - formatter unification across pekko sub-projects\n\n* fix: add checkCodeStyle to CI check-code-style job\n\nMotivation:\nThe check-code-style CI job only ran MiMa binary compatibility checks\nbut did not verify code formatting (scalafmt, javafmt, headers).\n\nModification:\nAdd sbt checkCodeStyle step before the binary-compatibility check.\n\nResult:\nCI now validates code style (scalafmt + javafmt + headers) on every PR.\n\n* fix: apply javafmt 0.12.0 formatting to 2 Java files\n\nMotivation:\nCI Checks job failed because 2 Java files in plugin-tester-java\nwere not formatted with javafmt 0.12.0.\n\nModification:\nRun javafmtAll to format GreeterActor.java and GreeterServiceImpl.java.\n\nResult:\nChecks CI job passes."
    },
    {
      "commit": "e6029a0d57f781218d508a96941e478c6f82e8dc",
      "tree": "7b879854461994b34c8c440f5ea0d50e80d58add",
      "parents": [
        "56ff7f0a0b0ed952b5f66cba8988467e6b54aa75"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Sun Jun 14 20:44:01 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 14 20:44:01 2026 +0800"
      },
      "message": "chore: Rewrite to scala3 syntax (#724)\n\nMotivation:\nLet Scala 3 Community build compile pekko-grpc.\n\nModification:\nUpdate .scalafmt.conf dialect to scala213source3 and enable\nscala3 syntax rewrite rules, then reformat all sources.\n\nResult:\nWildcard types use ? syntax (e.g. Class[?] instead of Class[_]).\n\nTests:\nNot run - formatting only\n\nReferences:\nRefs apache/pekko#3048"
    },
    {
      "commit": "56ff7f0a0b0ed952b5f66cba8988467e6b54aa75",
      "tree": "d5e51986246f8c7def440976f1ff735ec4343084",
      "parents": [
        "2d8c6be08d23244b8f9acea6e45cd7e650fc4e8f"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Sat Jun 13 21:45:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 13 21:45:22 2026 +0800"
      },
      "message": "Add -Yfuture-lazy-vals and bump Scala 3 to 3.3.8 (#723)\n\n* Add -Yfuture-lazy-vals and bump Scala 3 to 3.3.8\n\nMotivation:\nThe Scala 3.3.8 compiler introduced the -Yfuture-lazy-vals flag\n(scala/scala3-lts#637) to optionally use VarHandle instead of\nsun.misc.Unsafe for lazy val implementation. This prepares libraries\nfor upcoming JDK releases that restrict Unsafe access.\n\nModification:\n- Add -Yfuture-lazy-vals to Common.scala scalacOptions for Scala 3.3.x\n- Bump Scala 3 version from 3.3.7 to 3.3.8 in Dependencies.scala,\n  sbt-test build files, and GitHub Actions workflows\n\nResult:\npekko-grpc\u0027s Scala 3 build uses the future-proof VarHandle-based lazy\nval implementation, compatible with all JDK 9+ versions.\n\nTests:\n- sbt \"++3.3.8; runtime/compile\" passed (exit 0, 230s)\n\nReferences:\nRefs scala/scala3-lts#637\n\n* Fix -Yfuture-lazy-vals requiring -release flag in Test scope\n\nMove -Yfuture-lazy-vals from Compile/scalacOptions to base scalacOptions\nand pair it with -release 17, so both Compile and Test scopes satisfy\nthe compiler requirement.\n\n* Address PR review: simplify -Yfuture-lazy-vals and apply -release 17 to Test for all Scala versions"
    },
    {
      "commit": "2d8c6be08d23244b8f9acea6e45cd7e650fc4e8f",
      "tree": "9a4b4cbd4649f722694ea9997477d7e3df0776ea",
      "parents": [
        "94610f11fcfaf4972f5993d73bfa0ccaf2f83df5"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Sat Jun 13 09:39:07 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 13 09:39:07 2026 +0100"
      },
      "message": "Update JDK requirement from 8 to 17 (#720)"
    },
    {
      "commit": "94610f11fcfaf4972f5993d73bfa0ccaf2f83df5",
      "tree": "ec9411880e41518b7d8a90674072de1ca9ccead1",
      "parents": [
        "8db0d644868f1a08e54de973f7384cf3c6e34800"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Fri Jun 12 21:52:57 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 20:52:57 2026 +0100"
      },
      "message": "Update grpc-core, grpc-interop-testing, ... to 1.82.0 (#721)\n\n* Update grpc-core, grpc-interop-testing, ... to 1.82.0\n\n* more updates\n\n---------\n\nCo-authored-by: PJ Fanning \u003cpjfanning@users.noreply.github.com\u003e"
    },
    {
      "commit": "8db0d644868f1a08e54de973f7384cf3c6e34800",
      "tree": "3e477ef16c6d018994eb7fb29ea26d8ace98386c",
      "parents": [
        "66ec50a2cbdb8ff7e054ff574da3d5d2b2210deb"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Fri Jun 12 16:21:16 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 15:21:16 2026 +0100"
      },
      "message": "Update scala3-library to 3.3.8 (#722)"
    },
    {
      "commit": "66ec50a2cbdb8ff7e054ff574da3d5d2b2210deb",
      "tree": "10600fd75d7b980b0f453250a844986598a8191e",
      "parents": [
        "ed5412a396d686ef7663e727ecfce2e574b584ee"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jun 08 12:37:06 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 12:37:06 2026 +0800"
      },
      "message": "Bump actions/checkout from 6.0.2 to 6.0.3 (#718)\n\nBumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 6.0.3.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/de0fac2e4500dabe0009e67214ff5f5447ce83dd...df4cb1c069e1874edd31b4311f1884172cec0e10)\n\n---\nupdated-dependencies:\n- dependency-name: actions/checkout\n  dependency-version: 6.0.3\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "ed5412a396d686ef7663e727ecfce2e574b584ee",
      "tree": "54bfe74d5d7269e07d758988e72c0582430df2ae",
      "parents": [
        "9f27f6b2cdb7e3a490791b1131bbce4e0e51c9da"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Tue Jun 02 17:24:34 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 17:24:34 2026 +0100"
      },
      "message": "Update pekko to 2.0.0-M3 (#716)\n\n* Update currentVersion to 2.0.0-M3\n\n* more build files"
    },
    {
      "commit": "9f27f6b2cdb7e3a490791b1131bbce4e0e51c9da",
      "tree": "3330692ad395d68f799532eef6514ec99b5f8df0",
      "parents": [
        "3e6e1e6225058592b3b8f4fb5e2e04b26add8de8"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Tue Jun 02 16:20:48 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 02 15:20:48 2026 +0100"
      },
      "message": "Update logback-classic to 1.5.34 (#717)"
    },
    {
      "commit": "3e6e1e6225058592b3b8f4fb5e2e04b26add8de8",
      "tree": "7711938e12448bcc692647121553435f25ebc97e",
      "parents": [
        "69540affbca5874ee65e5f74849806cef640f2a9"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Mon Jun 01 11:27:45 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 11:27:45 2026 +0100"
      },
      "message": "replace scala string interpolation in logging (#715)\n\n* Changes before error encountered\n\nAgent-Logs-Url: https://github.com/pjfanning/incubator-pekko-grpc/sessions/9005fd88-3d59-4bfb-9fb9-a4c6e6f5456f\n\n* Add level-enabled guards for non-trivial logging in AbstractGenerateMojo\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] \u003c198982749+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "69540affbca5874ee65e5f74849806cef640f2a9",
      "tree": "c5456a8fb6841fe176e012e4b6804901fbeb57de",
      "parents": [
        "e663b54e05169ea5514f0a48e67e685633b4e634"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon Jun 01 15:11:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 15:11:34 2026 +0800"
      },
      "message": "Bump sbt/setup-sbt from 1.1.24 to 1.2.1 (#714)\n\nBumps [sbt/setup-sbt](https://github.com/sbt/setup-sbt) from 1.1.24 to 1.2.1.\n- [Release notes](https://github.com/sbt/setup-sbt/releases)\n- [Commits](https://github.com/sbt/setup-sbt/compare/2e222825582620cc38d2a54e674f3c01b7c14f5d...af116cce31c00823d3903ce687f9cda3a4f19f1b)\n\n---\nupdated-dependencies:\n- dependency-name: sbt/setup-sbt\n  dependency-version: 1.2.1\n  dependency-type: direct:production\n  update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "e663b54e05169ea5514f0a48e67e685633b4e634",
      "tree": "56433f3e67174bb2062a3607bc7b27824560257e",
      "parents": [
        "d9b0859308565509829c8f4fd2760eb7fe697a4d"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Sun May 31 13:49:02 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 31 13:49:02 2026 +0100"
      },
      "message": "fix apiUrl setting (#692)"
    },
    {
      "commit": "d9b0859308565509829c8f4fd2760eb7fe697a4d",
      "tree": "ad3e57b36e19ec3a5f4fb0136898462cc5f1f45a",
      "parents": [
        "f158a8af027fa9de9291c8e949d77e4ef8e3beb2"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Fri May 29 23:28:25 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 23:28:25 2026 +0100"
      },
      "message": "Codegen fix (#713)\n\n* try to fix build\n\n* Update build.sbt\n\n* revert ci change\n\n* maven-plugin issue\n\n* Update AbstractGenerateMojo.scala"
    },
    {
      "commit": "f158a8af027fa9de9291c8e949d77e4ef8e3beb2",
      "tree": "0cdd377c3d47943fb39a9de82d714cfbfa77fa6f",
      "parents": [
        "b8ff65548efae268fb3ee926c738175d15f834fb"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Fri May 29 17:26:31 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 17:26:31 2026 +0100"
      },
      "message": "update sbt plugin to support sbt1 and sbt2 (#710)\n\n* Add sbt1/sbt2 cross-build support for sbt-plugin\n\n* some build issues\n\n* Fix Scala 3 compilation errors in sbt-plugin\n\n* Update PekkoGrpcPlugin.scala\n\n* Replace inTask(PB.recompile)(...) with explicit PB.recompile / key scoping for sbt 2.x/Scala 3 compat\n\n* Use sbt2-compat Def.uncached for watchSources to fix Scala 3.8/sbt 2.x caching error\n\n* Fix Scala 2.12 type mismatch in watchSources: map File to WatchSource\n\n* Update Common.scala\n\n* scalafmt\n\n* Update build.sbt\n\n* Update build.sbt\n\n* Update build.sbt\n\n* Update build.sbt\n\n* Fix watchSources override and inConfig scoping for PB.recompile settings\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] \u003c198982749+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "b8ff65548efae268fb3ee926c738175d15f834fb",
      "tree": "85304d631fe7404a981a1c67e04c333c9b811c91",
      "parents": [
        "eb7090d2caf9c465d995655e79220d8abce41560"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Fri May 29 16:22:47 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 15:22:47 2026 +0100"
      },
      "message": "Update compilerplugin, scalapb-runtime to 1.0.0-alpha.5 (#712)\n\n* Update compilerplugin, scalapb-runtime to 1.0.0-alpha.5\n\n* protobuf 4.35.0\n\n---------\n\nCo-authored-by: PJ Fanning \u003cpjfanning@users.noreply.github.com\u003e"
    },
    {
      "commit": "eb7090d2caf9c465d995655e79220d8abce41560",
      "tree": "8c33befc9afe1128843af446101090ba9b7927ea",
      "parents": [
        "cdb60e3bf8ebffbfb12ac83bea7badf3b2072f13"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Fri May 29 16:14:39 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 15:14:39 2026 +0100"
      },
      "message": "Update logback-classic to 1.5.33 (#711)"
    },
    {
      "commit": "cdb60e3bf8ebffbfb12ac83bea7badf3b2072f13",
      "tree": "bfc1910155b01a66105c0fbe39b045042c3cb7f6",
      "parents": [
        "f9e7292a0c6465f719eb6d4a4bb7be63d6ba2488"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Fri May 29 10:47:55 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 10:47:55 2026 +0100"
      },
      "message": "scalapb 1.0.0 alpha support protobuf 4 (#610)\n\n* scalapb 1.0.0 alpha support protobuf 4\n\n* workaround issue with _root_ prefix\n\n* try to fix sbt tests\n\n* Reorder plugin enabling and eviction error level\n\n* Update plugins.sbt for ScalaPB Validate support\n\n* stick with protobuf 4.32\n\n* interop-tests issue\n\n* Update build.sbt\n\n* remove tab"
    },
    {
      "commit": "f9e7292a0c6465f719eb6d4a4bb7be63d6ba2488",
      "tree": "a98b00114c788e8a45a2f7f7f17ea0e1aba06609",
      "parents": [
        "8dc6715de367e6209c333760e6c526e1c9cd68bd"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Thu May 28 14:29:59 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 28 14:29:59 2026 +0100"
      },
      "message": "Switch protoc-jar from com.github.os72:3.11.4 to io.github.blackrock:3.0.0 (#709)\n\n* Switch protoc-jar from com.github.os72:3.11.4 to io.github.blackrock:3.0.0\n\n* Update sbt.md\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] \u003c198982749+Copilot@users.noreply.github.com\u003e"
    },
    {
      "commit": "8dc6715de367e6209c333760e6c526e1c9cd68bd",
      "tree": "6cd1b1c4957c12ef35a253cf1b70c02de45d4a65",
      "parents": [
        "5892f829f24c4465a44776c4f55464df19f82ca7"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Sun May 24 21:57:58 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 24 21:57:58 2026 +0800"
      },
      "message": "fix: clean up Netty SSL context creation (#707)\n\nMotivation:\nPort akka/akka-grpc@b0ff79ecc4382b25bad4e041df6cdbaa3b305343, which is now Apache licensed, to remove reflective mutation of Netty JdkSslContext internals.\n\nModification:\nConstruct JdkSslContext directly from the provided Java SSLContext and preserve HTTP/2 ciphers plus ALPN h2 for the current grpc-netty-shaded runtime.\n\nResult:\nJava SSLContext-backed clients avoid private-field reflection while keeping TLS/HTTP2 negotiation working.\n\nReferences:\nhttps://github.com/akka/akka-grpc/commit/b0ff79ecc4382b25bad4e041df6cdbaa3b305343\nhttps://github.com/akka/akka-grpc/pull/1649"
    },
    {
      "commit": "5892f829f24c4465a44776c4f55464df19f82ca7",
      "tree": "c9e3d5758827728a7d19fbcf4455874c53eaa29c",
      "parents": [
        "fef493bfea70374580ffb8e7c8f6058f965d9efd"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sun May 24 13:38:46 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 24 13:38:46 2026 +0100"
      },
      "message": "Bump sbt/setup-sbt from 1.1.22 to 1.1.24 (#690)\n\n* Bump sbt/setup-sbt from 1.1.22 to 1.1.23\n\nBumps [sbt/setup-sbt](https://github.com/sbt/setup-sbt) from 1.1.22 to 1.1.23.\n- [Release notes](https://github.com/sbt/setup-sbt/releases)\n- [Commits](https://github.com/sbt/setup-sbt/compare/508b753e53cb6095967669e0911487d2b9bc9f41...93e926cbdb4a428e41b4ef754124ec82925ffdc2)\n\n---\nupdated-dependencies:\n- dependency-name: sbt/setup-sbt\n  dependency-version: 1.1.23\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\n\n* 1.1.24\n\n---------\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: PJ Fanning \u003cpjfanning@users.noreply.github.com\u003e"
    },
    {
      "commit": "fef493bfea70374580ffb8e7c8f6058f965d9efd",
      "tree": "6f6164a396f3622d7c854d1e997a37075037653e",
      "parents": [
        "1788983a9a31571c4f5de669288825cb84e8eede"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Sun May 24 13:22:38 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 24 19:22:38 2026 +0800"
      },
      "message": "Update maven-core, maven-plugin-api to 3.9.16 (#705)"
    },
    {
      "commit": "1788983a9a31571c4f5de669288825cb84e8eede",
      "tree": "9c79842af833b95a5eb93aa054a7f6e36d649659",
      "parents": [
        "c2e7f35fac5cec307addf36d60023bd8dd632763"
      ],
      "author": {
        "name": "Kazuhiro Funakoshi",
        "email": "34043588+kazuf3@users.noreply.github.com",
        "time": "Mon May 18 15:45:30 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 18 23:45:30 2026 +0100"
      },
      "message": "added typed stateful helloworld and docs/.../server/walkthrough (#702)\n\n* added typed stateful helloworld and docs/.../server/walkthrough\n\n* added java typedhelloworld and updated docs\n\n* fixed Gradle tests and Scalafmt issue\n\n* fixed pom for mvn test and FQCN of ActorSystem for paradox test\n\n* fixed gradle/mvn test in plugin-tester-scala, removed redundant blank line\n\n* avoid direct URLs to pekko docs - use extref\n\n* Revise recommendation for typed actor usage\n\nUpdated recommendation for using typed actors in the walkthrough.\n\n---------\n\nCo-authored-by: PJ Fanning \u003cpjfanning@users.noreply.github.com\u003e"
    },
    {
      "commit": "c2e7f35fac5cec307addf36d60023bd8dd632763",
      "tree": "9ba484b740760fda2fce13139c6781473e788ccb",
      "parents": [
        "830b1842c2b25c6bd5fd8df6f9c1b9808e23e178"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Mon May 18 12:49:38 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 18 12:49:38 2026 +0100"
      },
      "message": "fix build issue (#704)"
    },
    {
      "commit": "830b1842c2b25c6bd5fd8df6f9c1b9808e23e178",
      "tree": "df67c477b35d3a6e2fd01b329fec9aecc0788daf",
      "parents": [
        "483a9ffa6284a6b4390dfb1bc09b4e030e4137f1"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Mon May 18 10:44:51 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 18 10:44:51 2026 +0100"
      },
      "message": "remove duplicate setup-sbt action (#701)"
    },
    {
      "commit": "483a9ffa6284a6b4390dfb1bc09b4e030e4137f1",
      "tree": "f2717fb7e37053b2a3a920161067b6b747b7ef88",
      "parents": [
        "0dabeb39291df116f814a8d5d623faa4d16440f9"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Mon May 18 10:12:45 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 18 10:12:45 2026 +0100"
      },
      "message": "Bump coursier/cache-action from 8.1.0 to 8.1.1 (#703)\n\nBumps [coursier/cache-action](https://github.com/coursier/cache-action) from 8.1.0 to 8.1.1.\n- [Release notes](https://github.com/coursier/cache-action/releases)\n- [Commits](https://github.com/coursier/cache-action/compare/90c37294538be80a558fd665531fcdc2b467b475...95e5b1029b6b86e7bac033ee44a0697d8a527d2d)\n\n---\nupdated-dependencies:\n- dependency-name: coursier/cache-action\n  dependency-version: 8.1.1\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "0dabeb39291df116f814a8d5d623faa4d16440f9",
      "tree": "95186eb1ee5bc488aff3303a9a6b20e0b0538309",
      "parents": [
        "7d1d44848e9d54db9d6da0a1b7802ad8ebc7b4d5"
      ],
      "author": {
        "name": "He-Pin(kerr)",
        "email": "hepin1989@gmail.com",
        "time": "Sat May 16 17:01:56 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 16 17:01:56 2026 +0800"
      },
      "message": "Optimize unary gRPC handler fast paths (#686)\n\n* perf: optimize unary gRPC fast paths\n\nMotivation:\nThe grpc_bench Scala Pekko server uses the Scala generated unary handler path. For strict unary requests and already-completed service futures, the old generated handler still went through Future flatMap/map/recoverWith scheduling and the apply path went through partial/orElse dispatch.\n\nModification:\nAdd a Scala unary handler helper that synchronously continues already-completed strict unmarshal and service futures, while preserving the asynchronous path for incomplete futures. Generate single-service Scala handlers through the direct handler path and use the unary helper for unary methods. Add a Scala unary handler JMH benchmark comparing the generated handler with the old-style Future chain. Keep the Java DSL strict unmarshal parity benchmark and allow JMH to run on JDKs where UseBiasedLocking is removed.\n\nResult:\nJDK 25 JMH with gc profiler: generatedUnaryStrictRequestProcessing 243,468 ops/s and 2,088 B/op; oldStyleUnaryStrictRequestProcessing 83,123 ops/s and 2,625 B/op. The generated strict unary path is 2.9x faster with about 20 percent lower allocation in this focused benchmark.\n\n* perf: reduce gRPC protobuf frame allocations\n\n* refactor: inline Scala unary response handling\n\n* perf: reduce unary success-path allocations"
    },
    {
      "commit": "7d1d44848e9d54db9d6da0a1b7802ad8ebc7b4d5",
      "tree": "ee1fac3fc0bb7be68a79e430c431730f254ebccc",
      "parents": [
        "6f73ef0ba3b4b89e5b93f205406f0b2476be8e20"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Sat May 16 11:01:35 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 16 17:01:35 2026 +0800"
      },
      "message": "Update scalafmt-core to 3.11.1 (#694)"
    },
    {
      "commit": "6f73ef0ba3b4b89e5b93f205406f0b2476be8e20",
      "tree": "1b235a5aea217c0756849ebb27ae25addea6d818",
      "parents": [
        "2781473341901bde5dfa97d01cd0d10bc07c37d0"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Sat May 16 11:01:16 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 16 17:01:16 2026 +0800"
      },
      "message": "Update sbt-scalafmt to 2.6.1 (#693)"
    },
    {
      "commit": "2781473341901bde5dfa97d01cd0d10bc07c37d0",
      "tree": "3f5a52dff2aff377a6f5df00271386db834dfa85",
      "parents": [
        "547387ea91ef9c20a49fba5daddb306c26480bd6"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Thu May 14 14:17:29 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 14 14:17:29 2026 +0100"
      },
      "message": "build with pekko core 2.0.0-M2 (#696)"
    },
    {
      "commit": "547387ea91ef9c20a49fba5daddb306c26480bd6",
      "tree": "4e6a73fc26e0275315f5f3292dad2a42e93c81d6",
      "parents": [
        "c7a96f7f4e44add11e082d3e8351d7c077f778ef"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Wed May 13 18:27:24 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 13 17:27:24 2026 +0100"
      },
      "message": "Update slf4j-api to 2.0.18 (#695)"
    },
    {
      "commit": "c7a96f7f4e44add11e082d3e8351d7c077f778ef",
      "tree": "61de7f5b8848b259812006a5eb1c304a97156d15",
      "parents": [
        "bdbdc0ecab2b4631474592e3991c7012472818c4"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Fri May 08 10:02:52 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 08 10:02:52 2026 +0100"
      },
      "message": "Add mTLS examples ported from akka-grpc PR #1781 (#691)\n\n* Add mTLS support from akka-grpc PR #1781 (Java/Scala examples, certs, docs)\n\nAgent-Logs-Url: https://github.com/pjfanning/incubator-pekko-grpc/sessions/8fc8ebec-eb62-4f02-bba7-5e964c412085\n\nCo-authored-by: pjfanning \u003c11783444+pjfanning@users.noreply.github.com\u003e\n\n* Fix code review issues: wrong class ref, println typo, README filename/spelling corrections\n\nAgent-Logs-Url: https://github.com/pjfanning/incubator-pekko-grpc/sessions/8fc8ebec-eb62-4f02-bba7-5e964c412085\n\nCo-authored-by: pjfanning \u003c11783444+pjfanning@users.noreply.github.com\u003e\n\n* license headers\n\n* scalafmt\n\n* build changes\n\n* unnecessary deps\n\n* Update build.gradle\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] \u003c198982749+Copilot@users.noreply.github.com\u003e\nCo-authored-by: pjfanning \u003c11783444+pjfanning@users.noreply.github.com\u003e"
    },
    {
      "commit": "bdbdc0ecab2b4631474592e3991c7012472818c4",
      "tree": "e84f41a3e513c519229f19a2116317bdeb386ab9",
      "parents": [
        "15c1dd80e34b074fd9c49df1ffebf688aacbb940"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Sun May 03 17:29:10 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 03 16:29:10 2026 +0100"
      },
      "message": "Update sbt, scripted-plugin to 1.12.11 (#689)"
    },
    {
      "commit": "15c1dd80e34b074fd9c49df1ffebf688aacbb940",
      "tree": "8885705d8769e149b2c02e64e5f8038fbd1c10de",
      "parents": [
        "3136c9fa20e1ddc130ea6dbbc9c15007bb2019b2"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Fri May 01 21:09:52 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 20:09:52 2026 +0100"
      },
      "message": "Update grpc-core, grpc-interop-testing, ... to 1.81.0 (#688)\n\n* Update grpc-core, grpc-interop-testing, ... to 1.81.0\n\n* grpc/protubuf upgrades\n\n---------\n\nCo-authored-by: PJ Fanning \u003cpjfanning@users.noreply.github.com\u003e"
    },
    {
      "commit": "3136c9fa20e1ddc130ea6dbbc9c15007bb2019b2",
      "tree": "be59fc98f0720feb6f15027db973d605ee785153",
      "parents": [
        "6eecbfdc0a64349cf216ba4a8ca2c9759a9ab63c"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Fri May 01 20:01:51 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 01 19:01:51 2026 +0100"
      },
      "message": "Update sbt, scripted-plugin to 1.12.10 (#687)"
    },
    {
      "commit": "6eecbfdc0a64349cf216ba4a8ca2c9759a9ab63c",
      "tree": "d9bb2d7deffd840e3ef2cb318dfc4a8f2a671282",
      "parents": [
        "8243320f47df8283da09ab5cb5eb102a8acc4e7b"
      ],
      "author": {
        "name": "Matthias Kurz",
        "email": "m.kurz@irregular.at",
        "time": "Tue Apr 21 22:01:24 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 21 22:01:24 2026 +0200"
      },
      "message": "correct config for sbt-java-formatter 0.12.0 (#685)\n\n* javafmtFormatterCompatibleJavaVersion :\u003d 17 / javafmtSortImports :\u003d false\n\n* javafmtAll"
    },
    {
      "commit": "8243320f47df8283da09ab5cb5eb102a8acc4e7b",
      "tree": "09055da2da433f19a3049dde16ef8cbea73fdb3c",
      "parents": [
        "ccf86534392546fbfcccc828e7eabc78f9556ed8"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Apr 21 21:45:53 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 21 21:45:53 2026 +0200"
      },
      "message": "Bump actions/cache from 5.0.4 to 5.0.5 (#683)\n\nBumps [actions/cache](https://github.com/actions/cache) from 5.0.4 to 5.0.5.\n- [Release notes](https://github.com/actions/cache/releases)\n- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)\n- [Commits](https://github.com/actions/cache/compare/668228422ae6a00e4ad889ee87cd7109ec5666a7...27d5ce7f107fe9357f9df03efb73ab90386fccae)\n\n---\nupdated-dependencies:\n- dependency-name: actions/cache\n  dependency-version: 5.0.5\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "ccf86534392546fbfcccc828e7eabc78f9556ed8",
      "tree": "33b9ad2906d48d00f98fb081038a5f289a86dfbb",
      "parents": [
        "ab2f8705b1894b91511bf2833ea3b4e48ec72cac"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Tue Apr 21 20:08:58 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 21 20:08:58 2026 +0200"
      },
      "message": "Update sbt-java-formatter to 0.12.0 (#684)"
    },
    {
      "commit": "ab2f8705b1894b91511bf2833ea3b4e48ec72cac",
      "tree": "934862a578b89d894bbbe4362619c677609fb23c",
      "parents": [
        "cde0fcdb9a77a307a0d28cd17c291c26797ecd1f"
      ],
      "author": {
        "name": "Philippus Baalman",
        "email": "philippus@gmail.com",
        "time": "Tue Apr 21 10:44:32 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 21 10:44:32 2026 +0200"
      },
      "message": "Return more helpful error message when tmpdir is mounted noexec maven (#682)"
    },
    {
      "commit": "cde0fcdb9a77a307a0d28cd17c291c26797ecd1f",
      "tree": "e9bd7090d90cb3edc7a6c726ae9e8ab12842bde4",
      "parents": [
        "dbd98637d332671547aed302254c9057f57ca863"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Fri Apr 17 17:57:07 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 17 17:57:07 2026 +0200"
      },
      "message": "Update maven-core, maven-plugin-api to 3.9.15 (#681)"
    },
    {
      "commit": "dbd98637d332671547aed302254c9057f57ca863",
      "tree": "105b415d9653814251e9201593d1ce0ba9667b6c",
      "parents": [
        "2e8a4f0928897d77325786ab1ff0785964c85220"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Wed Apr 15 11:24:27 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 15 17:24:27 2026 +0800"
      },
      "message": "Update scalafmt-core to 3.11.0 (#680)"
    },
    {
      "commit": "2e8a4f0928897d77325786ab1ff0785964c85220",
      "tree": "77b528b27fccb3631a1f5013b022e00ec58e73b8",
      "parents": [
        "465e67671db619e6ccd459bb368e17d279b3db5c"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Mon Apr 13 21:41:49 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 14 03:41:49 2026 +0800"
      },
      "message": "Update sbt-scalafmt to 2.6.0 (#679)"
    },
    {
      "commit": "465e67671db619e6ccd459bb368e17d279b3db5c",
      "tree": "eb0a1ad785ed16600cad351e369edb2c32c30a9e",
      "parents": [
        "a024b0caf4cf328640e7c1315b8105dd83267f7c"
      ],
      "author": {
        "name": "PJ Fanning",
        "email": "pjfanning@users.noreply.github.com",
        "time": "Thu Apr 09 00:15:00 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 09 00:15:00 2026 +0200"
      },
      "message": "bring scripted sbt version up to date (#678)"
    },
    {
      "commit": "a024b0caf4cf328640e7c1315b8105dd83267f7c",
      "tree": "c07f583a833c761f6a7dada3280e0f217ee7545e",
      "parents": [
        "9c8ee9abad6902cc11d7039923d3448f1631181f"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Tue Apr 07 21:20:07 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 07 21:20:07 2026 +0200"
      },
      "message": "Update sbt, scripted-plugin to 1.12.9 (#676)"
    },
    {
      "commit": "9c8ee9abad6902cc11d7039923d3448f1631181f",
      "tree": "9bee2e8173238d51f333c09db78b5b7199a5104e",
      "parents": [
        "66942b224c27b5b0234c404d7b6aaae783503b8f"
      ],
      "author": {
        "name": "Scala Steward",
        "email": "43047562+scala-steward@users.noreply.github.com",
        "time": "Tue Apr 07 17:39:11 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Apr 07 17:39:11 2026 +0200"
      },
      "message": "Update sbt-java-formatter to 0.11.0 (#674)"
    }
  ],
  "next": "66942b224c27b5b0234c404d7b6aaae783503b8f"
}
