Documentation for a newer release is available. View Latest

Canvis a Fedora 43 per als desenvolupadors

Python 3.14

La pila de Python a Fedora s’ha actualitzat de la versió 3.13 a la versió 3.14, l’última versió principal del llenguatge de programació Python.

Per a més informació, consulteu el document «What’s new» upstream i, especialment, la secció Porting to Python 3.14.

python-async-timeout ara està obsolet

El paquet python-async-timeout ha quedat obsolet a Fedora. Es recomana als desenvolupadors que migrin a asyncio.Timeout a Python 3.11+ per a millorar la compatibilitat amb la biblioteca estàndard.

python-nose retirat

El paquet python3-nose s’ha retirat a causa de la falta de desenvolupament upstream a llarg termini.

Actualització del conjunt d’eines GNU

El conjunt d’eines GNU a Fedora 43 s’ha actualitzat a:

  • GNU C Compiler (gcc) 15.2

  • GNU Binary Utilities (binutils) 2.45

  • GNU C Library (glibc) 2.42

  • GNU Debugger (gdb) 16.3

Consulteu també les notes de versió upstream de GCC, Binutils, GLibC NEWS i GDB NEWS.

Enllaçador Gold obsolet

L’enllaçador Gold ha quedat obsolet i finalment s’eliminarà completament de Fedora atès que el desenvolupament upstream s’ha aturat. Encara hi ha tres altres enllaçadors disponibles per als desenvolupadors (ld.bfd, lld i mold), per la qual cosa segueix havent-hi prou opcions.

Golang 1.25

La darrera versió estable del llenguatge de programació Go ja està disponible a Fedora 43.

Per a més informació, consulteu les notes de versió upstream.

Els paquets Golang ara s’inclouen com a vendored per defecte

Fedora ara fa servir dependències vendored com a opció predeterminada i preferida en compilar aplicacions Golang, en lloc de dependre de dependències prèviament empaquetades. Això inclou l’adopció de Go Vendor Tools, un nou conjunt d’eines per a gestionar l’escaneig de llicències, generar una expressió SPDX acumulada per a totes les dependències i crear arxius vendored reproduïbles. Aquest canvi pretén simplificar l’empaquetatge d’aplicacions Golang a Fedora. Els usuaris no haurien de notar cap canvi de comportament.

LLVM 21

Els subprojectes LLVM de Fedora s’han actualitzat a la versió 21. Hi ha hagut un canvi de versió de soname per a les biblioteques llvm, i s’ha afegit un paquet de compatibilitat llvm20 per a garantir que els paquets que actualment depenen de les biblioteques clang i llvm versió 20 continuïn funcionant.

Altres canvis notables inclouen:

  • Compilat amb PGO: el paquet llvm ara es compila amb optimització PGO, així que els usuaris de les seves biblioteques i binaris haurien de veure algunes millores de rendiment. Per exemple, clang hauria de compilar fitxers C i C++ de manera notablement més ràpida.

  • Desfer els canvis de prefix de LLVM 20: aquest canvi es va fer a rawhide i f42 després del llançament de f42, així que ja està fet. Vegeu https://pagure.io/fesco/issue/3414.

Hi ha més informació disponible a les notes de versió upstream.

Ruby on Rails 8.0

La pila Ruby on Rails s’ha actualitzat de la versió 7.0 a Fedora 42 a la versió 8.0 a Fedora 43. Els canvis notables inclouen:

  • Trio de nous adaptadors basats en base de dades anomenats Solid Cable, Solid Cache i Solid Queue (que actualment no formen part de Fedora).

  • SQLite preparat per a producció.

  • Sprockets substituït per Propshaft.

  • Generació dels fonaments d’autenticació.

Consulteu les notes de versió upstream per a més informació.

Tomcat 10.1

El servidor d’aplicacions Tomcat s’ha actualitzat a la versió 10.1 a Fedora 43.

