NixOS 25.11 Xantusia: คุณสมบัติใหม่และการเปลี่ยนแปลงที่สำคัญทั้งหมด

  • NixOS 25.11 “Xantusia” ปรับปรุงแพ็คเกจ โมดูล และตัวเลือกหลายพันรายการด้วยการเน้นย้ำที่ความสะอาดและความปลอดภัยเป็นพิเศษ
  • เดสก์ท็อปก้าวไปข้างหน้าด้วย GNOME 49 และการอัปเดตเครื่องมือต่างๆ เช่น LLVM 21, CMake 4 และเวอร์ชันภาษาใหม่
  • การเปลี่ยนแปลงที่เข้ากันไม่ได้จำนวนมากกำลังถูกนำเสนอต่อฐานข้อมูล คอนเทนเนอร์ และบริการ ซึ่งต้องมีการตรวจสอบการกำหนดค่าที่มีอยู่
  • แอปพลิเคชันจำนวนมากกำลังถูกเปลี่ยนชื่อหรือยุติการให้บริการโดยเลือกใช้ทางเลือกที่ทันสมัยกว่า ซึ่งผลักดันระบบนิเวศให้มุ่งไปที่ซอฟต์แวร์ที่ได้รับการดูแลรักษาและปลอดภัย

NixOS 25.11

NixOS กลับมาแล้วพร้อมกับ NixOS 25.11, เวอร์ชั่นที่นำมาซึ่งการเปลี่ยนแปลงอันลึกซึ้งมาก ทั้งในระบบเองและในระบบนิเวศอันกว้างใหญ่ของแพ็กเกจต่างๆ ที่อยู่รอบๆ ระบบปฏิบัติการนี้มีชื่อรหัสว่า "Xantusia" ปัจจุบันเปิดให้ใช้งานแล้วและมาพร้อมกับฟีเจอร์ใหม่ๆ ที่น่าสนใจสำหรับเดสก์ท็อป เซิร์ฟเวอร์ การพัฒนา และการใช้งานบนคลาวด์ แต่ยังมีข้อบกพร่องและแพ็กเกจที่ไม่รองรับอีกจำนวนหนึ่งที่ควรตรวจสอบอย่างละเอียดก่อนอัปเดต

ในบทความนี้เราจะเห็น ข่าวสารสำคัญทั้งหมด จาก NixOS 25.11 และแพ็กเกจพื้นฐานของ Nixpkgs: การอัปเดตสำคัญๆ เช่น GNOME 49, LLVM 21 และ ROCm 6.3; การเปลี่ยนแปลงสำคัญๆ ใน Go, Rust, Node.js, PostgreSQL และ Docker; บริการที่เปลี่ยนชื่อ; โมดูลใหม่; และตัวเลือกการกำหนดค่าเพิ่มเติม นอกจากนี้ เราจะหารือเกี่ยวกับกรณีศึกษาจริงที่เกี่ยวข้องกับปัญหาพร็อกซีเมื่อคอมไพล์ Discord และวิธีการแก้ไขปัญหาในสภาพแวดล้อมใหม่นี้

NixOS 25.11 “Xantusia”: วงจรชีวิตและตัวเลขการเปิดตัว

เวอร์ชันเสถียรใหม่ NixOS 25.11 “Xantusia”ตอนนี้สามารถติดตั้งและอัปเดตบนทุกระบบที่ใช้ช่องทางเสถียรได้แล้ว รุ่นนี้จะได้รับแพตช์ความปลอดภัยและการแก้ไขข้อบกพร่องเป็นเวลาเจ็ดเดือน จนถึงวันที่ 30 มิถุนายน 2026 ดังนั้นจึงเป็นรุ่นอัปเกรดใหม่ที่แนะนำสำหรับผู้ที่เคยใช้เวอร์ชันก่อนหน้า

คอกเดิมครับ NixOS 25.05 “นกวอร์เบลอร์”จะกลายเป็นล้าสมัยอย่างเป็นทางการและจะหยุดรับการอัปเดตด้านความปลอดภัยตั้งแต่วันที่ 31 ธันวาคม 2025 หากคุณยังใช้เวอร์ชัน 25.05 หรือเวอร์ชันที่เก่ากว่านั้น ถือเป็นเวลาที่ดีที่จะวางแผนการย้ายข้อมูลไปยังเวอร์ชัน 25.11 อย่างใจเย็น โดยตรวจสอบการเปลี่ยนแปลงที่เข้ากันไม่ได้ซึ่งเราจะอธิบายรายละเอียดไว้ตลอดทั้งข้อความนี้

