개발자를 위한 페도라 40의 변경 사항

파이토치

페도라 40은 컴퓨터 비전 및 자연 언어 처리와 같은 응용프로그램을 위해 사용되는 토치(Torch) 라이브러리에 기반한 기계학습(machine learning) 프레임워크인 파이토치(PyTorch)를 제공하는 최초의 페도라 배포판이며, 원래는 메타 AI에서 개발되었고 리눅스 재단(Linux Foundation) 산하의 일부분이 되었습니다. 수정된 BSD 허가에 따라 출시된 무료 및 개방형 원천 소프트웨어입니다.

페도라 꾸러미로서 파이토치를 제공하는 것은 사용자가 dnf를 pip 대신에 설치하는 데 사용 할 수 있다는 것을 의미합니다. 페도라 40에서 제공된 초기 버전은 2.1.2입니다. `dnf install python-torch`를 실행합니다.

파이토치(Pytorch)와 함께 시작하게 하려면, 공식 문서를 참고하세요. 페도라의 파이토치에 특별히 관심 있는 사람 - 개발자, 꾸러미 제작자, 최종-사용자, 등은 - 파이토치 페도라 특별 관심 그룹에 참여합니다.

PHP 8.3

PHP 프로그래밍 언어 인터프리터를 위한 스택은 다중 결점 수정 및 개선을 제공하는 버전 8.3으로 향상되었습니다. 주목 할만한 변경은 다음을 포함합니다:

  • 클래스 상수의 명시적 유형 지정

  • 동적 클래스 상수 가져오기

  • 신규 #[\Override] 속성

  • 읽기 전용 속성의 심층-복제

  • 신규 json_validate() 함수

  • 신규 Randomizer::getBytesFromString() 방법

  • 명령 줄 린터(linter)는 다중 파일을 지원합니다

전체 최신화 내용을 위해, 업스트림 출시 기록을 참고하세요.

Golang 1.22

페도라 40은 Golang 버전 1.22를 제공합니다. 완전한 변경 목록을 위해 업스트림 출시 기록을 참고하세요.

파이썬 3.7은 물러납니다

이들 출시와 함께 시작하는, 파이썬 버전 3.7은 2023년 6월의 수명 종료를 고려하여 교체 없이 폐기하도록 고려되었습니다.

LLVM 18

모든 LLVM 하위-프로젝트는 버전 18로 최신화 되었으며, 이는 llvm 라이브러리를 위해 sonmae 버전 변경을 포함합니다. 호환성 꾸러미 clang17, llvm17 및 lld17는 현재 clang 및 llvm 버전 17 라이브러리에서 의존하는 꾸러미가 계속 작동 할 수 있도록 추가되었습니다.

다른 주목 할만한 변경은 다음을 포함합니다:

  • clang은 DWARF-4 대신에 기본값으로 DWARF-5로 나올 것입니다. 이는 업스트림 기본값과 일치합니다. 페도라는 https://bugzilla.redhat.com/show_bug.cgi?id=2064052로 인해 마지막 몇 개의 출시를 위해 DWARF-4를 사용해왔습니다.

  • 호환성 꾸러미는 이제 주요 꾸러미와 같이 동일한 내용을 포함합니다. 이전 출시에서, 호환성 꾸러미는 단지 라이브러리 헤더만 포함하였으며, 바이너리 및 다른 내용은 제거되었습니다. 이들 꾸러미는 다른 RPM 꾸러미를 위한 의존성처럼 사용을 지원되지만, 최종 사용자가 일반적인 목적의 사용을 위해서는 아닙니다. 페도라 사용자는 Clang/LLVM 18을 사용해야 합니다.

  • 페도라 40을 위해 추가된 호환성 꾸러미는 페도라 41 분기 이전에 폐기됩니다.

  • 우리는 만약 이와 같은 기능이 업스트림 LLVM 18 출시를 위한 시간 내에 완성된다면 rehdat-rpm-config에서 Fat LTO를 활성화 할 수 있습니다. Fat LTO는 전통적인 ELF 바이너리 코드와 같은 측면에서 LTO 비트코드를 포함하는 라이브러리를 생성하도록 컴파일러를 허용하는 기능이 있으며 그리하여 라이브러리는 LTO 방식 및 비-LTO 방식 모두 연결 될 수 있습니다. gcc는 또한 이와 같은 기능을 지원하고 페도라에서 해당 부분이 활성화 되어 있습니다. LTO가 활성화된 페도라 39 및 이전 버전에서는, clang은 LTO 비트코드만 함께하는 바이너리를 생산하므로, 그러므로 우리는 라이브러리에서 후-처리 스크립트(brp-llvm-compie-to-elf)를 실행해야 하며 ELF 코드로 이를 변환하여 다른 꾸러미에 의해서 사용 될 수 있습니다. Fat LTO 활성화는 페도라 프로젝트를 이와 같은 스크립트를 제거하도록 하고 제작 처리를 단순화합니다.

자세히 알기 위해 업스트림 출시 기록을 참고하세요.

GNU 개발 도구 모음 최신화

GNU 컴파일러 모음, GNU 바이너리 유틸리티, GNU C 라이브러리 및 GNU 디버거는 GNU 도구모음의 핵심 부분을 차지하며, 사용자가 페도라의 신규 출시를 만들 때에 이러한 구성 요소를 완전한 구현으로 전환하는 데 유용합니다.

GNU 도구 모음의 구성(gcc, glibc, binutils, gdb)은 페도라 40에서 다음 버전으로 최신화 되었습니다:

Boost 1.83

페도라 40은 Boost 1.83을 포함합니다. 더 많은 정보를 위해 업스트림 출시 기록을 참고하세요.

루비 3.3

루비 언어는 이전 페도라 출시에서 제공된 버전 3.2에서 올려 페도라 40에서 버전 3.3으로 최신화 되었습니다. 신규 버전은 Prism 이라고 불리는 신규 구문 분석기가 추가되고, 구문 분석 발생기로 Lrama를 사용하며, RJIT라 불리는 신규 순수-루비 JIT 컴파일러를 추가 및 특히 YJIT 수 많은 성능 향상을 제공합니다.

자세한 내용을 위해, 업스트림 뉴스출시 발표를 참고하세요.

시스템 JDK로 java-21-openjdk

시스템 JDK는 페도라에서 버전 17에서 21로 최신화 되었습니다.

자바 21에 대한 더 많은 정보를 위해, JDK 21 출시 기록, 그리고 이전 안내를 참고하세요.

이와 같은 변경에 대한 빠른 질의응답(FAQ)을 위해 변경 부분도 참고하세요.

Pipenv는 폐기합니다

이와 같은 출시에서, pipenv는 페도라에서 더 이상 꾸러미화 되지 않고 폐기되며, 그리하여 향상(upgrade) 절차를 통해 제거 될 수 있습니다.

아직 pipenv가 필요한 개발자는 직접 pip에서 `pip install --user pipenv`을 통해 설치 할 수 있습니다.