Documentation for a newer release is available. View Latest

Cambios en Fedora 40 para Desarrolladores

PyTorch

Fedora 40 es la primera versión de Fedora que incluye PyTorch, un marco de aprendizaje automático basado en la biblioteca Torch, utilizado para aplicaciones como visión artificial y procesamiento del lenguaje natural. Originalmente desarrollado por Meta AI, ahora forma parte de la Linux Foundation. Es software libre y de código abierto, distribuido bajo la licencia BSD modificada.

Proporcionando PyTouch como un paquete de Fedora significa que los usuarios ahora pueden utilizar DNF para instalar en lugar de pip. La versión inicial proporcionada en Fedora 40 es 2.1.2. Para instalar, ejecute dnf install python-torch.

Para comenzar con PyTorch, consulte la documentación oficial. Aquellos interesados específicamente en PyTorch en Fedora (desarrolladores, empaquetadores, usuarios finales, etc.) pueden unirse al Grupo de interés especial de PyTorch Fedora.

PHP 8.3

La pila del intérprete del lenguaje de programación PHP se actualizó a la versión 8.3, que proporciona múltiples correcciones de defectos y mejoras. Los cambios notables incluyen:

  • Tipificación explícita de constantes de clase

  • Recuperación constante de clase dinámica

  • Nuevo atributo #[\Override]

  • Clonación profunda de propiedades de solo lectura

  • Función json_validate() nueva

  • Método Randomizer::getBytesFromString() nuevo

  • Linter de línea de comando admite múltiples archivos

Para conocer el alcance completo de las actualizaciones, consulte las notas de la versión anterior.

Golang 1.22

Fedora 40 proporciona la versión 1.22 de Golang. Consulte las notas de la versión anterior para obtener una lista completa de los cambios.

Retirar Python 3.7

A partir de esta liberación, la versión 3.7 de Python se considera retirada sin reemplazo debido a que se considera fin de vida útil desde junio de 2023.

LLVM 18

Todos los subproyectos de LLVM se han actualizado a la versión 18, que incluye un cambio de versión de nombre para las bibliotecas de llvm. Se agregaron los paquetes de compatibilidad clang17, llvm17 y lld17 para garantizar que los paquetes que actualmente dependen de las bibliotecas clang y llvm versión 17 sigan funcionando.

Otros cambios notables incluyen:

  • clang emitirá DWARF-5 de forma predeterminada en lugar de DWARF-4. Esto coincide con el valor predeterminado ascendente. Fedora ha estado usando DWARF-4 como predeterminado en las últimas versiones debido a https://bugzilla.redhat.com/show_bug.cgi?id=2064052.

  • Los paquetes de compatibilidad ahora incluirán el mismo contenido que el paquete principal. En versiones anteriores, los paquetes de compatibilidad contenían sólo bibliotecas y encabezados, y se eliminaron los binarios y otro contenido. Estos paquetes serán compatibles para su uso como dependencias de otros paquetes RPM, pero no para uso general por parte de los usuarios finales. Los usuarios de Fedora deben usar Clang/LLVM 18.

  • Los paquetes de compatibilidad agregados para Fedora 40 se retirarán antes de la rama Fedora 41.

  • Habilitaremos Fat LTO en redhat-rpm-config si esta función se completa a tiempo para la versión ascendente de LLVM 18. Fat LTO es una característica que permite al compilador producir bibliotecas que contienen código de bits LTO junto con el código binario ELF tradicional para que las bibliotecas se puedan vincular tanto en modo LTO como en modo no LTO. gcc también admite esta característica y la tiene habilitada en Fedora. En Fedora 39 y versiones anteriores, con LTO habilitado, clang produce archivos binarios solo con código de bits LTO, por lo que necesitamos ejecutar un script de post-procesamiento (brp-llvm-compile-to-elf) en las bibliotecas para convertirlos a código ELF para que puedan ser utilizados por otros paquetes. Habilitar Fat LTO permite que Fedora Project elimine este script y simplifique el proceso de compilación.

Consulte las notas de la versión anterior para obtener más detalles.

Actualizaciones de cadena de herramientas de GNU

La Colección de Compiladores GNU, las utilidades binarias GNU, la biblioteca C GNU y el depurador GNU constituyen la parte central de la cadena de herramientas GNU y es útil para nuestros usuarios realizar la transición de estos componentes como una implementación completa al realizar una versión de Fedora nueva.

Los componentes de GNU Toolchain (gcc, glibc, binutils, gdb) se han actualizado a las siguientes versiones en Fedora 40:

Boost 1.83

Fedora 40 incluye Boost 1.83. Para obtener más información, consulte el notas de la versión anterior.

Ruby 3.3

El lenguaje Ruby se actualizó a la versión 3.3 en Fedora 40, en comparación con la versión 3.2 proporcionada en la versión anterior de Fedora. La nueva versión agrega un intérprete nuevo llamado Prism, usa Lrama como generador de analizadores, agrega un nuevo compilador JIT puro de Ruby llamado RJIT y proporciona muchas mejoras de rendimiento, especialmente YJIT.

Para obtener detalles completos, consulte las últimas NOTICIAS y el anuncio de lanzamiento.

java-21-openjdk como el sistema JDK

El JDK del sistema ha sido actualizado de la versión 17 a la versión 21 en Fedora 40.

Para obtener más información sobre Java 21, consulte las notas de la versión de JDK 21 y la guía de migración.

Consulte también la página Change para obtener preguntas frecuentes rápidas sobre este cambio.

Retirar Pipenv

A partir de esta versión, pipenv ya no está empaquetado en Fedora y está obsoleto, por lo que es posible que se elimine durante el proceso de modernización.

Los desarrolladores que necesiten seguir usando pipenv pueden instalarlo directamente desde pip con pip install --user pipenv.