You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
(196) |
Apr
(142) |
May
(143) |
Jun
(86) |
Jul
(177) |
Aug
(232) |
Sep
(196) |
Oct
(221) |
Nov
(211) |
Dec
(139) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(135) |
Feb
(124) |
Mar
(114) |
Apr
(127) |
May
(173) |
Jun
(184) |
Jul
(70) |
Aug
(140) |
Sep
(188) |
Oct
(146) |
Nov
(127) |
Dec
(178) |
| 2004 |
Jan
(83) |
Feb
(167) |
Mar
(172) |
Apr
(260) |
May
(210) |
Jun
(156) |
Jul
(64) |
Aug
(65) |
Sep
(116) |
Oct
(177) |
Nov
(156) |
Dec
(88) |
| 2005 |
Jan
(130) |
Feb
(82) |
Mar
(47) |
Apr
(51) |
May
(99) |
Jun
(80) |
Jul
(59) |
Aug
(57) |
Sep
(86) |
Oct
(40) |
Nov
(24) |
Dec
(14) |
| 2006 |
Jan
(52) |
Feb
(30) |
Mar
(32) |
Apr
(74) |
May
(35) |
Jun
(55) |
Jul
(79) |
Aug
(35) |
Sep
(32) |
Oct
(18) |
Nov
(27) |
Dec
(30) |
| 2007 |
Jan
(17) |
Feb
(33) |
Mar
(36) |
Apr
(46) |
May
(6) |
Jun
(15) |
Jul
(16) |
Aug
(10) |
Sep
(22) |
Oct
(21) |
Nov
(43) |
Dec
(25) |
| 2008 |
Jan
(9) |
Feb
(16) |
Mar
(32) |
Apr
(2) |
May
(3) |
Jun
(27) |
Jul
(23) |
Aug
(19) |
Sep
(5) |
Oct
(18) |
Nov
(15) |
Dec
(8) |
| 2009 |
Jan
(14) |
Feb
(14) |
Mar
(36) |
Apr
(4) |
May
(23) |
Jun
(5) |
Jul
(7) |
Aug
(44) |
Sep
(50) |
Oct
(16) |
Nov
(20) |
Dec
(67) |
| 2010 |
Jan
(10) |
Feb
(10) |
Mar
(30) |
Apr
(49) |
May
(104) |
Jun
(74) |
Jul
(32) |
Aug
(12) |
Sep
(16) |
Oct
(41) |
Nov
(26) |
Dec
(61) |
| 2011 |
Jan
(65) |
Feb
(16) |
Mar
(48) |
Apr
(22) |
May
(39) |
Jun
(15) |
Jul
(102) |
Aug
(43) |
Sep
(70) |
Oct
(87) |
Nov
(47) |
Dec
(25) |
| 2012 |
Jan
(39) |
Feb
(41) |
Mar
(53) |
Apr
(30) |
May
(22) |
Jun
(37) |
Jul
(42) |
Aug
(62) |
Sep
(26) |
Oct
(56) |
Nov
(33) |
Dec
(40) |
| 2013 |
Jan
(40) |
Feb
(40) |
Mar
(47) |
Apr
(77) |
May
(70) |
Jun
(50) |
Jul
(22) |
Aug
(22) |
Sep
(19) |
Oct
(24) |
Nov
(46) |
Dec
(27) |
| 2014 |
Jan
(10) |
Feb
(46) |
Mar
(36) |
Apr
(14) |
May
(27) |
Jun
(67) |
Jul
(59) |
Aug
(85) |
Sep
(13) |
Oct
(50) |
Nov
(9) |
Dec
(8) |
| 2015 |
Jan
(22) |
Feb
(20) |
Mar
(15) |
Apr
(3) |
May
(1) |
Jun
(17) |
Jul
(21) |
Aug
(1) |
Sep
(4) |
Oct
(13) |
Nov
(22) |
Dec
(25) |
| 2016 |
Jan
(18) |
Feb
(24) |
Mar
(16) |
Apr
(11) |
May
(21) |
Jun
(8) |
Jul
(12) |
Aug
(7) |
Sep
(36) |
Oct
(14) |
Nov
(20) |
Dec
(8) |
| 2017 |
Jan
(27) |
Feb
(14) |
Mar
(12) |
Apr
(3) |
May
(3) |
Jun
(13) |
Jul
(6) |
Aug
(1) |
Sep
(1) |
Oct
(25) |
Nov
|
Dec
(18) |
| 2018 |
Jan
(7) |
Feb
(9) |
Mar
(11) |
Apr
(11) |
May
|
Jun
|
Jul
(10) |
Aug
(2) |
Sep
(4) |
Oct
|
Nov
|
Dec
(1) |
| 2019 |
Jan
(2) |
Feb
(11) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
| 2020 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
(11) |
Jun
(2) |
Jul
(2) |
Aug
(5) |
Sep
(2) |
Oct
(1) |
Nov
|
Dec
|
| 2021 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(4) |
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2022 |
Jan
(1) |
Feb
|
Mar
(1) |
Apr
(3) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
| 2023 |
Jan
|
Feb
(2) |
Mar
(3) |
Apr
(32) |
May
(7) |
Jun
|
Jul
(2) |
Aug
(3) |
Sep
(11) |
Oct
(12) |
Nov
(10) |
Dec
(5) |
| 2024 |
Jan
(2) |
Feb
(6) |
Mar
(2) |
Apr
(5) |
May
(1) |
Jun
(8) |
Jul
(4) |
Aug
(3) |
Sep
(6) |
Oct
(2) |
Nov
(13) |
Dec
(1) |
| 2025 |
Jan
(14) |
Feb
(4) |
Mar
(7) |
Apr
(12) |
May
(7) |
Jun
(1) |
Jul
(1) |
Aug
(2) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
| 2026 |
Jan
(2) |
Feb
(1) |
Mar
|
Apr
(2) |
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Daniel M. <da...@mi...> - 2026-05-30 14:32:24
|
# Netatalk 4.5.0 is available!
The Netatalk team is proud to announce the first stable version in the
**Netatalk 4.5** release series – one of the most feature-packed
releases in the history of this project!
This release focuses on three large areas: making Finder search usable
out of the box, rebuilding the AFP directory cache for much larger and
faster workloads, and tightening security across authentication,
filesystem handling, parsers, and build defaults. It also brings a new
SRP authentication UAM, a pluggable Spotlight backend architecture, a
modernized afpstats interface, and many portability improvements for
Unix-like platforms.
All users of previous Netatalk versions are encouraged to upgrade to 4.5.0.
## Highlights
- Spotlight-compatible Finder search now works by default. Netatalk
enables `spotlight` and `search db` by default, uses the lightweight
`cnid` backend by default, and can also build `localsearch` and
experimental `xapian` backends.
- Directory caching has been substantially rebuilt. The cache now
supports ARC eviction, up to 1 million entries, enumerate caching,
AppleDouble metadata caching, inter-process cache hints, background
maintenance, and optional resource fork caching.
- Security hardening lands throughout the tree. This includes fixes for
multiple CVEs, stricter bounds checks in AFP/DSI/CNID/Spotlight paths,
constant-time Randnum comparisons, safer privilege transitions, strict
symlink validation, and safer defaults for legacy authentication.
- SRP authentication is now available as `uams_srp.so`. `afppasswd` now
manages SRP verifiers by default while retaining explicit legacy Randnum
mode with `-r`.
- Classic Mac OS support continues to improve with virtual root `Icon\r`
synthesis which enables color icons over AFP.
- Build and portability work adds libev support as an alternative to
libevent2, new Meson feature switches, mandatory dconf handling for
LocalSearch indexing, improved NetBSD/OpenBSD support, and a simpler
Unix socket based afpstats implementation.
## Spotlight and Search
Netatalk 4.5.0 introduces a pluggable Spotlight search architecture. The
AFP Spotlight RPC layer is shared, while each volume can choose a
backend through `spotlight backend`.
The default backend is now `cnid`. It uses Netatalk's CNID database for
fast filename-oriented Finder search, with no external indexing service
beyond the normal CNID backend and the Spotlight parser dependencies.
This makes Finder search useful on typical file servers without
requiring LocalSearch/Tracker.
The `localsearch` backend remains available for richer metadata and
content search. It now uses dconf keyfiles for indexer configuration;
dconf is a mandatory dependency for this backend, and the LocalSearch
indexer is started only when a volume is configured to use it.
The new `xapian` backend is experimental. It maintains a
Netatalk-managed per-volume Xapian index for filename, plain-text
content, and MIME type search. It is useful for testing and feedback,
but is not recommended for production deployments yet.
Spotlight query behavior has also been improved. CNID, SQLite, and MySQL
backed searches can return up to 10000 results per query, or as many as
fit within a 10-second wall-clock budget. Wildcard queries, timestamps,
additional attributes, and macOS Tahoe search paths in nested arrays are
handled more robustly. Finder Spotlight filename queries shorter than 3
characters are ignored by the Spotlight backend.
## Directory Cache
The directory cache is now a multi-layer cache for directory entries,
file metadata, AppleDouble metadata, and optionally resource fork data.
The goal is to reduce filesystem I/O during directory enumeration and
metadata-heavy AFP workloads, especially on shares with many small files.
The new `dircache mode = arc` option enables an Adaptive Replacement
Cache that learns from both recent and frequent access patterns. ARC is
more memory hungry than the default LRU mode, but it is better at
resisting sequential scans and backup jobs that would otherwise flush
useful cache entries.
Netatalk also gained enumerate caching, AppleDouble support in cache,
inter-process cache synchronization between afpd children, a tier-2
resource fork cache, and an idle worker for background cache
maintenance. Cache entries are still updated for AFP operations, while
`dircache validation freq` lets administrators tune how aggressively
Netatalk validates cached entries against changes made outside AFP.
## Security and Compatibility
This release includes fixes and hardening for authentication, Unicode
and charset handling, LDAP filter construction, VFS metadata parsing,
DSI session handling, Spotlight unmarshalling, CatSearch request
parsing, CNID database operations, and papd print job handling.
Notable security-facing changes include:
- `DHCAST128`/`uams_dhx.so` is no longer part of the default `uam list`.
Administrators who still need it for old Classic Mac OS clients must opt in.
- The insecure `admin auth user` option has been removed.
- Randnum UAM comparisons now use constant-time secret comparison
helpers, key material is cleared more deliberately, and Randnum password
updates require a valid companion `afppasswd.key` file.
- `convert appledouble` is now `no` by default to avoid paying the
migration cost on every filesystem access. Enable it only for on-the-fly
migration from AppleDouble v2 metadata to filesystem extended attributes.
- Symlink creation and following are stricter. Absolute targets, `..`
components, paths escaping the volume root, and cross-device targets are
rejected.
- Nested AFP volume paths are rejected to avoid CNID corruption scenarios.
- Server quantum parsing is stricter, and several wire-format parsers
now reject truncated or oversized inputs earlier.
The libatalk ABI changed in this release. `cnid_find()` gained a `bool
*more_available` out-parameter and now requires a 400-byte minimum
result buffer. The libatalk soversion is bumped to v20, so out-of-tree
consumers must be rebuilt against the 4.5 headers. The internal
`server_child_t` ABI also changed because the afpstats handler now runs
in the parent's main event loop.
## Authentication
Netatalk now includes an SRP ("Secure Remote Password") UAM as
`uams_srp.so`. SRP uses separate salts and verifiers rather than system
passwords, and provides strong password authentication without sending
the password over the network.
`afppasswd` now operates in SRP mode by default and writes the SRP
verifier file `afppasswd.srp`, or the path set with `srp passwd file`.
To manage legacy Randnum credentials, pass `afppasswd -r`. In Randnum
mode, `afppasswd -r -c` creates or validates the required companion key
file.
Randnum and Two-Way Randnum remain available for very old AFP clients,
but are discouraged. They require the legacy `passwd file` and companion
key file, and authentication fails until both are present and valid.
## CNID and Volume Management
The new global `cnid scheme` setting lets administrators define the
default CNID backend once in `[Global]`, while still allowing per-volume
overrides. The `sqlite` backend continues to mature, MySQL CNID handling
has improved charset and TCP behavior, and both MySQL and SQLite now
support `cnid dev = no`.
Volumes can now set a stable UUID explicitly with `volume uuid`. This is
useful when running `afpd` without permission to write the shared state
directory, or when administrators need a fixed volume identity across
deployments.
The obsolete `last` CNID backend has been removed.
## Admin Tools
`afpstats` has been rewritten to use a Unix domain socket instead of
D-Bus. This removes the GLib/D-Bus dependency for statistics collection
and makes the tool simpler to use in minimal server environments.
Runtime statistics are enabled with `afpstats = yes`; access can be
delegated with `afpstats group`, and `afpstats -s` can query a
non-default socket path. Sessions connected over both TCP/IP and
AppleTalk are now reported.
The historical `macusers` script has been removed. Use `afpstats` instead.
The `nad` utility gained `mkdir` and `rmdir`, a `-F` option for reading
a custom `afp.conf`, safer and cleaner `ls` output, support for `ls -a`,
and improved behavior for operations crossing AFP volume boundaries.
`dbd` gained `-i` to invalidate AppleDouble CNID hints.
## CVEs
A list of CVEs fixed in this release.
CVE-2026-7835, CVE-2026-7836, CVE-2026-7837, CVE-2026-44053
CVE-2026-44056, CVE-2026-44058, CVE-2026-44059, CVE-2026-44061
CVE-2026-44063, CVE-2026-44065, CVE-2026-44067, CVE-2026-44069
CVE-2026-44070, CVE-2026-44071, CVE-2026-44072, CVE-2026-44073
CVE-2026-44074, CVE-2026-44075, CVE-2026-49387, CVE-2026-49388
CVE-2026-49389, CVE-2026-49390
## See More
More details and download links at https://netatalk.io/4.5/ReleaseNotes4.5.0
|
|
From: Daniel M. <da...@mi...> - 2026-05-13 22:44:13
|
The Netatalk team is proud to announce the latest version in the Netatalk 4.4 release series. In addition to the following security fixes, this release contains a handful of UAM and container hardening improvements. CVE-2026-44047, CVE-2026-44048, CVE-2026-44049, CVE-2026-44050, CVE-2026-44051, CVE-2026-44052, CVE-2026-44054, CVE-2026-44055, CVE-2026-44057, CVE-2026-44060, CVE-2026-44062, CVE-2026-44064, CVE-2026-44066, CVE-2026-44068, CVE-2026-44076, CVE-2026-45354, CVE-2026-45355, CVE-2026-45356, CVE-2026-45698, CVE-2026-45699 All users of previous Netatalk versions are encouraged to upgrade to 4.4.3. Release notes: https://netatalk.io/4.4/ReleaseNotes4.4.3 Security advisories: https://netatalk.io/security |
|
From: Daniel M. <da...@mi...> - 2026-04-17 20:11:51
|
The Netatalk team is proud to announce the latest version in the **Netatalk 4.4** release series. This fixes a build breakage on certain 32 bit systems that was introduced between v4.3 and v4.4, plus a range of stability and reliability fixes to afpd and the SQLite CNID backend. All users of previous Netatalk versions are encouraged to upgrade to 4.4.2. Find the release notes and tarballs at https://netatalk.io/4.4/ReleaseNotes4.4.2 |
|
From: Daniel M. <da...@mi...> - 2026-04-03 18:19:26
|
The Netatalk development team is proud to announce a beta release of Netatalk 4.5.0. 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. Early adopters are encouraged to test the new beta release and report any issues to the Netatalk development team. https://netatalk.io/4.5/ReleaseNotes4.5.0beta |
|
From: Daniel M. <da...@mi...> - 2026-02-23 17:11:40
|
To the netatalk community: Do you use the macusers script shipped with the netatalk suite on a regular basis? I want to understand your use cases and what would hold you back from using apfstats instead. To reduce the maintenance overhead and “clutter” of the netatalk suite, I am proposing that macusers should be removed in the next major release version. See this issue ticket for the full discussion. https://github.com/Netatalk/netatalk/issues/2675 I’m also copy pasting my pros and cons blurb from the ticket here for posterity: The arguments for discarding is: - *afpstats* performs the same function but more accurately and with more details - what *macusers* does is running `ps` and filtering the hits on *afpd* processes, which means it isn't necessarily an accurate representation of active users, since there may be zombie processes, idling connections etc. - *macusers* has proven to be inconsistent over the years, contains cross-platform complexity for handling usernames of various formats and lengths for instance Argument for keeping: - it can be a handy shorthand for `ps aux |grep afpd` on platforms that don't support D-Bus Daniel |
|
From: Daniel M. <da...@mi...> - 2026-01-21 21:31:11
|
Netatalk 4.4.1 is available! The Netatalk team is proud to announce the latest version in the Netatalk 4.4 release series. This release contains primarily a range of bugfixes and reliability improvements for the SQLite CNID backend. Also of note is that as of this version, we bundle the subprojects (currently: bstring) in the release tarball. This is handy when building from tarball in an environment without internet access. All users of previous Netatalk versions are encouraged to upgrade to 4.4.1. Find the release notes at: https://netatalk.io/4.4/ReleaseNotes4.4.1 |
|
From: Daniel M. <da...@mi...> - 2026-01-04 20:58:12
|
The Netatalk team is proud to announce the first version in the Netatalk 4.4 release series. https://netatalk.io/4.4/ReleaseNotes4.4.0 In this release, we introduce sophisticated directory cache optimization which drastically reduces file system I/O by properly using the pre-existing caching architecture. The default behavior is largely unchanged. Newly introduced afp.conf options: dircache validation freq dircache metadata window dircache metadata threshold dircache files In addition, a bug with the dircachesize option parsing has been fixed where if you used the maximum setting of 65536 it was ignored and used the default fallback. See the Configuration chapter in the Netatalk manual for a thorough explanation of the directory cache logic and configuration options. Early adopters are encouraged to try out this new version. We are looking forward to hearing your feedback! Other Notable Changes The sqlite CNID backend is no longer flagged as experimental. We now ship support for SQLite in the production container for netatalk. However, the dbd backend (Berkeley DB) is still the default and recommended for most deployments. A sample SELinux policy for netatalk can be found under distrib/selinux. Please note that it is meant as starting point and may need adjustments for production use. The tool formerly known as ad is now called nad and has been thoroughly improved. All subcommands should work properly cross-platform now for safe file operations on AFP shared volumes on the local host. Both mysql and sqlite CNID backends now support cnid_find() which is used primarily by nad find. We generate developer documentation with Doxygen now, while code documentation comments got a major overhaul. The meson build system will look for Doxygen, and if found will generate and install html documentation. The -Dwith-manual-install-dir meson option has been removed, and -Dwith-docs-install-dir introduced in its stead. The new option applies to all types of documentation, including the new developer documentation. Dockerfiles have been moved from the repository root to distrib/docker. |
|
From: Daniel M. <da...@mi...> - 2025-09-07 20:57:09
|
Bugfix release netatalk 4.3.2 is now available! Find the release notes and tarballs at: https://netatalk.io/4.3/ReleaseNotes4.3.2 Notably, it contains a fix for a breakage bug that prevented authentication with PAM when credential management is centralized, e.g. Active Directory. This was a breakage that was introduced in netatalk 4.2.0 but noticed only recently and reported as Debian bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1111652 Big thanks to Stefan van Lieshout for reporting the bug and Hector Rulot for analysis and testing! Also, special thanks to Eric Knibbe and Blake Garner for filing PRs with fixes to the Meson build system in this release! On behalf of the netatalk dev team, Daniel |
|
From: Daniel M. <da...@mi...> - 2025-08-29 21:48:54
|
Stable bugfix version 4.3.1 of netatalk is now available! Find the release notes and tarballs at: https://netatalk.io/4.3/ReleaseNotes4.3.1 Starting with this release, we are signing the main release tarball with GPG. The public key is published on two open keystores presently, keys.openpgp.org and keys.mailvelope.com, associated with the email address <dis...@ne...> Please see this page for the public key signature and detailed instructions: https://netatalk.io/download Regarding version 4.3.1, a few notable changes are: * Minor breaking change in afp_lantest: the caching tests are now run with the -K option rather than -C * The output from "afpd -V" has been refactored, which may have an impact if you parse this output for any purpose, such as capability checks * The "nbp.1" man page has been split into "nbplkup.1" and "nbprgstr.1" man pages * Markdown and yaml source files are now also automatically beautified by the codefmt.sh script We are looking forward to your bug reports and feedback! On behalf of the netatalk dev team, Daniel |
|
From: Daniel M. <da...@mi...> - 2025-08-05 19:30:25
|
Netatalk 4.3.0, the first version in this new release series, is now available. You can find release notes and tarballs here: https://netatalk.io/4.3/ReleaseNotes4.3.0 https://github.com/Netatalk/netatalk/releases/tag/netatalk-4-3-0 For you who build or package netatalk, there are two major changes in 4.3.0 worth calling out here. First, we now bundle a brand new sqlite CNID backend, which depends on the sqlite3 library. This backend is currently flagged as experimental, and not meant for production environments. We would love to get users using this backend in the wild and report back any issues. At the same time, there is a small risk of data loss because the backend hasn't been tested at scale yet. Second, the previously vendored bstring library has been removed, and a dependency of a shared bstring library introduced. When building from source, the meson build system will look for the library and then fall back to building it as a subproject. Packagers should consider packaging it separately, if not already available as a package on their platforms. There are many more new features and bugfixes in this release version, so please check out the release notes and changelog! We are looking forward to getting your feedback. Daniel |
|
From: Andres V. <te...@sm...> - 2025-07-17 15:30:14
|
Updates on this... 1. Recent, newer versions of netatalk: only a couple of bad CNID after a reboot instead of tens of thousands. 2. Scanning with dbd was >5x faster, even though the file system cache was cold. On 5/17/25 6:44 PM, Andres Valloud wrote: > FWIW --- running > > #> dbd -tF /path/to/apf.conf /mount/where/this/occurs > > tends to solve the misbehavior. > > If Netatalk is serving files from Linux, running the above after the > server reboots reports loads of files with bad CNIDs almost every time. > > On 5/16/25 6:24 AM, Michael Grundmann wrote: >> Hi, >> >> i can't see some Error-Messages, but on all servers installed >> netatalk, we have random files, which you can't delete. >> Finder delete - sometime later they are "on" again. >> >> The question is only - does you all have that, too? >> >> > > > > _______________________________________________ > Netatalk-admins mailing list > Net...@li... > https://lists.sourceforge.net/lists/listinfo/netatalk-admins |
|
From: Daniel M. <da...@mi...> - 2025-06-29 14:39:26
|
Major netatalk news: we now support SQLite as the CNID database backend for the AFP file server, in the main development branch.
Why is this big news you ask? Thank you for the great question! For the last two decades (since at least v1.5 in 2002) netatalk has been using Berkeley DB as the backend for managing CNID records. BDB is a great database, but it has been slowly dying ever since Oracle acquired it in 2006. In recent years, it's started getting flagged as obsolete by several OS distributions (Alpine, Debian etc.) so we have a semi-urgent need to find an alternative.
Enter SQLite: A popular, actively developed, and super fast embedded database engine! Just like DBD, it stores it database in a simple file on the file system, no need to juggle a stand-alone database instance with authentication, networking and so on.
Now I'm looking for beta testing volunteers to get some data from the field. If you have an existing netatalk 4.x deployment, this is how you convert your volumes to the new backend:
### Step 1 - Back up your data
I'm not kidding. You need to take a full copy of both the shared volume dir, as well as the CNID database dir for your volume. The conversion process is destructive and may lead to data loss.
### Step 2 - Build and install netatalk with SQLite support
For this you need sqlite3 library and development headers. See the build.yml file for examples of packages to install.
Once you have the required packages on your system, the Meson build system will detect and build the sqlite CNID backend by default.
### Step 3 - Configure netatalk to use the SQLite backend
In the relevant volume sections in your afp.conf, put this option:
`cnid scheme = sqlite`
### Step 4 - Convert from an earlier CNID scheme
When using the SQLite backend with an existing volume, you need to rebuild the CNID database in the new scheme.
After updating afp.conf, start the netatalk daemon, but DON'T try to connect to the shared volume yet.
First you need to run this command with root privileges:
`dbd -f /path/to/shared/volume`
Inspect the output from the dbd tool and make sure there aren't any errors. If you see an error, please report a bug with the netatalk project, attach the log, SQLite database dump, and as much details about your volume as possible!
### Step 5 - Connect to the AFP server
Now you should be able to connect to and use the converted volume as usual!
### What to look out for
- That actual, long-lived organic volumes can be converted.
- Concurrency. Can multiple users connect and do intensive file operations concurrently (in particular write operations)
- Cross-platform. I've actively tested on Debian, Fedora, and macOS.
I'm looking forward to your bug reports. :)
### Troubleshooting
If you want thorough debug logs for the CNID library, this is a good log level setting:
`log level = default:info cnid:maxdebug`
To dump a SQLite database to stdout, you can do something like:
`sqlite3 /var/netatalk/CNID/myvolume/myvolume.sqlite .dump`
Sample output:
PRAGMA foreign_keys=OFF; BEGIN TRANSACTION; CREATE TABLE volumes (VolUUID CHAR(32) PRIMARY KEY, VolPath TEXT(4096), Stamp BINARY(8), Depleted INT); INSERT INTO volumes VALUES('C5DC147DD05B3440BE95D4E6A3397768','/opt/afplite','?ah',0); CREATE TABLE IF NOT EXISTS "C5DC147DD05B3440BE95D4E6A3397768" (Id INTEGER PRIMARY KEY AUTOINCREMENT,Name VARCHAR(255) NOT NULL,Did INTEGER NOT NULL,DevNo INTEGER NOT NULL,InodeNo INTEGER NOT NULL,UNIQUE (Did, Name),UNIQUE (DevNo, InodeNo)); INSERT INTO C5DC147DD05B3440BE95D4E6A3397768 VALUES(17,'Navigator for Pucko',2,16777239,74852120); INSERT INTO C5DC147DD05B3440BE95D4E6A3397768 VALUES(18,'TheVolumeSettingsFolder',2,16777239,74848959); INSERT INTO C5DC147DD05B3440BE95D4E6A3397768 VALUES(19,'Web Pages',2,16777239,74863775); INSERT INTO C5DC147DD05B3440BE95D4E6A3397768 VALUES(20,'default.html',19,16777239,74863778); DELETE FROM sqlite_sequence; INSERT INTO sqlite_sequence VALUES('C5DC147DD05B3440BE95D4E6A3397768',100); CREATE INDEX idx_volpath ON volumes(VolPath); COMMIT; |
|
From: Daniel M. <da...@mi...> - 2025-05-31 16:24:18
|
Netatalk bugfix release v4.2.4 is available. Find the release notes and tarballs at: https://netatalk.io/4.2/ReleaseNotes4.2.4 The changes in this release concern primarily Solaris and macOS users. Solaris 11.4.81 CBE, released earlier this May, introduced major version bumps of all compilers and FLOSS packages. This led to a gcc compiler error when building netatalk with PAM which is addressed in this release. On macOS, if you build against libraries installed with Homebrew, you now have to use the newly introduced -Dwith-homebrew=true flag in meson. This change was made in order to avoid side effects when building netatalk on macOS or Linux when Homebrew was installed, notably when packaging a netatalk MacPorts port. Finally, a handful of man pages got improved verbiage and syntax, to appease the Debian lintian grammar checker. As always, thank you to the community for all your feedback! Sincerely, Daniel |
|
From: Andres V. <te...@sm...> - 2025-05-18 02:00:22
|
FWIW --- running #> dbd -tF /path/to/apf.conf /mount/where/this/occurs tends to solve the misbehavior. If Netatalk is serving files from Linux, running the above after the server reboots reports loads of files with bad CNIDs almost every time. On 5/16/25 6:24 AM, Michael Grundmann wrote: > Hi, > > i can't see some Error-Messages, but on all servers installed netatalk, > we have random files, which you can't delete. > Finder delete - sometime later they are "on" again. > > The question is only - does you all have that, too? > > |
|
From: Andy L. <and...@gm...> - 2025-05-18 01:00:53
|
Hi Michael, Yes, and the Netatalk version too :) Do the random files start with “._” or are there random folders named .AppleDouble? You may also see __MACOSX. If yes, these are Apple resource fork files which are created automatically by Apple clients. Apple Resource Forks are stored by Netatalk as Extended Attributes, which are written to disk using System Attributes (on filesystems with system attribute support), or written to disk using secondary files (files prefixed with “._”) if the file system does not support extended attributes or system attributes. The Netatalk afp.conf configuration file needs to have the correct settings to match your filesystem and its capabilities, to ensure resource forks are written and read in an optimal way. These ._ files and .AppleDouble, can be inspected using the ‘ad’ tool (https://www.mankier.com/1/ad). See also https://en.m.wikipedia.org/wiki/AppleSingle_and_AppleDouble_formats What filesystem are you using? ZFS, EXT3/4, XFS, BTRFS etc? What Operating System/Distro are you using? What version of Netatalk are you using? Andy. > On 17 May 2025, at 17:56, Daniel Markstedt <da...@mi...> wrote: > Hi Michael, > > In addition to all of Andy's suggestions, can you please also let us know what Netatalk version you are running? > > Thank you! > > Daniel > > > > > On Friday, May 16th, 2025 at 3:42 PM, Michael Grundmann <mi...@li...> wrote: > > > >> Hi, > >> i can't see some Error-Messages, but on all servers installed netatalk, >> we have random files, which you can't delete. >> Finder delete - sometime later they are "on" again. > >> The question is only - does you all have that, too? > > >> -- >> Gruß Michael > >> Wenn du verstehst, was du tust, wirst du nichts lernen > > > >> _______________________________________________ >> Netatalk-admins mailing list >> Net...@li... >> https://lists.sourceforge.net/lists/listinfo/netatalk-admins > _______________________________________________ > Netatalk-admins mailing list > Net...@li... > https://lists.sourceforge.net/lists/listinfo/netatalk-admins |
|
From: Daniel M. <da...@mi...> - 2025-05-17 07:56:42
|
Hi Michael, In addition to all of Andy's suggestions, can you please also let us know what Netatalk version you are running? Thank you! Daniel On Friday, May 16th, 2025 at 3:42 PM, Michael Grundmann <mi...@li...> wrote: > > > Hi, > > i can't see some Error-Messages, but on all servers installed netatalk, > we have random files, which you can't delete. > Finder delete - sometime later they are "on" again. > > The question is only - does you all have that, too? > > > -- > Gruß Michael > > Wenn du verstehst, was du tust, wirst du nichts lernen > > > > _______________________________________________ > Netatalk-admins mailing list > Net...@li... > https://lists.sourceforge.net/lists/listinfo/netatalk-admins |
|
From: Andy L. <and...@gm...> - 2025-05-17 02:58:02
|
Hi Michael, This is a known issue which is difficult to reproduce and diagnose. Hi Daniel, this is the same issue I reported which I believe started back sometime around 3.x. Michael, if you restart Netatalk you will be able to delete those files again. But the issue will reoccur after a while. The issue is triggered by viewing/reading certain files (appears to be random, I’m sure there is some commonality I have not figured out yet), which I think corrupts a file descriptor or leaks a lock on the Netatalk side. This happens regardless of `afp read locks = no` or `ignored attributes = all` in afp.conf. It also does not seem to matter what software or scripts read the files. Michael, What filesystem and OS are you using on the Netatalk server? I’m using OpenZFS with FreeBSD. What MacOS client version(s) are you using when this happens? Do you use resource forks? (Finder creates resource forks automatically, but are you also setting custom forks?) The next steps when the issue occurs; - edit the afp.conf file, increase the logging level to “maxdebug”. - empty the Netatalk log file - send SIGHUP to Netatalk (usually ‘kill -HUP <Netatalk Process ID>’) - try and delete the file which cannot be deleted - copy the Netatalk log to a different filename. The idea is for the log file to contain nothing else but the maxdebug logs for the delete file operation. SIGHUP will make Netatalk reload afp.conf without restarting (as restarting temporarily fixes the issue). Please open a bug ticket on GitHub attaching the maxdebug log. Good luck and thanks for reporting. PS; I’m just another community user, not a developer. I’ve been waiting for this issue to reoccur so I can do the same above.. Andy > On 16 May 2025, at 23:42, Michael Grundmann <mi...@li...> wrote: > Hi, > > i can't see some Error-Messages, but on all servers installed netatalk, we have random files, which you can't delete. > Finder delete - sometime later they are "on" again. > > The question is only - does you all have that, too? > > > -- > Gruß Michael > > Wenn du verstehst, was du tust, wirst du nichts lernen > > > > _______________________________________________ > Netatalk-admins mailing list > Net...@li... > https://lists.sourceforge.net/lists/listinfo/netatalk-admins |
|
From: Michael G. <mi...@li...> - 2025-05-16 13:41:56
|
Hi, i can't see some Error-Messages, but on all servers installed netatalk, we have random files, which you can't delete. Finder delete - sometime later they are "on" again. The question is only - does you all have that, too? -- Gruß Michael Wenn du verstehst, was du tust, wirst du nichts lernen |
|
From: Daniel M. <da...@mi...> - 2025-05-08 05:36:44
|
Bugfix release 4.2.3 is available. As usual, the release notes are here. https://github.com/Netatalk/netatalk/releases/tag/netatalk-4-2-3 This time, we have fixed a handful of issues that affected OpenWrt (thanks Antonio P!) Notably, a long-standing bug where the config file passed to netatalk with the -F parameter wasn't properly interpreted. We have also adopted a few improvements that benefit Alpine Linux in particular, in preparation of updating the downstream packaging. Notably, an OpenRC init script with better dependencies and support for the reload command. As always, a big thanks to everyone who have contributed patches, bug reports and feedback! Daniel |
|
From: Daniel M. <da...@mi...> - 2025-04-28 06:00:11
|
Bugfix release Netatalk 4.2.2 is available. Find release notes and tarballs below. https://github.com/Netatalk/netatalk/releases/tag/netatalk-4-2-2 This release contains overhauled documentation, improvements to the netatalk webmin module, and significant new containerization capabilities. Notable for downstream packagers is that pandoc is now an option for generating the documentation from markdown sources. When the build system finds pandoc, is will choose the converter app in this order: pandoc > cmark-gfm > cmark Please report any bugs or feedback! Sincerely, Daniel |
|
From: Daniel M. <da...@mi...> - 2025-04-17 04:43:32
|
A new bugfix release, Netatalk 4.2.1, is available. It fixes a handful of bugs both new and old. Notably, in 4.2.0 we changed EA fallback to AD, which had unintended side effects. Therefore the EA fallback is now "none" again, which is what it's been since 3.0. Find the release notes and tarballs below. https://github.com/Netatalk/netatalk/releases/tag/netatalk-4-2-1 We introduced a few new build system options for downstream packaging convenience. Check out the release notes for details. A minor breaking change is that the former Compile chapter in the html manual has now been transitioned to a COMPILATION.md readme. So you will see one less html manual page, and one more readme when building the documentation. A big thanks to the community for using Netatalk and reporting bugs! Daniel |
|
From: Bradley C. <the...@gm...> - 2025-04-06 21:35:00
|
Hi Daniel et al, I have no personal impediments to upgrading Netatalk. I'm already running 4.1.2 and am perfectly happy with using the latest version going forward. My concern was mainly about preserving the archived data. I enthusiastically installed version 4.1.2 *because* of the project's decision to restore support for AppleTalk. And the timing couldn't have been better. This decision enabled a number of people to participate in #Marchintosh and #Globaltalk in fun and unexpected ways through printing. Two people worked together to write a Python script that would scrape the above hashtags from Mastodon and Bluesky and dump the posts into an Aldus Pagemaker document. This became the "#Marcintosh Newsletter" and the results were sent to everyone's printers every night for most of the month. Another fun use of printers was the Scavenger Hunt run by "@kalleboo" . It started as a set of 6 cryptic logic puzzles that were randomly sent to peoples' printers. With over 40 printers online, many people received the same puzzle (this was done intentionally for redundancy in case of printing errors, operator inattention, or failure to share on social media). Those puzzles required coördination on Mastodon + Bluesky to solve. Some of the puzzle clues were cleverly hidden in shared folders across the #Globaltalk. Additionally, @kalleboo made extensive use of Hypercard for this game. One puzzle only revealed the key word after typing a secret phrase. The game concluded with a Hypercard app that was disguised as a blank icon in a Finder folder, with a single word as its label. The final puzzle would only unlock when you entered the entire phrase (gleaned from solving the rest of the puzzles). The solution was checked server-side, so nobody could cheat by inspecting the Hypercard file. Everyone who solved it received a "high resolution trophy" as a printout. The complexity of the game and the cleverness of these puzzles quickly drew favorable comparisons to the game "The Fool's Errand" by puzzle genius Cliff Johnson. Karl Baron wrote a post-mortem about the game here: https://globaltalk.network/index.php?page=The%20GlobalTalk%20Scavenger%20Hunt%202025 On Sun, Apr 6, 2025 at 1:59 PM Daniel Markstedt <da...@mi...> wrote: > Hi Brad, > > It sounds like you were able to make good use of the PAP print server! > > Are you asking about supported Netatalk versions for a specific reason? > > I obviously would prefer if everyone used the very latest version of the > software. > But I'm curious to hear if there are any impediments to upgrading. > > With regards to old manual backups: All data is effectively backed up in > the git history of the netatalk.io source code repository. > > For ease of finding it later, I created a branch now on the commit before > I removed the old manuals: > > https://github.com/Netatalk/netatalk.io/tree/old-manuals/public > > Cheers! > > Daniel > > On Sunday, April 6th, 2025 at 9:58 PM, The Iron Giant < > the...@gm...> wrote: > > > > > > > > > Hello, > > > > > I'm new to the Netatalk list and a new user of the project itself. After > struggling to get "papd" working on a Raspberry Pi 4B—it was getting stuck > on an unseen space character on an empty line—I submitted the FR to > recommend a change to config parsing. > > > > > After catching this issue, I was able to set up papd and participate in > #Marchintosh. Lots of people sent print jobs to my modern Brother laser > printer from their vintage Macs over #GlobalTalk. Thank you for considering > that FR and working to include it on a future release for ease of use. > > > > > I had a couple of quick questions about the archival of the old manuals: > > > > > 1. Is 4.2.0 now the only supported version, and all others below this > have been deprecated? > > > > > 2. Are the deprecated manuals backed up somewhere else other than > Sourceforge? > > > > > Thanks, > > Brad > > > > > —Sent from my iPhone > > > > > > On Apr 6, 2025, at 10:47 AM, Daniel Markstedt da...@mi... > wrote: > > > > > > > Thanks for the suggestion. I did this now. > > > > > > > The tarball on SourceForge has been cleaned up! > > > > > > > > On Sunday, April 6th, 2025 at 7:18 PM, Andres Valloud > te...@sm... wrote: > > > > > > > > Here's a suggestion. In here, > > > > > > > > https://netatalk.io/documentation > > > > > > > > under Supplemental Documentation, a link that says something like > > > > "archived manuals for previous versions". > > > > > > > > Also FYI the tarball has empty directories for 1.5 and 1.6 (other > than > > > > .gitignore files). > > > > > > > > On 4/6/25 1:36 AM, Daniel Markstedt wrote: > > > > > > > > > Do you have a suggestion a good place to host this tarball, so > that it can be discovered by anyone who needs it? > > > > > > > > > If it's a question of retention, we will always have the git > history of the Netatalk/netatalk.io repo. > > > > > You can go back to earlier commits and get any manual that you > need. > > > > > > > > > https://github.com/Netatalk/netatalk.io/tree/main/public > > > > > > > > > On Saturday, April 5th, 2025 at 11:47 PM, Andres Valloud > te...@sm... wrote: > > > > > > > > > > > > Did you consider a section of old docs tarballed in their > current state? > > > > > > On 4/5/25 2:11 PM, Daniel Markstedt wrote: > > > > > > > > > > > > > > The Netatalk website has been distributing every manual > revision since > > > > > > > 2.0.2 in 2005. > > > > > > > 20 years later, this has now grown to a massive sprawl of html > pages, > > > > > > > since we're keeping copies of every minor feature release. > > > > > > > Apart from the massive sprawl, search engines tend to favor > the oldest > > > > > > > versions of these manual pages. > > > > > > > You consistently get hits on decade-old docs when googling for > specific > > > > > > > netatalk options and components. > > > > > > > Therefore, I plan to start replacing very old docs with > redirects to the > > > > > > > latest docs. > > > > > > > Old docs can still be recovered in git revision history, or > regenerated > > > > > > > from docbook sources if needed. > > > > > > > In phase one, I plan to remove docs for release versions that > are > > > > > > > already EOL: 2.0, 2.1, 2.2, 2.3, 3.0 and 4.0. > > > > > > > I'm open to suggestions about the ideal end state. > > > > > > > My preference would be to host a single version of the manual > for the > > > > > > > latest stable version. > > > > > > > But if people find older manuals useful then we can debate it. > > > > > > > > > > > Cheers, > > > > > > > Daniel > > > > > > > _______________________________________________ > > > > > > > Netatalk-admins mailing list > > > > > > > Net...@li... > > > > > > > https://lists.sourceforge.net/lists/listinfo/netatalk-admins > > > > > > > _______________________________________________ > > > > > > > Netatalk-admins mailing list > > > > > > > Net...@li... > > > > > > > https://lists.sourceforge.net/lists/listinfo/netatalk-admins > > > > > > > <signature.asc> |
|
From: Daniel M. <da...@mi...> - 2025-04-06 20:59:58
|
Hi Brad, It sounds like you were able to make good use of the PAP print server! Are you asking about supported Netatalk versions for a specific reason? I obviously would prefer if everyone used the very latest version of the software. But I'm curious to hear if there are any impediments to upgrading. With regards to old manual backups: All data is effectively backed up in the git history of the netatalk.io source code repository. For ease of finding it later, I created a branch now on the commit before I removed the old manuals: https://github.com/Netatalk/netatalk.io/tree/old-manuals/public Cheers! Daniel On Sunday, April 6th, 2025 at 9:58 PM, The Iron Giant <the...@gm...> wrote: > > > Hello, > > I'm new to the Netatalk list and a new user of the project itself. After struggling to get "papd" working on a Raspberry Pi 4B—it was getting stuck on an unseen space character on an empty line—I submitted the FR to recommend a change to config parsing. > > After catching this issue, I was able to set up papd and participate in #Marchintosh. Lots of people sent print jobs to my modern Brother laser printer from their vintage Macs over #GlobalTalk. Thank you for considering that FR and working to include it on a future release for ease of use. > > I had a couple of quick questions about the archival of the old manuals: > > 1. Is 4.2.0 now the only supported version, and all others below this have been deprecated? > > 2. Are the deprecated manuals backed up somewhere else other than Sourceforge? > > Thanks, > Brad > > —Sent from my iPhone > > > On Apr 6, 2025, at 10:47 AM, Daniel Markstedt da...@mi... wrote: > > > > Thanks for the suggestion. I did this now. > > > > The tarball on SourceForge has been cleaned up! > > > > > On Sunday, April 6th, 2025 at 7:18 PM, Andres Valloud te...@sm... wrote: > > > > > Here's a suggestion. In here, > > > > > https://netatalk.io/documentation > > > > > under Supplemental Documentation, a link that says something like > > > "archived manuals for previous versions". > > > > > Also FYI the tarball has empty directories for 1.5 and 1.6 (other than > > > .gitignore files). > > > > > On 4/6/25 1:36 AM, Daniel Markstedt wrote: > > > > > > Do you have a suggestion a good place to host this tarball, so that it can be discovered by anyone who needs it? > > > > > > If it's a question of retention, we will always have the git history of the Netatalk/netatalk.io repo. > > > > You can go back to earlier commits and get any manual that you need. > > > > > > https://github.com/Netatalk/netatalk.io/tree/main/public > > > > > > On Saturday, April 5th, 2025 at 11:47 PM, Andres Valloud te...@sm... wrote: > > > > > > > > > Did you consider a section of old docs tarballed in their current state? > > > > > On 4/5/25 2:11 PM, Daniel Markstedt wrote: > > > > > > > > > > > The Netatalk website has been distributing every manual revision since > > > > > > 2.0.2 in 2005. > > > > > > 20 years later, this has now grown to a massive sprawl of html pages, > > > > > > since we're keeping copies of every minor feature release. > > > > > > Apart from the massive sprawl, search engines tend to favor the oldest > > > > > > versions of these manual pages. > > > > > > You consistently get hits on decade-old docs when googling for specific > > > > > > netatalk options and components. > > > > > > Therefore, I plan to start replacing very old docs with redirects to the > > > > > > latest docs. > > > > > > Old docs can still be recovered in git revision history, or regenerated > > > > > > from docbook sources if needed. > > > > > > In phase one, I plan to remove docs for release versions that are > > > > > > already EOL: 2.0, 2.1, 2.2, 2.3, 3.0 and 4.0. > > > > > > I'm open to suggestions about the ideal end state. > > > > > > My preference would be to host a single version of the manual for the > > > > > > latest stable version. > > > > > > But if people find older manuals useful then we can debate it. > > > > > > > > Cheers, > > > > > > Daniel > > > > > > _______________________________________________ > > > > > > Netatalk-admins mailing list > > > > > > Net...@li... > > > > > > https://lists.sourceforge.net/lists/listinfo/netatalk-admins > > > > > > _______________________________________________ > > > > > > Netatalk-admins mailing list > > > > > > Net...@li... > > > > > > https://lists.sourceforge.net/lists/listinfo/netatalk-admins > > > > > > <signature.asc> |
|
From: Daniel M. <da...@mi...> - 2025-04-06 17:47:21
|
Thanks for the suggestion. I did this now. The tarball on SourceForge has been cleaned up! On Sunday, April 6th, 2025 at 7:18 PM, Andres Valloud <te...@sm...> wrote: > > > Here's a suggestion. In here, > > https://netatalk.io/documentation > > under Supplemental Documentation, a link that says something like > "archived manuals for previous versions". > > Also FYI the tarball has empty directories for 1.5 and 1.6 (other than > .gitignore files). > > On 4/6/25 1:36 AM, Daniel Markstedt wrote: > > > Do you have a suggestion a good place to host this tarball, so that it can be discovered by anyone who needs it? > > > > If it's a question of retention, we will always have the git history of the Netatalk/netatalk.io repo. > > You can go back to earlier commits and get any manual that you need. > > > > https://github.com/Netatalk/netatalk.io/tree/main/public > > > > On Saturday, April 5th, 2025 at 11:47 PM, Andres Valloud te...@sm... wrote: > > > Did you consider a section of old docs tarballed in their current state? > > > On 4/5/25 2:11 PM, Daniel Markstedt wrote: > > > > The Netatalk website has been distributing every manual revision since > > > > 2.0.2 in 2005. > > > > 20 years later, this has now grown to a massive sprawl of html pages, > > > > since we're keeping copies of every minor feature release. > > > > Apart from the massive sprawl, search engines tend to favor the oldest > > > > versions of these manual pages. > > > > You consistently get hits on decade-old docs when googling for specific > > > > netatalk options and components. > > > > Therefore, I plan to start replacing very old docs with redirects to the > > > > latest docs. > > > > Old docs can still be recovered in git revision history, or regenerated > > > > from docbook sources if needed. > > > > In phase one, I plan to remove docs for release versions that are > > > > already EOL: 2.0, 2.1, 2.2, 2.3, 3.0 and 4.0. > > > > I'm open to suggestions about the ideal end state. > > > > My preference would be to host a single version of the manual for the > > > > latest stable version. > > > > But if people find older manuals useful then we can debate it. > > > > > > Cheers, > > > > Daniel > > > > _______________________________________________ > > > > Netatalk-admins mailing list > > > > Net...@li... > > > > https://lists.sourceforge.net/lists/listinfo/netatalk-admins |
|
From: Andres V. <te...@sm...> - 2025-04-06 17:18:48
|
Here's a suggestion. In here, https://netatalk.io/documentation under Supplemental Documentation, a link that says something like "archived manuals for previous versions". Also FYI the tarball has empty directories for 1.5 and 1.6 (other than .gitignore files). On 4/6/25 1:36 AM, Daniel Markstedt wrote: > Do you have a suggestion a good place to host this tarball, so that it can be discovered by anyone who needs it? > > If it's a question of retention, we will always have the git history of the Netatalk/netatalk.io repo. > You can go back to earlier commits and get any manual that you need. > > https://github.com/Netatalk/netatalk.io/tree/main/public > > On Saturday, April 5th, 2025 at 11:47 PM, Andres Valloud <te...@sm...> wrote: > >> > >> > >> Did you consider a section of old docs tarballed in their current state? >> > >> On 4/5/25 2:11 PM, Daniel Markstedt wrote: >> > >>> The Netatalk website has been distributing every manual revision since >>> 2.0.2 in 2005. >>> 20 years later, this has now grown to a massive sprawl of html pages, >>> since we're keeping copies of every minor feature release. >>> > >>> Apart from the massive sprawl, search engines tend to favor the oldest >>> versions of these manual pages. >>> You consistently get hits on decade-old docs when googling for specific >>> netatalk options and components. >>> > >>> Therefore, I plan to start replacing very old docs with redirects to the >>> latest docs. >>> Old docs can still be recovered in git revision history, or regenerated >>> from docbook sources if needed. >>> > >>> In phase one, I plan to remove docs for release versions that are >>> already EOL: 2.0, 2.1, 2.2, 2.3, 3.0 and 4.0. >>> > >>> I'm open to suggestions about the ideal end state. >>> My preference would be to host a single version of the manual for the >>> latest stable version. >>> But if people find older manuals useful then we can debate it. >>> > >>> Cheers, >>> > >>> Daniel >>> > >>> _______________________________________________ >>> Netatalk-admins mailing list >>> Net...@li... >>> https://lists.sourceforge.net/lists/listinfo/netatalk-admins |