การเปิดตัวครั้งนี้ยังเป็นการจัดแสดง อัตราการพัฒนา ของโครงการ ระหว่าง NixOS 25.05 และ NixOS 25.11 มีผู้ร่วมสนับสนุน 2742 คน ร่วมกันลงนามในข้อตกลงการคอมมิต Nixpacks และการกำหนดค่าระบบไม่น้อยกว่า 59.430 รายการ เบื้องหลังตัวเลขเหล่านี้คือทุกสิ่งทุกอย่าง ตั้งแต่การแก้ไขเล็กน้อย ไปจนถึงแพ็คเกจที่ไม่สมบูรณ์ ไปจนถึงการออกแบบใหม่ครั้งใหญ่ของโมดูลการแจกจ่ายที่สำคัญ

Nixpkgs: เพิ่ม อัปเดต และลบแพ็คเกจจาก NixOS 25.11

คอลเลกชันแพ็คเกจ Nixpkgs ซึ่งเป็น กระดูกสันหลัง ไม่เพียงแต่ NixOS เท่านั้น แต่ระบบอื่นๆ ที่ใช้ตัวจัดการแพ็คเกจ Nix บน Linux หรือ macOS ต่างก็ได้รับการบำรุงรักษาครั้งใหญ่ในรอบนี้

ในด้านหนึ่งก็มี เพิ่มแพ็คเกจใหม่ 7002 รายการขยายขอบเขตของซอฟต์แวร์ที่มีอยู่ให้กว้างขวางยิ่งขึ้น ครอบคลุมทุกอย่างตั้งแต่เครื่องมือพัฒนาที่ล้ำสมัยไปจนถึงแอปพลิเคชันเดสก์ท็อป ยูทิลิตี้การจัดการ และซอฟต์แวร์ทางวิทยาศาสตร์

ในเวลาเดียวกันทีมงานก็มี อัปเดตแพ็คเกจที่มีอยู่ 25.252 รายการวิธีนี้ช่วยให้มั่นใจได้ว่าซอฟต์แวร์ยอดนิยมส่วนใหญ่จะได้รับการอัปเดตเป็นเวอร์ชันล่าสุด โดยเฉพาะอย่างยิ่งซอฟต์แวร์ที่มีแพตช์ความปลอดภัยและการปรับปรุงประสิทธิภาพ สิ่งนี้มีความสำคัญอย่างยิ่งในสภาพแวดล้อมที่ความสามารถในการทำซ้ำได้เป็นสิ่งจำเป็น ขณะเดียวกันก็รักษาความทันสมัยให้อยู่ในระดับที่เหมาะสม

เพื่อรักษาที่เก็บข้อมูลให้สามารถจัดการได้และปลอดภัย Nixpkgs ได้ 6338 แพ็คเกจเก่าที่ถูกลบออก ที่ไม่ได้รับการบำรุงรักษาอีกต่อไป เสียหาย หรือล้าสมัยไปแล้ว ในหลายกรณี มีทางเลือกโดยตรงอยู่ภายใน Nixpkgs tree เอง แต่ในบางกรณี ทางเลือกเหล่านี้ถูกทำให้ไม่สามารถใช้งานได้เพื่อหลีกเลี่ยงปัญหาด้านความปลอดภัยหรือการคอมไพล์

โมดูล NixOS และตัวเลือกการกำหนดค่า

นอกเหนือจากแพ็กเกจต่างๆ แล้ว NixOS ยังโดดเด่นด้วยระบบโมดูลประกาศที่ทรงพลัง วงจรนี้ประกอบด้วย รวมโมดูลใหม่ 107 โมดูลการอัปเดตเหล่านี้เพิ่มการรองรับบริการ เดมอน แอปพลิเคชัน และการกำหนดค่าระบบใหม่ๆ นอกจากนี้ยังมีตัวเลือกการกำหนดค่าใหม่ 1778 รายการ ช่วยเพิ่มระดับความละเอียดในการอธิบายระบบให้มากขึ้น

