w5100-rs/CHANGELOG.md
2025-03-21 16:00:21 +01:00

74 lines
4.3 KiB
Markdown

# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.6.0] - March 21st, 2025
- [breaking] The driver now uses v0.9 of embedded-nal [@reitermarkus](https://github.com/reitermarkus) ([#66](https://github.com/kellerkindt/w5500/pull/66))
- `DeviceState` is now publicly re-exported [@22dd5e2bdd](https://github.com/22dd5e2bdd) ([#65](https://github.com/reitermarkus))
## [0.5.0] - July 8th, 2024
### Changed
- [breaking] The driver now uses the v1.0 of the `embedded-hal` traits.
- [breaking] The `FourWireRef` bus and `DeviceRefMut` have been removed in favor of using
`embedded-hal-bus` to facilitate SPI bus sharing.
- [breaking] Updated to `embedded-nal` v0.8
### Added
- Add `defmt` features for enabling `defmt::Format` to most structs and errors by [@elpiel](https://github.com/elpiel) ([#39](https://github.com/kellerkindt/w5500/issues/39))
- Fixed an issue where internal function names were conflicting with trait names by [@ryan-summers](https://github.com/ryan-summers) ([#36](https://github.com/kellerkindt/w5500/issues/36))
- Add `RetryTime` and `RetryCount` common register methods to `Device` and `UninitializedDevice` by [@elpiel](https://github.com/elpiel) ([#54][PR54])
- Add `Udp::get_port` and `Udp::set_port` by [@elpiel](https://github.com/elpiel) ([#57](https://github.com/kellerkindt/w5500/pull/57))
- Add `RawDevice::enable_interrupts` (and `clear_interrupts`, `disable_interrupts`) for interrupt-driven MACRAW mode by [@pdh11](https://github.com/pdh11) ([#60](https://github.com/kellerkindt/w5000/pull/60))
### Fixed
- Fixed an issue that caused corruption when reading partial MACRAW frames by [@Felix-El](https://github.com/Felix-El) ([#47](https://github.com/kellerkindt/w5500/pull/47))
- Fixes `Udp` implementation to use the socket's ring buffers and include more `UdpSocketError` by [@elpiel](https://github.com/elpiel) ([#57](https://github.com/kellerkindt/w5500/pull/57))
## [0.4.1] - January 2nd, 2023
### Added
- Fix indexing for phy configuration register by [@Wassasin](https://github.com/Wassasin) ([#32](https://github.com/kellerkindt/w5500/issues/32))
- Add support for MACRAW operation mode by [@ryan-summers](https://github.com/ryan-summers) ([#33](https://github.com/kellerkindt/w5500/issues/33))
## [0.4.0] - January 22nd, 2022
### Added
- Add support for 3-wire SPI bus ([#15](https://github.com/kellerkindt/w5500/issues/15))
- Add constructors for network types ([#21](https://github.com/kellerkindt/w5500/issues/21))
- Add method to change PHY configuration ([#23](https://github.com/kellerkindt/w5500/issues/23))
- Add feature `no-chip-version-assertion` for compatible chips with unexpected version information
- Add `MacAddress::octets()`
- Add `impl From<[u8; 6]> for MacAddress`
- Add `Device::deactivate` and `InactiveDevice::activate`
- Add re-export of `FourWireError` and `ThreeWireError`
- Add `FourWireRef` to be able to use `Device` with borrowed SPI and CS
- Add `DeviceRefMut` to be able to use `Device` without moving ownership
- Add getter: `Device::{gateway,subnet_mask,mac,ip,version}`
- Restructure and implement embedded-nal UDP trais ([#26](https://github.com/kellerkindt/w5500/issues/26)) - big thanks to [@jonahd-g](https://github.com/jonahd-g)
- Add TCP client support ([#24](https://github.com/kellerkindt/w5500/issues/24)) - big thanks to [@ryan-summers](https://github.com/ryan-summers)
### Changed
- Updated dependencies ([#22](https://github.com/kellerkindt/w5500/issues/22))
- `Mode` fields are now publicly acessible
### Removed
- Cargo.lock ([#20](https://github.com/kellerkindt/w5500/issues/20))
- Replace `net::Ipv4Addr` with `embedded_nal::Ipv4Addr`
## [0.3.0] - June 10, 2020
### Breaking changes
- Require [`v2::OutputPins`](https://github.com/rust-embedded/embedded-hal/blob/9e6ab5a1ee8900830bd4fe56f0a84ddb0bccda3f/src/digital/v2.rs)
- [`OutputPin` is now taken by ownership](https://github.com/kellerkindt/w5500/blob/d02bbf7e5cc837e658671d1467305523136376cc/src/lib.rs#L131) instead of mut refs [#13](https://github.com/kellerkindt/w5500/issues/13)
### Changes
- Upgrade to Rust 2018 Edition
- Many doc updates, thanks @jonahbron