All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
- Official support for DragonFly BSD
1.23 - 2026-02-13
- Terminal output is now in color when supported by the terminal. Because it is 2026.
NO_COLORandFORCE_COLORenvironment variables are fully supported too. - Command line help now wraps correctly at the terminal edge
- Manpage is now generated using Asciidoctor.
- Updated 3rd party dependencies
log-levelcommand line flag/config setting is now working correctly again.
1.22 - 2025-10-19
- Support building and running on operating systems that lack either Netlink or PF_ROUTE mechanisms (such as for example Haiku OS). On such systems network interface changes after wsddn startup are not detected.
- Automatic daemon user creation when running as root is now supported on Alpine and Illumos
- Binary packages no longer declare conflict with
wsdd(#23) - Man pages now correctly describe default log destinations
- Miscellaneous fixes around automatic daemon user creation when running as root:
- Security hardening around invoking OS user creation commands
- Better user defaults to align with conventions on known platforms
- Updated 3rd party dependencies
- Made log messages more uniform and informative.
- Replaced single WSDDN_PREFER_SYSTEM CMake setting with per-dependency WSDDN_PREFER_SYSTEM_<UPPERCASE_DEP_NAME> ones
1.21 - 2025-08-04
- A binary package is now available for OpenBSD. Look for
wsddn-x.y-OpenBSD-amd64.tgzunder Releases - Configuration file samples for OpenBSD have been provided under
config/openbsd(h/t Ron Taylor)
- Samba config detection now works properly when
sambatool is not present. Detection is also no longer depends onwhereistool. This is particularly an issue on OpenBSD but can be a problem on other platforms too (#17) - OpenBSD: UDP writes blocked by firewall no longer stop all processing on an interface (#18)
- OpenBSD and potentially other less common BSD variants:
wsddnnow properly handles older BSD behavior where reading from multicast IPv4 sockets surfaces packets sent to all interfaces, not the one the socket is restricted to (#19) - OpenBSD and NetBSD: automatic daemon user creation now works properly. The default expected daemon user name is now "_wsddn" on both systems.
- OpenSUSE: RPM package now installs cleanly without warning about missing
firewalld-filesystemdependency - CMake build: build is now correctly reconfigures itself when
sys_config.h.inchanges
- To optimize network traffic
wsddnnow sends resolving address directly in the WSD Hello message rather than waiting for a call from Windows. This is similar to whatwsdddoes. There appears to be no real security benefit in not doing so and it reduces startup traffic significantly. - FreeBSD config files now live under
config/freebsdinstead ofconfig/bsd(all BSDs are not the same unfortunately) - Arch AUR: package build no longer requires network access during build step
1.20 - 2025-07-19
- CMake build break when building a clean tree
1.19 - 2025-06-28
- Updated 3rd party dependencies
1.18 - 2025-03-27
- macOS: "Allow in the background" settings now show "wsdd-native" rather than the author name (#16)
- Updated 3rd party dependencies
1.17 - 2025-03-09
libuuiddependency has been replaced withmodern-uuid- Updated 3rd party dependencies
1.16 - 2025-01-12
--source-portcommand line argument andsource-portconfig file option to set the source port for multicast messages for better firewall interoperability.- Configuration files for
firewalld. These are now also delivered and used in RPM binary packages.
- Updated 3rd party dependencies
- Firewall configuration files now live under
config/firewalls
1.15 - 2024-10-03
- Updated 3rd party dependencies
1.14 - 2024-05-29
- Removed superfluous/misleading warning log messages (#10)
1.13 - 2024-05-16
- On Linux KSMBD configuration is now auto-detected if Samba configuration is not present.
- Binary packages are now available for Arch Linux and Alpine
- Daemon Pidfile now has correct owner
1.12 - 2024-05-06
- Debian binary packages no longer require
systemdpresence. They can now be used on non-systemdbased distributions as well as Docker. SysVInit scripts are now provided and "do the right thing" onsystemdand non-systemdsystems. - Support for NetBSD
- Support for illumos
1.10 - 2024-04-30
- Ability to supply custom metadata to Windows. This allows exposing the computer running wsdd-native as something other than an SMB server in Windows Explorer. For more details see this page
- Support for Alpine Linux and musl libc
- Support for OpenBSD
- Crash when looking up Samba configuration and
whereistool is not present on the host
1.6 - 2023-07-29
- Added application profile for UFW on Debian/Ubuntu distribution
- Added
armhfdistribution for Debian/Ubuntu
- Updated 3rd party dependencies
1.5 - 2023-07-21
- macOS: Hopefully final fix for #4:
_wsddnuser is reassigned to staff group on OS update
- Replaced ad-hoc calls to various Posix-y APIs with ptl
1.4 - 2023-06-16
- macOS: Corrected
_wsddngroup definition so it is no longer removed from_wsddnuser on macOS upgrade and no longer shown as available user group in Settings. - macOS: Made the macOS warning about startup software say "wsddn.app" rather than "Eugene Gershnik" (my developer account name).
1.3 - 2023-05-27
- macOS: Macports distribution is now available
- macOS: child process now logs with correct subsystem and category
- macOS: logging to OS log is now the default behavior
- macOS: bundle identifier is now configurable at build time
1.2 - 2023-05-21
- APT installer no longer creates bogus
/debiandirectory - Mac
.pkginstaller now correctly includes both x64 and arm64 architectures.
- Updated
{fmt}library dependency - It is now possible to specify version externally when building
wsddnby settingWSDDN_VERSIONCMake variable.
1.1 - 2023-05-19
- macOS: Allow logging to system log instead of log file. See
--log-os-logcommand line option andlog-os-logconfig file setting.
- Updated all dependencies to latest versions as of 2023-05-18
- All platforms:
wsddn --versionalways reporting "0.1" - macOS: application info dictionary version always set to "0.1"
- Fixed errors when compiling under GCC 13
1.0 - 2022-07-25
- First official release
0.6 - 2022-07-24
- Initial version