ในทางกลับกันก็มี ถอดโมดูลออก 41 โมดูล และตัวเลือกการกำหนดค่า 807 ตัวที่ล้าสมัย ใช้งานไม่ได้ หรือถูกแทนที่ด้วยตัวเลือกที่ทันสมัยกว่า หากคุณนำการกำหนดค่าแบบเก่ามาใช้ซ้ำ ขอแนะนำให้ตรวจสอบประกาศการเลิกใช้งานเพื่อปรับเปลี่ยนไฟล์ของคุณก่อนการอัปเกรด

คุณสมบัติใหม่ที่น่าสังเกตบนเดสก์ท็อป: GNOME 49 “Brescia”

หนึ่งในฟีเจอร์ใหม่ที่สำคัญสำหรับผู้ใช้เดสก์ท็อปคือการอัปเดต GNOME 49 “เบรสชา”เวอร์ชันของสภาพแวดล้อมเดสก์ท็อปนี้เป็นก้าวสำคัญสู่ Wayland และขจัดเซสชันที่ใช้ X11 ซึ่งอาจถือเป็นการเปลี่ยนแปลงครั้งสำคัญหากคุณยังคงใช้การกำหนดค่าหรือส่วนขยายแบบเก่าที่ขึ้นอยู่กับ Xorg อย่างชัดเจน

GNOME 49 รวมเอา แอปพลิเคชั่นใหม่ ซึ่งรวมถึงโปรแกรมเล่นวิดีโอที่ปรับปรุงใหม่และโปรแกรมดูเอกสารที่อัปเดต รวมถึงปฏิทินที่ออกแบบใหม่ และการปรับปรุงประสบการณ์ผู้ใช้เล็กๆ น้อยๆ อีกมากมาย ขอแนะนำให้ตรวจสอบบันทึกประจำรุ่นอย่างเป็นทางการของ GNOME หากคุณใช้งานฟังก์ชันการทำงานเฉพาะหรือส่วนขยายที่ซับซ้อน

คอมไพเลอร์และทูลเชน C: LLVM, GCC และ CMake

ในส่วนการรวบรวม การอัปเดต NixOS 25.11 LLVM เป็นเวอร์ชัน 21นี่เป็นก้าวสำคัญสำหรับนักพัฒนาที่ใช้ C, C++ หรือ Rust ร่วมกับ Clang toolchain เวอร์ชันนี้ประกอบด้วยการปรับปรุงประสิทธิภาพ เป้าหมายที่รองรับใหม่ และการปรับเปลี่ยนคำเตือนที่อาจทำให้เกิดการเปลี่ยนแปลงพฤติกรรมในบางโปรเจกต์

คอมไพเลอร์ GCC ยังคงอยู่ในสาขา 14นี่คือเวอร์ชันที่ได้รับการพัฒนาและทดสอบแล้วในการใช้งานจริง ซึ่งช่วยให้สามารถรักษาความเข้ากันได้กับโปรเจกต์ที่ยังคงใช้คอมไพเลอร์ตระกูลนี้ได้ง่ายขึ้น โดยไม่ต้องพบกับการเปลี่ยนแปลงที่รบกวนการทำงานในการอัปเดตระบบแต่ละครั้ง

สำหรับส่วนของตน CMake ได้รับการอัปเดตเป็นเวอร์ชัน 4 แล้วการทำเช่นนี้สามารถเปิดใช้งานฟีเจอร์ใหม่ ๆ ในระบบบิลด์สมัยใหม่ได้ แต่อาจจำเป็นต้องปรับเปลี่ยนโปรเจ็กต์ที่ใช้ไวยากรณ์หรือคำสั่งที่ล้าสมัย หากคุณมีเทมเพลต CMake รุ่นเก่า ควรรันการทดสอบบิลด์ก่อนทำการโยกย้ายให้เสร็จสิ้น

GPU การคำนวณ และการเปลี่ยนแปลงใน ROCm และ CUDA

สำหรับผู้ที่ทำงานด้วยการเร่งความเร็ว GPU สาขา rocmPackages_6 อัปเกรดเป็น ROCm 6.3ในขณะที่ rocmPackages_5 มันถูกถอดออกจากต้นไม้แล้ว บางส่วนถูกปรับโครงสร้างใหม่: rocmPackages.rocm-thunk มันหายไปเป็นแพ็คเกจแยกและรวมเข้าไว้ด้วยกัน rocmPackages.clrและ rocmPackages.clang-ocl เขาจะเกษียณหลังจากถูก AMD ทิ้งในปี 2023

