# 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.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### Added - `FreeBSDDriver` (`freebsd`) and `OpenBSDDriver` (`openbsd`) on a shared `BsdDriver`: SSH over exec channels (no PTY, real exit codes), root through `sudo -S` with the password on stdin. - Read side (NetOrk/netork#798): facts (SMBIOS through `kenv` on FreeBSD, `hw.*` sysctls on OpenBSD; uptime from `kern.boottime`), interfaces and their addresses (`ifconfig -a`), routes (`netstat -rn`), ARP (`arp -an`), users and groups, processes (`ps … lstart`), cron jobs (system crontab and the login user's). - `get_listening_sockets()` in the shape of `ListeningSocketsMixin`: FreeBSD through `sockstat`, OpenBSD through `fstat` as root and `netstat -an` without, which the reading reports as `attributed: False`. - Packages: `get_packages`, `install_package`, `uninstall_package`. FreeBSD's install bootstraps pkg on a classic system that never had it. - Updates: `get_available_updates`, with VuXML's verdict as `security` on FreeBSD and base-system patches as one `base-system` entry (OpenBSD `syspatch`, classic FreeBSD `freebsd-update`). A reader that cannot read raises instead of returning no updates (#4). - Services: `get_services` and `manage_service` (start, stop, restart, enable, disable) through `service` and `rcctl`. - SNMP: `run_device_action("fix_snmp")` installs net-snmp, writes the same configuration netOrk uses on Linux, starts the agent and asks it for sysDescr; `get_snmp_config` reports a running agent's community and port. - `get_host_status` (napalm-device-types' `HostStatusMixin`): on FreeBSD, "reboot required" when the installed kernel differs from the running one. - `first_boot_pending()`: whether a FreeBSD host is still in its first boot (`/firstboot`), so netOrk can wait before setting up a new VM (NetOrk/netork#795). - Parsers tested on output recorded from FreeBSD 15.1 (hand-installed and cloud image) and OpenBSD 7.9 (NetOrk/netork#793).