Migrating to Fastly's universal device detection library
In October of 2024, Fastly began making phased updates to its device detection library. Those updates continued regularly through January of 2025, after which the existing library was no longer supported.
As part of the migration process, some VCL variables were deprecated and other VCL variables began to return slightly different and often more accurate information.
This guide lists the changed variables and their example outputs, as well as the deprecated variables.
Example values for updated VCL variables
The following is a non-exhaustive list of example values for each VCL variable that was updated. Changes to some of the values may be subtle and not immediately apparent (e.g., spelling, capitalization, or word spacing may be the only thing that changed).
client.bot.name
GooglebotYahoo! Cache SystemBingBotFacebook External HitCloudflare Traffic Manager
client.browser.name
SafariMobile SafariChrome MobileChrome Mobile iOSChrome WebviewHeadless ChromeFirefoxFirefox MobileFirefox Mobile iOSMicrosoft EdgeOpera TouchOpera GXRedditInstagram AppGoogle Search AppOkHttpGoogle HTTP Java Client
client.os.name
AndroidFire OSAndroid TVWindowsMacGNU/LinuxUbuntuDebianFedora
client.os.version
10X.Y.Z
client.platform.hwtype
smart phonedesktoptvtabletconsolesmart watchmedia player
Deprecated VCL variables
These variables will no longer return data, resulting in empty values if they are accessed. Consider removing these variables entirely or using Client Hints HTTP headers to fetch that information instead:
client.class.checkerclient.class.filterclient.class.masqueradingclient.class.spamclient.platform.manufacturerclient.display.heightclient.display.widthclient.display.ppiclient.class.downloaderclient.class.feedreaderclient.platform.ereaderclient.platform.tvplayer