Skip to content

Commit 0338829

Browse files
committed
Update 6.0 release notes for beta1
1 parent bf9b932 commit 0338829

1 file changed

Lines changed: 62 additions & 6 deletions

File tree

_releases/6.0.0.md

Lines changed: 62 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,34 @@
11
---
22
version: 6.0.0
33
baseline: 4.20.1
4-
date: 2025-04-08
4+
date: 2025-07-01
55
draft: true
66
heading_offset: 2
77
---
88

99
* RPM defaults to enforcing signature checking (#1573)
1010
* RPM uses the full key ID or fingerprint to identify OpenPGP keys everywhere (#2403)
1111
* Support for multiple OpenPGP signatures per package (#3385)
12+
* Support for OpenPGP v6 and PQC keys and signatures (#3363, work in progress)
1213
* Support for updating previously imported keys (#2577)
1314
* Support for both RPM v4 and v6 packages
1415
* Support for installing RPM v3 packages has been removed (#1107)
15-
* By default, RPM no longer verifies obsolete crypto (MD5, SHA1, DSA) (#1292)
16-
* Man page overhaul (work in progress as of 6.0 alpha)
16+
* Man page overhaul (work in progress)
1717
* Pristine and verifiable release tarballs (#3565) (#2702)
1818

1919
### General Use
2020
* Several enhancements to *rpmkeys*(8):
2121
* `rpmkeys --import` can now be used to update keys (#2577).
2222
This also updates the key handle from a short ambiguous key id to
2323
full fingerprint.
24+
* `rpmkeys --import` now also works from a pipe
2425
* `rpmkeys --export` added for exporting keys
2526
* `rpmkeys --checksig`, `--list`, `--delete` use and expect full
2627
fingerprint of the keys (#3360)
2728
* `rpmkeys` works identically with all keystore backends
2829
* `rpmkeys --rebuild` can be used to rebuild the keystore contents and
2930
move between different keystore backends (#3347)
31+
* `rpmkeys` key lookup is now case-insensitive
3032
* Several enhancements to *rpmsign*(1):
3133
* `rpmsign` can use either GnuPG or Sequoia-sq for signing (controlled
3234
by `%_openpgp_sign` macro (`gpg` or `sq`))
@@ -36,24 +38,46 @@ heading_offset: 2
3638
* New query tag extensions (e.g. with `--qf <format>`):
3739
* `rpmformat` for determining package format version (3/4/6)
3840
* `openpgp` for managing all supported OpenPGP signature types
41+
* New query formatter `:hashalgo` for displaying hash algorithm names
3942
* New `--filemime` query alias for querying per-file MIME info
4043
* Consistent terminology and case usage in signature and key messages
4144
* OpenPGP signatures are called OpenPGP in output
4245
* RPM v3 header+payload signatures are called "legacy" in output
46+
* New feature to calculate a set of configurable digests on verification
47+
and safe them in the rpmdb. This can help identifying the originating
48+
package file. (RHEL-35619)
49+
* Fix scriptlet errors not reflected in transaction result code (#2581)
50+
* Fix `%triggerprein` and `%triggerun` not failing the associated
51+
install/erase operation (#3815)
4352
* Man page overhaul (WIP):
4453
* Update all manual pages to a new consistent style (#3669)
4554
* Add man pages for all major components and file formats (#3612)
55+
* rpm-config(5)
56+
* rpm-payloadflags(5)
57+
* rpm-rpmrc(5)
58+
* rpm-macrofile(5)
59+
* rpm-lua(7)
60+
* rpm-macros(7)
61+
* rpm-queryformat(7)
4662
* Move end-user commands to section 1
4763
* Many previously undocumented things covered, many errors fixed
64+
* Versioned documentation on https://rpm.org/docs/
65+
* Man pages
66+
* Reference manual
67+
* API docs
4868

4969
### Packaging
5070
* *rpmbuild*(1) now supports generating two different package formats
5171
(controlled by `%_rpmformat` macro):
5272
* [RPM v6](https://rpm-software-management.github.io/rpm/manual/format_v6.html)
5373
* All file sizes and related limits are 64bit
5474
* Crypto modernization
55-
* MIME file info
75+
* Obsolete crypto (MD5 and SHA1) dropped
76+
* SHA3 header and payload digests added (#3797, #3642)
77+
* Per-file MIME info
5678
* Widely compatible with RPM >= 4.14
79+
* The "external" dependency generator mode no longer supported with
80+
v6 packages (#2373)
5781
* [RPM v4](https://rpm-software-management.github.io/rpm/manual/format_v4.html)
5882
* Bit-per-bit compatible with packages produced by RPM 4.x
5983
* *rpmbuild*(1) can now automatically sign packages if `%_openpgp_autosign_id`
@@ -65,6 +89,10 @@ heading_offset: 2
6589
* Fix architecture checking accidentally moved after build (#3569)
6690
* Fix buildsys specific `%prep` section not accepted (#3635)
6791
* Fix `check-rpaths` brp script when both RPATH and RUNPATH exist (#3667)
92+
* Fix a memory leak in `rpmspec --shell`
93+
* Fix 4.20 regression on `rpmbuild -rs` failing on non-existent directory
94+
(#3682)
95+
* Fix an extra newline printed on `rpm --eval`
6896
* `brp-elfperms` buildroot policy script was removed (#3195)
6997

7098
### API Changes
@@ -84,20 +112,30 @@ heading_offset: 2
84112
* `rpmtxnRebuildKeystore()` for rebuilding transaction keystore
85113
* New flags to control `rpmSign()` operation added:
86114
`RPMSIGN_FLAG_RESIGN`, `RPMSIGN_FLAG_RPMV4`, `RPMSIGN_FLAG_RPMV6`
115+
* New functions for controlling per-package verification level:
116+
* `rpmteVfyLevel()` and `rpmteSetVfyLevel()`
117+
* `te.VfyLevel()` and `te.SetVfyLevel()` in the Python bindings
87118
* New identifiers related to multiple signature support added:
88119
* `RPMTAG_OPENPGP` rpm tag
89120
* `RPMSIGTAG_OPENPGP` signature header tag (alias to `RPMTAG_OPENPGP`)
90121
* `RPMVSF_NOOPENPGP` verification flag
91122
* New rpm tags:
92123
`RPMTAG_PAYLOADSIZE`, `RPMTAG_PAYLOADSIZEALT`, `RPMTAG_RPMFORMAT`,
93-
`RPMTAG_FILEMIMEINDEX`, `RPMTAG_MIMEDICT`, `RPMTAG_FILEMIMES`
124+
`RPMTAG_FILEMIMEINDEX`, `RPMTAG_MIMEDICT`, `RPMTAG_FILEMIMES`,
125+
`RPMTAG_SOURCENEVR`, `RPMTAG_PAYLOADSHA3_256`, `RPMTAG_PAYLOADSHA3_256ALT`,
126+
`RPMTAG_SHA3_256HEADER`
127+
* Renamed rpm tags:
128+
* `RPMTAG_PAYLOADDIGEST` to `RPMTAG_PAYLOADSHA256`
129+
* `RPMTAG_PAYLOADDIGESTALT` to `RPMTAG_PAYLOADSHA256ALT`
130+
* `RPMTAG_PAYLOADDIGESTALGO` to `RPMTAG_PAYLOADSHA256ALGO` (obsolete)
94131
* New identifiers related to SHA-3 added:
95132
`RPM_HASH_SHA3_256`, `RPM_HASH_SHA3_512`
96133
* New symbols related to MIME types in v6 packages:
97134
* `rpmfilesFMime()`, `rpmfiFMime()` for retrieving per-file MIME info
98135
* `RPMFI_NOFILEMIME` flag to control behavior
99136
* New OpenPGP identifiers related to RFC-9580 added
100137
* `rpmtsAddInstallElement()` returns `3` on unsupported package format
138+
* `fdSize()` returns an error on non-regular files
101139

102140
### Internal Improvements
103141
* RPM is now built as C++20 code (except for plugins and Python bindings)
@@ -110,18 +148,34 @@ heading_offset: 2
110148
* New `openpgp.cert.d` based keystore (experimental) (#3341)
111149
* New `make site` build target for easy local rendering of documentation
112150
* Make reference counting atomic throughout the codebase
151+
* Support underscores in RPMTAG names
113152
* Fix keystore reads lacking transaction lock
114153
* Fix a race condition in `rpmioMkpath()` (#3508)
115154
* Fix recursion depth for macro error message (#3197)
116155
* Fix empty password field in passwd/group causing entry to be ignored (#3594)
117156
* Fix built-in macros not usable before loading macro files (#3638)
157+
* Fix fdSize() failure handling in rpmSign()
158+
* Fix pseudo-tags without an associated type showing up in --querytags
159+
* Fix rpm install prefix not honored in the legacy `find-provides` and
160+
`find-requires` dependency generator scripts
161+
* Fix Python reference leaks related to archive handling
162+
* Fix non-deterministic storage of dependency information in packages (#1056)
163+
* Fix `sysusers` script escaping chroot for `u!` entires
164+
* Fix rpm 4.19 regression on failed update return code (#3718)
118165
* Drop `gpg(keyid)` provides from gpg-pubkey headers (#3360)
119166
* Eliminate various internal symbols accidentally leaking to the ABI
167+
* Eliminate uses of non-portable signal(2) API (#3688)
120168
* Optimize `rpmlog()` locking
169+
* Python bindings:
170+
* Support Python module isolation (RhBug:2327289)
171+
(https://bugzilla.redhat.com/show_bug.cgi?id=2327289)
172+
* Fix some resource leaks, run tests with ASAN
121173

122174
### Building RPM
123175
* A C++20 compiler is now required in addition to a C99 compiler, but
124176
C++20 modules support is not required.
177+
* rpm-sequoia >= 1.8.0 is now required for building with Sequoia (default)
178+
* Python >= 3.10 is now required for building the Python bindings
125179
* [scdoc](https://git.sr.ht/~sircmpwn/scdoc) man page generator is now
126180
required for building RPM
127181
* Pre-built API documentation is no longer shipped in the release tarballs.
@@ -144,6 +198,8 @@ heading_offset: 2
144198
* Can be queried with RPM >= 4.6
145199
* Can be unpacked with RPM >= 4.12
146200
* Can be verified and installed with RPM >= 4.14 (with caveats/limitations)
201+
* RPM defaults to building v6 packages, this can be changed with the
202+
`%_rpmformat` macro.
147203
* Lua `posix.fork()` family of calls, deprecated in 4.20, is disabled in
148204
packages built with RPM >= 6.0. They continue to function in packages
149205
built by RPM <= 4.20 however.
@@ -160,4 +216,4 @@ heading_offset: 2
160216
* `%_passwd_path` and `%_group_path` are now treated as colon separated
161217
paths to allow using multiple files as the source of NSS information
162218
(e.g. with nss-altfiles)
163-
* `--pkgid` and `--hdrid` query sources CLI-switches have been dropped (#2633)
219+
* `--pkgid` and `--hdrid` query CLI-switches have been dropped (#2633)

0 commit comments

Comments
 (0)