# Changelog
## [0.9.0] - 2026-11-04
### Breaking changes
 - Bump MSRV to 1.85 and edition to 2024. (754b25d)

### New features
 - N/A

### Bug fixes
 - error: drop thiserror dependency. (ed67b52)

## [0.8.0] - 2026-10-01
### Breaking changes
 - event: `Nl80211Event` payloads are reorganized into dedicated structs
   (`Nl80211EventAuthenticated`, `Nl80211EventAssociated`,
   `Nl80211EventConnectResult`, ...), the status/reason/command payloads are
   tuple variants now, `Frame` carries a parsed `Ieee80211Frame` and
   `ControlPortFrame` an `Ieee80211EapolFrame`. `ConnectResult` also carries
   the request and response IEs. (db3e5aa, 832d952)
 - frame: `Ieee80211AuthFrame` changed from struct to enum with a typed variant
   per authentication algorithm; `Nl80211ExternalAuth::status_code()` takes
   `Ieee80211StatusCode` instead of `u16`. (8dd748c)
 - frame: `Nl80211Event::Frame` now carries a parsed `Ieee80211Frame` instead
   of raw bytes; `Ieee80211ActionFrame` is a typed enum with BTM and 802.11k
   Neighbor Report variants; the frame type code moved to `src/frame.rs` and
   the authentication codecs to `src/frame/auth/`. (b1188cd)
 - frame: Simplify `Ieee80211ActionFrame` construction, the direct
   constructors and `is_*`/typed accessor methods are replaced by `From`
   conversions. (e4353e3)
 - frame: `Ieee80211Frame::Other` is now a tuple variant wrapping
   `Ieee80211FrameOther` instead of a struct variant. (ff61f9f)

### New features
 - element: Add IEEE 802.11 IE helpers: zerocopy element header decoder, IE
   lookup, RSN/Extended Capabilities queries, MDIE/RSNXE/FTIE codecs and
   SAE/OWE/WPA2/FT RSNE builders. (f5f1aaf)
 - eapol: Add OCI and EAPOL-Key key-data KDE codecs. (59fb8d4)
 - scan: Add `socket_owner()` to the `Nl80211Scan` builder. (9dbb678)
 - event: Model `NL80211_CMD_SET_REKEY_OFFLOAD` as
   `Nl80211Event::RekeyOffload`. (bfc46b4)
 - attr: Parse `NL80211_ATTR_REQ_IE` and `NL80211_ATTR_RESP_IE`. (141d5d3)
 - wiphy: Add interface/wiphy/wdev filter to `NL80211_CMD_GET_WIPHY`.
   (c874ad5)

### Bug fixes
 - ssid: Store SSIDs as raw octets and do best-effort UTF-8 parsing so a
   non-UTF-8 SSID no longer fails the whole message parse. (77fd4a2)
 - Disable tests on big-endian targets as the test data is hard-coded
   little-endian. (32ccce3)
 - LICENSE: Fix LICENSE-MIT content, the old file was MITNFA. (3839f33)

## [0.7.0] - 2026-08-18
### Breaking changes
 - Use latest rust-netlink crates. (69931a9)

### New features
 - N/A

### Bug fixes
 - N/A

## [0.6.0] - 2026-08-16
### Breaking changes
 - Rename IEEE 802.11 types to Ieee80211 prefix and merge duplicate
   cipher/capability types. (1ff74d3)
 - scan: Nl80211SchedScanMatch/Nl80211SchedScanPlan are now nested-set structs;
   old enums renamed to Nl80211SchedScanMatchAttr/Nl80211SchedScanPlanAttr.
   (3a3e47b)
 - scan: schedule_stop_all() now requires an interface index. (f5676dd)

### New features
 - cqm: Add SET_CQM request and NOTIFY_CQM RSSI event support. (05f3536)
 - Add roaming-related attributes and commands: prev_bssid() reassociation,
   IGTK/BIGTK/default management key helpers, and PMKSA/PMK builders. (d1c6197)
 - wowlan: Add SET_WOWLAN triggers plus wake notifications with deauth/disassoc
   reasons. (61a51b8)

### Bug fixes
 - Parse the status code from (re)association response IEEE frames instead of
   defaulting to Success. (d2767cc)
 - Handle zero-length NL80211_ATTR_CONTROL_PORT_ETHERTYPE wiphy flag so wiphy
   dumps remain parseable. (686470d)
 - scan: Emit sched scan match/plan attributes as the kernel's two-layer nested
   NLAs. (bea36a4)

