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
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 https://github.com/Netatalk/afpfs-ng/pull/65
- build(deps): bump vmactions/netbsd-vm from 1.2.1 to 1.2.3 by @dependabot[bot] in https://github.com/Netatalk/afpfs-ng/pull/64
- build(deps): bump vmactions/openbsd-vm from 1.2.3 to 1.2.4 by @dependabot[bot] in https://github.com/Netatalk/afpfs-ng/pull/66
- Enable the mounting of multiple FUSE volumes simultaneously by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/68
- Client support for AFP 3.3 replay cache by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/69
- Use a per-mount afpfsd daemon process structure for all platforms by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/71
- implement log level for the FUSE client by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/72
- install development headers and pkgconfig file for libafpclient by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/74
- build(deps): bump vmactions/freebsd-vm from 1.2.9 to 1.3.0 by @dependabot[bot] in https://github.com/Netatalk/afpfs-ng/pull/77
- build(deps): bump DavidAnson/markdownlint-cli2-action from 21.0.0 to 22.0.0 by @dependabot[bot] in https://github.com/Netatalk/afpfs-ng/pull/78
- fix incorrect dsi_send() calls and shore up error handling by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/80
- Complete support for Extended Attribute reads and writes by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/81
- update the afp_client status command for multiple afpfsd by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/83
- build(deps): bump vmactions/openbsd-vm from 1.2.5 to 1.2.7 by @dependabot[bot] in https://github.com/Netatalk/afpfs-ng/pull/84
- Remove superfluous permissions declaration from test.yml by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/86
- enable xattr writes with macFUSE as the bug is fixed with v5.1.3 by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/87
- proper definition of AppleTalk Zone length by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/92
- afp_client: properly support all subcommands with manager daemon by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/91
- Improve AFP idle timeout and reconnection handling by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/93
- afpcmd: log to syslog, control log level, bugfixes by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/94
- convert man pages to roff with mdoc macros, drop cmark dependency by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/96
- overhaul logging fidelity, better FUSE error reporting by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/97
- build(deps): bump vmactions/netbsd-vm from 1.2.3 to 1.3.1 by @dependabot[bot] in https://github.com/Netatalk/afpfs-ng/pull/98
- build(deps): bump vmactions/openbsd-vm from 1.2.7 to 1.3.1 by @dependabot[bot] in https://github.com/Netatalk/afpfs-ng/pull/99
- build(deps): bump vmactions/freebsd-vm from 1.3.0 to 1.3.4 by @dependabot[bot] in https://github.com/Netatalk/afpfs-ng/pull/100
- Properly handle xattr errors for AFP 3.4 and enumerate for AFP 3.0 by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/102
- refactor FUSE unmount flow to use proper libfuse3 API by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/105
- introduce UAM shorhand names to be used when invoking the clients by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/106
- build(deps): bump vmactions/freebsd-vm from 1.3.4 to 1.3.6 by @dependabot[bot] in https://github.com/Netatalk/afpfs-ng/pull/108
- build(deps): bump vmactions/freebsd-vm from 1.3.6 to 1.3.7 by @dependabot[bot] in https://github.com/Netatalk/afpfs-ng/pull/110
- store meson logs as job artifacts for each build job by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/111
- print more information on afpfsd child status, and clean up logging routine by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/109
- improve volume selection, reconnection, UTF8 volnames, server type detection by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/112
- clean up obsolete netatalk workaround code by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/115
- afpcmd: introduce exit command for detaching from volume by @rdmark in https://github.com/Netatalk/afpfs-ng/pull/116
Full Changelog: https://github.com/Netatalk/afpfs-ng/compare/0.9.1…0.9.2
Downloads
- afpfs-ng-0.9.2.tar.xz (0.1 MB)
- afpfs-ng-0.9.2.tar.xz.sha256sum (0.0 MB)
Footnotes
Release published on 2026-01-13
Generated from GitHub Release Notes