ในแบบคู่ขนาน, การสนับสนุนอย่างเป็นทางการสำหรับ CUDA 10 สูญหายไปตามที่ได้กล่าวไว้แล้วในบันทึกย่อการเปิดตัว NixOS 24.11 ผู้ใช้ที่ยังคงสนับสนุนฮาร์ดแวร์รุ่นเก่ามากควรพิจารณาอัปเกรด GPU หรือตรวจสอบว่ามีทางเลือกอื่นที่บำรุงรักษาไว้จากผู้ผลิตหรือแบ็กเอนด์อื่นหรือไม่

เบราว์เซอร์ พร็อกซี และปัญหาในการคอมไพล์ Discord

ปัญหาเชิงปฏิบัติประการหนึ่งที่ปรากฏให้เห็นในเวอร์ชันนี้คือ การใช้พร็อกซีในระหว่างการรวบรวมผู้ใช้บรรยายว่าพวกเขาสามารถดาวน์โหลดไฟล์ได้อย่างไร discord-0.0.116.tar.gz จากเบราว์เซอร์โดยใช้พร็อกซีขององค์กร แต่เมื่อใช้งาน nixos-rebuild การดาวน์โหลดด้วย curl ล้มเหลวซ้ำแล้วซ้ำเล่าพร้อมข้อผิดพลาด curl: (35) Recv failure: Connection reset by peer จนกว่าความพยายามทั้งหมดจะหมดสิ้นไป

ข้อความแสดงข้อผิดพลาด Nix ระบุว่า ไม่สามารถดาวน์โหลดไฟล์ Discord tarball ได้ จากไม่มีกระจก จึงทำลายการอนุมาน discord-0.0.116.tar.gz.drv และในทางกลับกัน การสร้างสภาพแวดล้อมผู้ใช้และระบบทั้งหมด แม้ว่าบันทึกจะแสดงคำเตือนของการลองซ้ำอัตโนมัติ แต่ตัวแปรเช่น https_proxy o all_proxyสิ่งนี้บ่งบอกว่าสภาพแวดล้อมรันไทม์ภายในแซนด์บ็อกซ์การสร้างไม่เห็นการกำหนดค่าเครือข่ายของผู้ใช้

ใน NixOS ตัวแปรสภาพแวดล้อมพร็อกซีมาตรฐาน พวกมันอาจไม่แพร่กระจายไปยัง fork โดยตรง หากใช้การแซนด์บ็อกซ์อย่างเข้มงวด หรือหากการกำหนดค่าระบบไม่ได้ส่งออกพวกมันไปยัง build วิธีแก้ปัญหาทั่วไปคือการกำหนดค่าตัวเลือก Nix เป็น nix.extraOptions ที่จะรวม http_proxy, https_proxy และบริษัท หรือปิดการใช้งานแซนด์บ็อกซ์ชั่วคราวสำหรับเครื่องนั้น (ไม่แนะนำให้ใช้ในระยะยาว) ในขณะที่ปรับแต่งพร็อกซีเซิร์ฟเวอร์เพื่ออนุญาตการรับส่งข้อมูลจาก IP ของผู้สร้าง

อีกทางเลือกหนึ่งคือการหันไปใช้ แคชไบนารีที่มี Discord อยู่แล้ว หรือแพ็กเกจที่มีปัญหาอื่นๆ ทำให้ Nix ไม่ต้องดาวน์โหลดต้นทางโดยตรง ไม่ว่าในกรณีใด ข้อผิดพลาดเครือข่ายประเภทนี้จะมีความสำคัญมากขึ้นในเวอร์ชันเช่น 25.11 ซึ่งย้ายชิ้นส่วนจำนวนมากพร้อมกัน และอาจนำไปสู่พฤติกรรมที่แตกต่างกันในวิธีการแก้ไข URL

เครือข่าย คอนเทนเนอร์ และบริการเว็บ

ในด้านเครือข่ายและคอนเทนเนอร์ NixOS 25.11 แนะนำการเปลี่ยนแปลงที่สำคัญ อัปเกรดพร็อกซี HTTP ของ Squid เป็นเวอร์ชัน 7รุ่นนี้มีการเปลี่ยนแปลงหลายอย่างที่เข้ากันไม่ได้ เช่น การนำฟังก์ชัน ESI ออก สำหรับการปรับแต่งการตั้งค่าแบบกำหนดเอง ขอแนะนำให้ตรวจสอบบันทึกประจำรุ่นของ Squid

