diff --git a/NEWS b/NEWS index 591891b..720f036 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,56 @@ rust2rpm +Version 24.0.0 +============== + +This release contains large internal changes to support more use cases and +Rust projects that use new syntax for feature dependencies in their Cargo.toml +metadata. The functionality for translating between cargo and RPM metadata +and the RPM macros and dependency generators were moved to separate projects. + +Additionally, the versioning scheme of rust2rpm has changed to allow for minor +or bugfix-only releases that do not change spec file rendering and which don't +require bumping the version number in the "# Generated by rust2rpm XX" header. + +Added: + +- Support for building non-crate projects that use cargo workspaces was added. +- The default Rust compiler flags now support conditionally building Rust code + with frame pointers (only enabled on Fedora 38+ on x86_64 and aarch64). +- New syntax for cargo feature dependencies (`dep:foo`) is now supported when + creating "remove foreign dependencies" patches. +- Rust crates that exclusively build shared libraries (`cdylib` targets) are now + (partially) supported by rust2rpm and no longer cause crashes. + +Changed: + +- Large parts of the project were refactored, modernized, reorganized into + smaller files, and updated with type annotations. +- The deprecated `requests.compat` module is no longer used, as all methods + used by rust2rpm have been part of the Python standard library for years. + +Fixed: + +- Logic for determining the list of feature subpackages was fixed. The + assumptions in the previous implementation were broken for crates that use + Rust 1.60+ syntax for feature dependencies. +- Logic for sorting binaries in %files lists was fixed to not cause crashes if + there are two or more binaries. +- Logic in the cfg-expression evaluation was fixed and no longer produces + architecture-specific patches. +- Logic for checking for the existence of a dist-git repo for the current + package was fixed to account for URL formatting issues. +- Files that are read when trying to detect the "host linux distribution" are + now closed correctly. +- Test fixtures were added for the year 2023. + +Removed: + +- The cargo-inspector executable was removed. It is no longer used by Rust RPM + macros. +- Files for RPM macros and dependency generators were moved into a separate + project (rust-packaging). + Version 23 ========== diff --git a/rust2rpm/__init__.py b/rust2rpm/__init__.py index 8a0bf13..daab4bb 100644 --- a/rust2rpm/__init__.py +++ b/rust2rpm/__init__.py @@ -10,7 +10,7 @@ from rust2rpm import licensing # release of the last minor version. # # Only the major version is included in the header of generated spec files. -__version__ = "24.0.0-pre" +__version__ = "24.0.0" TARGET_ARCHES = [ "x86_64",