# Changelog
## [0.21.0] - 2024-09-12
### Breaking changes
- `InfoIpVlan::Flags` changed from u16 to `IpVlanFlags`. (321e4d5)
- `AfSpecBridge::Flags` changed from u16 to `BridgeFlag`. (40d090b)
- `InfoBond::ArpValidate` changed from u32 to `BondArpValidate`.(5246712)
- `InfoVxlan::Group` changed from `Vec<u8>` to `Ipv4Addr`. (538e13b)
- `InfoVxlan::Group6` changed from `Vec<u8>` to `Ipv6Addr`. (538e13b)
- `InfoVxlan::Local` changed from `Vec<u8>` to `Ipv4Addr`. (538e13b)
- `InfoVxlan::Local6` changed from `Vec<u8>` to `Ipv6Addr`. (538e13b)
### New features
- bridge port: Introduce BridgeFlag, BridgeMode and BridgeVlanTunnelInfo.
(40d090b)
- Add support for geneve links. (7391b19)
### Bug fixes
- Avoid panic in TcU32Selector parsing. (c49e3ac)
- Avoid panic in RouteNextHopBuffer length checks. (666edbc)
- Check NLA buffers on creation. (fceb9c2)
- Check Map buffers on creation. (d53bbad)
## [0.20.1] - 2024-06-29
### Breaking changes
- N/A
### New features
- Support for tc-actions. (65f699a, 0227234)
- Support IFLA_VRF_PORT_TABLE attribute. (abfadc1)
### Bug fixes
- N/A
## [0.20.0] - 2024-01-31
### Breaking changes
- Use bitflags. (3c08f7f, 5072f3a, 9271b33, 8564ed9, e26b489, b337e00,
386470f, 99bd9d2, 590411d, 6f63c6b)
- bond: Convert `InfoBond::Mode` into an enum. (3e16f9c)
- ipvlan: Change mode type from u16 to enum. (396d4b0)
- link: Renamed `LinkAttribute::NetnsId` to `LinkNetNsId`. (528905c)
- mac vlan/vtap: Changed MAC VLAN/VTAP mode from u32 to enum. (b23b165)
- bridge: Change InfoBridge::VlanFiltering from u8 to bool. (de0f47a)
### New features
- Added `InfoData::IpVtap`. (a8d125c)
- impl `From<IpAddr>` for `RouteAddress`. (984b358)
### Bug fixes
- link: Check buffer length when parsing NLAs. (a543bb7)
- link: Expand the buffer before parsing stats data from old kernel. (4d5f819)
## [0.19.0] - 2024-01-31
### Breaking changes
- `InfoBridge::RootId` and `InfoBridge::BridgeId` changed. (fb497b3)
### New features
- Support bridge bond port information. (faffa52)
- Support RTM_NEWPREFIX. (2a43e1c)
- Add `Default` derive to `TcFqCodelQdStats` and etc. (e21122e)
### Bug fixes
- N/A
## [0.18.1] - 2023-12-05
### Breaking changes
- N/A
### New features
- N/A
### Bug fixes
- Fix crash on RuleFlag of `attempt to subtract with overflow`. (ece8735)
## [0.18.0] - 2023-12-05
### Breaking changes
- MASSIVE changes to API in order to 1.0 preparation. Please check
document or code for detail. Sorry for the inconvenience.
### New features
- Support HSR interface. (37f9c5c)
### Bug fixes
- vxlan: Do not fail on unknown option. (2457bdf)
- bond: Do not fail on unknown option. (acac109)
- vlan: Do not fail on unknown option. (1617948)
## [0.17.1] - 2023-08-30
### Breaking changes
- N/A
### New features
- Add support of MACsec interface. (050fd64)
### Bug fixes
- vxlan: fix port-range attribute marshalling. (55de269)
- vxlan: fix port-range attribute endianness. (ce406b2)
- vxlan: fix port attribute endianness. (927bdd7)
## [0.17.0] - 2023-07-10
### Breaking changes
- `InfoVlan::EgressQos(Vec<u8>)` changed to
`InfoVlan::EgressQos(Vec<VlanQosMapping>)`. (2d33edb)
- `InfoVlan::IngressQos(Vec<u8>)` changed to
`InfoVlan::IngressQos(Vec<VlanQosMapping>)`. (2d33edb)
### New features
- Added rich representation for VLAN QOS mapping. (2d33edb)
- Added MacVlan IFLA_MACVLAN_BC_ options. (640be35)
### Bug fixes
- N/A
## [0.16.1] - 2023-07-10
### Breaking changes
- N/A
### New features
- N/A
### Bug fixes
- Use latest rust-netlink crates. (2eda618)
## [0.16.0] - 2023-06-25
### Breaking changes
- Replaced all `slave` to `port`. (bfa1ec3)
* `InfoBond::ActiveSlave` -> `InfoBond::ActivePort`
* `InfoBond::AllSlavesActive` -> `InfoBond::AllPortsActive`
* `InfoBond::PacketsPerSlave` -> `InfoBond::PacketsPerPort`
* `SlaveState` -> `BondPortState`
* `link_infos::Info::SlaveKind` -> `link_info::Info::PortKind`
* `link_infos::Info::SlaveData` -> `link_info::Info::PortData`
* `link_infos::InfoSlaveData` -> `link_info::InfoPortData`
### New features
- Add support of bond port settings. (83c9689)
- Add support of TC matchall filter. (d71b961)
- Add egress builder for TcNat type. (62d2411)
- Add the nat action to tc. (c80c678)
- Add XDP nlas structure support. (75ce74c)
### Bug fixes
- Set `NLM_F_NESTED` for `TCA_ACT_OPTIONS` type. (a93b651)
## [0.15.0] - 2023-01-28
### Breaking changes
- Removed these reexports. (8784586)
* `netlink_packet_route::ErrorMessage`
* `netlink_packet_route::NetlinkBuffer`
* `netlink_packet_route::NetlinkHeader`
* `netlink_packet_route::NetlinkMessage`
* `netlink_packet_route::NetlinkPayload`
* `netlink_packet_route::traits`
* `netlink_packet_route::DecodeError`
- Remove internal fuzz sub-crate. (f2ffa9d)
### New features
- N/A
### Bug fixes
- N/A
## [0.14.1] - 2023-01-28
### Breaking changes
- N/A
### New features
- N/A
### Bug fixes
- Bridge VLAN: Fixed incorrect constants. (6994712)
## [0.14.0] - 2023-01-28
### Breaking changes
- All public struct and enum are marked as `non_exhaustive`. Please check
https://doc.rust-lang.org/reference/attributes/type_system.html for more
detail. (0b98180)
### New features
- LinkAddRequest: Allow adding XFRM tunnel with if_id mark. (5507d97)
- Bridge: Add support of `IFLA_BR_MCAST_QUERIER_STATE`. (3d91fdf)
- LinkAddRequest: Allow adding macvtap on a link. (dabd5dc)
### Bug fixes
- Fix panics when using iif or oif with ip rule. (dab602e)