)]}'
{
  "commit": "012159164d7f552ee7a8ee840447c61611958e87",
  "tree": "3dfa4e834ef00359020be1e66e261a152ad248cf",
  "parents": [
    "3859a6208706f253ad2ee181ee6c4a0a57a67990"
  ],
  "author": {
    "name": "Miguel Duarte Barroso",
    "email": "mdbarroso@redhat.com",
    "time": "Mon Aug 03 15:20:00 2026 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Aug 03 08:20:00 2026 -0600"
  },
  "message": "dhcp: send DHCPRELEASE with the client IP addr as ciaddr (#1279)\n\nThe dhcp IPAM plugin sends DHCPRELEASE packets with 0.0.0.0 as the IP source\naddress instead of the client\u0027s assigned IP.\n\nThis violates RFC 2131 section 4.4.4 and causes DHCP servers (e.g. dnsmasq) to\nsilently ignore the release. Leases are never freed — they only expire via\ntimeout.\n\nBy using the `nclient4.WithUnicast()` option, the client will stop using\na raw packet socket which constructs IP headers with 0.0.0.0 as the source.\n\nUsing src IP 0.0.0.0 is appropriate for DHCPDISCOVER (no address assigned yet)\nbut wrong for DHCPRELEASE.\n\nSigned-off-by: Miguel Duarte Barroso \u003cmdbarroso@redhat.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "302f95dc00e308fa427e765e7d1fb15b0dd05286",
      "old_mode": 33188,
      "old_path": "plugins/ipam/dhcp/lease.go",
      "new_id": "413ed37892094aecb44ed360381abd46721bb960",
      "new_mode": 33188,
      "new_path": "plugins/ipam/dhcp/lease.go"
    }
  ]
}
