# Changelog
## [0.3.3] - 2026-08-30
### Breaking changes
 - N/A

### New features
 - dhcpv6: accept compressed RFC 1035 domain names. (5d2e2bb)
 - dhcpv6: support search domain and NTP servers in lease. (2136ce3)

### Bug fixes
 - dhcpv4: remove dead `ServerIdentifier` insert in `new_request()`. (fff79e7)
 - dhcpv4/dhcpv6: validate manual leases before installing timers. (0b3bd91)
 - dhcpv4: fix zero T1/T2 causing immediate renew loop. (ecc7682)
 - dhcpv4: fix add_jitter() jitter range. (4944579)
 - dhcpv6: Fix NTP ServerAddr/MulticastAddr parse ignoring subopt_len. (1b6f0c1)
 - dhcpv4: Fix BPF fragment check and document VLAN limitation. (13e648c)
 - dhcpv4: Fix parse_mac() accepting wrong MAC length. (6594add)
 - dhcpv4: Fix `bind_socket_to_iface()` optlen. (dad1bda)
 - dhcpv4/dhcpv6: Fix `timeout_timer` never initialized. (eaadec7)
 - dhcpv4: Fix hang when release lease on down interface. (d31247c)
 - dhcpv4: Fix DHCPRELEASE sent to broadcast MAC instead of server MAC. (1d329c5)
 - dhcpv4: Fix need_resolve() ignoring unset MAC address. (c0dd120)
 - dhcpv6: Fix ElapsedTime option wrapping after 65.5 seconds. (8c5b2fb)
 - dhcpv4: Fix DHCPRELEASE being ignored by DHCP servers. (44223c1)
 - dhcpv4: Fix string options emitting 255-byte fixed payload. (bae06bd)
 - dhcpv4: Fix MS classless static route (option 249) fallback. (4d208a7)
 - dhcpv4: Fix panic in discovery_max_wait_time() when retry_count >= 62. (e94e6ea)
 - dhcpv6: Fix infinite loop when parsing malformed option. (dac99ef)

## [0.3.2] - 2026-05-08
### Breaking changes
 - N/A

### New features
 - N/A

### Bug fixes
 - fix: Change UDP socket dest to srv_id and test with udhcpd. (834e71c)
 - dhcpv4: Add document indicate option 121 obsolete option 33. (581bf28)
 - dhcpv4: Do not double close RAW socket. (6416727)
 - Use rtnetlink 0.20.0. (ac8985d)
 - Use latest rtnetlink 0.19.0. (8590b2d)

## [0.3.1] - 2025-12-05
### Breaking changes
 - N/A

### New features
 - N/A

### Bug fixes
 - treat t1 and t2 as optional. (2ad9dbc)
 - DHCPv6: Prevent multiply overflow. (64b4198)
 - DHCPv4: Add `DhcpV4Lease.prefix_length()`. (658c9f8)
 - Remove incorrect line in CHANGELOG. (0ddf436)
 - README: Fix example code in README. (8e15bcd)

## [0.3.0] - 2025-10-14
### Breaking changes
 - Rewrite to use tokio async. Massive API changes. Please check example code
   for how to use it. (2399bba)

### New features
 - Not depending on dhcpproto any more. (3ffba62)

### Bug fixes
 - dhcpv4: Add `DhcpV4Config::set_iface_mac_raw()`. (368d944)
 - Fix compiling error without default features. (872c5a9)
 - dhcpv4: Unexport `DhcpV4Config.src_mac`. (6ed9c67)
 - DHCPv6-PD: Fix T1/T2 are zero for prefix delegation. (3e65ca8)
 - Fix DHCPv6 option parsing. (3ffba62)
 - Prevent infinite loop. (5f90498)
 - Fix DHCPv6 on ppp interface. (f7462b1)

## [0.2.7] - 2025-08-15
### Breaking changes
 - N/A

### New features
 - DHCPv4: Support classless route. (28e050c)

### Bug fixes
 - N/A

## [0.2.6] - 2025-05-28
### Breaking changes
 - N/A

### New features
 - Support DHCPv6. (7f1dd30)
 - Support release DHCP lease in async API. (8f97403)

### Bug fixes
 - dhcpv4: Remove `todo!()`. (f0d93aa)
 - dhcpv4: Replace the DiscoveryTimeout timer when discovery done. (e8dd9f7)
 - async: Quit the thread when client drooped. (d5131ca)

## [0.2.5] - 2024-07-10
### Breaking changes
 - N/A

### New features
 - Support arbitrary client ID via `DhcpV4Config.set_client_id()`. (5f9a606)

### Bug fixes
 - epoll: do not close twice. (bff0a0c)

## [0.2.4] - 2024-07-10
### Breaking changes
 - N/A

### New features
 - N/A

### Bug fixes
 - Apply BPF filter right after raw socket been created. (e34bc25)
 - Ignore invalid DHCP message during discovery and request stage. (fed292c)

## [0.2.3] - 2024-02-19
### Breaking changes
 - N/A

### New features
 - Support LoongArch. (c6d8e32)

### Bug fixes
 - N/A

## [0.2.2] - 2023-03-24
### Breaking changes
 - N/A

### New features
 - N/A

### Bug fixes
 - Fix DHCP Server Identifier(54) option. (f267f10)

## [0.2.1] - 2023-02-17
### Breaking changes
 - N/A

### New features
 - N/A

### Bug fixes
 - Fix build failuer on i686. (7e877da)
 - Improve ASYNC API performance. (341dfba)

## [0.2.0] - 2023-02-12
### Breaking changes
 - Change the `DhcpV4Config::new()` to return `DhcpV4Config` instead of result.
   (ab07930)

### New features
 - Add async API. (05c04d9)

### Bug fixes
 - N/A

## [0.1.0] - 2022-12-01
### Breaking changes
 - N/A

### New features
 - Initial release

### Bug fixes
 - N/A
