)]}'
{
  "commit": "ef333492657839614a7f613e0aa938e1c601b1b1",
  "tree": "a93275f83cc17e9e665d574eb1ad0f764a16a12e",
  "parents": [
    "7e690dde926e1b32fdf7b1e006e622507c2e13f3"
  ],
  "author": {
    "name": "Hossein Yousefi",
    "email": "yousefi@google.com",
    "time": "Mon Jul 31 12:55:57 2023 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jul 31 12:55:57 2023 +0200"
  },
  "message": "[jnigen] Fix windows specifics and global reference ownership in interface implementation (https://github.com/dart-lang/jnigen/issues/335)\n\nSince Dart doesn\u0027t know that this global reference is still used, it might garbage collect it via NativeFinalizer thus making it invalid. We\u0027re letting Java handle the clean up and use setAsDeleted to detach the native finalizer from the return value in Dart.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a75a914f9ef414f62c364ef23e3e4afe92f3c2ee",
      "old_mode": 33188,
      "old_path": "pkgs/jni/java/src/main/java/com/github/dart_lang/jni/PortProxy.java",
      "new_id": "bae1c32547d65c280d43a4bcb7b76a8a5e5d1680",
      "new_mode": 33188,
      "new_path": "pkgs/jni/java/src/main/java/com/github/dart_lang/jni/PortProxy.java"
    },
    {
      "type": "modify",
      "old_id": "6f0fa08678c53ea55f5a1e0cb1d4426000739a51",
      "old_mode": 33188,
      "old_path": "pkgs/jni/src/dartjni.c",
      "new_id": "df8feb78d168c42f4b8596da017a1d3046162e6f",
      "new_mode": 33188,
      "new_path": "pkgs/jni/src/dartjni.c"
    },
    {
      "type": "modify",
      "old_id": "cbb1f7f5c5c2078af823fbedccfc6d6fa10a0e6b",
      "old_mode": 33188,
      "old_path": "pkgs/jni/src/dartjni.h",
      "new_id": "8a07d091890246663e77ca36550d7db38bd3507c",
      "new_mode": 33188,
      "new_path": "pkgs/jni/src/dartjni.h"
    },
    {
      "type": "modify",
      "old_id": "cbb1f7f5c5c2078af823fbedccfc6d6fa10a0e6b",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/in_app_java/src/android_utils/dartjni.h",
      "new_id": "8a07d091890246663e77ca36550d7db38bd3507c",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/in_app_java/src/android_utils/dartjni.h"
    },
    {
      "type": "modify",
      "old_id": "cbb1f7f5c5c2078af823fbedccfc6d6fa10a0e6b",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/kotlin_plugin/src/dartjni.h",
      "new_id": "8a07d091890246663e77ca36550d7db38bd3507c",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/kotlin_plugin/src/dartjni.h"
    },
    {
      "type": "modify",
      "old_id": "cbb1f7f5c5c2078af823fbedccfc6d6fa10a0e6b",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/notification_plugin/src/dartjni.h",
      "new_id": "8a07d091890246663e77ca36550d7db38bd3507c",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/notification_plugin/src/dartjni.h"
    },
    {
      "type": "modify",
      "old_id": "cbb1f7f5c5c2078af823fbedccfc6d6fa10a0e6b",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/example/pdfbox_plugin/src/third_party/dartjni.h",
      "new_id": "8a07d091890246663e77ca36550d7db38bd3507c",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/example/pdfbox_plugin/src/third_party/dartjni.h"
    },
    {
      "type": "modify",
      "old_id": "3db7c0bc744542763adddbc3e6d155890f3165ff",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/lib/src/bindings/dart_generator.dart",
      "new_id": "c78a3b25f79c21582675141f0791e493a5dbac8f",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/lib/src/bindings/dart_generator.dart"
    },
    {
      "type": "modify",
      "old_id": "cbb1f7f5c5c2078af823fbedccfc6d6fa10a0e6b",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/jackson_core_test/third_party/c_based/c_bindings/dartjni.h",
      "new_id": "8a07d091890246663e77ca36550d7db38bd3507c",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/jackson_core_test/third_party/c_based/c_bindings/dartjni.h"
    },
    {
      "type": "modify",
      "old_id": "cbb1f7f5c5c2078af823fbedccfc6d6fa10a0e6b",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/kotlin_test/c_based/c_bindings/dartjni.h",
      "new_id": "8a07d091890246663e77ca36550d7db38bd3507c",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/kotlin_test/c_based/c_bindings/dartjni.h"
    },
    {
      "type": "modify",
      "old_id": "cbb1f7f5c5c2078af823fbedccfc6d6fa10a0e6b",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/simple_package_test/c_based/c_bindings/dartjni.h",
      "new_id": "8a07d091890246663e77ca36550d7db38bd3507c",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/simple_package_test/c_based/c_bindings/dartjni.h"
    },
    {
      "type": "modify",
      "old_id": "7cb01108311859ff67cbd25844cb3e51072ef53c",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/simple_package_test/c_based/dart_bindings/simple_package.dart",
      "new_id": "11e873e5355d0124b907dd216661726f0f208f76",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/simple_package_test/c_based/dart_bindings/simple_package.dart"
    },
    {
      "type": "modify",
      "old_id": "7befe1b98a1d503173338ae0dec4310c55a244af",
      "old_mode": 33188,
      "old_path": "pkgs/jnigen/test/simple_package_test/dart_only/dart_bindings/simple_package.dart",
      "new_id": "ef24ce3ee640005975fc6ebad668cf42726e57de",
      "new_mode": 33188,
      "new_path": "pkgs/jnigen/test/simple_package_test/dart_only/dart_bindings/simple_package.dart"
    }
  ]
}
