| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| netatalk-4.5.0beta.tar.xz.asc | 2026-04-03 | 833 Bytes | |
| netatalk-4.5.0beta.tar.xz | 2026-04-03 | 1.2 MB | |
| netatalk-4.5.0beta.tar.xz.sha256sum | 2026-04-03 | 92 Bytes | |
| netatalk-4.5.0beta.tar.xz.sha512sum | 2026-04-03 | 156 Bytes | |
| netatalk-4.5.0beta.wbm.gz | 2026-04-03 | 59.2 kB | |
| Netatalk 4.5.0 beta source code.tar.gz | 2026-04-03 | 1.7 MB | |
| Netatalk 4.5.0 beta source code.zip | 2026-04-03 | 2.2 MB | |
| Netatalk 4.5.0beta source code.tar.gz | 2026-04-03 | 1.7 MB | |
| Netatalk 4.5.0beta source code.zip | 2026-04-03 | 2.2 MB | |
| README.md | 2026-04-03 | 12.4 kB | |
| Totals: 10 Items | 9.0 MB | 0 | |
Netatalk 4.5.0 beta is available!
The Netatalk team is proud to announce a pre-release version in the Netatalk 4.5 release series.
This release is meant to give the community an opportunity to try out major new features and provide feedback to the development team. It is not recommended for production use.
This release introduces an ARC (Adaptive Replacement Cache) for the directory cache, along with enumerate caching, AppleDouble support in cache, inter-process cache sync, and a Resource Fork caching framework. Together with other optimizations, this results in a significant reduction of file system I/O and improved performance on workloads with many small files, which speeds up both file operations and directory listings.
A new feature synthesizes a virtual Icon\r file in the volume root, enabling Classic Mac OS clients to display custom color volume icons over the wire with the legacy icon setting.
Other highlights include a default global 'cnid scheme' option, static volume UUID configuration, mkdir and rmdir commands in the nad utility, and important improvements to the SQLite CNID backend.
This is a source-only release. To build:
:::shell
# Extract the source
tar -xf netatalk-4.5.0beta.tar.xz
cd netatalk-4.5.0beta
# Configure and build
meson setup build
meson compile -C build
# Install
sudo meson install -C build
What's Changed
- docs: revise CNID configuration details in afp.conf man page by @rdmark in https://github.com/Netatalk/netatalk/pull/2608
- docs: overhaul the documentation for the 'search db' option by @rdmark in https://github.com/Netatalk/netatalk/pull/2620
- cnid: safe memory management in sqlite backend and utility function by @rdmark in https://github.com/Netatalk/netatalk/pull/2617
- cnid: don't treat SQLITE_DONE as an error in cnid_sqlite_get() by @rdmark in https://github.com/Netatalk/netatalk/pull/2616
- cnid: store sqlite database files in path defined in vol dbpath by @rdmark in https://github.com/Netatalk/netatalk/pull/2615
- docs: revamp AFP Signature/UUID conf man pages by @rdmark in https://github.com/Netatalk/netatalk/pull/2623
- docs: integrate developer man page contents into Doxygen docs by @rdmark in https://github.com/Netatalk/netatalk/pull/2624
- libatalk: add volume option 'volume uuid' to define static UUID by @rdmark in https://github.com/Netatalk/netatalk/pull/2619
- contrib: addump technical references moved to netatalk.io by @rdmark in https://github.com/Netatalk/netatalk/pull/2633
- docs: use standard English automatically instead of automagically by @rdmark in https://github.com/Netatalk/netatalk/pull/2635
- initscripts: netatalk systemd depends on network-online.target by @rdmark in https://github.com/Netatalk/netatalk/pull/2639
- cnid: disallow looking up did<2 in sqlite backend by @rdmark in https://github.com/Netatalk/netatalk/pull/2632
- rephrase descriptions of the netatalk suite to emphasize cross-platform by @rdmark in https://github.com/Netatalk/netatalk/pull/2644
- [4.4] cnid: return CNID_INVALID when attempting to look up did<2 by @rdmark in https://github.com/Netatalk/netatalk/pull/2641
- touch up Japanese localization for 4.4.1 by @rdmark in https://github.com/Netatalk/netatalk/pull/2656
- meson: introduce option to force the building of subprojects by @rdmark in https://github.com/Netatalk/netatalk/pull/2652
- meson: package release tarball with subprojects by @rdmark in https://github.com/Netatalk/netatalk/pull/2658
- Fix implicit declaration of function AfpErr2name by @rdmark in https://github.com/Netatalk/netatalk/pull/2664
- refactor: convert adf_lock macros to functions by @andylemin in https://github.com/Netatalk/netatalk/pull/2645
- MySQL CNID Backend: improve charset performance, TCP performance, and test container config by @andylemin in https://github.com/Netatalk/netatalk/pull/2649
- docs: escape explicit double dashes in markdown sources by @rdmark in https://github.com/Netatalk/netatalk/pull/2674
- cnid: fix sqlite backend bugs, add post init validation and logging by @rdmark in https://github.com/Netatalk/netatalk/pull/2672
- tests: refactor the afpd tests to use the sqlite CNID backend by @rdmark in https://github.com/Netatalk/netatalk/pull/2610
- cnid: remove the obsolete 'last' CNID backend by @rdmark in https://github.com/Netatalk/netatalk/pull/2634
- Add ARC (Adaptive Replacement Cache) option for directory cache by @andylemin in https://github.com/Netatalk/netatalk/pull/2668
- nad: use scandir to sort files and dirs to list with ls by @rdmark in https://github.com/Netatalk/netatalk/pull/2684
- remove redundant project version setting for SonarQube Cloud by @rdmark in https://github.com/Netatalk/netatalk/pull/2676
- Remove superseded dircache metadata window/threshold parameters by @andylemin in https://github.com/Netatalk/netatalk/pull/2683
- decouple the dbd binary from cnid_dbd and make it better by @rdmark in https://github.com/Netatalk/netatalk/pull/2685
- testsuite: Enhance afp_speedtest with throughput statistics, TCP statistics, CSV export, and fix Local mode - baseline performance optimisations by @andylemin in https://github.com/Netatalk/netatalk/pull/2687
- introduce a default global 'cnid scheme' afp.conf option by @rdmark in https://github.com/Netatalk/netatalk/pull/2689
- update dircache docs to align with recent changes by @rdmark in https://github.com/Netatalk/netatalk/pull/2692
- afpd dircache: fix realloc leak, validate ghosts, improve error logging by @andylemin in https://github.com/Netatalk/netatalk/pull/2693
- testsuite: initialize filedir params to avoid garbage data in the bitmap by @rdmark in https://github.com/Netatalk/netatalk/pull/2688
- uams: fix password corruption when changing password in Cleartxt PAM UAM by @rdmark in https://github.com/Netatalk/netatalk/pull/2699
- nad: more sophisticated check for the MAXPHYS macro by @rdmark in https://github.com/Netatalk/netatalk/pull/2717
- backwards compatibility with iniparser v3 by @rdmark in https://github.com/Netatalk/netatalk/pull/2715
- testsuite: support OpenBSD reserved fields in speedtest by @rdmark in https://github.com/Netatalk/netatalk/pull/2714
- touch up the byte order macros and remove i386 optimization by @rdmark in https://github.com/Netatalk/netatalk/pull/2712
- papd: harden config parsing with graceful error recovery by @rdmark in https://github.com/Netatalk/netatalk/pull/2696
- afpstats: expose hostname for each afpd child process by @rdmark in https://github.com/Netatalk/netatalk/pull/2720
- consistently use the Zeroconf term by @rdmark in https://github.com/Netatalk/netatalk/pull/2724
- docs: improve descriptions of CNID backends, set/save password options by @rdmark in https://github.com/Netatalk/netatalk/pull/2690
- detect big-endian architecture correctly, remove testsuite workaround by @rdmark in https://github.com/Netatalk/netatalk/pull/2694
- docs: revise legal notices in Legal.md by @rdmark in https://github.com/Netatalk/netatalk/pull/2735
- libatalk: regenerate utf16 case lookup tables with Unicode v17.0.0 by @rdmark in https://github.com/Netatalk/netatalk/pull/2594
- meson: don't pass header files as sources to the compiler by @rdmark in https://github.com/Netatalk/netatalk/pull/2730
- nad: add an -F option for reading a custom afp.conf file by @rdmark in https://github.com/Netatalk/netatalk/pull/2722
- remove errant comma on security policy page by @rdmark in https://github.com/Netatalk/netatalk/pull/2742
- Enumerate uses cache, AD support in cache and inter-process cache sync by @andylemin in https://github.com/Netatalk/netatalk/pull/2733
- contrib: remove obsolete macusers script by @rdmark in https://github.com/Netatalk/netatalk/pull/2723
- testsuite: dynamically skip extension mapping tests when not configured by @rdmark in https://github.com/Netatalk/netatalk/pull/2748
- libatalk: log a warning when deprecated apf.conf option is being used by @rdmark in https://github.com/Netatalk/netatalk/pull/2746
- turn 'convert appledouble' option off by default by @rdmark in https://github.com/Netatalk/netatalk/pull/2734
- create fuzz testing framework with libfuzzer and ClusterFuzzLite by @rdmark in https://github.com/Netatalk/netatalk/pull/2750
- meson: consistently define install target tags by @rdmark in https://github.com/Netatalk/netatalk/pull/2751
- afpd: enhance LRU promote, fix moveandrename stale paths, fix 'mac charset' option, improve fork logging by @andylemin in https://github.com/Netatalk/netatalk/pull/2754
- afpd: validate CNID from get_id() before calling dircache_add() by @rdmark in https://github.com/Netatalk/netatalk/pull/2697
- afpd: use C11 atomic operations in dircache, conditional check for libatomic by @rdmark in https://github.com/Netatalk/netatalk/pull/2756
- rephrase container documentation to emphasize runtime agnostic operation by @rdmark in https://github.com/Netatalk/netatalk/pull/2769
- afpd: update Doxygen code comments in dircache by @rdmark in https://github.com/Netatalk/netatalk/pull/2778
- afpd: synthesize virtual Icon\r file in volume root by @rdmark in https://github.com/Netatalk/netatalk/pull/2775
- introduce signal handlers and refactor away unreachable code by @rdmark in https://github.com/Netatalk/netatalk/pull/2796
- papd: clean up dead and unreachable code by @rdmark in https://github.com/Netatalk/netatalk/pull/2797
- debug: Added flamegraph profiling container and tooling by @andylemin in https://github.com/Netatalk/netatalk/pull/2784
- nad: organize ls output into columns and sanitize filenames by @rdmark in https://github.com/Netatalk/netatalk/pull/2804
- nad: centralize volume validation and fix inconsistent error handling by @rdmark in https://github.com/Netatalk/netatalk/pull/2803
- Add support for "cnid dev = no" to MySQL and SQLite backends. by @NJRoadfan in https://github.com/Netatalk/netatalk/pull/2806
- dircache: add idle worker thread for background cache maintenance by @andylemin in https://github.com/Netatalk/netatalk/pull/2808
- docs: more helpful description of the 'cnid dev' option by @rdmark in https://github.com/Netatalk/netatalk/pull/2810
- fix UUID instability for dynamic volumes with non-AFP clients by @rdmark in https://github.com/Netatalk/netatalk/pull/2809
- cnid: fix permissions for multi-user access to SQLite db files by @rdmark in https://github.com/Netatalk/netatalk/pull/2805
- remove dead code in the VFS module and test code by @rdmark in https://github.com/Netatalk/netatalk/pull/2817
- dircache: Added Tier-2 ResourceFork caching framework with expanded rfork spectests, and removed obsoleted 'dircache files' by @andylemin in https://github.com/Netatalk/netatalk/pull/2783
- nad: implement ls -a flag with . and .. entries by @rdmark in https://github.com/Netatalk/netatalk/pull/2821
- afpd: log when the root directory is name locked or rename fails by @rdmark in https://github.com/Netatalk/netatalk/pull/2822
- afpd: fix virtual icon materialization and cleanup for Mac OS 9 by @rdmark in https://github.com/Netatalk/netatalk/pull/2820
- docs, fixes: update profiling, compilation, manpage, meson options, dircache max size and other minor issues by @andylemin in https://github.com/Netatalk/netatalk/pull/2826
- nad: create mkdir and rmdir commands by @rdmark in https://github.com/Netatalk/netatalk/pull/2823
- dircache optimisation: replace strncmp with blength pre-check + memcmp in child scan by @andylemin in https://github.com/Netatalk/netatalk/pull/2827
- nad: overhaul file operations that cross AFP volume boundary by @rdmark in https://github.com/Netatalk/netatalk/pull/2828
- docs: split up Configuration into multiple manual chapters by @rdmark in https://github.com/Netatalk/netatalk/pull/2825
- afpd: fix virtual icon regressions breaking macOS logins by @rdmark in https://github.com/Netatalk/netatalk/pull/2833
- idle_worker: replace condvar signal with timedwait self-wake by @andylemin in https://github.com/Netatalk/netatalk/pull/2830
- meson: fix bugs that prevent you from disabling dev docs by @rdmark in https://github.com/Netatalk/netatalk/pull/2840
- bump to bstring subproject v1.1.0 by @rdmark in https://github.com/Netatalk/netatalk/pull/2829
Full Changelog: https://github.com/Netatalk/netatalk/compare/netatalk-4-4-0...netatalk-4-5-0beta