PiHole versions

What are the various versions of PiHole? I see references to main, master, dev, core, web, beta, FTLDNS, etc.

How do you move from one to the other?

Thanks in advance.

Here is how you go to FTLDNS

echo "FTLDNS" | sudo tee /etc/pihole/ftlbranch
pihole checkout core FTLDNS
pihole checkout web FTLDNS
If you want to go back to the master branch at any time, the reversal process is fairly trivial:

To Revert to master:

sudo rm /etc/pihole/ftlbranch
pihole checkout master

To Revert to development:

sudo rm /etc/pihole/ftlbranch
pihole checkout dev


"main" and "master" are just the stable, released version ("master" is the name of the branch in the GitHub repo which has the released code).

"core" is the core component of Pi-hole, including scripts such as the pihole command and all of its sub-commands (such as gravity, pihole -g).

"web" is the web interface of Pi-hole.

"beta" and "FTLDNS" reference the beta version that you can try, which features FTLDNS, which is FTL with dnsmasq embedded into it.

"dev" references the dev branch of all of the components, which is the branch that all code is merged into. Eventually a release branch is branched off of the dev branch and merges into master, creating a new stable version.