0.9.2
What is new in afpfs-ng-0.9.2, January 14, 2026
- FUSE client improvements
Rearchitectured to a one afpfsd process per mount model for better stability and performance:
Launch the manager afpfsd process with 'afpfsd --manager' and mount daemons with 'afpfsd --socket-id '.
As before, mount_afpfs or afp_client will launch all daemons automatically.
This also enables multiple mounts on macOS with macFUSE which was not possible before.
Server connection suspend and resume support in afp_client.
Can now set log level and log type (syslog/stdout) for the FUSE client.
macOS Finder xattr support for custom icons and other metadata (requires macFUSE v5.1.3 or later).
- afpcmd client improvements
Added a new 'exit' command that detaches from the current volume and returns to the list of volumes.
When in volume selection mode, use the 'ls' command to list available volumes on the server.
Made the 'chmod' command work properly.
Can now set log level for the afpcmd client (always logs to syslog).
- AFP protocol compliance
AFP 3.2 Extended Attributes (xattr) support
AFP 3.3 Replay Cache support
AFP 3.4 compliant xattr error handling
Implemented FPEnumerateExt (command 66) for AFP 3.0
- General improvements
Removed obsolete workarounds for 20 year old netatalk bugs.
Proper support for long UTF-8 volume names in all clients.
Introduced UAM shorthands for easier use: clrtxt, randnum, dhx2, dhx, etc.
Converted man pages to mdoc format.
We now install development files (headers, pkg-config) for libafpclient with meson.
What's Changed
- build(deps): bump actions/checkout from 6.0.0 to 6.0.1 by @dependabot[bot] in #65
- build(deps): bump vmactions/netbsd-vm from 1.2.1 to 1.2.3 by @dependabot[bot] in #64
- build(deps): bump vmactions/openbsd-vm from 1.2.3 to 1.2.4 by @dependabot[bot] in #66
- Enable the mounting of multiple FUSE volumes simultaneously by @rdmark in #68
- Client support for AFP 3.3 replay cache by @rdmark in #69
- Use a per-mount afpfsd daemon process structure for all platforms by @rdmark in #71
- implement log level for the FUSE client by @rdmark in #72
- install development headers and pkgconfig file for libafpclient by @rdmark in #74
- build(deps): bump vmactions/freebsd-vm from 1.2.9 to 1.3.0 by @dependabot[bot] in #77
- build(deps): bump DavidAnson/markdownlint-cli2-action from 21.0.0 to 22.0.0 by @dependabot[bot] in #78
- fix incorrect dsi_send() calls and shore up error handling by @rdmark in #80
- Complete support for Extended Attribute reads and writes by @rdmark in #81
- update the afp_client status command for multiple afpfsd by @rdmark in #83
- build(deps): bump vmactions/openbsd-vm from 1.2.5 to 1.2.7 by @dependabot[bot] in #84
- Remove superfluous permissions declaration from test.yml by @rdmark in #86
- enable xattr writes with macFUSE as the bug is fixed with v5.1.3 by @rdmark in #87
- proper definition of AppleTalk Zone length by @rdmark in #92
- afp_client: properly support all subcommands with manager daemon by @rdmark in #91
- Improve AFP idle timeout and reconnection handling by @rdmark in #93
- afpcmd: log to syslog, control log level, bugfixes by @rdmark in #94
- convert man pages to roff with mdoc macros, drop cmark dependency by @rdmark in #96
- overhaul logging fidelity, better FUSE error reporting by @rdmark in #97
- build(deps): bump vmactions/netbsd-vm from 1.2.3 to 1.3.1 by @dependabot[bot] in #98
- build(deps): bump vmactions/openbsd-vm from 1.2.7 to 1.3.1 by @dependabot[bot] in #99
- build(deps): bump vmactions/freebsd-vm from 1.3.0 to 1.3.4 by @dependabot[bot] in #100
- Properly handle xattr errors for AFP 3.4 and enumerate for AFP 3.0 by @rdmark in #102
- refactor FUSE unmount flow to use proper libfuse3 API by @rdmark in #105
- introduce UAM shorhand names to be used when invoking the clients by @rdmark in #106
- build(deps): bump vmactions/freebsd-vm from 1.3.4 to 1.3.6 by @dependabot[bot] in #108
- build(deps): bump vmactions/freebsd-vm from 1.3.6 to 1.3.7 by @dependabot[bot] in #110
- store meson logs as job artifacts for each build job by @rdmark in #111
- print more information on afpfsd child status, and clean up logging routine by @rdmark in #109
- improve volume selection, reconnection, UTF8 volnames, server type detection by @rdmark in #112
- clean up obsolete netatalk workaround code by @rdmark in #115
- afpcmd: introduce exit command for detaching from volume by @rdmark in #116
Full Changelog: 0.9.1...0.9.2