ในระดับการประสานเสียง containerd อัปเดตเป็นสาขา 2.xสิ่งนี้นำมาซึ่งการเปลี่ยนแปลงพฤติกรรมหลายประการ ไม่ว่าคุณจะใช้ containerd โดยตรงหรือเป็นส่วนประกอบของแพลตฟอร์ม การตรวจสอบเอกสารประกอบของ containerd 2.0 เป็นสิ่งสำคัญเพื่อหลีกเลี่ยงความประหลาดใจในการใช้งานจริง

ในโลกของ Docker docker_24 ถูกลบออกจากต้นไม้ เนื่องจากไม่ได้รับการสนับสนุนอีกต่อไปและมีช่องโหว่ที่ทราบตั้งแต่เดือนมิถุนายน 2024 แนวคิดคือการผลักดันการติดตั้งไปยัง Docker เวอร์ชันใหม่กว่าและได้รับการบำรุงรักษา

เกี่ยวกับเซิร์ฟเวอร์และแผงควบคุม NetBox ได้รับการอัปเดตเป็นสาขา 4.2โดยมีการเปลี่ยนแปลงที่สำคัญทั้งในระดับโครงร่างและพฤติกรรม เวอร์ชัน 4.0.x จะถูกลบออกจากโครงสร้าง และขอแนะนำให้ผู้ใช้ปฏิบัติตามการแจ้งเตือนสำหรับการอัปเดต 4.1 และ 4.2 ก่อนอัปเกรด บริการอื่นๆ เช่น มาโตโมะ พวกเขาจะเปลี่ยนไปใช้เวอร์ชัน 5 ตามค่าเริ่มต้น (เวอร์ชัน 4 ไม่ได้รับการสนับสนุนอีกต่อไป) และแพ็คเกจจะถูกลบออก matomo-beta เนื่องจากตอนนี้สามารถเขียนทับเวอร์ชันจากได้ง่าย overrideAttrs.

คาฟคายังทำก้าวกระโดดที่สำคัญอีกด้วย: Apache Kafka ได้รับการอัปเดตเป็นสาขา 4.0ซึ่งไม่รองรับ ZooKeeper อีกต่อไป การติดตั้งทั้งหมดต้องย้ายไปยังโหมด KRaft ตามแนวทางของ Apache Foundation สำหรับ NixOS การดำเนินการนี้เกี่ยวข้องกับการตรวจสอบการกำหนดค่าเพื่อลบการอ้างอิงถึง ZooKeeper และการปรับใช้งานโบรกเกอร์

บริการ เดมอน และแอปพลิเคชันที่เปลี่ยนแปลงหรือหายไปจาก NixOS 25.11

รายการของ แพ็คเกจและบริการที่ถูกเปลี่ยนชื่อ อัปเดตไม่เข้ากัน หรือเลิกใช้ ในรอบนี้ถือว่ายาวนานมาก เป็นสัญญาณของความเต็มใจที่จะทำความสะอาดซอฟต์แวร์เก่าหรือซอฟต์แวร์ที่มีปัญหา

ตัวอย่างที่น่าสังเกตบางประการ: กราเคน หายแล้วแนะนำให้ใช้ครับ coolercontrol เป็นทางเลือก; opensmtpd-extras กำลังถูกลบออกเนื่องจากไม่เข้ากันได้กับ OpenSMTPD 7.6.0+ จึงเปิดทางให้กับแพ็คเกจเฉพาะ opensmtpd-table-*; ซัมมัด จะหยุดสนับสนุน MySQL และบังคับให้ผู้ใช้ทำการโยกย้ายไปยัง PostgreSQL ตามคำแนะนำอย่างเป็นทางการ

