По една година развој се одржа ослободување на менаџерот на пакети RPM 4.16.0. Проектот RPM4 е развиен од Red Hat и се користи во такви дистрибуции како што се RHEL (вклучувајќи деривативни проекти CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Тизен и многу други. Претходно независен тим за развој развиена Проектот RPM 5, кој не е директно поврзан со RPM4 и моментално е напуштен (не е ажуриран од 2010 година). Код на проектот дистрибуирани од лиценцирани според GPLv2 и LGPLv2.
Најзабележителни подобрувања во вртежи во минута 4.16:
Имплементиран е нов бекенд за складирање на бази на податоци во SQLite DBMS. Овој бекенд ќе се користи во Fedora Linux 33 наместо заднина базирана на BerkeleyDB.
Имплементиран е нов експериментален заден дел за складирање на бази на податоци во BDB (Oracle Berkeley DB), кој работи во режим само за читање. Имплементацијата е напишана од нула и не користи код од наследниот заден дел на BerkeleyDB, кој е застарен, но сè уште е вклучен стандардно.
Експерименталната база на податоци заснована на LMDB е отстранета.
Позадинската база на податоци базирана на складиштето NDB е прогласена за стабилна.
Додадена е поддршка за макроа и изрази „%if“. тенар оператор (%{expr:1==0?"yes":"не"}) и нуди вградена функција за споредба на верзии ('%[v"3:1.2-1" > v"2.0"]').
Имплементирана е поддршка за класификација на датотеки врз основа на типовите MIME на нивната содржина.
Додадена е способност за генерирање на зависности користејќи параметарски макроа.
Предложена е нова верзија на API за парсирање и споредба за C и Python.
Обезбедена е паралелизација на извршувањето на компонентите на brp-лента и тест пакетот. Извршена е оптимизација на паралелизација на процесот на генерирање пакети.
До алатката rpmdb додадена опција „—salvagedb“ за враќање на оштетената база на податоци (работи само со NDB заднината).
Додадени се нови макроа %arm32, %arm64 и %riscv за откривање архитектура. Додадено е и вградено макро %{macrobody:...} за да се добие содржината на макроата.
Забрането е во изразите да се користат зборови кои не се одделени со наводници, т.е. наместо 'a == b' сега треба да напишете '"a" == "b"'.
Парсерот на изразите ја имплементира синтаксата „%[...]“ за извршување на израз со макро проширување (се разликува од „%{expr:...}“ по тоа што макроата се извршуваат прво).
Додадена е поддршка за кратко проширување на логички и тенарни оператори во изразите („%[0 && 1 / 0]“ се третира како 0 наместо да предизвикува грешка поради обид за делење со нула).
Додадена е поддршка за користење на NOT логичкиот оператор во произволни контексти (!"%?foo").
Однесување на операторите „||“. и „&&“ е усогласена со Perl/Python/Ruby, т.е. Наместо да врати булова вредност, сега ја враќа последната пресметана вредност (на пример, „%[2 || 3]“ ќе врати 2).
Додадена е можност за проверка на алтернативни формати на дигитални потписи и хашови.
Додадена е поддршка за мета-зависности (Бара(мета): somepkg), кои не влијаат на редоследот на инсталација и отстранување.
Додадена е опција „--rpmv3“ на rpmsign за да се присили употребата на дигитални потписи во RPM3 формат.
Додадена е опцијата за инсталација „--excludeartifacts“ за да се прескокне инсталацијата на документација, примери за конфигурациски датотеки и други поврзани податоци.
Застарена поддршка за RPMv3 и крипто-позадините на beecrypt и NSS.