Às deidh bliadhna de leasachadh thachair sgaoileadh manaidsear pacaid RPM airson 4.16.0. Tha am pròiseact RPM4 air a leasachadh le Red Hat agus air a chleachdadh ann an sgaoilidhean leithid RHEL (a’ toirt a-steach pròiseactan derivative CentOS, Scientific Linux, AsiaLinux, Red Flag Linux, Oracle Linux), Fedora, SUSE, openSUSE, ALT Linux, OpenMandriva, Mageia, PCLinuxOS, Tizen agus mòran eile. Sgioba leasachaidh neo-eisimeileach roimhe seo leasaichte dreachd RPM 5, nach eil ceangailte gu dìreach ri RPM4 agus a tha an-dràsta air a thrèigsinn (gun ùrachadh bho 2010). Còd a ' phròiseact air a sgaoileadh le le cead fo GPLv2 agus LGPLv2.
Chaidh backend ùr a chuir an gnìomh airson stòran-dàta a stòradh anns an SQLite DBMS. An cùl-raon seo thèid a chleachdadh ann am Fedora Linux 33 an àite backend stèidhichte air BerkeleyDB.
Chaidh backend deuchainneach ùr a chuir an gnìomh airson stòran-dàta a stòradh ann am BDB (Oracle Berkeley DB), ag obair ann am modh leughaidh a-mhàin. Tha am buileachadh air a sgrìobhadh bhon fhìor thoiseach agus chan eil e a’ cleachdadh còd bho backend dìleab BerkeleyDB, a tha air a bhith gun mholadh ach a tha fhathast air a ghabhail a-steach gu bunaiteach.
Chaidh backend an stòr-dàta deuchainneach stèidhichte air LMDB a thoirt air falbh.
Chaidh an stòr-dàta backend stèidhichte air stòradh NDB ainmeachadh seasmhach.
Chaidh taic a chur ris airson macros agus abairtean "%if". an uair sin gnìomhaiche (%{expr:1==0?"tha":"chan eil") agus a' tabhann feart coimeas tionndaidh a-steach ('%[v"3:1.2-1″> v"2.0″]').
Chaidh taic airson faidhlichean a sheòrsachadh stèidhichte air na seòrsaichean MIME den t-susbaint aca a chur an gnìomh.
Chuir sinn ris a’ chomas eisimeileachd a ghineadh a’ cleachdadh macros parametric.
Chaidh dreach ùr den API parsadh is coimeas airson C agus Python a mholadh.
Thathas a’ dèanamh cinnteach gu bheilear a’ dèanamh cinnteach gu bheilear a’ coileanadh co-phàirtean stiall brp agus sreath deuchainn. Chaidh an ìre as fheàrr de phròiseas gineadh pacaidh a dhèanamh co-shìnte.
Gu goireas rpmdb air a chur ris roghainn “-salvagedb” gus stòr-dàta millte a thoirt air ais (ag obair a-mhàin le backend an NDB).
Chaidh macros ùra % arm32, % arm64 agus % riscv a chur ris airson ailtireachd a lorg. Chuir sinn cuideachd macro togte %{macrobody:...} ris gus susbaint macros fhaighinn.
Tha e toirmisgte faclan a chleachdadh nach eil air an sgaradh le comharran-luirg ann an abairtean, i.e. an àite 'a == b' feumaidh tu a-nis '"a" == "b"' a sgrìobhadh.
Bidh am parser abairt a’ cur an co-chàradh “%[...]” an gnìomh airson abairt le leudachadh macro a chuir an gnìomh (tha e eadar-dhealaichte bho “%{expr:...}” leis gu bheil na macros air an cur gu bàs an toiseach).
Taic a bharrachd airson leudachadh goirid air gnìomhaichean loidsigeach agus an uairsin ann an abairtean ("%[0 && 1/0]" ga làimhseachadh mar 0 seach a bhith ag adhbhrachadh mearachd ri linn oidhirp roinneadh le neoni).
Taic a bharrachd airson a bhith a’ cleachdadh a’ ghnìomhaiche NOT loidsigeach ann an co-theacsan neo-riaghailteach (!"%?foo").
Giùlan nan gnìomhaichean "||". agus tha “&&” air a thoirt a rèir Perl/Python/Ruby, i.e. An àite a bhith a’ tilleadh luach boolean, bidh e a-nis a’ tilleadh an luach àireamhaichte mu dheireadh (mar eisimpleir, tillidh “%[2 || 3]” 2).
Chuir sinn ris a’ chomas dearbhadh a dhèanamh air cruthan eile de ainmean-sgrìobhte didseatach agus hashes.
Taic a bharrachd airson meta-eisimeileachd (Feumar (meta): somepkg), nach toir buaidh air òrdugh an stàlaidh agus an toirt air falbh.
Chaidh roghainn “--rpmv3” a chur ris ri rpmsign gus cleachdadh ainmean didseatach a chleachdadh ann an cruth RPM3.
Chaidh roghainn stàlaidh a chuir ris “--excludeartifacts” gus stad a chuir air stàladh sgrìobhainnean, mar eisimpleir faidhlichean rèiteachaidh agus dàta co-cheangailte eile.
Taic neo-leasaichte airson RPMv3 agus backends crypto beecrypt agus NSS.