CHANGELOG.md
## [v0.5.2] - 2025-09-30
### Added
- OSDP file transfer command support (#42)
## [v0.5.1] - 2023-05-08
### Added
- OSDP packet tracing (#39) - `Jeff.enable_trace/2` for more details
- Allow specifying timeout for commands (#40)
### Fixed
- Removing non-registered devices no longer crashes the ACU process (#38)
## [v0.5.0] - 2023-04-06
**Breaking Changes**
`Jeff.ACU.send_command/4` and `Jeff.ACU.send_command_oob/4` now return tagged
tuples of `{:ok, Jeff.Reply.t()}` and `{:error, term()}` instead of just the
reply struct. You'll need to update you code if you are relying on the returns
of these functions. Likewise, many of the `Jeff.*` functions were adapted to
return an error tuple when needed.
### Added
- Added Input and Output commands and replies (#32)
- Support Manufacturer specific commands/replies (osdp_MFG and osdp_MFGREP) (#33)
- Use tagged tuples for `send_command` and `send_command_oob` returns (#36)
### Fixed
- Reset communication on sequence number desync (#34)
- Fix request failures to offline devices (#36)
## [v0.4.1] - 2022-08-10
### Added
- Added `:transport_opts` option to `Jeff.ACU.start_link` for passing options
to the underlying transport.
## [v0.4.0] - 2022-07-29
### Changed
- Capabilities now returns a map. See `Jeff.Reply.Capabilities` for more info.
### Fixed
- Gracefully handle ACU process termination to prevent orphaned Jeff.Transport
and Circuits.UART processes.
## [v0.3.2] - 2022-04-13
### Added
- Support removal of peripheral devices from ACU bus
## [v0.3.1] - 2022-03-31
### Changed
- Add controlling_process to ACU start opt type
## [v0.3.0] - 2022-03-09
### Changed
- Improve documentation and typespecs
- Improve README and docs
- Rename ControlPanel -> ACU
### Added
- Add LICENSE info
## [v0.2.0] - 2022-02-10
### Added
- Send out-of-band commands: send commands to devices not yet registered to the
communication bus loop.
- Check OSDP address: Checks whether address is available to register to a bus.