Els canvis d’aquesta versió inclouen:

  • Apache Tomcat 10.1.x requereix Java 11 o posterior.

  • Canvis incompatibles a l’API d’especificació: hi ha un canvi incompatible important entre Tomcat 9.0.x i Tomcat 10.1.x. El paquet Java utilitzat per les API d’especificació ha canviat de javax.* a jakarta.*. Caldrà tornar a compilar les aplicacions web contra les noves API. Consulteu la pàgina del canvi al wiki de Fedora per als detalls.

  • Altres canvis a les API d’especificació:

    • API Jakarta Servlet 6.0: el paquet Java ha canviat de javax.servlet a jakarta.servlet. S’ha afegit un nou mètode, Cookie.setAttribute(String name, String value). S’ha aclarit el procés de descodificació i normalització d’URI. S’han afegit nous mètodes i classes per a proporcionar accés a identificadors únics per a la sol·licitud actual o la connexió associada.

    • API Jakarta Server Pages 3.1: el paquet Java ha canviat de javax.servlet.jsp a jakarta.servlet.jsp. S’ha afegit una opció per a generar una PropertyNotFoundException quan una expressió EL conté un identificador desconegut.

    • Jakarta Expression Language 5.0: el paquet Java ha canviat de javax.el a jakarta.el. L’API EL ara utilitza genèrics quan és apropiat. El mètode obsolet MethodExpression.isParmetersProvided() s’ha eliminat de l’API.

    • Jakarta WebSocket 2.1: el paquet Java ha canviat de javax.websocket a jakarta.websocket. L’empaquetatge dels JAR de l’API ha canviat per a eliminar classes duplicades. L’API del servidor ara té una dependència del JAR de l’API del client.

    • Jakarta Authentication 3.0: el paquet Java ha canviat de javax.security.auth.message a jakarta.security.auth.message.

  • API internes de Tomcat: tot i que l’API interna de Tomcat 10 és en gran part compatible amb Tomcat 9, hi ha hagut molts canvis a nivell de detall i no són compatibles binàriament. Els desenvolupadors de components personalitzats que interactuen amb els components interns de Tomcat haurien de revisar el JavaDoc per a l’API rellevant.

  • Valors per defecte de web.xml: conf/web.xml estableix la codificació de caràcters predeterminada de sol·licitud i resposta a UTF-8.

  • Gestió de sessions: la persistència de sessió en reiniciar s’ha deshabilitat per defecte. Es pot tornar a habilitar globalment a conf/context.xml o per aplicació web.

  • HTTP/2: els paràmetres de configuració que es duplicaven entre els connectors HTTP/1.1 i HTTP/2 s’han eliminat del connector HTTP/2, que ara els heretarà del connector HTTP/1.1 associat.

  • Registre: la implementació del registre ara només crea fitxers de registre quan hi ha alguna cosa a escriure-hi.

  • Patrons del registre d’accés: per alinear-se amb httpd, el patró %D ara registra el temps de la sol·licitud en microsegons en lloc de mil·lisegons. Per a registrar el temps de la sol·licitud en mil·lisegons, feu servir %{ms}T.

Consulteu el changelog upstream per a obtenir informació addicional.

Haskell GHC 9.8 i Stackage LTS 23

Per a Fedora 42, el paquet del compilador principal de GHC Haskell ha passat de la versió 9.6.6 a l’última versió estable 9.8.4 (amb un rebasament del paquet ghc des del paquet ghc9.8). Al mateix temps, els paquets Haskell de Stackage (la distribució estable de paquets de codi font de Haskell) s’han actualitzat des de les versions de LTS 22 a l’última versió LTS 23. Els paquets Haskell que no són a Stackage s’han actualitzat a l’última versió adequada del dipòsit de paquets upstream Hackage.

Per a obtenir tota la informació sobre aquesta versió, consulteu les notes de versió upstream i la guia de migració.

El llenguatge de programació Hare

Fedora 43 introdueix paquets per a Hare, un llenguatge de programació de sistemes dissenyat per a ser senzill, estable i robust. Hare utilitza un sistema de tipus estàtics, gestió manual de la memòria i un runtime mínim. És adequat per a escriure sistemes operatius, eines de sistema, compiladors, programari de xarxa i altres tasques de baix nivell i alt rendiment.

