Sometimes it’s important to know what version of Mac OS X your users are running, especially when making decisions on what versions of OS X to support in future software releases. In the case of Seasonality 2.0, I have decided to take advantage of all the developer changes in Leopard, both to make Seasonality a better application, and to shorten my development time (thus giving me more time to work on additional features).

Previously, I haven’t performed any OS statistics on user data. It would be easy to do, since Seasonality downloads forecast and image data from a web server here at Gaucho Software, but I haven’t written the code required. However, some of these Seasonality data requests are using the typical CFNetwork methods of downloading data, and these connections provide the current CFNetwork version in the HTTP UserAgent, and thus will show up in my web server logs.

The problem is that I have been unable to find any kind mapping between CFNetwork versions and the corresponding version of Mac OS X. I decided to take it upon myself to generate (and hopefully maintain) such a list here. Most of this data is from viewing the Darwin source code on Apple’s web site, but some of these are just from personal observations, and some are educated guesses (marked with a question mark).

HTTP UserAgent Version of Mac OS X
CFNetwork/454.4 Mac OS X 10.6.0
CFNetwork/438.14 Mac OS X 10.5.8
CFNetwork/438.12 Mac OS X 10.5.7
CFNetwork/422.11 Mac OS X 10.5.6
CFNetwork/339.5 Mac OS X 10.5.5
CFNetwork/330.4 Mac OS X 10.5.4
CFNetwork/330 Mac OS X 10.5.3
CFNetwork/221.5 Mac OS X 10.5.2
CFNetwork/221.2 Mac OS X 10.5.2 Developer Seed?
CFNetwork/220 Mac OS X 10.5.1?
CFNetwork/217 Mac OS X 10.5?
CFNetwork/129.22 Mac OS X 10.4.11
CFNetwork/129.20 Mac OS X 10.4.9 – 10.4.10
CFNetwork/129.18 Mac OS X 10.4.8
CFNetwork/129.16 Mac OS X 10.4.7
CFNetwork/129.13 Mac OS X 10.4.6
CFNetwork/129.10 Mac OS X 10.4.4 – 10.4.5 (Intel)
CFNetwork/129.9 Mac OS X 10.4.4 – 10.4.5 (PPC)
CFNetwork/129.5 Mac OS X 10.4.3
CFNetwork/128.2 Mac OS X 10.4.2
CFNetwork/128 Mac OS X 10.4.0 – 10.4.1
CFNetwork/4.0 Mac OS X 10.3 or earlier

Edit: A more modern list of UserAgents can be found here.