)]}'
{
  "log": [
    {
      "commit": "6d3ad713bb3578f55ec0adaddfe44f3d438d644d",
      "tree": "f16c44cb6848860cb5b0191a18760fd88b98b6c0",
      "parents": [
        "010d581167986d8c0779fdf2580b02898c0a0436",
        "311df9bffae8d73c0d02079cdb08d192f3850afb"
      ],
      "author": {
        "name": "Dave Mankoff",
        "email": "mankoff@google.com",
        "time": "Fri Jan 17 16:19:21 2025 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Jan 17 16:19:21 2025 -0800"
      },
      "message": "Upgrade dagger2 to 347cfe1352469381f4391091e8bfa242214c68cc am: 311df9bffa\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/dagger2/+/3446311\n\nChange-Id: I89f8b73361cb8789be8e89ff1601a372ac883e49\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "311df9bffae8d73c0d02079cdb08d192f3850afb",
      "tree": "f16c44cb6848860cb5b0191a18760fd88b98b6c0",
      "parents": [
        "38a6bfed84b158ba2140610b3a7635a3f84df045",
        "347cfe1352469381f4391091e8bfa242214c68cc"
      ],
      "author": {
        "name": "Dave Mankoff",
        "email": "mankoff@google.com",
        "time": "Fri Jan 10 15:46:16 2025 +0000"
      },
      "committer": {
        "name": "Dave Mankoff",
        "email": "mankoff@google.com",
        "time": "Sat Jan 11 02:07:10 2025 +0000"
      },
      "message": "Upgrade dagger2 to 347cfe1352469381f4391091e8bfa242214c68cc\n\nThis project was upgraded with external_updater.\nUsage: tools/external_updater/updater.sh update external/dagger2\nFor more info, check https://cs.android.com/android/platform/superproject/main/+/main:tools/external_updater/README.md\n\nTest: TreeHugger\nChange-Id: Ib098220a4d2f1bb3f0234de39ae52399013d41a8\n"
    },
    {
      "commit": "347cfe1352469381f4391091e8bfa242214c68cc",
      "tree": "091cb25f42e2ec2e21b052e7e43234e04ca99556",
      "parents": [
        "962bb333570f32ff14a421ad0609305583a53b3c"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Thu Jan 09 15:35:58 2025 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Thu Jan 09 15:38:01 2025 -0800"
      },
      "message": "Update Dagger yml and README with new latest version number.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 713817902\n"
    },
    {
      "commit": "962bb333570f32ff14a421ad0609305583a53b3c",
      "tree": "d148320bb2a18315a1f120c2a6670407c4670e83",
      "parents": [
        "7ca99770092b80626cd3ef71c1ad4203b523b237"
      ],
      "author": {
        "name": "Eric Chang",
        "email": "erichang@google.com",
        "time": "Thu Jan 09 12:17:28 2025 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Thu Jan 09 12:20:13 2025 -0800"
      },
      "message": "Disallow providing or injecting `dagger.internal.Provider`. This will help with IDEs accidentally suggesting importing `dagger.internal.Provider`.\n\nAlso disallow injections of raw Provider in Maps, for both javax and dagger Providers. This matches the policy of disallowing raw Provider injections in general.\n\nRELNOTES\u003dDisallow providing or injecting `dagger.internal.Provider`. Also disallow injections of raw Provider in Maps, for both javax and dagger Providers.\nPiperOrigin-RevId: 713755026\n"
    },
    {
      "commit": "7ca99770092b80626cd3ef71c1ad4203b523b237",
      "tree": "b0aec9db10588d6b81cf0ba4d949fc3eacc94a91",
      "parents": [
        "4cd83cb8a65b821d2714b0fed8530e3d1517ec2b"
      ],
      "author": {
        "name": "Daniel Santiago",
        "email": "danysantiago@google.com",
        "time": "Thu Jan 09 07:19:43 2025 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Thu Jan 09 07:24:39 2025 -0800"
      },
      "message": "Add binary compatibility validator to the Gradle projects\n\nThe validator (https://github.com/Kotlin/binary-compatibility-validator) will help us track public API changes and validate that the conversion from Java to Kotlin does not cause any breakage.\n\nAPI validation is part of the Gradle build process and will fail the build if API changes are done but not reflected in the API file. To update the API file execute `./gradlew apiDump` and commit the .api file for review along with the code changes.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 713662828\n"
    },
    {
      "commit": "4cd83cb8a65b821d2714b0fed8530e3d1517ec2b",
      "tree": "f2fb554dc2e2ebed97c5f374d06a881d3a5df7c8",
      "parents": [
        "8b4f9b6421f02f0705b97ab175e875a66bc2992d"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Wed Jan 08 16:31:06 2025 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Wed Jan 08 16:35:20 2025 -0800"
      },
      "message": "Add documentation for `dagger.useBindingGraphFix` compiler option.\n\nIn addition to adding documentation, this CL changes the compiler option name from `useLegacyBindingGraphFactory` to `useBindingGraphFix` to flip the default (it\u0027s more intuitive when disabled means \"old behavior\" and enabled means \"new behavior\") and to give the name more meaning from a user\u0027s perspective (useLegacyBindingGraphFactory likely doesn\u0027t mean much for users).\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 713455646\n"
    },
    {
      "commit": "8b4f9b6421f02f0705b97ab175e875a66bc2992d",
      "tree": "c9addc5d93d4e8b919893dab46e75a0c1da63700",
      "parents": [
        "9daa0ae7b11f26b095378412aff7edbf654b068c"
      ],
      "author": {
        "name": "Daniel Santiago",
        "email": "danysantiago@google.com",
        "time": "Tue Jan 07 13:20:18 2025 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Tue Jan 07 13:23:17 2025 -0800"
      },
      "message": "Add maven publish plugin to Gradle projects.\n\nOnly adds the plugin and POM configuration enabling publishing to local repository, not yet configured for actual world publishing.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 713019870\n"
    },
    {
      "commit": "9daa0ae7b11f26b095378412aff7edbf654b068c",
      "tree": "7f33d89163c2b6ab96d6930952ae297ce4c240ca",
      "parents": [
        "3418609a2bec1a951a73d2abefa398befc500c7b"
      ],
      "author": {
        "name": "Daniel Santiago",
        "email": "danysantiago@google.com",
        "time": "Mon Jan 06 11:51:27 2025 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Jan 06 11:53:41 2025 -0800"
      },
      "message": "Wire resource configuration while keeping the Bazel project structure.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 712608237\n"
    },
    {
      "commit": "3418609a2bec1a951a73d2abefa398befc500c7b",
      "tree": "606b5b017b019a31887d4b248750a0817ae6cca6",
      "parents": [
        "0927b9a51426a7ee7e08a9ca65fc61d1bb4ee6cb"
      ],
      "author": {
        "name": "Daniel Santiago",
        "email": "danysantiago@google.com",
        "time": "Fri Jan 03 15:13:58 2025 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Fri Jan 03 15:16:27 2025 -0800"
      },
      "message": "Move JDK toolchain, Kotlin language and JVM target configuration to convention plugin.\n\nAlso trying to keep libs.versions.toml ordered alphabetically.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 711866498\n"
    },
    {
      "commit": "0927b9a51426a7ee7e08a9ca65fc61d1bb4ee6cb",
      "tree": "7a11597bbfbef3c71efa14c62f7b88fa6f440eed",
      "parents": [
        "1620e92d6d09088590fb73ebe0376b3e2da84a8f"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Mon Dec 30 15:23:51 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Dec 30 15:28:39 2024 -0800"
      },
      "message": "Add flag to control LegacyBindingGraphFactory usage.\n\nFor now, the flag\u0027s default is set to enabled to keep the functionality the same as before. However, in a future release (likely 2.55) we will flip the default to `disabled`.\n\nThe new `BindingGraphFactory` contains many bug fixes that still exist in the `LegacyBindingGraphFactory`. However, the new `BindingGraphFactory` does have some behavior changes that may affect users. The biggest change is that we no longer allow a module binding installed in a component to float to a subcomponent to satisfy missing bindings. See the javadoc in `CompilerOptions` for more details.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 710805160\n"
    },
    {
      "commit": "1620e92d6d09088590fb73ebe0376b3e2da84a8f",
      "tree": "dd1b3c48095c853eb6a8388f874c2d25d701a8ce",
      "parents": [
        "c43783a4b703546667b63b0261716af5c3a1700a"
      ],
      "author": {
        "name": "Daniel Santiago",
        "email": "danysantiago@google.com",
        "time": "Mon Dec 30 10:37:23 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Dec 30 10:39:54 2024 -0800"
      },
      "message": "Add Github CI step and action for building with Gradle\n\nThe Gradle projects is configured to use JDK 18 toolchain so a new env variable is added for it.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 710748526\n"
    },
    {
      "commit": "c43783a4b703546667b63b0261716af5c3a1700a",
      "tree": "e4ca4ff62e6eb0f704aafefac36043ac063b2521",
      "parents": [
        "98a0275416cae5afaad5e70a051137a28b3a8201"
      ],
      "author": {
        "name": "Daniel Santiago",
        "email": "danysantiago@google.com",
        "time": "Mon Dec 30 06:28:42 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Dec 30 06:35:07 2024 -0800"
      },
      "message": "Initial setup of Gradle as a build system for Dagger\n\nAt the repository root, the root project \u0027dagger-parent\u0027 configures common build functionality and includes the various projects that will be placed \u0027gradle-projects\u0027, for now only the runtime is configured.\n\nThe buildSrc directory is a special Gradle sub-project to share common build logic between sub-projects, it will become more useful in time as the projects gets more complex and shared build logic is needed.\n\nDependencies and versions are defined in a Version Catalog in gradle/libs.versions.toml, these will eventually need to be validated to be in-sync with Bazel\u0027s WORKSPACE.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 710702061\n"
    },
    {
      "commit": "98a0275416cae5afaad5e70a051137a28b3a8201",
      "tree": "706d0644cdde6788d1e1ddcf46ef0f49a3a9573d",
      "parents": [
        "caa7e178bd1a1ca6bd6ea569f2334f02a55b59cc"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Fri Dec 27 13:36:37 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Fri Dec 27 13:39:08 2024 -0800"
      },
      "message": "Fix LazyClassKey proguard file issues.\n\n  * Fixes the name of the proguard file to contain an underscore between the package and simple names (e.g. `test.FooModule` was `testFooModule_LazyClassKeys.pro` and is now `test_FooModule_LazyClassKeys.pro`).\n  * Fixes incremental processing by adding the originating element to the `writeResource` call (https://github.com/google/dagger/issues/4549).\n  * Fixes bug where `StringBuilder` was declared outside module for-loop, which could lead to duplicate entries across proguard rules for different modules.\n  * Fixed `ClassName#toString()` usage to `ClassName#canonicalName()`, since `toString()` is ambiguous and will silently break things when we migrate to `XClassName`.\n  * Added test coverage for the proguard file name and contents.\n\nFixes #4549\n\nRELNOTES\u003dFixes #4549: Fixes incremental processing for LazyClassKey proguard files by adding the originating element to the `writeResource` call.\nPiperOrigin-RevId: 710126913\n"
    },
    {
      "commit": "caa7e178bd1a1ca6bd6ea569f2334f02a55b59cc",
      "tree": "3e7b3e99ee34df00a36652866c3e6a8fe89a3360",
      "parents": [
        "3ac368110279da169fb3fb4548269b85d738fcdf"
      ],
      "author": {
        "name": "Eric Chang",
        "email": "erichang@google.com",
        "time": "Fri Dec 27 11:21:09 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Fri Dec 27 11:23:50 2024 -0800"
      },
      "message": "Support injecting `jakarta.inject.Provider` type in the places `javax.inject.Provider` can be used.\n\nRELNOTES\u003dSupport injecting `jakarta.inject.Provider`\nPiperOrigin-RevId: 710101199\n"
    },
    {
      "commit": "3ac368110279da169fb3fb4548269b85d738fcdf",
      "tree": "ab147c9ceccdc2f85ad3d834d6aaa89674bc0614",
      "parents": [
        "e9e8deb8ef0eb5ddfa8103d3416d4e1dce277a13"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Fri Dec 27 10:43:13 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Fri Dec 27 10:46:10 2024 -0800"
      },
      "message": "Migrating ClassName to XClassName as part of the migration to XPoet.\n\nThere\u0027s more to migrate, this is only a first pass migrating most of SourceFiles and the APIs that call into it.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 710093844\n"
    },
    {
      "commit": "e9e8deb8ef0eb5ddfa8103d3416d4e1dce277a13",
      "tree": "bd888866e70d60860300e31a2759928e8e03825a",
      "parents": [
        "76b581999a81a4a6e91d5f5fc6b51639095575b2"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Mon Dec 23 10:26:02 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Dec 23 10:28:34 2024 -0800"
      },
      "message": "Update Dagger yml and README with latest version number.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 709094695\n"
    },
    {
      "commit": "76b581999a81a4a6e91d5f5fc6b51639095575b2",
      "tree": "b09622d2e26495e6ab173c23e7a4832619ef6c93",
      "parents": [
        "013a9a447fddbc922c775af5c193319153e00dcf"
      ],
      "author": {
        "name": "Daniel Santiago",
        "email": "danysantiago@google.com",
        "time": "Fri Dec 20 05:31:12 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Fri Dec 20 05:34:10 2024 -0800"
      },
      "message": "Update Hilt Gradle Plugin KSP configuration to support KSP2\n\nThe plugin does per-variant / per-platform configuration by adding a CommandLineArgumentProvider to the KSP task, with KSP2 the task class is different and does not implement the KSP1 base class. This CL updates the plugin integration to find and also configure the KSP2 task.\n\nFixes https://github.com/google/dagger/issues/4303\n\nRELNOTES\u003dUpgrade Hilt Gradle Plugin to support KSP2 configuration.\nPiperOrigin-RevId: 708292642\n"
    },
    {
      "commit": "013a9a447fddbc922c775af5c193319153e00dcf",
      "tree": "595e2e3f47fc8373d25f31878dd013984e0a61e6",
      "parents": [
        "07d8f883f1f1e1fe6787228b05741d8dd8633bd4"
      ],
      "author": {
        "name": "Dagger Team",
        "email": "java-team-github-bot@google.com",
        "time": "Fri Dec 20 03:49:31 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Fri Dec 20 03:52:32 2024 -0800"
      },
      "message": "Add Nullmarking to Components\n\nRELNOTES\u003dExpand Nullmarking\nPiperOrigin-RevId: 708266599\n"
    },
    {
      "commit": "07d8f883f1f1e1fe6787228b05741d8dd8633bd4",
      "tree": "0afc3655fa6bbde29b2df7d8b4656bfeeb36dce6",
      "parents": [
        "efa421a3fcd03a0453f76825741cd8307eea067e"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Thu Dec 19 17:42:12 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Thu Dec 19 17:44:26 2024 -0800"
      },
      "message": "Remove private from generated Factory\u0027s INSTANCE field.\n\nFixes https://github.com/google/dagger/issues/4544\n\nBackground: Dagger\u0027s generated factory has an optimization to lazy load a singleton instance of the factory when there are no dependencies:\n\n```\npublic final class Foo_Factory implements Factory\u003cFoo\u003e {\n  public static Foo_Factory create() {\n    return InstanceHolder.INSTANCE;\n  }\n\n  private static final class InstanceHolder {\n    private static final Foo_Factory INSTANCE \u003d new Foo_Factory();\n  }\n}\n```\n\nThe `private` modifier on the `INSTANCE` field is not needed and can add extra overhead as described in https://github.com/google/dagger/issues/4544. Removing the `private` modifier is also needed once we start generating Kotlin sources since accessing a `private` field on a nested class in kotlin source is a kotlinc error.\n\nRELNOTES\u003dFixes #4544: Removes private from InstanceHolder field.\nPiperOrigin-RevId: 708101532\n"
    },
    {
      "commit": "efa421a3fcd03a0453f76825741cd8307eea067e",
      "tree": "191fb66137f6b6128ab951cac5b972b1dadefee7",
      "parents": [
        "fe9a2f9ff14dc9ed9b7a13520278036404b2622d"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Thu Dec 19 12:44:48 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Thu Dec 19 12:47:33 2024 -0800"
      },
      "message": "Update Dagger\u0027s XProcessing jars.\n\nThe update pulls in a fix for https://github.com/google/dagger/issues/4533, which fixes the path separator for Windows when creating LazyClassKey proguard file.\n\nFixes #4533\n\nRELNOTES\u003dFixes #4533: Fixes path separator for Windows when creating LazyClassKey proguard file.\nPiperOrigin-RevId: 707997428\n"
    },
    {
      "commit": "fe9a2f9ff14dc9ed9b7a13520278036404b2622d",
      "tree": "477cd277a169239f01c73228f985ce5b8ac8debe",
      "parents": [
        "5e50a9296826dc91259e3c9cc713c6c0aa8c42ec"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Thu Dec 19 12:00:46 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Thu Dec 19 12:05:30 2024 -0800"
      },
      "message": "Update Dagger to use Android SDK 34.\n\nDagger was using SDK 32, but that is no longer shipped with GitHub Actions by default.\n\nhttps://github.com/google/dagger/actions/runs/12416363360/job/34664836067\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 707984837\n"
    },
    {
      "commit": "5e50a9296826dc91259e3c9cc713c6c0aa8c42ec",
      "tree": "028d1604410579d92c0633d8911e424095d88433",
      "parents": [
        "d60729d20cd0daf422916b1e2b90e5d73c951699"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Wed Dec 18 16:09:19 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Thu Dec 19 12:03:22 2024 -0800"
      },
      "message": "Internal changes\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 707697739\n"
    },
    {
      "commit": "010d581167986d8c0779fdf2580b02898c0a0436",
      "tree": "0e36904b124946f72b3f4c68ebe66067356c653a",
      "parents": [
        "f585d8a307d0621d6060bd7e80091fdcbf94fe27",
        "38a6bfed84b158ba2140610b3a7635a3f84df045"
      ],
      "author": {
        "name": "Sadaf Ebrahimi",
        "email": "sadafebrahimi@google.com",
        "time": "Wed Dec 18 13:17:18 2024 -0800"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Dec 18 13:17:18 2024 -0800"
      },
      "message": "Add janitors to the OWNERS file am: 38a6bfed84\n\nOriginal change: https://android-review.googlesource.com/c/platform/external/dagger2/+/3422887\n\nChange-Id: I6b253cabfcfc65086cd89c41d54ef34cf48e5f76\nSigned-off-by: Automerger Merge Worker \u003candroid-build-automerger-merge-worker@system.gserviceaccount.com\u003e\n"
    },
    {
      "commit": "38a6bfed84b158ba2140610b3a7635a3f84df045",
      "tree": "0e36904b124946f72b3f4c68ebe66067356c653a",
      "parents": [
        "f585d8a307d0621d6060bd7e80091fdcbf94fe27"
      ],
      "author": {
        "name": "Sadaf Ebrahimi",
        "email": "sadafebrahimi@google.com",
        "time": "Wed Dec 18 20:09:22 2024 +0000"
      },
      "committer": {
        "name": "Sadaf Ebrahimi",
        "email": "sadafebrahimi@google.com",
        "time": "Wed Dec 18 20:09:22 2024 +0000"
      },
      "message": "Add janitors to the OWNERS file\n\nTest: TreeHugger\nChange-Id: I45e88861748c85127427e34568bb2d973fa5a93a\n"
    },
    {
      "commit": "d60729d20cd0daf422916b1e2b90e5d73c951699",
      "tree": "40f30cf772ae9b5d771ad321423405df0cb67f98",
      "parents": [
        "6ee6092d80de2c93a2c07cf254ed543d41cc5995"
      ],
      "author": {
        "name": "Eric Chang",
        "email": "erichang@google.com",
        "time": "Wed Dec 18 11:15:44 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Wed Dec 18 11:18:46 2024 -0800"
      },
      "message": "Change Dagger-genenerated factories to have an additional create method that takes in `dagger.internal.Provider` types. Since the components already pass in `dagger.internal.Provider` types, this will automatically make those components use the new method even though the component code hasn\u0027t change.\n\n`javax.inject.Provider` methods are left to solve linking errors across Dagger versions. These methods will be removed in the future though.\n\nRELNOTES\u003dMake factory classes use `dagger.internal.Provider`.\nPiperOrigin-RevId: 707611594\n"
    },
    {
      "commit": "6ee6092d80de2c93a2c07cf254ed543d41cc5995",
      "tree": "eef60fd46680102402e8e15b1ec36fb0cd0dbb94",
      "parents": [
        "972c8d35b7f132bf90ae94891fc9201aec2adb97"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Wed Dec 18 09:04:26 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Wed Dec 18 09:07:27 2024 -0800"
      },
      "message": "Migrate FrameworkType and FrameworkField to XPoet.\n\nThis CL:\n\n  * Migrates `FrameworkField` to XPoet\n  * Migrates `FrameworkType` to XPoet\n  * Adds `XTypeNames` -- a version of `TypeNames` compatible with XPoet.\n  * Adds legacy `toJavaPoet()` calls where needed. These will be cleaned up in future CLs as we migrate the corresponding usages to use XPoet.\n\n#dagger-xpoet-migration\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 707570301\n"
    },
    {
      "commit": "972c8d35b7f132bf90ae94891fc9201aec2adb97",
      "tree": "8d51d1d107ea85eed5d50d347f0b6ccf551eec7a",
      "parents": [
        "61ce1d5d5932c6517498ccc0e81c0a983d9c4d04"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Wed Dec 18 07:54:39 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Wed Dec 18 08:01:57 2024 -0800"
      },
      "message": "Fix warnings about instantiating new boxed primitives.\n\nThese constructors are deprecated for removal in upcoming java versions, and are currently giving the following warning:\n\n```\nthird_party/java_src/dagger/project/javatests/dagger/functional/basic/BasicTest.java:64: warning: [removal] Byte(byte) in Byte has been deprecated and marked for removal\n    assertThat(basicComponent.getBoxedByte()).isEqualTo(new Byte(BOUND_BYTE));\n```\n\nWe only call these in a single test and AFAICT they aren\u0027t necessary or relevant to what this test is trying to assert so I\u0027m removing them.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 707550777\n"
    },
    {
      "commit": "61ce1d5d5932c6517498ccc0e81c0a983d9c4d04",
      "tree": "4d08117b080d00c25b0f499d04d4061a976ad881",
      "parents": [
        "4c2e482478e66aaa1dc9af61fa5a425699b16420"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Mon Dec 09 15:50:55 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Fri Dec 13 07:31:11 2024 -0800"
      },
      "message": "Internal changes\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 704445022\n"
    },
    {
      "commit": "4c2e482478e66aaa1dc9af61fa5a425699b16420",
      "tree": "c0bc1037554cd257a7edc62854f888289c99d447",
      "parents": [
        "dde28e53916efbfc73fff9cc92f78920d41ad6c6"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Mon Dec 09 14:59:50 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Dec 09 15:02:11 2024 -0800"
      },
      "message": "Update Dagger yml and README with new latest version number.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 704428700\n"
    },
    {
      "commit": "dde28e53916efbfc73fff9cc92f78920d41ad6c6",
      "tree": "52f727ab0c2e12a3602fc1896ad9a544b28bddda",
      "parents": [
        "84d3aa5f1bda40af532d9b5f35e957dbdea901dd"
      ],
      "author": {
        "name": "cpovirk",
        "email": "cpovirk@google.com",
        "time": "Sat Dec 07 07:24:44 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Sat Dec 07 07:27:59 2024 -0800"
      },
      "message": "Make Hilt copy type-use nullness annotations, too.\n\nRELNOTES\u003dn/a\nPiperOrigin-RevId: 703804129\n"
    },
    {
      "commit": "84d3aa5f1bda40af532d9b5f35e957dbdea901dd",
      "tree": "ba387826baf5d18e15db00a59a2725f6a99a8030",
      "parents": [
        "09a4246df420132ebaadbe3f20258c86343652e8"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Fri Dec 06 09:03:07 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Fri Dec 06 09:06:37 2024 -0800"
      },
      "message": "Update kotlin (and related dependencies) to 2.0.21.\n\nThis CL:\n\n  * Updates KSP to 2.0.21-1.0.28\n  * Updates kotlin-metadata-jvm to 2.0.21\n  * Note: due to https://github.com/bazelbuild/rules_kotlin/issues/1176 we can\u0027t actually update Kotlin itself to 2.0.21, but somehow that doesn\u0027t seem to cause an issue\n  * Migrates kotlin-metadata-jvm usages to the new API (the pre-2.0.0 APIs are deprecated).\n  * Updates XProcessing and XProcessing Testing jars\n  * Adds flags to fall back to Kotlin 1.9 for compiler tests (Working on getting these tests working with K2/KSP2 is in progress).\n  * Updated all of our artifact tests to use the same Kotlin and KSP versions.\n  * Added `compat_kt_jvm_library` to alias output jars to the expected locations.\n\nFixes #4525\n\nRELNOTES\u003dFixes #4525: Update kotlin-jvm-metadata to 2.0.21 to remove dependency on Beta version.\nPiperOrigin-RevId: 703516835\n"
    },
    {
      "commit": "09a4246df420132ebaadbe3f20258c86343652e8",
      "tree": "45145de6e793199d9d752dc74d7a95a08fd22ab5",
      "parents": [
        "5fd8ec1a39f568d67bd6644abe821729ba6a0725"
      ],
      "author": {
        "name": "Dagger Team",
        "email": "java-team-github-bot@google.com",
        "time": "Thu Dec 05 16:27:41 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Thu Dec 05 16:30:53 2024 -0800"
      },
      "message": "Nit\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 703289419\n"
    },
    {
      "commit": "5fd8ec1a39f568d67bd6644abe821729ba6a0725",
      "tree": "d6ecdc61f94a9633ba90d1a5d5d8d26748ac6d6e",
      "parents": [
        "384ad08ff73301d70c6291fd2078a1b5d9d434dd"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Wed Dec 04 14:47:02 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Wed Dec 04 14:50:18 2024 -0800"
      },
      "message": "Add the originating element in LazyMapKeyProxyGenerator.\n\nForgetting the originating element was an oversight. Gradle\u0027s incremental processing requires originating elements to determine when to reprocess files. This CL fixes `LazyMapKeyProxyGenerator` by extending `SourceFileGenerator`, which takes care of assigning the originating element. In addition, it removes some duplicate code that\u0027s already handled in `SourceFileGenerator` (e.g. adding the generated and suppress annotations).\n\nFixes #4526\n\nRELNOTES\u003dFixes #4526: Add the originating element in LazyMapKeyProxyGenerator.\nPiperOrigin-RevId: 702869366\n"
    },
    {
      "commit": "384ad08ff73301d70c6291fd2078a1b5d9d434dd",
      "tree": "da911c2b42aa29df5b5eb586a056308759b68acf",
      "parents": [
        "369bbc666ec11acbb3fd89ad7d9dbd3a532aba05"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Wed Dec 04 11:57:27 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Wed Dec 04 12:01:14 2024 -0800"
      },
      "message": "Update Dagger yml and README with new latest version number.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 702808454\n"
    },
    {
      "commit": "369bbc666ec11acbb3fd89ad7d9dbd3a532aba05",
      "tree": "56b6b1ace81294ecc96367c8725a6ba2de792b9c",
      "parents": [
        "841d765b350f0e0b323fbfc68d18ed24cf7e5bc3"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Mon Dec 02 10:47:50 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Dec 02 10:52:38 2024 -0800"
      },
      "message": "[Refactor]: Move members injection optimization into its RequestRepresentation.\n\nI\u0027ve also added tests for this optimization, since nothing failed when I removed it.\n\nThis CL moves the logic for a members injection optimization into its corresponding RequestRepresentation (`MembersInjectionRequestRepresentation`).\n\nThe benefit of this refactor is\n\n  1. Consolidates the logic for members injection requests into a single location.\n  2. Simplifies `ComponentRequestRepresentations` and allows us to share more of the code between members injection and contribution component methods.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 702018277\n"
    },
    {
      "commit": "841d765b350f0e0b323fbfc68d18ed24cf7e5bc3",
      "tree": "c6b633abebbd8dd4c1481528317866ab6d297b16",
      "parents": [
        "2d75be962c201cfb59e058aa6250500d63f0c575"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Tue Nov 26 14:35:36 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Tue Nov 26 14:37:44 2024 -0800"
      },
      "message": "Internal changes\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 700463572\n"
    },
    {
      "commit": "2d75be962c201cfb59e058aa6250500d63f0c575",
      "tree": "e0676c53a716f55d9edf5c050a5c57b00b60704e",
      "parents": [
        "4046f2c0ba258898faaae771b6e59cac1877d818"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Tue Nov 26 11:01:40 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Tue Nov 26 11:07:11 2024 -0800"
      },
      "message": "Internal changes\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 700397331\n"
    },
    {
      "commit": "4046f2c0ba258898faaae771b6e59cac1877d818",
      "tree": "28e990cc9e29e297234a2bf218dac2c0a84a8faa",
      "parents": [
        "9fe4824cb45c4b3fae82822ed249d281d9a7fea6"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Mon Nov 25 13:14:43 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Nov 25 13:17:36 2024 -0800"
      },
      "message": "[Refactor]: Change `FrameworkField#create()` to better align with the XPoet migration.\n\nDuring the XPoet migrations `FrameworkField#create()` will be called by both migrated and non-migrated code.\n\nDue to b/379934406, it\u0027s currently not feasible to generally go from JTypeName to XTypeName so I\u0027m changing up the `create` method to take in the framework `ClassName` separately. Unlike `TypeName`, a `ClassName` can be converted to an `XClassName` which will make the interopt between the two usages easier during the migration.\n\nThis CL also updates FrameworkFieldTest to use the new API.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 700078936\n"
    },
    {
      "commit": "9fe4824cb45c4b3fae82822ed249d281d9a7fea6",
      "tree": "be9bcb83396f7cc68b4b916ea2bc54529bb3a96d",
      "parents": [
        "fdbc63e33ee7df03d1feb24d83b38e6743f7db68"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Mon Nov 25 12:23:11 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Nov 25 12:26:50 2024 -0800"
      },
      "message": "Internal changes\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 700064660\n"
    },
    {
      "commit": "fdbc63e33ee7df03d1feb24d83b38e6743f7db68",
      "tree": "f1870a94dccd6db9c6f781666a6e1e80e59eab2c",
      "parents": [
        "2b84e5726ecf1dbd321c31442a1d02a65e3d93c3"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Mon Nov 25 10:47:53 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Nov 25 10:51:08 2024 -0800"
      },
      "message": "[Refactor]: Move `ProvisionMethods#create()`/`InjectionSiteMethods#create()` into the generator that uses it.\n\nNote: this CL shouldn\u0027t cause any changes to the generated code.\n\n`FactoryGenerator` is the only class that uses `ProvisionMethods#create()`, and `MembersInjectorGenerator` is the only class that uses `InjectionSiteMethods#create()`. Thus, I\u0027m moving these methods into these classes for better encapsulation. This will also make the XPoet migration easier since I plan to migrate `FactoryGenerator` and `MembersInjectorGenerator` separately.\n\nNote that these methods were sharing some logic that now needs to be duplicated, but IMO this creates more readable code since we\u0027re no longer entangling the two use cases. For example, now that `ProvisionMethods` and `InjectionSiteMethods` define their own versions of `methodProxy()` method, we no longer need the multiple enums (i.e. `InstanceCastPolicy` and `CheckNotNullPolicy`) as input to these methods.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 700035303\n"
    },
    {
      "commit": "2b84e5726ecf1dbd321c31442a1d02a65e3d93c3",
      "tree": "eb3de434b3441b6ef05b39c9884dd2e6b7a13aae",
      "parents": [
        "fe811e17c04dc5f2d679a9e7bdc87b21e49de30e"
      ],
      "author": {
        "name": "Dagger Team",
        "email": "java-team-github-bot@google.com",
        "time": "Mon Nov 25 10:42:55 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Nov 25 10:46:00 2024 -0800"
      },
      "message": "Kotlin compiler update to 2.0.21, prework.\n\nPiperOrigin-RevId: 700033856\n"
    },
    {
      "commit": "fe811e17c04dc5f2d679a9e7bdc87b21e49de30e",
      "tree": "3ecad19fc0dedbc17b0d78353adc78b7929aeb41",
      "parents": [
        "6b183f85e50c7b0e5e524e57d2f4561786d146cf"
      ],
      "author": {
        "name": "Dagger Team",
        "email": "java-team-github-bot@google.com",
        "time": "Fri Nov 22 15:35:05 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Fri Nov 22 15:37:45 2024 -0800"
      },
      "message": "Kotlin compiler update to 2.0.21, prework.\n\nPiperOrigin-RevId: 699307390\n"
    },
    {
      "commit": "6b183f85e50c7b0e5e524e57d2f4561786d146cf",
      "tree": "b5e791f84b971c8e0ae24e7ac7baf097601d5979",
      "parents": [
        "d0b2cc18549bb654f0965d074c7c34841e62ef76"
      ],
      "author": {
        "name": "Eric Chang",
        "email": "erichang@google.com",
        "time": "Sat Nov 16 15:16:17 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Sat Nov 16 15:18:42 2024 -0800"
      },
      "message": "Support requesting Jakarta Provider types.\n\nPiperOrigin-RevId: 697234168\n"
    },
    {
      "commit": "d0b2cc18549bb654f0965d074c7c34841e62ef76",
      "tree": "da25c6b6b15f83bd8b081ea60244863fe3503d6b",
      "parents": [
        "a065c9ff0a33f73331e9c7957c17b059bca84ca1"
      ],
      "author": {
        "name": "Eric Chang",
        "email": "erichang@google.com",
        "time": "Thu Nov 14 13:46:33 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Thu Nov 14 13:51:14 2024 -0800"
      },
      "message": "Support requesting Jakarta Provider types.\n\nRELNOTES\u003dSupport Jakarta Provider requests\nPiperOrigin-RevId: 696637506\n"
    },
    {
      "commit": "a065c9ff0a33f73331e9c7957c17b059bca84ca1",
      "tree": "b5e791f84b971c8e0ae24e7ac7baf097601d5979",
      "parents": [
        "fcc6c33d19ac00586dda6b5a2d6fd2f50c1d609c"
      ],
      "author": {
        "name": "Wanying Ding",
        "email": "wanyingd@google.com",
        "time": "Tue Nov 12 10:28:06 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Tue Nov 12 10:30:52 2024 -0800"
      },
      "message": "Internal changes\n\nRELNOTES\u003dn/a\nPiperOrigin-RevId: 695785994\n"
    },
    {
      "commit": "fcc6c33d19ac00586dda6b5a2d6fd2f50c1d609c",
      "tree": "470790294a7bb89609dd0dce5ae8b6327e365ebf",
      "parents": [
        "6acd5b781379548be4fc7e3a17bd59522497b78f"
      ],
      "author": {
        "name": "Dagger Team",
        "email": "java-team-github-bot@google.com",
        "time": "Thu Nov 07 10:52:26 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Thu Nov 07 10:55:02 2024 -0800"
      },
      "message": "Clean up old eclipse workaround that should be resolved as of Eclipse 4.7 as per\nhttps://bugs.eclipse.org/bugs/show_bug.cgi?id\u003d517710\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 694175240\n"
    },
    {
      "commit": "6acd5b781379548be4fc7e3a17bd59522497b78f",
      "tree": "a242b4f6af0f58d118436f10210cd867e4eac77d",
      "parents": [
        "c44ddb597992fd0a7addb3eff0e17cc95f027f47"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Wed Nov 06 12:25:28 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Wed Nov 06 12:28:40 2024 -0800"
      },
      "message": "Update GitHub Action dependencies.\n\nBoth actions/upload-artifact@v3 and actions/download-artifact@v3 will be deprecated in a couple weeks so I\u0027ve updated them to @v4. I\u0027ve updated our other dependencies to @v4 as well.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 693821942\n"
    },
    {
      "commit": "c44ddb597992fd0a7addb3eff0e17cc95f027f47",
      "tree": "94158d0bc53bc57ffede541b4976e4287a197727",
      "parents": [
        "1e946912f05f86803c0c084e2f3b50040898cfdd"
      ],
      "author": {
        "name": "Dagger Team",
        "email": "java-team-github-bot@google.com",
        "time": "Tue Nov 05 22:45:43 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Tue Nov 05 22:49:07 2024 -0800"
      },
      "message": "Clean up old eclipse workaround that should be resolved as of Eclipse 4.7 as per\nhttps://bugs.eclipse.org/bugs/show_bug.cgi?id\u003d517710\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 693597625\n"
    },
    {
      "commit": "1e946912f05f86803c0c084e2f3b50040898cfdd",
      "tree": "9e19f22c079a3d13821c8a50d3556cb6d44292c6",
      "parents": [
        "9a53e18f9fbc09efeae3238256898a336c78641d"
      ],
      "author": {
        "name": "Dagger Team",
        "email": "java-team-github-bot@google.com",
        "time": "Mon Nov 04 15:39:23 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Nov 04 15:41:50 2024 -0800"
      },
      "message": "add @SuppressWarnings(\"nullness:initialization.field.uninitialized\") to component fields.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 693114684\n"
    },
    {
      "commit": "9a53e18f9fbc09efeae3238256898a336c78641d",
      "tree": "12ee74bcf1e2137011b88e9dc2ba5ee6f9aac7e3",
      "parents": [
        "0f936b5ce8bd350d6c1dbf776b991849ff7a8225"
      ],
      "author": {
        "name": "Wanying Ding",
        "email": "wanyingd@google.com",
        "time": "Mon Nov 04 14:18:15 2024 -0800"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Nov 04 14:20:35 2024 -0800"
      },
      "message": "Generate a class for each @LazyClassKey annotated binding, and move fields from `LazyClassKeyProvider` into the generated class.\n\nRELNOTES\u003dn/a\nPiperOrigin-RevId: 693090003\n"
    },
    {
      "commit": "0f936b5ce8bd350d6c1dbf776b991849ff7a8225",
      "tree": "7e6f536c971e125e735a7c4dd1ea69a620753a2c",
      "parents": [
        "d9e2f10e9ceb7e5772a53b2f01874dc31a79c1a6"
      ],
      "author": {
        "name": "Damian Wieczorek",
        "email": "damian@robinhood.com",
        "time": "Mon Oct 21 17:10:55 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Oct 21 17:14:47 2024 -0700"
      },
      "message": "Permit @Multibinds with values that are also allowed by @IntoSet/@IntoMap.\n\nCloses https://github.com/google/dagger/pull/4459.\n\nRELNOTES\u003dPermit @Multibinds with values that are also allowed by @IntoSet/@IntoMap.\nPiperOrigin-RevId: 688325348\n"
    },
    {
      "commit": "d9e2f10e9ceb7e5772a53b2f01874dc31a79c1a6",
      "tree": "54fc333c5a3bb7424d63bb06c29af3d30c498d90",
      "parents": [
        "15a30ca15b1ff36ca188a4f4721b8a563f1ef6cb"
      ],
      "author": {
        "name": "Wanying Ding",
        "email": "wanyingd@google.com",
        "time": "Mon Oct 21 16:29:16 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Oct 21 16:31:56 2024 -0700"
      },
      "message": "Generate a class for each @LazyClassKey annotated binding to be referenced by proguard rules, so that we don\u0027t need to generate everything at Component level.\n\nRELNOTES\u003dn/a\nPiperOrigin-RevId: 688312835\n"
    },
    {
      "commit": "15a30ca15b1ff36ca188a4f4721b8a563f1ef6cb",
      "tree": "c5bf702deaae46fad0ee3c528b1e45c9293238f2",
      "parents": [
        "d7cd84bc765d423f5399e1405c45e5006cb33146"
      ],
      "author": {
        "name": "Eric Chang",
        "email": "erichang@google.com",
        "time": "Mon Oct 21 14:04:06 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Oct 21 14:09:20 2024 -0700"
      },
      "message": "Restrict multibindings from providing framework types that conflict with multibinding types Dagger provides.\n\nRELNOTES\u003dRestrict multibindings from providing framework types that conflict with multibinding types Dagger provides. This is technically a breaking change but existing issues should either be for unused code or code that should have already broken anyway.\nPiperOrigin-RevId: 688265205\n"
    },
    {
      "commit": "d7cd84bc765d423f5399e1405c45e5006cb33146",
      "tree": "7cb042ec078e250268eb747699605701c0e58bc3",
      "parents": [
        "4cd1daff72754357e9c568144e3a37b225130112"
      ],
      "author": {
        "name": "Wanying Ding",
        "email": "wanyingd@google.com",
        "time": "Mon Oct 21 12:07:04 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Oct 21 12:09:11 2024 -0700"
      },
      "message": "Generate a class for each @LazyClassKey annotated binding, and move fields from `LazyClassKeyProvider` into the generated class.\n\nPiperOrigin-RevId: 688224478\n"
    },
    {
      "commit": "4cd1daff72754357e9c568144e3a37b225130112",
      "tree": "2d7d622372e44274e45a3795fcc8ac7e6210ec87",
      "parents": [
        "5845ba1e2ec86bf7a9027c258124c683e57c4e14"
      ],
      "author": {
        "name": "Wanying Ding",
        "email": "wanyingd@google.com",
        "time": "Mon Oct 21 10:56:42 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Oct 21 10:59:35 2024 -0700"
      },
      "message": "Generate a class for each @LazyClassKey annotated binding, and move fields from `LazyClassKeyProvider` into the generated class.\n\nRELNOTES\u003dn/a\nPiperOrigin-RevId: 688197771\n"
    },
    {
      "commit": "5845ba1e2ec86bf7a9027c258124c683e57c4e14",
      "tree": "7cb042ec078e250268eb747699605701c0e58bc3",
      "parents": [
        "8f13931de7bc7a870f1c583a1c0531474b903879"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Tue Oct 15 21:22:54 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Tue Oct 15 21:25:54 2024 -0700"
      },
      "message": "Update the load statements for Bazel\u0027s kotlin rules.\n\nThe open source rules were being loaded from a deprecated package and causing a number of build warnings like the following:\n\n```\nDEBUG: /.../io_bazel_rules_kotlin/kotlin/kotlin.bzl:116:10:\nkt_jvm_test should be loaded from //kotlin:jvm.bzl\n```\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 686356303\n"
    },
    {
      "commit": "8f13931de7bc7a870f1c583a1c0531474b903879",
      "tree": "9d829934b0951b3ac32f406a797098acc13c4ea3",
      "parents": [
        "b1a8a033280ebd7ebf7761867d0fc77f1e7221d0"
      ],
      "author": {
        "name": "Wanying Ding",
        "email": "wanyingd@google.com",
        "time": "Tue Oct 15 14:28:38 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Tue Oct 15 14:31:30 2024 -0700"
      },
      "message": "Generate keep rules for each LazyClassKey referenced class, potential fix for #4323\n\nfixes #4323\n\nRELNOTES\u003dn/a\nPiperOrigin-RevId: 686240258\n"
    },
    {
      "commit": "b1a8a033280ebd7ebf7761867d0fc77f1e7221d0",
      "tree": "8401db190403d812bab90b5041bdcda6628a22b4",
      "parents": [
        "dfcdc9ccb02987cae76f9027ed9735b8f9d1c3d2"
      ],
      "author": {
        "name": "Wanying Ding",
        "email": "wanyingd@google.com",
        "time": "Tue Oct 15 13:39:27 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Tue Oct 15 13:42:20 2024 -0700"
      },
      "message": "Refactoring `@LazyClassKey` logic to avoid generating duplicated entries in child `LazyClassKeyProvider`.\n\nRELNOTES\u003dn/a\nPiperOrigin-RevId: 686223052\n"
    },
    {
      "commit": "dfcdc9ccb02987cae76f9027ed9735b8f9d1c3d2",
      "tree": "4581e63d662fbdcaa36079fe52a65b3070228d9d",
      "parents": [
        "fbb7b3c15f0a607cdf6f0f537c90fcdeee3dc6d9"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Tue Oct 15 11:18:27 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Tue Oct 15 11:23:04 2024 -0700"
      },
      "message": "Remove the `ignorePrivateAndStaticInjectionForComponent` compiler option.\n\nThis option was only used by the TCK tests, so I\u0027ve replaced the compiler option with a hard-coded check for the TCK package. As was stated in the javadoc for the flag, it was not meant to be used for other purposes, so removing it should be fine.\n\nThis change also fixes a some memory bugs in how `InjectValidator` was previously implemented.\n\n  1. Now, only a single validator instance is used in the common case where\n     `privateMemberDiagnostic`/`staticMemberDiagnostic` have the default\n     value (`ERROR`). Previously, this resulted in at least 3 instances being\n     used, which duplicated caching across all three instances\n  2. Now, both `validator` and `validatorWhenGeneratingCode` have their caches\n     cleared between rounds. Previously, only `validator` had its cache cleared\n     because `validatorWhenGeneratingCode` was being created and managed\n     outside Dagger. This also created a memory leak in one case because it was\n     used within a scoped binding and it\u0027s cache was never cleared.\n\nRELNOTES\u003dRemove the `ignorePrivateAndStaticInjectionForComponent` compiler option.\nPiperOrigin-RevId: 686174065\n"
    },
    {
      "commit": "fbb7b3c15f0a607cdf6f0f537c90fcdeee3dc6d9",
      "tree": "b28901460114848862f8e0b9b97834fed7c120c4",
      "parents": [
        "41fd82647c12fa0b78194e10cf9a4ae243e09091"
      ],
      "author": {
        "name": "Wanying Ding",
        "email": "wanyingd@google.com",
        "time": "Mon Oct 14 13:50:11 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Oct 14 13:53:21 2024 -0700"
      },
      "message": "Internal changes\n\nRELNOTES\u003dn/a\nPiperOrigin-RevId: 685823327\n"
    },
    {
      "commit": "41fd82647c12fa0b78194e10cf9a4ae243e09091",
      "tree": "3c2a132505447f3604929a5728bbe4261e8fdcab",
      "parents": [
        "a03263cd558b5e544e2a41b5c1fb340e8557c8ae"
      ],
      "author": {
        "name": "Dagger Team",
        "email": "java-team-github-bot@google.com",
        "time": "Wed Oct 09 14:22:13 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Wed Oct 09 14:25:14 2024 -0700"
      },
      "message": "Retain nullability annotations when building override versions of functions.\n\nPiperOrigin-RevId: 684170828\n"
    },
    {
      "commit": "a03263cd558b5e544e2a41b5c1fb340e8557c8ae",
      "tree": "1945ba272ff3f720e347ebca75eda83896e6bc82",
      "parents": [
        "e62fb19fb133ae9f60741b8749f6a139964315d6"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Wed Oct 09 10:54:33 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Wed Oct 09 10:57:02 2024 -0700"
      },
      "message": "Remove BindingType from BindingGraphFactory resolution logic.\n\nThis CL makes a number of changes:\n\n  * Makes `Binding`\u0027s binding type optional at creation time.\n  * Makes `BindingFactory` set `Optional.empty()` if a binding type cannot be determined from the binding element.\n  * Adds `BindingNode#withBindingType(BindingType)` to allow setting the binding type for certain bindings after they\u0027ve been created.\n  * Implements `BindingGraphTransformations#withFixedBindingTypes(MutableNetwork)` to fix missing binding types after the network is fully constructed.\n  * Removes the `BindingGraphFactory.Resolver#createDelegateBindings` logic and replace it with `BindingFactory#delegateBinding`.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 684097253\n"
    },
    {
      "commit": "e62fb19fb133ae9f60741b8749f6a139964315d6",
      "tree": "b95c5823b5acdb621ef52e09511178ce4d3e88ea",
      "parents": [
        "8ba824234724fcbe007afdd7c7b7d21fa82040bd"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Fri Oct 04 15:06:04 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Fri Oct 04 15:08:45 2024 -0700"
      },
      "message": "Remove the `usesProducers` compiler option.\n\nThis CL removes `CompilerOptions#usesProducers()` because it wasn\u0027t even a compiler option to begin with. In particular, users can\u0027t change this value with a particular flag, rather it just depends on whether producers is in your classpath or not.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 682464323\n"
    },
    {
      "commit": "8ba824234724fcbe007afdd7c7b7d21fa82040bd",
      "tree": "0de603a1c2c48b4f6560676c796267b27586e017",
      "parents": [
        "2489cd7d052f79580e8af2a8d3ba72b487cbe7f7"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Fri Oct 04 11:06:22 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Fri Oct 04 11:08:56 2024 -0700"
      },
      "message": "Remove framework types from multibinding contribution keys.\n\nThis CL removes the framework types from multibinding contribution keys.\n\nBefore:\n\n  * `@Provides @IntoMap`: `Map\u003cK,Provider\u003cV\u003e\u003e`\n  * `@Produces @IntoMap`: `Map\u003cK,Producer\u003cV\u003e\u003e`\n  * `@Binds @IntoMap`: (depends on delegating binding)\n\nAfter:\n\n  * `@Provides @IntoMap`: `Map\u003cK,V\u003e`\n  * `@Produces @IntoMap`: `Map\u003cK,V\u003e`\n  * `@Binds @IntoMap`: `Map\u003cK,V\u003e`\n\nI\u0027ve also added a flag (default enabled) that can be manually disabled to make migrations easier.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 682383786\n"
    },
    {
      "commit": "2489cd7d052f79580e8af2a8d3ba72b487cbe7f7",
      "tree": "0ebf9436688151fa264b54bc30275f727998bf79",
      "parents": [
        "9091f76d42c00d7550bf39cb8cb749adc63904f4"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Thu Oct 03 14:27:36 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Thu Oct 03 14:30:52 2024 -0700"
      },
      "message": "Refactor IncompatilblyScopedBindingsValidator.\n\nThis CL refactors the code to have a single filter so that it\u0027s easier to see which bindings are being filtered and reported on. I\u0027ve also switched to using `Collectors.groupingBy` which makes the stream flow better.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 682031867\n"
    },
    {
      "commit": "9091f76d42c00d7550bf39cb8cb749adc63904f4",
      "tree": "4ca0657bc3d9711a4dd1d342dd4794695be930c1",
      "parents": [
        "826c2f15b1e19f81602edf35e6885e22a5347d16"
      ],
      "author": {
        "name": "Wanying Ding",
        "email": "wanyingd@google.com",
        "time": "Wed Oct 02 14:30:13 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Wed Oct 02 14:34:41 2024 -0700"
      },
      "message": "Internal changes\n\nRELNOTES\u003dn/a\nPiperOrigin-RevId: 681593506\n"
    },
    {
      "commit": "826c2f15b1e19f81602edf35e6885e22a5347d16",
      "tree": "cdbe37bda5518417fc86d94a0cec47fc1de7146c",
      "parents": [
        "13380623be72c896148b8effc48dab25d5f0c9f8"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Wed Oct 02 11:53:21 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Wed Oct 02 11:56:34 2024 -0700"
      },
      "message": "Fix IllegalArgumentException when requesting Map\u003cK,Provider\u003cV\u003e\u003e.\n\nThis CL fixes b/370367984.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 681538199\n"
    },
    {
      "commit": "13380623be72c896148b8effc48dab25d5f0c9f8",
      "tree": "cf2cdec6209dc2d9b40f4c5ef13d3974dda41504",
      "parents": [
        "18d2b26ea2adf33a323610be5e828a7adf131a49"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Wed Oct 02 11:21:55 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Wed Oct 02 11:24:12 2024 -0700"
      },
      "message": "Add repro test for b/370367984.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 681525873\n"
    },
    {
      "commit": "18d2b26ea2adf33a323610be5e828a7adf131a49",
      "tree": "f90cc9c5c228b71f5b03db9d6df2a9a06ca81a77",
      "parents": [
        "38a3c11bf8cc1fc86f6ce8cfeea95d5e7598e527"
      ],
      "author": {
        "name": "Daniel Santiago",
        "email": "danysantiago@google.com",
        "time": "Wed Oct 02 10:36:37 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Wed Oct 02 10:38:58 2024 -0700"
      },
      "message": "Upgrade Hilt Gradle Plugin min AGP version to 8.1\n\nThis change upgrades the required AGP in the Hilt Gradle Plugin and in turn cleans up the code no longer relevant due to the upgrade. [As of September 2024 the target SDK for apps in the play store is 34](https://developer.android.com/google/play/requirements/target-sdk) and the [minimum AGP that supports target SDK 34 is 8.1.1](https://developer.android.com/build/releases/gradle-plugin#api-level-support) hence why such version chosen.\n\n* Remove the AGP abstraction an implementations from the plugin, we can now use Variant Component and ASM Transform APIs directly.\n* AGP 8.1 requires Gradle 8.0 which in turns requires JDK 17, used jvmToolchain API where possible.\n* AGP 8.1 requires minimum Android build tools of 33.0.1.\n* AGP 8.1 requires Android projects to have their \u0027namespace\u0027 set.\n* Update GitHub CI test matrix, removing older AGP values.\n\nRELNOTES\u003dUpgrade Hilt Gradle Plugin min AGP version to 8.1\nPiperOrigin-RevId: 681507589\n"
    },
    {
      "commit": "38a3c11bf8cc1fc86f6ce8cfeea95d5e7598e527",
      "tree": "b1966900b72964baa8e48017ed4f4cec96ebeefe",
      "parents": [
        "741f38bb9d0c663917100646fac172538d40905c"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Wed Oct 02 09:02:12 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Wed Oct 02 09:05:16 2024 -0700"
      },
      "message": "Move unwrapping of delegate keys to a single location.\n\nThis CL moves the unwrapping of the key directly into `ComponentDeclarations#delegates(Key)` instead of requiring all callers to remember to unwrap the key individually. This change will make this API less error-prone, as it\u0027s already caused one bug (b/147020838).\n\nNote: In order to make this change, I needed to refactor how we handled the strictMultibindingValidation flag. Rather than having the flag control whether or not we unwrap the key, the flag now just exits early from `resolverContainsDelegateDeclarationForBinding`, which should be functionally equivalent to how it works today. In particular, the delegate map multibindings are always wrapped today, so not unwrapping the key will always result in a miss when looking up the key in the map.\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 681473673\n"
    },
    {
      "commit": "741f38bb9d0c663917100646fac172538d40905c",
      "tree": "2aec0ebfe9545a77906637bcc24b74ba3f170fd7",
      "parents": [
        "3acff4a3280cc5fcfc84f98308fb17ad8741d2c5"
      ],
      "author": {
        "name": "Dagger Team",
        "email": "java-team-github-bot@google.com",
        "time": "Tue Oct 01 16:28:50 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Tue Oct 01 16:31:33 2024 -0700"
      },
      "message": "Retain nullability annotations when building override versions of functions.\n\nPiperOrigin-RevId: 681206424\n"
    },
    {
      "commit": "3acff4a3280cc5fcfc84f98308fb17ad8741d2c5",
      "tree": "ca57414ba3018f692583a8eea58c5da1d9acd3d1",
      "parents": [
        "0f398e90085b5e60df1181be3cf854ad44e36640"
      ],
      "author": {
        "name": "Dagger Team",
        "email": "java-team-github-bot@google.com",
        "time": "Tue Oct 01 13:52:22 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Tue Oct 01 13:54:18 2024 -0700"
      },
      "message": "Retain nullability annotations when building override versions of functions.\n\nRELNOTES\u003dn/a\nPiperOrigin-RevId: 681152669\n"
    },
    {
      "commit": "0f398e90085b5e60df1181be3cf854ad44e36640",
      "tree": "2aec0ebfe9545a77906637bcc24b74ba3f170fd7",
      "parents": [
        "ce0dfe6f6b99f570fd1f49d8c46e1575a749b7cc"
      ],
      "author": {
        "name": "Dagger Team",
        "email": "java-team-github-bot@google.com",
        "time": "Thu Sep 26 16:08:19 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Thu Sep 26 16:11:35 2024 -0700"
      },
      "message": "Refactor Nullability\n\nRELNOTES\u003dn/a\nPiperOrigin-RevId: 679328577\n"
    },
    {
      "commit": "ce0dfe6f6b99f570fd1f49d8c46e1575a749b7cc",
      "tree": "5a600472679c85a5ad62f2315516a1e7ba5b6a38",
      "parents": [
        "2097a04abe02421675e39660a09280b86b248ef8"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Thu Sep 26 11:54:21 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Thu Sep 26 11:59:45 2024 -0700"
      },
      "message": "[Refactor] Consolidate logic for wrapping/unwrapping map values in framework types.\n\nThis CL consolidates the logic from a few different classes into a single class.\n\nThis CL also simplifies some sorting logic in `MapMultibindingValidator` by relying on the natural sorting order of `RequestKind`.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 679237839\n"
    },
    {
      "commit": "2097a04abe02421675e39660a09280b86b248ef8",
      "tree": "e714ea4f873160be90989dedc40b65151a8d61cb",
      "parents": [
        "ab43d593dd47fe6532da92ab16aa7e41c9b52e06"
      ],
      "author": {
        "name": "Dagger Team",
        "email": "java-team-github-bot@google.com",
        "time": "Wed Sep 25 13:51:16 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Wed Sep 25 13:54:13 2024 -0700"
      },
      "message": "Tweak compiler_test build dependencies\n\n\"compiler_deps\" should include dependencies needed by the code being compiled\nwithin the tests (i.e., android dependencies), while \"deps\" should include\nonly dependencies needed by the test code itself (i.e., not android dependencies).\n\nPiperOrigin-RevId: 678834626\n"
    },
    {
      "commit": "ab43d593dd47fe6532da92ab16aa7e41c9b52e06",
      "tree": "33c615ceb31db1ae50e2b48efb2113920fae65eb",
      "parents": [
        "879c7b1d9978d6055c080096a3ae17c0ed7c9693"
      ],
      "author": {
        "name": "Dagger Team",
        "email": "java-team-github-bot@google.com",
        "time": "Tue Sep 24 10:04:00 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Tue Sep 24 10:06:40 2024 -0700"
      },
      "message": "Add nullability annotations to some generated methods\n\nRELNOTES\u003dn/a\nPiperOrigin-RevId: 678295107\n"
    },
    {
      "commit": "879c7b1d9978d6055c080096a3ae17c0ed7c9693",
      "tree": "85e205b12e7aea2bae382b6c56e13bb2072d0bcc",
      "parents": [
        "3bffd3312dd0de4759da718c25b0bd7e22739b66"
      ],
      "author": {
        "name": "Dagger Team",
        "email": "java-team-github-bot@google.com",
        "time": "Tue Sep 24 08:16:21 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Tue Sep 24 08:19:37 2024 -0700"
      },
      "message": "Load the builtin Bazel java rules from @rules_java\n\nPiperOrigin-RevId: 678257367\n"
    },
    {
      "commit": "3bffd3312dd0de4759da718c25b0bd7e22739b66",
      "tree": "7d57aa7427f022d5959412672257449f8b6311fe",
      "parents": [
        "709e68dc054db5b38961f25284889502eddb7fb0"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Mon Sep 23 20:41:40 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Sep 23 20:44:08 2024 -0700"
      },
      "message": "Update Dagger tests to support JDK 24.\n\nhttps://bugs.openjdk.org/browse/JDK-8338678 is fixed in JDK 24, which now gives more information than we had when reporting errors in previous JDKs. This CL updates our Dagger tests to support JDK 24.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 678052093\n"
    },
    {
      "commit": "709e68dc054db5b38961f25284889502eddb7fb0",
      "tree": "ec8c2e64ed6e2b94a3ced2e8582a51f9394b8e6f",
      "parents": [
        "c3f2b9464773a186a9b742b4931b832bf6ff6a78"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Mon Sep 23 14:23:07 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Sep 23 14:25:32 2024 -0700"
      },
      "message": "Fix MissingBinding error message for similar bindings.\n\nThis CL fixes the issues in b/360278200, where we were suggesting multibinding contributions and duplicating suggestions from the alternative bindings portion of the error message.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 677938702\n"
    },
    {
      "commit": "c3f2b9464773a186a9b742b4931b832bf6ff6a78",
      "tree": "9351f20555431056964c20d662d211926f9a91a7",
      "parents": [
        "b2eb30f2ec74abb2783180cb78839e962e63414b"
      ],
      "author": {
        "name": "Dagger Team",
        "email": "java-team-github-bot@google.com",
        "time": "Mon Sep 23 12:55:11 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Sep 23 12:57:45 2024 -0700"
      },
      "message": "Add a test for Kotlin nullable provides methods.\n\nPiperOrigin-RevId: 677905874\n"
    },
    {
      "commit": "b2eb30f2ec74abb2783180cb78839e962e63414b",
      "tree": "28d929ec3debb00fa753e3d0b78a57f21934ed04",
      "parents": [
        "843a18e1b4b5a67bf0ca3608775cc6ad0c31ae60"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Mon Sep 23 12:42:24 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Sep 23 12:45:26 2024 -0700"
      },
      "message": "Remove obsolete TODOs in DaggerSuperficialValidationTest.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 677901374\n"
    },
    {
      "commit": "843a18e1b4b5a67bf0ca3608775cc6ad0c31ae60",
      "tree": "b9c63a269be8cf6a38dba037eb7f72c14838a4b0",
      "parents": [
        "8023c7aeb839fe2f07e137c1737d830a36c41f6d"
      ],
      "author": {
        "name": "Dagger Team",
        "email": "java-team-github-bot@google.com",
        "time": "Mon Sep 23 09:01:35 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Sep 23 09:08:57 2024 -0700"
      },
      "message": "Load the builtin Bazel java rules from @rules_java\n\nPiperOrigin-RevId: 677815481\n"
    },
    {
      "commit": "8023c7aeb839fe2f07e137c1737d830a36c41f6d",
      "tree": "28965a4fc32da02ff117b140cb5d0b9ffd8f96f6",
      "parents": [
        "8d9f0820bd0fc7d46e2bed813a330356a8077c66"
      ],
      "author": {
        "name": "Dagger Team",
        "email": "java-team-github-bot@google.com",
        "time": "Mon Sep 23 09:00:20 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Sep 23 09:03:21 2024 -0700"
      },
      "message": "Load the builtin Bazel java rules from @rules_java\n\nPiperOrigin-RevId: 677815001\n"
    },
    {
      "commit": "8d9f0820bd0fc7d46e2bed813a330356a8077c66",
      "tree": "04dc110b9708965582f74aa682a2694370889697",
      "parents": [
        "f8a09b29683687720ae3e0e5ac241f3a4a054d6e"
      ],
      "author": {
        "name": "Dagger Team",
        "email": "java-team-github-bot@google.com",
        "time": "Thu Sep 19 15:55:33 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Thu Sep 19 15:58:20 2024 -0700"
      },
      "message": "Add a test for Kotlin nullable field injection.\n\nPiperOrigin-RevId: 676595690\n"
    },
    {
      "commit": "f8a09b29683687720ae3e0e5ac241f3a4a054d6e",
      "tree": "8155bced7b0018fdca56f2c1f3b4e26323a266b9",
      "parents": [
        "8848866d212ffe9cc3ec78ec8e14120aea6336a5"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Thu Sep 19 13:52:29 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Thu Sep 19 13:54:24 2024 -0700"
      },
      "message": "Update MissingBindingValidationTest to show full error messages.\n\nSome of these test cases look correct only because we\u0027re not showing the full error message, and showing the full error message shows that there\u0027s some things in the error message that should not have been included (e.g. b/360278200).\n\nThis CL updates these test cases to ensure we\u0027re seeing the full error message. For the incorrect test cases reported in b/360278200, I will fix them in a follow-up CL.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 676551280\n"
    },
    {
      "commit": "8848866d212ffe9cc3ec78ec8e14120aea6336a5",
      "tree": "452ceea5ce7cac85da46425d4db02308c7ddae3b",
      "parents": [
        "93b8bcf79a716ceed95e886e7c50313f9db6238a"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Thu Sep 19 13:02:47 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Thu Sep 19 13:05:40 2024 -0700"
      },
      "message": "Refactor BindingGraphFactory.RequiresResolutionChecker to use the network directly.\n\nThis is a follow-up to CL/675217954, which changed `BindingGraphFactory` to build the network during the resolution stage. Now that BindingGraphFactory builds up a network, we can use that network directly in `RequiresResolutionChecker` when calculating whether a particular `BindingNode` needs to be re-resolved in the current component.\n\nThis also fixes a bug (b/367426609) that was hiding in the old logic and is now fixed by iterating via the network directly.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 676530675\n"
    },
    {
      "commit": "93b8bcf79a716ceed95e886e7c50313f9db6238a",
      "tree": "9473e9b3f90eb55f27c516a3971108f00b4a147a",
      "parents": [
        "6368dbabb0b5272aef2a0c97ac3cedc76a414081"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Thu Sep 19 12:10:28 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Thu Sep 19 12:13:02 2024 -0700"
      },
      "message": "Add repro tests for b/367426609.\n\nThis CL adds two tests that repro the issues in b/367426609.\n\nA follow-up CL with fix b/367426609 and fix these tests too.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 676511480\n"
    },
    {
      "commit": "6368dbabb0b5272aef2a0c97ac3cedc76a414081",
      "tree": "f55d6dea50df3ad6a2b95c2a7eb5a90218ebb0f4",
      "parents": [
        "5f761866468cc7ba9fd6047ad5b1a93d62e9a919"
      ],
      "author": {
        "name": "Dagger Team",
        "email": "java-team-github-bot@google.com",
        "time": "Thu Sep 19 11:33:40 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Thu Sep 19 11:39:21 2024 -0700"
      },
      "message": "Add tests for nullable field injection and nullable provides methods.\n\nRELNOTES\u003dn/a\nPiperOrigin-RevId: 676497288\n"
    },
    {
      "commit": "5f761866468cc7ba9fd6047ad5b1a93d62e9a919",
      "tree": "f363a5ea595d239a8d268234f3f7ccb04509300b",
      "parents": [
        "000a21db8556e59f4ac2134c01f543564b0e01a2"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Wed Sep 18 14:03:47 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Wed Sep 18 14:06:14 2024 -0700"
      },
      "message": "[Refactor]: Fork ResolvedBindings for LegacyBindingGraphFactory.\n\nResolvedBindings is currently shared by both BindingGraphFactory and LegacyBindingGraphFactory, but future changes to BindingGraphFactory will need to make changes to ResolvedBindings that don\u0027t apply to  LegacyBindingGraphFactory so I\u0027m forking this in advance to make the legacy code independent of future changes.\n\nI\u0027ve also removed the `LegacyBindingGraphConverter.LegacyBindingGraph` interface. This was previously needed since both `BindingGraphFactory` and `LegacyBindingGraphFactory` had their own implementations of this interface, but now that `BindingGraphFactory` no longer uses it the interface is no longer needed.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 676123197\n"
    },
    {
      "commit": "000a21db8556e59f4ac2134c01f543564b0e01a2",
      "tree": "c55fbb1cf32baebb21a5cec2521e56eee4494fad",
      "parents": [
        "3fd958827d8dec27481ebcef2f1aee79fb29bbe9"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Wed Sep 18 10:58:22 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Wed Sep 18 11:02:58 2024 -0700"
      },
      "message": "[Refactor]: Split BindingFactory.syntheticOptionalDeclaration into separate methods for present vs absent.\n\nThis change is similar to other refactors which split the `multibinding` method into `multiboundSet` and `multiboundMap`. In general, I think it\u0027s better if `BindingFactory` is just responsible for creating the bindings and does not have logic to decide on which binding it should create. This also makes it clearer at the call site which binding we\u0027re actually using.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 676053984\n"
    },
    {
      "commit": "3fd958827d8dec27481ebcef2f1aee79fb29bbe9",
      "tree": "ba05beb5c192352d9a500e8c3b3a2783edb3a418",
      "parents": [
        "9a94d1973fa42b56405c5cf0f80dcebd85e19580"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Mon Sep 16 11:06:54 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Sep 16 11:09:44 2024 -0700"
      },
      "message": "Refactor `BindingGraphFactory` to build network directly.\n\nThis CL removes the need for `BindingGraphConverter` and `LegacyBindingGraph` and builds up the network as part of the resolution. Since the `BindingGraphConverter` is now only used by `LegacyBindingGraphFactory` I\u0027ve renamed it to `LegacyBindingGraphConverter`.\n\nNote: This has been a change we\u0027ve wanted to make for a while now but hasn\u0027t been possible due to the complexity and brittleness of the resolution logic.\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 675217954\n"
    },
    {
      "commit": "9a94d1973fa42b56405c5cf0f80dcebd85e19580",
      "tree": "27c31e19178330a75db8ce818d4dec980bc0d588",
      "parents": [
        "5f50e6d5095796f07308aa00c3c9f49cd9e2282d"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Fri Sep 13 12:52:21 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Fri Sep 13 12:59:54 2024 -0700"
      },
      "message": "Upgrade Kotlin Metadata dependency to 2.0.0-Beta5\n\nRELNOTES\u003dUpgrade Kotlin Metadata dependency to 2.0.0-Beta5\nPiperOrigin-RevId: 674401703\n"
    },
    {
      "commit": "5f50e6d5095796f07308aa00c3c9f49cd9e2282d",
      "tree": "1a000fe9774119a29e9745e2bfbc939fb8a9be4b",
      "parents": [
        "4941926c57958915b288423f28706a5496fee93c"
      ],
      "author": {
        "name": "Eric Chang",
        "email": "erichang@google.com",
        "time": "Thu Sep 12 14:10:48 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Fri Sep 13 12:55:22 2024 -0700"
      },
      "message": "Internal changes\n\nRELNOTES\u003dn/a\nPiperOrigin-RevId: 674004016\n"
    },
    {
      "commit": "4941926c57958915b288423f28706a5496fee93c",
      "tree": "de276451d348efc3c0e7060a3d2c672c310b8f64",
      "parents": [
        "d02798b19b48d7a7c80f4fda18e5026291d14254"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Thu Sep 12 11:09:44 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Thu Sep 12 11:12:00 2024 -0700"
      },
      "message": "Require @Nullable explicitly on @Binds methods.\n\nThe way we currently calculate the nullability of @Binds methods is misleading. In particular, the nullability is based on the nullability of the implementation, and we ignore the nullability on the actual method. This CL makes 2 changes:\n\n  1. The nullability of delegate bindings is based on the nullability of the method/return type\n  2. The nullability of the delegate method/return type must match the nullability of the method parameter.\n\nRELNOTES\u003dRequire @Nullable explictly on @Binds methods.\nPiperOrigin-RevId: 673922090\n"
    },
    {
      "commit": "d02798b19b48d7a7c80f4fda18e5026291d14254",
      "tree": "1bcb01ccaa9b0d357441cca33ca0298d5976ea0a",
      "parents": [
        "03b237ff2e37272ae65f8c116f9f395f0b44be1b"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Wed Sep 11 10:59:23 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Wed Sep 11 11:03:00 2024 -0700"
      },
      "message": "Fix Dagger error messages with missing component references in the dependency trace.\n\nWe recently added component references to the dependency trace for missing bindings, but that logic is missing for the dependency traces in other validators. This CL moves the logic out of `MissingBindingValidator` and into `DependencyRequestFormatter` so that it can be shared across multiple validators.\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 673457794\n"
    },
    {
      "commit": "03b237ff2e37272ae65f8c116f9f395f0b44be1b",
      "tree": "fa299abb839d8ea3c6a7bc3ad49588dd926a7feb",
      "parents": [
        "5918d11eef1d70759ad7e0454c0d2f7057b880a1"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Tue Sep 10 10:41:46 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Tue Sep 10 10:44:19 2024 -0700"
      },
      "message": "Ban scoping on `@Binds` that delegate to `@Produces` implementations.\n\nThis CL bans scoping on `@Binds` methods that delegate to `@Produces` methods. Note that scoping on `@Produces` methods themselves is already banned because production bindings are implicitly scoped.\n\nThere\u0027s a few benefits to banning this. First, allowing users to arbitrarily add scopes can be misleading because the scopes will just be ignored. Second, this change allows us to clean up places in `BindingFactory` that required knowledge of the `BindingType` (which is something we\u0027re currently trying to remove).\n\nRELNOTES\u003dBan scoping on production bindings.\nPiperOrigin-RevId: 673020697\n"
    },
    {
      "commit": "5918d11eef1d70759ad7e0454c0d2f7057b880a1",
      "tree": "faf939d1ea0baeff64132daeca6e4b3497d68933",
      "parents": [
        "406bc87e804fd25706f1bd958f09bb38c09b5b02"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Mon Sep 09 13:32:00 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Sep 09 13:35:14 2024 -0700"
      },
      "message": "Internal changes\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 672655387\n"
    },
    {
      "commit": "406bc87e804fd25706f1bd958f09bb38c09b5b02",
      "tree": "eb7b235395734b668ea408ddcaef28bf97b598e1",
      "parents": [
        "ed2685ba86eff2ed2b99af446e2752f667d17408"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Mon Sep 09 10:15:16 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Mon Sep 09 10:17:32 2024 -0700"
      },
      "message": "Reorganize the binding class hierarchy.\n\nThis CL moves properties from `Binding` to `BindingDeclaration` such that `BindingDeclaration` now contains all of the properties that can be determined directly from the binding element itself, and `Binding` just contains the `BindingType` information (which requires knowledge of transitive dependencies).\n\nRELNOTES\u003dN/A\nPiperOrigin-RevId: 672586235\n"
    },
    {
      "commit": "ed2685ba86eff2ed2b99af446e2752f667d17408",
      "tree": "2cce087eda6ce8bedce1eae4150bae45eb98750b",
      "parents": [
        "c718e0b2b901346ae5ec9bbddacb493132987918"
      ],
      "author": {
        "name": "Eric Chang",
        "email": "erichang@google.com",
        "time": "Fri Sep 06 15:26:00 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Fri Sep 06 15:29:03 2024 -0700"
      },
      "message": "Add GWT dependencies for Jspecify. Also upgrade Jspecify from 0.3.0 to 1.0.0\n\nIssue #4391.\n\nRELNOTES\u003dn/a\nPiperOrigin-RevId: 671909308\n"
    },
    {
      "commit": "c718e0b2b901346ae5ec9bbddacb493132987918",
      "tree": "619a3567b0ee41d2726c7bfd3bfb4b7c7dd1d726",
      "parents": [
        "af62f2ddc33bb43e97ac593f1d0e5fad39c4ad15"
      ],
      "author": {
        "name": "Brad Corso",
        "email": "bcorso@google.com",
        "time": "Fri Sep 06 12:54:45 2024 -0700"
      },
      "committer": {
        "name": "Dagger Team",
        "email": "dagger-dev+copybara@google.com",
        "time": "Fri Sep 06 12:57:38 2024 -0700"
      },
      "message": "Internal changes\n\nPiperOrigin-RevId: 671862639\n"
    }
  ],
  "next": "af62f2ddc33bb43e97ac593f1d0e5fad39c4ad15"
}