ในโลกแห่งชื่อ Minetest ตอนนี้เรียกว่า Luanti แล้ว เพื่อสะท้อนการเปลี่ยนแปลงต้นน้ำ แต่นามแฝงยังคงถูกเก็บรักษาไว้เพื่อหลีกเลี่ยงการหยุดชะงักทันที ในทำนองเดียวกัน การเปลี่ยนแปลง poac ใน cabinpkg, xdragon กลายเป็น dragon-drop (กับ xdragon (เป็นนามแฝง) และ ซิดัค76-เซนต์ มันถูกเปลี่ยนชื่อเป็น st-snazzyมีตัวอักษรเล็กด้วย คือ ฟอนต์ ซีเรียส-แซนส์ กำลังถอนออกเนื่องจากอัปสตรีมได้เปลี่ยนชื่อเป็น Serious Shanns ยังไม่ได้บรรจุ

โครงการอื่น ๆ จะถูกเก็บถาวรไว้เพียง: gkraken, ephemeral, vocal, fluxus, sm64ex-coop, nexusmods-app, nodePackages.ganache และอีกมากมายถูกทำเครื่องหมายว่าชำรุด ไม่ได้รับการบำรุงรักษา หรือไม่ปลอดภัย และถูกนำออกจาก Nixpacks ในหลายกรณี มีการแนะนำทางเลือกอื่น (ตัวอย่างเช่น sm64coopdx เพื่อแทนที่ sm64ex-coop หรือ gnome-podcasts y kasts เพื่อแทนที่สระ)

ในสภาพแวดล้อมการส่งข้อความและความเป็นส่วนตัว แพ็กเก็ต signald, signaldctl และ purple-signald การบริการเหล่านี้จะถูกยกเลิกเนื่องจากความไม่เข้ากันเป็นเวลานานกับเซิร์ฟเวอร์อย่างเป็นทางการของ Signal และเซิร์ฟเวอร์ Matrix ท่อส่ง ถูกทำเครื่องหมายว่ามีความเสี่ยงหลังจากถูกยกเลิกโดยนักพัฒนา

เวอร์ชันใหม่และการเปลี่ยนแปลงพฤติกรรมในแอปพลิเคชันยอดนิยม

นอกจากการหายไปแล้ว แอพพลิเคชั่นจำนวนมากยังได้รับการอัปเดตด้วย การเปลี่ยนแปลงพฤติกรรมที่ทำลายความเข้ากันได้. ยกตัวอย่างเช่น ตัวแทน Grafana และโมดูลของมัน พวกเขากำลังออกจากที่เกิดเหตุเพื่อไปสนับสนุน Grafana Alloy ซึ่งมีบริการของตัวเองอยู่แล้ว services.alloyGrafana แนะนำให้ย้ายไปที่ grafana-alloy และจัดเตรียมเอกสารเพื่อดำเนินการโอนให้เสร็จสมบูรณ์

ระบบนิเวศของจอภาพและแผงควบคุมก็มีการพัฒนาเช่นกัน: โพรมีธีอุสก้าวกระโดดสู่สาขา 3.xพร้อมบันทึกการอพยพอย่างเป็นทางการ ขณะที่ คานาตะ, ออเธเลีย, เฮล์มไฟล์, ตัวแทนนโยบายเปิด และแพ็คเกจอื่นๆ อีกมากมายได้รับการอัปเดตเป็นเวอร์ชันหลักพร้อมการเปลี่ยนแปลงไวยากรณ์ รูปแบบการกำหนดค่า และค่าเริ่มต้น โดยเฉพาะอย่างยิ่ง OPA ทำให้ rego.v1 เป็นรูปแบบเริ่มต้นแล้วโดยทำเครื่องหมายรูปแบบ v0 ว่าได้รับการสืบทอด แม้ว่าโหมดความเข้ากันได้ยังคงอยู่

โลกของเดสก์ท็อปก็ไม่ห่างไกลจากเรา: GIMP 3.0 ปรากฏเป็น gimp3, สตรอเบอร์รี่ได้รับการอัพเดตเป็นซีรีส์ 1.2 และละทิ้ง VLC และ Qt5 backend (แพ็กเกจหายไป) strawberry-qt5 และตัวเลือกบางส่วนกับ GStreamer/VLC) โรฟี่ มีตั้งแต่ 1.7.5 ถึง 1.7.6 พร้อมการเปลี่ยนแปลง ABI ในปลั๊กอินไบนารี และ tauon 7.9.0+ ฐานข้อมูลของคุณกำลังถูกย้ายไปยังรูปแบบที่เข้ากันไม่ได้แบบย้อนหลัง ดังนั้นขอแนะนำให้ทำการสำรองข้อมูล ~/.local/share/TauonMusicBox ก่อนที่จะเปิดเวอร์ชั่นใหม่

ในด้านการพัฒนาเว็บและ JavaScript nodejs_latest พัฒนาเป็นซีรีส์ 24.x, ถูกคัดออก nodejs_23 y nodejs_18และทำความสะอาดแพ็กเกจ Node ที่ไม่ควรเป็นแบบสากล (เช่น webpack-dev-server, copy-webpack-plugin, expo-cli o create-react-native-app) โดยแนะนำให้ติดตั้งในระดับโครงการ เครื่องมือต่างๆ เช่น pnpm ข้ามไปเป็นเวอร์ชัน 10 พร้อมแพ็คเกจรอง pnpm_9 สำหรับผู้ที่ต้องการความเข้ากันได้