El conjunt d’eines de Hare a Fedora inclou:

  • hare (controlador de compilació)

  • harec (front-end del compilador, ja disponible a Fedora)

  • qbe (back-end del compilador, ja disponible a Fedora)

  • binutils (per a l’assemblatge i l’enllaç estàtic)

  • gcc (per a l’enllaç dinàmic; també funciona amb altres compiladors de C)

El conjunt d’eines de Hare pot apuntar a les arquitectures x86_64, aarch64 i riscv64, i està configurat per a dependre per defecte de gcc-<arch>-linux-gnu i binutils-<arch>-linux-gnu per a la compilació creuada.

El paquet de codi font hare inclou el següent:

  • hare (controlador de compilació, utilitat haredoc i manuals)

  • hare-stdlib (biblioteca estàndard)

  • hare-rpm-macros (utilitats d’empaquetatge)

A més, es proporciona un paquet hare-update per a ajudar els desenvolupadors de Hare a gestionar canvis incompatibles quan hi hagi una nova versió de Hare, fins que el llenguatge i la seva biblioteca estàndard esdevinguin estables.

Per a més informació sobre Hare, consulteu la documentació upstream i l’especificació. Al lloc web oficial també hi ha disponible un tutorial.

Java

La versió 43 posa java-25-openjdk a disposició a Fedora, l’última versió LTS publicada el setembre de 2025.

El java-21-openjdk continua disponible a F43 i seguirà estant-ho a F44. S’eliminarà a F45.

A Fedora 43 totes dues versions d’openjdk proporcionen «java» per igual. Ja no hi ha cap JDK «de sistema» ni «predeterminat». Els usuaris poden (i haurien de) triar quina versió fer servir, i poden combinar versions de Java per al desenvolupament i el runtime. Diverses instàncies d’un programari, p. ex. Tomcat, poden executar-se amb versions diferents de Java. Per convenció, la versió més recent probablement esdevindrà la predeterminada a tot el sistema, però no hi ha cap garantia. Feu servir alternatives --config java per a seleccionar la versió a fer servir per defecte a tot el sistema.

En actualitzar des de la versió 42 amb java-21-openjdk instal·lat, només s’actualitza Java 21 a la versió 43. L’actualització no actualitza automàticament a Java 25. L’administrador ha d’instal·lar-ho per separat.

Per a més informació sobre Java 25, consulteu les Funcionalitats i notes de versió de JDK 25.

Per als detalls tècnics d’aquest canvi, consulteu la pàgina del canvi.

TBB2022.2.0

El paquet tbb conté els Intel oneAPI Threading Building Blocks, una biblioteca per a dividir càlculs en tasques paral·leles. A Fedora 43, aquest paquet s’ha actualitzat de la versió 2022.0.0 a la versió 2022.2.0.

A causa d’un canvi a l’ABI, els paquets no de Fedora que facin servir tbb probablement caldrà tornar-los a compilar. La versió 2022.2.0 és compatible a nivell d’API amb la versió 2022.0.0, així que una simple recompilació hauria de ser suficient.

Per a informació detallada, consulteu les notes de versió upstream de TBB 2022.1.0 i TBB 2022.2.0.

Perl 5.42

Fedora 43 proporciona Perl 5.42.0, una nova versió estable centrada en la millora del rendiment, l’afinament de les funcionalitats existents i l’addició de noves capacitats experimentals.

