# Changelog
## [1.2.9] - 2022-12-13

## Break changes

 * N/A

## New features

 * N/A

## Bug fixes

 * Fix route rule action. (1c98d7f)

## [1.2.8] - 2022-10-06

## Break changes

 * N/A

## New features

 * Add support of filtering via `NetStateFilter`. (f128da4, c130bb6)
 * SR-IOV: Include SRIOV VF information per VF interface. (fd3c489)
 * New bond options: (77ede43)
   * `BondInfo.lacp_active`
   * `BondInfo.missed_max`
   * `BondInfo.ns_ip6_target`

## Bug fixes

 * Expose `MptcpAddressFlag`. (dd2a427)

## [1.2.7] - 2022-06-29

## Break changes
 * N/A

## New features

 * Add support of MPTCP path management. (a5e0108)

## Bug fixes

 * Fix SR-IOV VF MAC address parsing. (723c090, e2c19da, 91076ed, 06ca1f7)
 * Fix veth created by iproute with `netns` argument. (5e8eb7d)

## [1.2.6] - 2022-06-24

## Break changes
 * clib: Change SONAME from libnispor.1.2 to libnispor.so.1

## New features

 * N/A

## Bug fixes

 * drop the need of serde_derive. (4857775)
 * Use latest rust-netlink crates. (45ba94a)

## [1.2.5] - 2022-03-30

## Break changes
 * N/A

## New features

 * N/A

## Bug fixes

 * apply: Enable Default traits for VethConf and VlanConf. (3b3f446)
 * ipoib: Add base_iface property. (9349ed7)
 * clib: Update Cargo.toml with description and etc. (4494f54)
 * npc: Update Cargo.toml for `cargo publish`. (26d8bb6)
 * npc: Use specific version for `cargo publish`.  (4f0faa3)

## [1.2.4] - 2022-03-15
## Break changes
 * Mark all public struct/enum as `non_exhaustive`. (58fa534)

## New features
 * Support max and min MTU. (892dcc5, cebe8ea)
 * Support changing dynamic IP. (43e9496)
 * Support changing route. (b8ffe1a, 06cc9c8)
 * Support mulitpath route in python binding. (e70991e)
 * Support IP over InfiniBand. (f374d62)

## Bug fixes

 * Remove all usages of `expect`. (25f1868)

## [1.2.3] - 2022-01-12
## Break changes
 * N/A

## New features
 * N/A

## Bug fixes

 * Fix bridge vlan filtering on i40e. (5bc1603)
 * Expose struct member of ethtool. (60483d9)

## [1.2.2] - 2021-11-29
## Break changes
 * N/A

## New features
 * N/A

## Bug fixes

 * Fix the crash of npc commnad line.(73d0e1b)

## [1.2.1] - 2021-11-25
## Break changes
 * N/A

## New features
 * Include SR-IOV VF interface name in `VfInfo`. (1e74459)
 * Implement From BridgePortMulticastRouterType to u8. (b15f82a)
 * Added `--delete` option to npc for deleting a interface. (0b273d5, e8b0a49)
 * Expose VlanConf. (bd64243)

## Bug fixes

 * N/A

## [1.2.0] - 2021-09-30
## Break changes
 * N/A

## New features
 * Support creating linux bridge. (b1f1e0f)
 * Support creating veth. (af09cab)
 * Support changing MAC address. (f582227)
 * Support creating VLAN. (5b172da)
 * Support changing link state(up/down). (d5de240)
 * Support creating bond. (466c785)
 * support changing controller. (b1815e7)

## Bug fixes
 * Use upstream ethtool crate instead vendoring. (4202aa7)
 * Fix CLI interface name filter on querying. (1e0f092)

## [1.1.1] - 2021-06-19
## Break changes
 * Running `npc` command without argument will only show bridge network
   information. (69cc9aa)

### Bug fixes
 * Fix ethool feature on tx-lockless which is always unchangable. (235458b)
 * Fix detection of loopback interface type. (11eb434)
 * Remove the use of `unwrap()` in ethtool code. (6ea512e)

## [1.1.0] - 2021-05-14
### New features
 * Support ethtool link mode. (c23e7b5)
 * Support ethtool ring. (ddb9b57)
 * Support ethtool coalesce. (29bd758)
 * Support ethtool features/offload. (9ddd42f)
 * Support ethool pause. (63e2211, 0c0aeda)
 * Support bond vlan+srcmac hashing option. (32e5d0a)
 * Support permanent MAC address. (ef5b56d)
 * Initial tech-preview support on changing IP address. (c6757ec)

## Break changes
 * Varlink interface been removed. (6a1d14a)

## [1.0.1] - 2020-11-10
## Bug fixes
 * Fix interface type of python binding. (674d186)

## [1.0.0] - 2020-11-09
### New features
 * Support multipath route. (89f4358)
 * Support l3mdev route rule. (0f319c3)
 * Support route rule in Python binding. (c2fe238)
 * Support pkg-config support in C binding. (9fd46e6)

## Bug fixes
 * Add missing route protocol. (b045128)

## Break changes
 * All members of classes has been changed to all lower case.
   (e370c14, cb23098)
 * All mac address has been changed to all lower case. (ccb0625)
 * The default output format of npc(cli tool) has changed to yaml. (372b22f)

## [0.6.1] - 2020-10-10
### New features
 * Support OVS internal interface and OVS system interface. (4e546a0)

### Bug fixes
 * Fix the python binding for VXLAN `dst_port`. (3012402)
 * bond, bridge: Remove the unsafe std::mem::transmute(). (ce23ba5)

## [0.6.0] - 2020-10-09
### New features
 * Add the support of MAC VTAP. (c76993b)
 * Add the support of route rule. (757945b)

### Break changes
 * The bond options has been changed from arbitrary hash map to explicit
   properties. (71b95db)

### Bug fixes
 * Do not panic on multipath route found. (bc383be)
 * Fix the crash on vxlan when `dst_port` is set. (14dffd3)

## [0.5.1] - 2020-09-20
### Bug fixes
 * Add support of TUN/TAP in Python binding
 * Fix route query in Python binding

## [0.5.0] - 2020-09-04
### New features
 * Support MAC VLAN
 * Support TUN/TAP(no python binding yet)
 * Include VRF support in python binding

### Bug fixes
 * Fix incorrect string memory free function in C binding
 * Fix python binding failure when SR-IOV is not supported

### Break changes
 * The rust API `nispor::get_state` changed to `nispor::NetState::retrieve()`
 * The python API `nispor.get_state` changed to
   `nispor.NisporNetState.retrieve()`

## [0.4.0] - 2020-08-26

### New features
 * Support SR-IOV
 * Support VRF(Virtual Routing and Forwarding)

### Bug fixes
 * Fix the python module on linux bridge vlan filtering
 * Include SONAME in `libnispor.so` of C binding

## [0.3.0] - 2020-08-16

### New features
 * C binding of nispor
 * Python binding is wrapper from C binding, hence does not need
   rust-pyo3 any more
 * Python binding now support setuptools.

### Break changes
 * The python function `nispor.get_state()` is returning a object.
   not, rather than json string.
   The new function `nispor.get_state_json()` is returned the json string.

## [0.2.0] - 2020-08-11
### New features
 * Veth
 * Dummy
 * Route
 * VxLAN

## [0.1.1] - 2020-07-08
### Bug fixes
 * Misc packaging fixes.

## [0.1.0] - 2020-07-03
### New features
 * IPv4/IPv6 address
 * Bond
 * Linux Bridge
 * Linux Bridge VLAN filtering
 * VLAN