## [0.5.0] - 2026-08-05
### Breaking changes
 - `Nl80211Attr::ControlPortEthertype` now holds `EthernetProtocol`. (7b53f23)

### New features
 - Add CONTROL_PORT_FRAME TX request and typed ethertype. (57fc31e)
 - Add NEW_KEY and SET_REKEY_OFFLOAD request builders. (d0e6368)
 - Add multicast event subscription and typed event parsing. (7e6dc04)
 - Add AUTHENTICATE and ASSOCIATE request types. (2eacc97)
 - Add Nl80211AkmSuite::Owe (00-0F-AC:18). (24a17f2)
 - Add support for NL80211_ATTR_REKEY_DATA. (0a7941a)
 - Add `Nl80211KeyDefaultType` and `NL80211_KEY_DEFAULT_TYPES` support. (88e4747)
 - Add RSNXE (RSN Extension element) support. (771da5e)
 - Add support of NL80211_ATTR_AUTH_DATA and NL80211_ATTR_KEY. (cec803d)
 - Re-export `packet_core` and `packet_generic` as rtnetlink. (2543737)
 - Make Nl80211BandIfTypeData public. (6e5c6d7)
 - Make Nl80211 a public type. (bb7b63e)
 - Add attributes for connect/disconnect/auth/deauth. (bd139d7)
 - Support parsing elemtent ID for WIFI5 and WIFI6. (32d6951)
 - Expose Nl80211Elements to public. (97930a9)
 - Add support for sending vendor-specific commands. (201bbea)

### Bug fixes
 - Fix emit inconsitencies and add tests. (001032a)
 - Fix NL80211_ATTR_SSID to be binary, not NUL-terminated. (3a8ff67)
 - Fix incorrect usage on DefaultNla. (fb2eb8c)
 - Fix Nl80211ElementRsn parsing. (56021be)
 - IEs: Do not parse information element by default. (9965c04)
 - Fix Nl80211RateAndSelector. (56c0b45)
 - Fix panic on malformed wifi6 IE on Nl80211HeMcsNssSupp. (88776ab)

## [0.4.0] - 2025-11-11
### Breaking changes
 - station: Use bitflag for Nl80211StationFlags. (2913d4d)
 - station: Hide all public constants in rate_info. (88e675d)

### New features
 - Add support for creating and deleting interfaces. (600ed26)

### Bug fixes
 - make Nl80211ElementRsn public. (2f74341)
 - Add spelling CI job and fix further typos. (243c821)
 - Remove debug and todo statements. (105e614)

## [0.3.2] - 2025-09-01
### Breaking changes
 - N/A

### New features
 - N/A

### Bug fixes
 - Leftover: Set minimum supported rust version to 1.77. (caed428)

## [0.3.1] - 2025-08-29
### Breaking changes
 - Set minimum supported rust version to 1.77. (d72680a)

### New features
 - N/A

### Bug fixes
 - Fix compiling error on rust 1.77. (d72680a)

## [0.3.0] - 2025-08-27
### Breaking changes
 - Replace `Nl80211Cmd` with `Nl80211Command`. (21896a4)

### New features
 - Support querying scan results. (3adb7b9)
 - Support parsing HT(WIFI4) capability. (dc5cc16)
 - Support scanning trigger and schedule. (c0dcf88)
 - Support setting phy parameters. (25aef4e)
 - Support changing interface type. (2d86585)
 - Support specifying the interface on a get request. (97bf087)
 - Support dumpping survey. (cd9907f)

### Bug fixes
 - Fix Nl80211Element parser to allow zero-length elements. (7d4f45a)
 - Use latest rust-netlink crates. (1fc0a2e)

## [0.2.0] - 2024-09-21
### Breaking changes
 - Changed `Nl80211Attr::WiPhyFreq` to `Nl80211Attr::WiphyFreq`. (2a4dbe1)
 - Changed `Nl80211StationInfo::Signal` from u8 to i8. (79e4010)
 - Changed Nl80211Message.nlas to Nl80211Message.attributes. (1b6679d)

### New features
 - Add support of parsing netlink message reply of `iw phy`. (2a4dbe1)
 - Add support of station. (19d03a5)

### Bug fixes
 - N/A

## [0.1.2] - 2023-07-10
### Breaking changes
 - N/A

### New features
 - N/A

### Bug fixes
 - Use latest rust-netlink crates. (9e67599)

## [0.1.1] - 2023-01-28
### Breaking changes
 - N/A

### New features
 - N/A

### Bug fixes
 - Use latest rust-netlink crates. (a5f55b5)
