Merge branch 'version-upgrades' into 'f43'
Version upgrades See merge request fedora/docs/fedora-linux-documentation/release-notes!58
This commit is contained in:
commit
a5d8186cd4
2 changed files with 223 additions and 4 deletions
|
|
@ -2,3 +2,160 @@
|
|||
include::partial$entities.adoc[]
|
||||
|
||||
= Changes in Fedora {PRODVER} For Developers
|
||||
|
||||
[[python-3-14]]
|
||||
== Python 3.14
|
||||
The Python stack in Fedora has been updated from version 3.13 to version 3.14, the latest major release of the Python programming language.
|
||||
|
||||
For more information, see the link:++https://docs.python.org/dev/whatsnew/3.14.html#what-s-new-in-python-3-14++[upstream "What's new" document], and especially the link:++https://docs.python.org/dev/whatsnew/3.14.html#porting-to-python-3-14++[Porting to Python 3.14] section.
|
||||
|
||||
[[gnu-toolchain]]
|
||||
== GNU toolchain update
|
||||
The GNU toolchain in Fedora 42 has been updated to:
|
||||
|
||||
* GNU C Compiler (`gcc`) 15.2
|
||||
* GNU Binary Utilities (`binutils`) 2.45
|
||||
* GNU C Library (`glibc`) 2.42
|
||||
* GNU Debugger (`gdb`) 16.3
|
||||
|
||||
Also see the upstream release notes for link:++https://gcc.gnu.org/gcc-15/changes.html++[GCC], link:++https://lists.gnu.org/archive/html/info-gnu/2025-07/msg00009.html++[Binutils], link:++https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;hb=HEAD++[GLibC NEWS], and link:++https://www.sourceware.org/gdb/news/++[GDB NEWS].
|
||||
|
||||
[[golang-1-25]]
|
||||
== Golang 1.25
|
||||
The latest stable release of the Go programming language is now available in Fedora 43.
|
||||
|
||||
For more information, see the link:++https://tip.golang.org/doc/go1.25++[upstream release notes].
|
||||
|
||||
=== Golang packages are now vendored by default
|
||||
Fedora now uses vendored dependencies as the default and preferred option when building Golang applications, instead of relying on pre-packaged dependencies.
|
||||
This includes adopting link:++https://fedora.gitlab.io/sigs/go/go-vendor-tools/++[Go Vendor Tools], a new set of tooling to handle license scanning, generating a cumulative SPDX expression for all dependencies, and creating reproducible vendor archives.
|
||||
This change aims to simplify packaging Golang applications in Fedora. Users should not see any change in behavior.
|
||||
|
||||
[[llvm-21]]
|
||||
== LLVM 21
|
||||
LLVM sub-projects in Fedora have been updated to version 21.
|
||||
There has been a soname version change for the llvm libraries, and an llvm20 compat package has been added to ensure that packages that currently depend on `clang` and `llvm` version 20 libraries will continue to work.
|
||||
|
||||
Other notable changes include:
|
||||
|
||||
* Built with PGO: The `llvm` package is now built with PGO optimization, so users of its libraries and binaries should see some performance improvements. For example, `clang` should be noticeably faster compiling C and C++ files.
|
||||
* Undoing the prefix changes from LLVM 20: This change was made in rawhide and f42 after the f42 release, so it is already done. See https://pagure.io/fesco/issue/3414.
|
||||
|
||||
More information is available in the link:++https://releases.llvm.org/21.1.0/docs/ReleaseNotes.html++[upstream release notes].
|
||||
|
||||
|
||||
[[ruby-on-rails-8]]
|
||||
== Ruby on Rails 8.0
|
||||
The Ruby on Rails stack has been upgraded from version 7.0 in Fedora 42 to version 8.0 in Fedora 43.
|
||||
Notable changes include:
|
||||
|
||||
* Trifecta of new database-backed adapters named Solid Cable, Solid Cache, and Solid Queue (not part of Fedora at the moment).
|
||||
* SQLite ready for production.
|
||||
* Sprockets replaced with Propshaft.
|
||||
* Generating the authentication basics.
|
||||
|
||||
See the link:++https://guides.rubyonrails.org/8_0_release_notes.html++[upstream release notes] for more information.
|
||||
|
||||
[[tomcat-10-1]]
|
||||
== Tomcat 10.1
|
||||
The Tomcat application server has been upgraded to version 10.1 in Fedora 43.
|
||||
|
||||
Changes in this version include:
|
||||
|
||||
* Apache Tomcat 10.1.x requires Java 11 or later.
|
||||
* Specification API Breaking Changes: There is a significant breaking change between Tomcat 9.0.x and Tomcat 10.1.x.
|
||||
The Java package used by the specification APIs has changed from `++javax.*++` to `++jakarta.*++`.
|
||||
It will be necessary to recompile web applications against the new APIs.
|
||||
See the link:++https://fedoraproject.org/wiki/Changes/Tomcat10ChangeProposal#Upgrade/compatibility_impact++[Change page on the Fedora Wiki] for details.
|
||||
* Other Specification API changes:
|
||||
** Jakarta Servlet 6.0 API: The Java package has changed from `javax.servlet` to `jakarta.servlet`. A new method, `Cookie.setAttribute(String name, String value)` has been added. The process for decoding and normalizing URIs has been clarified. New methods and classes have been added to provide access to unique identifiers for the current request and/or associated connection.
|
||||
** Jakarta Server Pages 3.1 API: The Java package has changed from `javax.servlet.jsp` to `jakarta.servlet.jsp`. Added an option to raise a `PropertyNotFoundException` when an EL expression contains an unknown identifier.
|
||||
** Jakarta Expression Language 5.0: The Java package has changed from `javax.el` to `jakarta.el`. The EL API now uses generics where appropriate. The deprecated `MethodExpression.isParmetersProvided()` method has been removed from the API.
|
||||
** Jakarta WebSocket 2.1: The Java package has changed from `javax.websocket` to `jakarta.websocket`. The packaging of the API JARs has changed to remove duplicate classes. The server API now has a dependency on the client API JAR.
|
||||
** Jakarta Authentication 3.0: The Java package has changed from `javax.security.auth.message` to `jakarta.security.auth.message`.
|
||||
* Internal Tomcat APIs: Whilst the Tomcat 10 internal API is broadly compatible with Tomcat 9, there have been many changes at the detail level and they are not binary compatible. Developers of custom components that interact with Tomcat's internals should review the JavaDoc for the relevant API.
|
||||
* `web.xml` defaults: `conf/web.xml` sets the default request and response character encoding to UTF-8.
|
||||
* Session management: Session persistence on restart has been disabled by default. It may be re-enabled globally in `conf/context.xml` or per web application.
|
||||
* HTTP/2: The configuration settings that were duplicated between the HTTP/1.1 and HTTP/2 connectors have been removed from the HTTP/2 connector which will now inherit them from the associated HTTP/1.1 connector.
|
||||
* Logging: The logging implementation now only creates log files once there is something to write to the log files.
|
||||
* Access Log Patterns: To align with httpd, the `%D` pattern now logs request time in microseconds rather than milliseconds. To log request time in milliseconds, use `++%{ms}T++`.
|
||||
|
||||
See the link:++https://tomcat.apache.org/tomcat-10.1-doc/changelog.html++[upstream changelog] for additional information.
|
||||
|
||||
[[haskell-ghc-9-8]]
|
||||
== Haskell GHC 9.8 and Stackage LTS 23
|
||||
|
||||
For Fedora 42, the main GHC Haskell compiler package have been from version link:++https://www.haskell.org/ghc/download_ghc_9_6_6.html++[9.6.6] to the latest stable link:++https://www.haskell.org/ghc/download_ghc_9_8_4.html++[9.8.4] release (rebasing the ghc package from the link:++https://src.fedoraproject.org/rpms/ghc9.8/++[ghc9.8] package). Along with this, Haskell packages in link:++https://www.stackage.org/++[Stackage] (the stable Haskell source package distribution) have been updated from the versions in link:++https://www.stackage.org/lts-22++[LTS 22] to latest link:++https://www.stackage.org/lts-23++[LTS 23] release. Haskell packages not in Stackage have been updated to the latest appropriate version in the upstream link:++https://hackage.haskell.org/++[Hackage] package repository.
|
||||
|
||||
For full information about this release, see the link:++https://downloads.haskell.org/~ghc/9.8.4/docs/users_guide/9.8.4-notes.html++[upstream release notes] and link:++https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.8++[migration guide].
|
||||
|
||||
[[hare]]
|
||||
== The Hare programming language
|
||||
|
||||
Fedora 43 introduces packages for Hare, a systems programming language designed to be simple, stable, and robust.
|
||||
Hare uses a static type system, manual memory management, and a minimal runtime. It is well-suited to writing operating systems, system tools, compilers, networking software, and other low-level, high performance tasks.
|
||||
|
||||
The Hare toolchain on Fedora includes:
|
||||
|
||||
* `hare` (build driver)
|
||||
* `harec` (compiler front-end, already available in Fedora)
|
||||
* `qbe` (compiler back-end, already available in Fedora)
|
||||
* `binutils` (for assembly and static linking)
|
||||
* `gcc` (for dynamic linking, it also works with other C compilers)
|
||||
|
||||
The Hare tool chain can target the `x86_64`, `aarch64`, and `riscv64` architectures, and is configured to rely by default on `gcc-<arch>-linux-gnu` and `binutils-<arch>-linux-gnu` for cross compilation.
|
||||
|
||||
The `hare` source package includes the following:
|
||||
|
||||
* `hare` (build driver, `haredoc` utility, and manuals)
|
||||
* `hare-stdlib` (standard library)
|
||||
* `hare-rpm-macros` (packaging utilities)
|
||||
|
||||
In addition, a `hare-update` package is provided to assist Hare developers dealing with breaking changes when a new Hare release is available, until the language and its standard library become stable.
|
||||
|
||||
For more information about Hare, see the link:++https://harelang.org/documentation/++[upstream documentation] and link:++https://harelang.org/specification++[specification]. A link:++https://harelang.org/tutorial++[tutorial] is also available on the official website.
|
||||
|
||||
[[tbb-2022-2-0]]
|
||||
== TBB2022.2.0
|
||||
|
||||
The `tbb` package contains Intel's oneAPI Threading Building Blocks, a library for breaking computations into parralel tasks. In Fedora 43, this package has been upgraded from version 2022.0.0 to version 2022.2.0.
|
||||
|
||||
Due to an ABI change, non-Fedora packages that use `tbb` will likely need to be rebuilt. Version 2022.2.0 is API-compatible with version 2022.0.0, so a simple rebuild should suffice.
|
||||
|
||||
For detailed information, see the link:++https://github.com/uxlfoundation/oneTBB/blob/master/RELEASE_NOTES.md++[upstream release notes for TBB 2022.1.0 and TBB 2022.2.0].
|
||||
|
||||
[[perl-5-42]]
|
||||
== Perl 5.42
|
||||
Fedora 43 provides Perl 5.42.0, a new stable release that focuses on improving performance, refining existing features, and adding new experimental capabilities.
|
||||
|
||||
**Core enhancements**
|
||||
|
||||
* New `any` and `all` Operators: Two new experimental keywords, `any` and `all`, are introduced for more efficient list processing. They're designed to short-circuit, so they stop processing the list as soon as the result is known. They're compiled directly into the core, making them faster than their counterparts from the `List::Util` module.
|
||||
* Lexical Methods: You can now declare private, lexical methods using the `my method` syntax. The new -`++>&++` operator allows you to call these methods, ensuring they're only visible within their defined scope.
|
||||
* `source::encoding` Pragma: A new pragma is available to explicitly declare whether a source file is encoded in ASCII or UTF-8. This helps to catch encoding-related errors early during development.
|
||||
* Expanded `CORE::` Namespace: Built-in functions like `chdir` and `rand` can now be safely used as first-class subroutine references. This gives you more flexibility when passing core functions as arguments.
|
||||
* `:writer` Field Attribute: When defining classes with `use feature 'class'`, you can now use the `:writer` attribute on scalar fields to automatically generate setter accessors.
|
||||
|
||||
**Reconsidered features**
|
||||
|
||||
* `smartmatch` and `switch` Reinstated: The `switch` and `smartmatch (~~)` features, which were previously scheduled for removal, have been granted an indefinite reprieve. They are now available, but you must enable them with a specific feature flag.
|
||||
* Apostrophe as Package Separator: The legacy use of a single apostrophe (`) as a package separator has been reinstated by default after community feedback. You can still control this behavior with a feature flag.
|
||||
|
||||
** Other updates**
|
||||
|
||||
* This release also includes performance improvements to the `tr///` operator, updates to Unicode 16.0 support, and various bug fixes related to locale handling, `goto`, and `eval`.
|
||||
|
||||
For more detailed information, refer to the official link:++For more detailed information, refer to the official perldelta for 5.42.0 documentation. ++[perldelta for 5.42.0] documentation.
|
||||
|
||||
[[maven-4]]
|
||||
== Maven 4
|
||||
Maven 4 is a new major version of Maven after 15 years of Maven 3. It brings many improvements, but also breaking changes. Fedora 43 provides Maven 4 as the `maven4` package, making it installable in parallel to Maven 3.
|
||||
|
||||
See the link:++https://maven.apache.org/whatsnewinmaven4.html++[What's new in Maven 4?] post and the link:++https://maven.apache.org/ref/4.0.0-rc-4/++[upstream docs] for more details.
|
||||
|
||||
[[idris-2]]
|
||||
== Idris 2
|
||||
Idris 2 is a dependently typed practical functional programming language, now available in Fedora 43.
|
||||
It is a complete rewrite of Idris 1 (which was written in Haskell and is now deprecated) on top of a Scheme compiler.
|
||||
|
||||
For details, see the link:++https://idris2.readthedocs.io/en/latest/++[upstream documentation], including a list of changes compared to Idris 1 and an Idris 2 tutorial.
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ include::partial$entities.adoc[]
|
|||
|
||||
= Changes in Fedora {PRODVER} For System Administrators
|
||||
|
||||
[[anaconda]]
|
||||
== Changes in the Anaconda installer
|
||||
|
||||
=== Fedora spins now use the new WebUI installer
|
||||
|
|
@ -34,10 +35,12 @@ Users of older releases may be advised to consider reinstalling instead of upgra
|
|||
|
||||
== Automatic updates by default on Fedora Kinoite
|
||||
|
||||
Updates on Fedora Kinoite are now downloaded automatically and applied on the next reboot.
|
||||
Updates to both the system and all Flatpaks on Fedora Kinoite are now downloaded automatically and applied on the next reboot.
|
||||
The change applies to all systems, whether newly installed or updated to Fedora 43, unless the autoupdate setting has been changed before.
|
||||
You can change the frequency of automatic updates (or disable them completely, though this is not recommended) by using the "Unattended Updates" setting in System Settings.
|
||||
|
||||
You can change the frequency of automatic updates (or disable them completely, though this is not recommended) in system settings, under the **Software Updates** tab.
|
||||
|
||||
[[stratis]]
|
||||
== Stratis 3.8.5: stratisd 3.8.5 and stratis-cli 3.8.2
|
||||
|
||||
Stratis 3.8.5, which consists of `stratisd 3.8.5` and `stratis-cli 3.8.2` includes
|
||||
|
|
@ -59,7 +62,10 @@ and the boot process will fail.
|
|||
An example fstab entry for a filesystem on a pool that is encrypted using NBDE should look
|
||||
something like this:
|
||||
|
||||
`/dev/stratis/<POOL_NAME>/<FILESYSTEM_NAME> <MOUNTPOINT> xfs defaults,_netdev,x-systemd.requires=stratis-fstab-setup-with-network@<POOL_UUID>.service 0 2`
|
||||
[,console]
|
||||
----
|
||||
/dev/stratis/<POOL_NAME>/<FILESYSTEM_NAME> <MOUNTPOINT> xfs defaults,_netdev,x-systemd.requires=stratis-fstab-setup-with-network@<POOL_UUID>.service 0 2
|
||||
----
|
||||
|
||||
If a filesystem's pool does not require that the network is up to be unlocked then the fstab
|
||||
entry may use the existing `stratis-fstab-setup@.service` unit instead.
|
||||
|
|
@ -76,4 +82,60 @@ D-Bus property on the affected pool with an error message if the key is not load
|
|||
For `stratis-cli`, the release fixes a bug where a user would be unable to start an
|
||||
encrypted pool previously created with any Stratis release less than 3.8.0.
|
||||
|
||||
`stratis-cli` also exposes more information about a stopped pool in its detail view.
|
||||
`stratis-cli` also exposes more information about a stopped pool in its detail view.
|
||||
|
||||
[[postgresql-18]]
|
||||
== PostgreSQL 18
|
||||
PostgreSQL in Fedora 43 (the `postgresql` and `libpq` components) has been upgraded to major version 18. This continues the versioned packaging structure introduced in Fedora 40.
|
||||
|
||||
See the link:++https://www.postgresql.org/docs/18/release-18.html++[upstream release notes] for more information and notes on migration.
|
||||
|
||||
[[read-only-bdb-in-389-ds]]
|
||||
== Read-only BDB support in 389 Directory Server
|
||||
Starting from 389-ds-base version 3.1.3, the 389 Directory Server no longer supports the deprecated BerkeleyDB, so the LDMB database must be used. Users still using BerkeleyDB will have to migrate their data. In Fedora this change is available starting from Fedora 43 (Version 3.2.0 that was also originally planned for Fedora 43 is delayed.)
|
||||
|
||||
Directory server instances created since Fedora 40 and using the default LMDB database are not impacted (that is typically the case for FreeIPA users).
|
||||
However, users still using BerkeleyDB (either because they have not yet migrated or because they explicitly choose to use BerkeleyDB) are required to migrate to LMDB.
|
||||
|
||||
If this step is not done, the instance will not be able to start after the upgrade, and the following error message is displayed in the dirsrv error log and in the system journal:
|
||||
|
||||
[,console]
|
||||
----
|
||||
bdb implementation is no longer supported. Directory server cannot be started without migrating to lmdb first. To migrate, please run: dsctl instanceName dblib bdb2mdb
|
||||
----
|
||||
|
||||
Users then need to migrate the data either using the `dsctl` command, or manually by following the steps in the link:++https://www.port389.org/docs/389ds/FAQ/Berkeley-DB-deprecation.html#manual-method---export-to-ldif++[upstream FAQ].
|
||||
|
||||
[[dovecot-2-4]]
|
||||
== Dovecot 2.4
|
||||
The Dovecot e-mails server has been updated to version 2.4 in Fedora 43. This is the latest major update, released after 7 years of development.
|
||||
|
||||
Note that Dovecot 2.4 configuration is not totally compatible with the previous version (2.3). See the link:++https://doc.dovecot.org/2.4.1/installation/upgrade/2.3-to-2.4.html++[Upgrading Dovecot CE from 2.3 to 2.4] document upstream.
|
||||
|
||||
For more information about this release, see the link:++https://github.com/dovecot/core/releases/tag/2.4.0++[upstream release notes].
|
||||
|
||||
[[mysql-8-4]]
|
||||
== MySQL 8.4 as default
|
||||
MySQL 8.4 is now the default version of MySQL in Fedora.
|
||||
|
||||
Those who wish to continue using the previous default version, MySQL 8.0, can use the `mysql-8.0-server` package.
|
||||
|
||||
For information about the latest releases, see the following links:
|
||||
|
||||
* link:++https://dev.mysql.com/doc/relnotes/mysql/8.1/en/++[8.1 release notes]
|
||||
* link:++https://dev.mysql.com/doc/relnotes/mysql/8.2/en/++[8.2 release notes]
|
||||
* link:++https://dev.mysql.com/doc/relnotes/mysql/8.3/en/++[8.3 release notes]
|
||||
* link:++https://dev.mysql.com/doc/relnotes/mysql/8.4/en/++[8.4 release notes]
|
||||
|
||||
[[rpm-6]]
|
||||
== RPM 6.0
|
||||
Fedora 43 updates the RPM packaging system to version 6.0. This release provides several security improvements, such as:
|
||||
|
||||
* OpenPGP keys are referred to by their fingerprint or full key id where fingerprint not available (compared to the short keyid in previous versions).
|
||||
* OpenPGP keys can be updated with `rpmkeys --import <key>` and corresponding API(s).
|
||||
* Support for multiple signatures per package.
|
||||
* Support for automatic signing on package build (mainly for local use).
|
||||
* Support for OpenPGP v6 keys and signatures (including PQC).
|
||||
* Support for signing with Sequoia-sq as an alternative to GnuPG.
|
||||
|
||||
For full information about this release, see the link:++https://rpm.org/wiki/Releases/6.0.0++[upstream release notes]. The link:++https://github.com/rpm-software-management/rpm/discussions/3602++[Road to RPM 6.0] post also provides details in a more easily digestible format.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue