TYPO3 Core Development to Change Branch Name

Categories: Development, TYPO3 CMS, Documentation Created by Benni Mack
TYPO3 monorepo branch name changes from master to main.

In recent years, larger Git-based solutions (such as GitHub and GitLab) changed the primary development branch name from master to main. TYPO3 Core Development uses the Git versioning system and its review system, Gerrit. When people create their new repositories on GitHub or GitLab, their default branch is called main, and TYPO3 is now keeping in sync with the common standard.

TYPO3’s main development branch will be renamed on November 29, 2021 on github.com/typo3/typo3  and review.typo3.org. Other related tools and packages have already adapted “main” in the past months, such as TYPO3’s testing framework or the separate icon repository.

Why Change?

For better, more understandable and more welcoming contributions!

TYPO3 values inclusivity and making all contributors feel welcome and comfortable. 

For new developers, it’s easier to understand that our main development branch is called main and not master—the name of which sometimes needed explaining. 

This change is a small but important step that TYPO3 can make to ease friction when contributing, by using a familiar naming convention.

For more reasons about this change, read the related news from GitHub and GitLab:

What Does This Mean For Contributors?

The only change for your existing setup is to push to refs/for/main instead of refs/for/master, and to track the origin’s main branch instead of the master branch.

Adapting your current development repository clone works as follows:

# Make sure that git pull loads from the "main" branch
git branch --set-upstream-to origin/main

# Rename your current "master" branch locally to "main" to match TYPO3's naming scheme
git branch -m master main

For commit messages, all newly merged code will contain the “Releases: main” line instead of the “Releases: master” line. The Core mergers will ensure this before merging any new changes.

What Does This Mean For Extension Authors?

Extension authors using the latest dev-master from Packagist should note that requiring typo3/cms-core:dev-master will no longer work. Instead of requiring the latest development branch, it is recommended you require the version that this branch represents, which currently is ^12.0@dev

Due to branch aliases being set, you’ll always get the current main development branch, no matter how it is named. If this does not cover your intention, you need to require typo3/cms-core:dev-main now.

Need To Know More?

You can chat with the Core Team about this change in the comments section below.

Additional contributors for this article
  • Proofreader : Felicity Brand
  • Content Publisher : Mathias Bolt Lesniak