# Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

## [3.2.2]

- Update dependencies. See PR 52.

## [3.2.1]

### Fixed

- Update `system-configuration` crate to version 0.6. See PR_37.
- Update `smol` crate to version 2. See PR_42.
- linux: Improve error message by including specific reasons. See PR_39.
- Update `rtnetlink` crate to version 0.13. See PR_35.
- Update `windows` crate to allow version 0.52. See PR_35.

## [3.2.0]

### Fixed

- Update `async-io`, `if-addrs` crates. See PR 33.

## [3.1.0]

### Fixed

- Update `windows` crate. See PR 32.

## [3.0.1]

### Fixed

- For all architectures running the fallback option (e.g. Android) reverse the logic when checking if a recorded interface still exists in the new list to avoid reporting all interfaces as down and then up in the same resync(). See PR 31.

## [3.0.0]

### Changed

- Feature gate async runtime, allowing opting between Tokio or smol. For every OS each `IfWatcher` is under the `tokio` or `smol` module. This makes it a breaking change as there is no more a default implementation. See PR 27.

## [2.0.0]

### Changed

- Add `IfWatcher::poll_if_event`. Implement `Stream` instead of `Future` for `IfWatcher`. See PR 23 and PR 25.
- Make `IfWatcher::new` synchronous. See PR 24.

## [1.1.1]

### Fixed

- Update to `rtnetlink` `v0.10`. See PR 19.

## [1.1.0]

### Added

- Return socket closure as error. See PR 15.

### Fixed

- Update to `windows` `v0.34`. See PR 16.

## [1.0.0] - 2022-01-12

### Added

- macos/ios backend

### Changed

- linux backend rewritten to use rtnetlink
- windows backend rewritten to use windows crate instead of winapi