มีการปรับแต่งแบบอักษรด้วย: nerdfonts แบ่งออกเป็นแพ็คเกจแยกกัน ภายใต้เนมสเปซ nerd-fonts และเส้นทางการติดตั้งสำหรับแบบอักษรจะเปลี่ยนไป โดยตอนนี้จะมีไดเร็กทอรีตามประเภทแบบอักษร (<fontDirName>สิ่งนี้บังคับให้เราปรับเปลี่ยนการกำหนดค่าที่ชี้ไปยังเส้นทางเก่า

การเปลี่ยนแปลงในเคอร์เนล ฮาร์ดแวร์ และสภาพแวดล้อมของระบบ

ในระดับระบบก็ถูกละทิ้ง รองรับ Darwin 32 บิตเต็มรูปแบบโดยยังคงรักษาแพลตฟอร์มที่ทันสมัยไว้เท่านั้น นอกจากนี้ การกำหนดค่าสามแบบของ aarch64-darwin สอดคล้องกับ arm64-apple-darwinสอดคล้องกับความคาดหวังของ Apple และ LLVM

บรรจุภัณฑ์ ทินี่ซีซี จากนั้นจะแยกเอาท์พุตออกเป็น dev, doc y lib, การทำ tinycc.out มีเฉพาะไฟล์ไบนารี tcc และคอมไพเลอร์แบบครอสเท่านั้น ใน TPM tpm2-pkcs11 มันคอมไพล์โดยไม่มีการสนับสนุนสำหรับ abrmd โดยค่าเริ่มต้น จะให้ความสำคัญกับตัวจัดการทรัพยากรเคอร์เนล หากคุณต้องการตัวแปรที่มี abrmd ก็มีอยู่ tpm2-pkcs11.abrmdและโมดูล NixOS จะเลือกโดยอัตโนมัติตาม security.tpm2.abrmd.

ใน udev กฎของ ลิบเจย์ลิงก์ ตอนนี้พวกเขาเรียกร้องที่จะเป็นส่วนหนึ่งของกลุ่ม jlink แทนที่ plugdevสิ่งนี้ไม่ค่อยเกิดขึ้นบ่อยนักใน NixOS การเข้าถึงยังได้รับอนุญาตผ่านเซสชันที่นั่ง ดังนั้นผลกระทบจึงจำกัดหากคุณใช้เดสก์ท็อปมาตรฐาน

อุปกรณ์ประกอบฉาก เอ็มเคไบนารีแคช ได้รับการปรับปรุงให้ทันสมัยและเริ่มใช้งานได้แล้ว zstd เป็นการบีบอัดค่าเริ่มต้น

สำหรับแคชไบนารีที่สร้างขึ้นตัวเลือกในการดำเนินการต่อยังเปิดอยู่ xz ตลอด compression = "xz";สิ่งนี้ช่วยปรับปรุงประสิทธิภาพในการสร้างและการใช้ไฟล์ไบนารีในกรณีส่วนใหญ่

ในตัวเลือกเครือข่าย networking.nat.externalIP และ externalIPv6 เปลี่ยนพฤติกรรมของพวกเขา: กฎของ networking.nat.forwardPorts กฎเหล่านี้มีผลเฉพาะกับแพ็กเก็ตที่ถูกกำหนดเส้นทางไปยัง IP ที่ระบุอย่างชัดเจนเท่านั้น วิธีนี้ช่วยป้องกันการเปลี่ยนเส้นทางที่ไม่คาดคิด แต่อาจจำเป็นต้องปรับเปลี่ยนนิยาม NAT ที่มีอยู่

ในการจัดการระบบไฟล์ คำจำกัดความ ระบบไฟล์ (เช่น fileSystems."/") จะถูกตั้งค่าโดยใช้ lib.mkDefault จากโมดูล NixOS ซึ่งช่วยให้สามารถแทนที่ทั้งหมดในคราวเดียวได้ แต่จะทำให้เกิดข้อผิดพลาดหากเขียนทับเฉพาะแอตทริบิวต์แต่ละรายการโดยไม่ได้ระบุ deviceมิฉะนั้นคุณอาจพบข้อความเช่น No device specified for mount point '/'.

การแก้ไขข้อความ สภาพแวดล้อมการพัฒนา และยูทิลิตี้ต่างๆ ของ NixOS 25.11

ในจักรวาล Emacs, NixOS 25.11 ลบ Emacs 28 และ 29มีทั้งเวอร์ชันมาตรฐานและเวอร์ชัน Macport สำหรับ Emacs 28 ส่วน Emacs 29 รุ่น Macport ยังคงได้รับการบำรุงรักษาอยู่ แต่มีแพตช์สำหรับช่องโหว่ที่ทราบแล้ว Racket ก็กำลังดำเนินการตัดทอนเช่นกัน: racket_7_9 ถูกถอนออกเนื่องจากไม่ปลอดภัยการผลักดันให้ใช้ Racket 8 และด้วยเหตุนี้จึงขจัด Fluxusซึ่งอาศัยเวอร์ชันที่ไม่ได้รับการบำรุงรักษามานานหลายปี

เครื่องมือค้นหาข้อความ บินวอล์ค 3.1.0 เขียนใหม่ใน Rust และโมดูล Python ที่เกี่ยวข้องไม่สามารถใช้งานได้ เครื่องมือบัญชีส่วนบุคคล python3Packages.beancount เพิ่มขึ้นเป็น 3.1 โดยที่ซีรีย์ก่อนหน้ายังคงอยู่ที่ beancount_2ในอีเมล์และ CLI TLDR เปลี่ยนไปใช้ไคลเอนต์ Python แทน C และ เทือกเขาหิมาลัย มีการอัปเดตเป็นเวอร์ชัน 1.1.0 พร้อมการเปลี่ยนแปลงครั้งสำคัญที่ต้องมีการตรวจสอบการกำหนดค่า

ในเครื่องมือต่างๆ nq 1.0 เปลี่ยนชื่อ fq และ tq เป็น nqtail และ nqterm, zf 0.10.2 มันเปลี่ยนวิธีการจัดการ Unicode และลำดับการหลบหนี และ ast-grep ลบคำสั่ง sg เพื่อหลีกเลี่ยงความขัดแย้งกับ shadow-utils ในขณะที่ยังคงอนุญาตให้ใช้เวอร์ชันความเข้ากันได้แบบเก่าผ่าน enableLegacySg = true;.

ในเวลาเดียวกันครอบครัวของฟังก์ชันบันทึกมาตรฐาน nixLog* มีการเขียนใหม่เพื่อนำหน้าระดับการดีบักและชื่อฟังก์ชันที่เรียก แนะนำอีกครั้ง nixLog เป็นตัวบันทึกแบบไม่มีเงื่อนไขที่เพิ่มบริบทของฟังก์ชันเข้าไปด้วย ซึ่งทำให้การดีบักอนุพันธ์และฮุกที่ซับซ้อนง่ายขึ้น

สุดท้ายนี้ มียูทิลิตี้ทดสอบบางอย่างเช่น ผู้ทดสอบ.shellcheck ตอนนี้พวกเขาจะเตือนคุณหากไม่ได้ระบุแอตทริบิวต์ nameซึ่งจะกลายเป็นสิ่งจำเป็นในเวอร์ชันต่อ ๆ ไป และใน Haskell testTarget ถูกทำเครื่องหมายว่าล้าสมัย ในความโปรดปรานของ testTargetsซึ่งยอมรับรายการเป้าหมายที่ชัดเจนแทนสตริงที่คั่นด้วยช่องว่าง

NixOS เวอร์ชัน 25.11 ได้รวบรวมการเปลี่ยนแปลงจำนวนมาก ตั้งแต่เดสก์ท็อป GNOME 49 และการอัปเดตแพ็คเกจขนาดใหญ่ ไปจนถึงการปรับเปลี่ยนอย่างลึกซึ้งในชุดเครื่องมือ บริการเครือข่าย และนโยบายความเข้ากันได้ ทำให้เป็นรุ่นสำคัญสำหรับทุกคนที่ต้องการให้สภาพแวดล้อม Nix ของตนอัปเดตอยู่เสมอโดยไม่หลงลืม ความเสถียรและการทำซ้ำได้ ที่เป็นลักษณะของโครงการ

NixOS 24.11
บทความที่เกี่ยวข้อง:
ทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับการเปิดตัว NixOS 24.11 ที่รอคอยมานาน