)]}'
{
  "commit": "945dae3d84d67e17620c90d5d1540916e0c834e7",
  "tree": "702fc0db55b897f0fe7cb24ec9cbbf448a6e8ba3",
  "parents": [
    "b8cd6d143c2b2a47501ca720712dce21407b1591"
  ],
  "author": {
    "name": "Sharang Gupta",
    "email": "sharang@sharanggupta.dev",
    "time": "Thu Oct 15 01:21:35 2026 +0100"
  },
  "committer": {
    "name": "Sharang Gupta",
    "email": "sharang@sharanggupta.dev",
    "time": "Thu Oct 15 01:21:35 2026 +0100"
  },
  "message": "Fix #627: Reuse registered serializer and deserializer instances\n\nComponentMatcher.introspectSerializerBinding() and\nintrospectDeserializerBinding() are meant to return the binding of a\nserializer or deserializer instance registered in the JsonbConfig when\nit is of the requested class, but they compared the class of the\nbinding (SerializerBinding, DeserializerBinding) instead of the class\nof the component it wraps, which never matched. So a property annotated\nwith @JsonbTypeSerializer or @JsonbTypeDeserializer always got a new\ndefault instance, ignoring the configured one.\n\nCompare the class of the wrapped component, as introspectAdapterBinding()\nalready does.\n\nSigned-off-by: Sharang Gupta \u003csharang@sharanggupta.dev\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2763ea99cc300cfcee09944c43809fbedb694282",
      "old_mode": 33188,
      "old_path": "src/main/java/org/eclipse/yasson/internal/ComponentMatcher.java",
      "new_id": "b27b63fd8448b360964f149b5ea792e9220ac275",
      "new_mode": 33188,
      "new_path": "src/main/java/org/eclipse/yasson/internal/ComponentMatcher.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ec5b661fcd4a28100b3d37d79563dc616ec7daa0",
      "new_mode": 33188,
      "new_path": "src/test/java/org/eclipse/yasson/serializers/RegisteredComponentReuseTest.java"
    }
  ]
}
