Emva konyaka wophuhliso yathatha indawo ukukhululwa komphathi wephakheji I-RPM 4.16.0. Iprojekthi ye-RPM4 iphuhliswa yi-Red Hat kwaye isetyenziselwa ukuhanjiswa okunjalo njenge-RHEL (kubandakanywa iiprojekthi eziphuma kwi-CentOS, i-Scientific Linux, i-AsiaLinux, i-Red Flag Linux, i-Oracle Linux), i-Fedora, i-SUSE, i-openSUSE, i-ALT Linux, i-OpenMandriva, i-Mageia, i-PCLinuxOS, Tizen nabanye abaninzi. Iqela lophuhliso elizimeleyo ngaphambili iphuhlisiwe iprojekthi RPM5, который непосредственно не связан с RPM4 и в настоящее время заброшен (не обновлялся с 2010 года). Код проекта isasazwa ngu ilayisenisi phantsi kwe-GPLv2 kunye ne-LGPLv2.
Реализован новый бэкенд для хранения БД в СУБД SQLite. Данный бэкенд будет использован в Fedora Linux 33 вместо бэкенда на основе BerkeleyDB.
Реализован новый экспериментальный бэкенд для хранения БД в BDB (Oracle Berkeley DB), работающий в режиме только для чтения. Реализация написана с нуля и не использует код прошлого бэкенда BerkeleyDB, который объявлен устаревшим, но по прежнему включается по умолчанию.
Удалён экспериментальный бэкенд БД на базе LMDB.
Объявлен стабильным бэкенд БД на базе хранилища NDB.
В макросы и выражения «%if» добавлена поддержка тенарного оператора (%{expr:1==0?»yes»:»no»}) и предложена встроенная возможность сравнения версий (‘%[v»3:1.2-1″ > v»2.0″]’).
Реализована поддержка классификации файлов на основе MIME-типов их содержимого.
Предложена новая версия API парсинга и сравнения для языков C и Python.
Обеспечено распараллеливание выполнения brp-strip и компонентов тестового набора. Проведена оптимизация распараллеливания процесса генерации пакетов.
В утилиту rpmdb yongezwe опция «—salvagedb» для восстановления повреждённой БД (работает только с бэкендом NDB).
Добавлены новые макросы %arm32, %arm64 и %riscv для определения архитектуры. Также добавлен встроенный макрос %{macrobody:…} для получения содержимого макросов.
В выражениях запрещено использования не обособленных кавычками слов, т.е. вместо ‘a == b’ теперь нужно писать ‘»a» == «b»‘.
В парсере выражений реализован синтаксис «%[…]» для выполнения выражения с раскрытием макросов (от «%{expr:…}» отличается тем, что макросы выполняются первыми).
В выражениях добавлена поддержка короткого раскрытия логических и тенарных операторов («%[0 && 1 / 0]» рассматривается как 0, а не приводит к ошибке из-за попытки деления на ноль).
Добавлена поддержка применения логического оператора NOT в произвольных контекстах (!»%?foo»).
Поведение операторов «||» и «&&» приведено в соответствие с Perl/Python/Ruby, т.е. вместо возврата булевого значения теперь выдаёт последнее вычисленное значение (например, «%[2 || 3]» вернёт 2).
Добавлена возможность верификации альтернативных форматов цифровых подписей и хэшей.
Добавлена поддержка мета-зависимостей (Requires(meta): somepkg), не влияющих на порядок установки и удаления.
В rpmsign добавлена опция «—rpmv3» для принудительного использования цифровых подписей в формате RPM3.
Добавлена установочная опция «—excludeartifacts» для пропуска установки документации, примеров файлов конфигурации и прочих сопутствующих данных.
Объявлена устаревшей поддержка RPMv3 и криптобэкенды beecrypt и NSS.