หลังจากหนึ่งปีของการพัฒนา
โดดเด่นที่สุด
- มีการใช้งานแบ็กเอนด์ใหม่สำหรับจัดเก็บฐานข้อมูลใน SQLite DBMS แบ็กเอนด์นี้
จะถูกนำไปใช้ ใน 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
เพิ่ม ตัวเลือก “—salvagedb” เพื่อกู้คืนฐานข้อมูลที่เสียหาย (ใช้ได้กับแบ็กเอนด์ NDB เท่านั้น) - เพิ่มมาโครใหม่ %arm32, %arm64 และ %riscv สำหรับการตรวจจับสถาปัตยกรรม เพิ่มมาโครในตัว %{macrobody:...} เพื่อรับเนื้อหาของมาโคร
- ห้ามใช้คำที่ไม่คั่นด้วยเครื่องหมายคำพูดในสำนวน เช่น แทนที่จะเป็น 'a == b' ตอนนี้คุณต้องเขียน '"a" == "b"'
- ตัวแยกวิเคราะห์นิพจน์จะใช้ไวยากรณ์ “%[...]” เพื่อดำเนินการนิพจน์ด้วยการขยายมาโคร (แตกต่างจาก “%{expr:...}” โดยที่แมโครจะถูกดำเนินการก่อน)
- เพิ่มการรองรับการขยายระยะสั้นของตัวดำเนินการเชิงตรรกะและตัวดำเนินการ thenar ในนิพจน์ ("%[0 && 1 / 0]" ถือเป็น 0 แทนที่จะทำให้เกิดข้อผิดพลาดเนื่องจากการพยายามหารด้วยศูนย์)
- เพิ่มการสนับสนุนสำหรับการใช้ตัวดำเนินการตรรกะ NOT ในบริบทที่กำหนดเอง (!"%?foo")
- ลักษณะการทำงานของตัวดำเนินการ "||" และ "&&" ถูกนำมาสอดคล้องกับ Perl/Python/Ruby เช่น แทนที่จะส่งกลับค่าบูลีน ตอนนี้จะส่งกลับค่าที่คำนวณได้ล่าสุด (เช่น "%[2 || 3]" จะส่งกลับ 2)
- เพิ่มความสามารถในการตรวจสอบรูปแบบทางเลือกของลายเซ็นดิจิทัลและแฮช
- เพิ่มการรองรับการพึ่งพาเมตาดาต้า (Requires(meta): somepkg) ซึ่งไม่ส่งผลต่อลำดับการติดตั้งและการลบออก
- เพิ่มตัวเลือก "--rpmv3" เพื่อ rpmsign เพื่อบังคับให้ใช้ลายเซ็นดิจิทัลในรูปแบบ RPM3
- เพิ่มตัวเลือกการติดตั้ง "--excludeartifacts" เพื่อข้ามการติดตั้งเอกสารประกอบ ตัวอย่างไฟล์การกำหนดค่า และข้อมูลอื่นๆ ที่เกี่ยวข้อง
- การสนับสนุนที่เลิกใช้แล้วสำหรับ RPMv3 และแบ็กเอนด์ beecrypt และ NSS crypto
- เพิ่มการรองรับ DSA2 (gcrypt) และ EdDSA
ที่มา: opennet.ru