Millores principals

  • Nous operadors any i all: s’introdueixen dues paraules clau experimentals noves, any i all, per a un processament de llistes més eficient. Estan dissenyats per a fer curtcircuit, així que paren de processar la llista tan bon punt es coneix el resultat. Es compilen directament al nucli, cosa que els fa més ràpids que els seus equivalents del mòdul List::Util.

  • Mètodes lèxics: ara podeu declarar mètodes privats i lèxics amb la sintaxi my method. El nou operador ->& us permet cridar aquests mètodes, i garanteix que només siguin visibles dins l’àmbit definit.

  • Pragma source::encoding: hi ha disponible un nou pragma per a declarar explícitament si un fitxer de codi font està codificat en ASCII o UTF-8. Això ajuda a detectar errors relacionats amb la codificació de manera precoç durant el desenvolupament.

  • Espai de noms CORE:: ampliat: les funcions integrades com chdir i rand ara es poden fer servir amb seguretat com a referències de subrutina de primera classe. Això us dona més flexibilitat en passar funcions del nucli com a arguments.

  • Atribut de camp :writer: en definir classes amb use feature 'class', ara podeu fer servir l’atribut :writer als camps escalars per a generar automàticament accessors setter.

Funcionalitats reconsiderades

  • smartmatch i switch restablerts: les funcionalitats switch i smartmatch (~~), que abans estaven previstes per a ser eliminades, han rebut una pròrroga indefinida. Ara estan disponibles, però les heu d’habilitar amb un indicador de funcionalitat específic.

  • Apòstrof com a separador de paquet: l’ús heretat d’un sol apòstrof (`) com a separador de paquet s’ha restablert per defecte després dels comentaris de la comunitat. Encara podeu controlar aquest comportament amb un indicador de funcionalitat.

    • Altres actualitzacions**

  • Aquesta versió també inclou millores de rendiment a l’operador tr///, actualitzacions del suport per a Unicode 16.0 i diverses correccions d’errors relacionades amb la gestió de la configuració regional, goto i eval.

Per a informació més detallada, consulteu la documentació oficial perldelta for 5.42.0.

Maven 4

Maven 4 és una nova versió principal de Maven després de 15 anys de Maven 3. Aporta moltes millores, però també canvis incompatibles. Fedora 43 proporciona Maven 4 com el paquet maven4, cosa que el fa instal·lable en paral·lel amb Maven 3.

Consulteu la publicació What’s new in Maven 4? i la documentació upstream per a més detalls.

Idris 2

Idris 2 és un llenguatge de programació funcional pràctic amb tipus dependents, ara disponible a Fedora 43. És una reescriptura completa d’Idris 1 (que estava escrit en Haskell i ara està obsolet) sobre un compilador de Scheme.

Per als detalls, consulteu la documentació upstream, que inclou una llista de canvis respecte a Idris 1 i un tutorial d’Idris 2.

Rust

async-std ara està obsolet

La crate de Rust async-std ja no es manté i ara es considera obsoleta en favor de la crate smol.

gtk3-rs, gtk-rs-core v0.18 i gtk4-rs v0.7 ara s’han eliminat

Els enllaços de Rust per a GTK3 (i les biblioteques relacionades) es van marcar com a obsolets a Fedora 43 a causa de la manca de manteniment upstream. A Fedora 43 s’eliminen completament.

Verificació IMA de Debuginfod

Les eines client de debuginfod utilitzades per a descarregar automàticament la depuració i el codi font a eines com gdb ara verifiquen criptogràficament la integritat dels fitxers descarregats del servidor debuginfod de Fedora. Aquesta configuració és adequada per als RPM normals de versió o actualització signats per koji de Fedora. Tanmateix, si el vostre flux de treball també implica RPM flatpak no signats (%dist ".fc#app#"), potser us cal eliminar manualment ima:enforcing del vostre $DEBUGINFOD_URLS.

Compiladors creuats de Free Pascal

Fedora Linux 43 inclou suport per a compilació creuada per al Free Pascal Compiler, mitjançant diversos paquets nous. Els usuaris interessats a fer compilació creuada per a MS Windows haurien d’instal·lar els paquets fpc-units-x86_64-win64 o fpc-units-i386-win32. Per a la compilació creuada de Linux a altres arquitectures, instal·leu el paquet fpc-units-$ARCH-linux corresponent. Tingueu en compte que potser haureu de fer alguns passos addicionals si voleu que els vostres programes Pascal compilats de manera creuada s’enllacin amb biblioteques externes.