The thing with Debian stable is that it is stable. But you don’t get the newest software which is sometimes required. Of course there are backports repositories but after a new Debian stable release may not include the required version. On the other hand adding sid repositories could mess up your system after an apt update. The solution for this is apt-pinning.

You can add testing and unstable repositories to your sources list and choose only the newest packages that you need.

For this update your sources list in /etc/apt/sources.list to this:

# Unstable
deb https://deb.debian.org/debian unstable main contrib non-free
deb-src https://deb.debian.org/debian unstable main contrib non-free

# Testing
deb https://deb.debian.org/debian testing main contrib non-free
deb-src https://deb.debian.org/debian testing main contrib non-free 

# Testing security updates
deb http://security.debian.org/ testing-security main contrib non-free
deb-src http://security.debian.org/ testing-security main contrib non-free

# Stable
deb https://deb.debian.org/debian stable main contrib non-free non-free-firmware
deb-src https://deb.debian.org/debian stable main contrib non-free non-free-firmware

# Stable security updates
deb http://security.debian.org/ stable-security main contrib non-free non-free-firmware
deb-src http://security.debian.org/ stable-security main contrib non-free non-free-firmware

And the most important part, tell apt in what packages are you interested and when. We’ll use wildcards to tell apt that we want only packages from the stable repository and other versions only when we tell him to install them. You can read more on this topic in the 6.2.5. Managing Package Priorities section of the debian-handbook. For this edit ‘/etc/apt/preferences’ to this:

Package: *
Pin: release a=stable
Pin-Priority: 999

Package: *
Pin: release a=testing
Pin-Priority: -1

Package: *
Pin: release a=unstable
Pin-Priority: -2

Now run sudo apt update and apt list --upgradable. You should not see any /testing or /unstable flags on any of the proposed (if any) upgrades. If that is the case you can now install packages from the testing or unstable repositories by adding the proper repository name after / for example:

sudo apt install kicad/testing kicad-demos/testing kicad-doc-pl/testing kicad-footprints/testing kicad-libraries/testing kicad-packages3d/testing kicad-symbols/testing kicad-templates/testing