# The reftable backend: What it is, where it's headed, and why should you care?

With release 2.45, Git has gained support for the "reftable" backend to read and write
references in a Git repository. While this was a significant milestone for Git, it wasn't the
end of GitLab's journey to improve scalability in repositories with many references.
In this talk you will learn what the reftable backend is, what work we did to improve it
even further and why you should care.


*[Patrick Steinhardt, GitLab](../speakers.md#psteinhardt)*