-
Notifications
You must be signed in to change notification settings - Fork 100
Roadmap
Daniel Markstedt edited this page May 22, 2026
·
56 revisions
| Feature | Discussion | Release Version |
|---|---|---|
| UAM with strong cryptography | While DHX2 and SRP provide adequate cryptographic protection today, they are rapidly becoming obsolete. This is to propose and design a new secure UAM for AFP. | TBD |
| Future-proof search backend | For the Spotlight-compatible search backend, we currently use GNOME Localsearch+TinySPARQL which is designed for a desktop environment with heavy dependencies not really appropriate for a server application. It also has weak support outside of the Linux ecosystem. | 4.5.0 |
| Support SRP UAM | Apple introduced the SRP (Secure Remote Password) UAM in 2011 with Mac OS X 10.7. We should support this stronger form of user authentication. | 4.5.0 |
| ARC cache | afpd is currently using LRU cache which is stable but conservative; ARC cache has a proven performance boost albeit at a memory cost | 4.5.0 |
| Directory cache optimization | Add probabilistic validation for dramatic I/O reduction | 4.4.0 |
| SQLite CNID backend | The long-time primary CNID backend dbd (Database Daemon) is built on Berkeley DB. The open source version of this database software is long-unmaintained, and the commercial version is long-unsupported. SQLite is a performant and reliable embedded database technology that would offer equal speed and ease of use. | 4.3.0 |
| Future-proof documentation format | Documentation (manual, man pages) were kept in an older deprecated DocBook XSL format, which is rigid and labor intensive to edit. We moved to Markdown (CommonMark) as the source format of our documentation. | 4.2.0 |
| Native metadata storage for macOS hosts | Store resource forks natively in the macOS file system as opposed to using "._" AppleDouble files. | 4.1.0 |
| Integrate the AFP test suite | The AFP test suite has been maintained as a separate project by Netatalk developers since 2002. This is to integrate it with the Netatalk codebase, and get it running in the CI system. | 4.0.2 |
| Future-proof D-Bus backend | We use the dbus-glib library for sending messages from netatalk to D-Bus. This library is long-deprecated, so we moved to GLib GIO. | 4.0.0 |
| Bring back AppleTalk | The AppleTalk transport layer and suite of daemons and tools were removed in 3.0, which caused Netatalk 2.2 to effectively fork off. This is to consolidate Netatalk 3.x and 2.x again. | 4.0.0 |
| Integrate macipgw | The macipgw MacIP gateway daemon depends on Netatalk's libatalk shared library. The project has been long-unmaintained. Bundling with Netatalk makes a lot of sense. | 4.0.0 |
| New cryptographic library for DHCAST128 | OpenSSL 3.x dropped support for 128 modulo size DHCAST keys. We need to find a new library for the DHX UAM (important for pre-OSX clients). | 3.2.0 |
| Move to a modern build system | The Autotools build system is slow, rigid and has proven detrimental to rapid iteration, in particular for trying out new dependent libraries. We have chosen to adopt the Meson build system to address these constraints. | 3.2.0 |
Summary of major features in Netatalk 1990 - 2013
3.1
- Spotlight-compatible indexed search
- MySQL CNID backend
- AFP 3.4 compliance
- Samba interoperability
3.0
- Filesystem Extended Attributes metadata backend
- Unified afp.conf configuration file
- netatalk service controller daemon
- afpstats utility
2.2
- AFP 3.3 compliance
- Filesystem Change Events (FCE) API
- Zeroconf service discovery
2.1
- AFP 3.2 compliance
- IPv6 support
- ad (later: nad) toolsuite
2.0
- Time Machine-compatible backup volumes
- AFP 3.0/3.1 compliance
- dbd CNID backend and controller daemons
- CUPS backend for papd
- AppleDouble v2 metadata support
- UTF-8 filename support
- Large file support
- DHX2 UAM
- Kerberos V UAM
1.6
- Long filename mangling
- CatalogSearch support
- cdb CNID backend as default
1.5
- Printer authentication in papd
- NetBSD host support
1.4b2+asun*
- AFP 2.2 compliance
- TCP/IP (AppleShare IP) transport layer
- Large volume support
- TCP Wrapper support
- PAM authentication backend
- DHX (DHCAST128) UAM
- RandNum UAMs
- Apple II ProDOS support
- Mac OS X host support
1.4
- FreeBSD host support
- Solaris host support
1.3
- Linux host support
- AppleTalk phase 2 support
- ClearTxt UAM
* Adrian Sun's fork of Netatalk which was merged into mainline Netatalk with v1.5
Resources
- Getting Started
- FAQ
- Troubleshooting
- Connect to AFP Server
- Webmin Module
- Benchmarks
- Interoperability with Samba
OS Specific Guides
- Installing Netatalk on Alpine Linux
- Installing Netatalk on Debian Linux
- Installing Netatalk on Fedora Linux
- Installing Netatalk on FreeBSD
- Installing Netatalk on macOS
- Installing Netatalk on NetBSD
- Installing Netatalk on OmniOS
- Installing Netatalk on OpenBSD
- Installing Netatalk on OpenIndiana
- Installing Netatalk on openSUSE
- Installing Netatalk on Raspberry Pi OS
- Installing Netatalk on Solaris
- Installing Netatalk on Ubuntu
Tech Notes
- Capturing AFP network traffic
- Kerberos
- Special Files and Folders
- Spotlight
- MySQL CNID Backend
- Slow AFP read performance
- Limiting Time Machine volumes
- Netatalk and ZFS nbmand property
Retro AFP
Development