Django หนึ่งในเฟรมเวิร์คยอดนิยมในภาษา Python ออกเวอร์ชั่น 5.0 สองปีหลัง 4.0 มีการปรับฟีเจอร์เพิ่มไม่มากนัก แต่เป็นการปรับเวอร์ชั่นหลักเนื่องจากถอดฟีเจอร์บางส่วน ร่วมถึงหยุดซัพพอร์ต Python 3.8 และ 3.9 ออก

Django หนึ่งในเฟรมเวิร์คยอดนิยมในภาษา Python ออกเวอร์ชั่น 5.0 สองปีหลัง 4.0 มีการปรับฟีเจอร์เพิ่มไม่มากนัก แต่เป็นการปรับเวอร์ชั่นหลักเนื่องจากถอดฟีเจอร์บางส่วน ร่วมถึงหยุดซัพพอร์ต Python 3.8 และ 3.9 ออก ส่วนฟีเจอร์ที่เพิ่มขึ้นมา รายการสำคัญๆ ได้แก่ ระบบเรนเดอร์ฟอร์มแบบใหม่ สามารถทำเป็น field group ได้ทัน ไม่ต้องเขียนฟิลด์ต่างๆ เช่น ชื่อฟิลด์, ช่องอินพุต, หรือช่องแสดงข้อความผิดพลาด แยกกันไปเองอีก Computed default: ค่าเริ่มต้นของแต่ละฟิลด์สามารถคำนวณค่าจากโค้ดได้ GeneratedField: ฟิลด์ที่คำนวณจากฟิลด์อื่นๆ ฟิลด์แบบตัวเลือก: choice รองรับข้อมูลที่ซับซ้อนขึ้นมาก ตั้งแต่การใช้ map ไปจนถึงการเรียกฟังก์ชั่น แพ็กเกจเปิดให้ดาวน์โหลดใน PyPI แล้ว ส่วนผู้ใช้ Django 4.x มีเวลาให้อัพเกรดอีกสองปี ที่มา – Django

OpenZFS ออกเวอร์ชั่น 2.2.1 ปิดการทำงานฟีเจอร์ Block Cloning หลังพบปัญหาข้อมูลสูญหายในบางกรณี โดยตอนนี้ยังไม่พบสาเหตุที่ชัดเจน

OpenZFS ออกเวอร์ชั่น 2.2.1 ปิดการทำงานฟีเจอร์ Block Cloning หลังพบปัญหาข้อมูลสูญหายในบางกรณี โดยตอนนี้ยังไม่พบสาเหตุที่ชัดเจน Block Cloning เป็นฟีเจอร์ที่ลดการใช้พื้นที่ดิสก์ในกรณีที่ต้องการสำเนาไฟล์ไปยังไฟล์ใหม่ ผลการทำงานคล้ายกับฟีเจอร์ Deduplication ในระบบไฟล์หลายระบบ ที่ตรวจสอบว่าข้อมูลในบล็อคแต่ละชุดเหมือนกันหรือไม่หากเหมือนกันให้เก็บไว้ชุดเดียว แต่ Block Cloning นั้นทำงานด้วย system call เฉพาะว่าขอสำเนาข้อมูลใน block มาใช้งานทำให้กระบวนการโดยรวมเรียบง่ายกว่า บั๊กนี้กระทบ OpenZFS 2.2.0 ที่เพิ่งออกมาไม่นาน และมีดิสโทรไม่มากนักที่รวมไปใช้งานแล้ว เช่น FreeBSD 14 แต่ทาง FreeBSD ก็ปิดฟีเจอร์ Block Cloning เป็นค่าเริ่มต้น ความน่ากลัวคือผู้ใช้อาจจะข้อมูลหายโดยไม่รู้ตัวเนื่องจาก ZFS จะรายงานว่าระบบไฟล์ยังอยู่ดีแม้ไฟล์จะเสียหายไปแล้ว ทางตรวจสอบคือต้องรัน checksum ข้อมูลในไฟล์ด้วยตัวเอง ที่มา – The Register

PHP ออกเวอร์ชัน 8.3 ตามนโยบายการออกรุ่นใหม่ปีละ 1 ครั้งช่วงปลายปี มีของใหม่ที่ระดับของตัวภาษาหลายอย่าง

PHP ออกเวอร์ชัน 8.3 ตามนโยบายการออกรุ่นใหม่ปีละ 1 ครั้งช่วงปลายปี มีของใหม่ที่ระดับของตัวภาษาหลายอย่าง Typed Class Constants เป็นการกำหนดชนิด (type) ของค่าคงที่ (const) ให้ชัดเจนขึ้น จากของเดิมที่สันนิษฐานว่าเป็น string เสมอ แต่ในเวอร์ชันนี้อาจกำหนดเป็นชนิดอื่น (เช่น array) แต่แรกเลยได้ Dynamic Class Content Fetch เรียกใช้ class constants ได้จากซินแทกซ์ C::{$name} เพิ่ม attribute ใหม่ชื่อ #[\Override] ให้เมธอด เพื่อเจาะจงว่าต้องการเขียนทับเมธอดชื่อเดียวกันที่มีอยู่ก่อน ยอมให้ปรับแก้ค่าของคุณสมบัติ readonly ตอนทำ cloning เพิ่มเมธอดใหม่ Randomizer::getBytesFromString(), Randomizer::getFloat(), Randomizer::nextFloat() การมาถึงของ PHP 8.3 ยังจะส่งผลให้ PHP 8.0 หมดอายุซัพพอร์ตในวันที่ 26 พฤศจิกายน 2023 … Read more

OpenSSL ออกเวอร์ชั่น 3.2.0 ตัวจริง โดยเพิ่มฟีเจอร์หลายอย่าง ฟีเจอร์ที่สำคัญที่สุดคือการรองรับ QUIC หรือ RFC9000 เปิดทางให้โปรแกรม์ต่างๆ ที่ใช้ OpenSSL เชื่อมต่อกับเซิร์ฟเวอร์ได้เร็วขึ้น

OpenSSL ออกเวอร์ชั่น 3.2.0 ตัวจริง โดยเพิ่มฟีเจอร์หลายอย่าง ฟีเจอร์ที่สำคัญที่สุดคือการรองรับ QUIC หรือ RFC9000 เปิดทางให้โปรแกรม์ต่างๆ ที่ใช้ OpenSSL เชื่อมต่อกับเซิร์ฟเวอร์ได้เร็วขึ้น การที่ OpenSSL เพิ่งรองรับ QUIC ครั้งนี้ก็นับว่าช้ากว่ามาตรฐานถึงสองปีครึ่ง ขณะที่เบราว์เซอร์ต่างๆ มักรองรับ QUIC กันล่วงหน้าตั้งแต่มาตรฐานจริงยังไม่ออกมา และ OpenSSL นั้นเป็นไลบรารีสำหรับเชื่อมต่อเท่านั้น ไม่สามารถใช้งานเป็น HTTP/3 client ได้ แม่จะเปิดการเชื่อมต่อได้ก็ตาม ในเวอร์ชั่นนี้ OpenSSL ยังเพิ่มการรองรับกระบวนการเข้ารหัสอีกหลายรูป รวมถึงเปิดทางให้ใส่กระบวนการยืนยันกุญแจเข้ารหัสเพิ่มเติมในอนาคต เปิดทางให้ใส่กระบวนการแลกกุญแจแบบทนทานต่อคอมพิวเตอร์ควอนตัมได้ และฟีเจอร์สำคัญอีกอย่างคือรองรับการใช้ฐานข้อมูล root certificate ของวินโดวส์ แม้จะปิดไว้เป็นค่าเริ่มต้นก็ตามแต่สามารถเปิดกลับมาได้ด้วย environment variable ที่มา – OpenSSL

Microsoft Edge ออกเวอร์ชัน 118 มีของใหม่ที่น่าสนใจคือ Find on Page หรือ Ctrl+F ที่ใช้ค้นหาคำในหน้าเว็บ เพิ่มพลัง AI เป็น Smart Find ช่วยแนะนำคำค้นที่ใกล้เคียงกันให้ด้วย หากสะกดคำค้นผิดก็ช่วยแก้เป็นคำที่ถูกต้องให้เช่นกัน

Microsoft Edge ออกเวอร์ชัน 118 มีของใหม่ที่น่าสนใจคือ Find on Page หรือ Ctrl+F ที่ใช้ค้นหาคำในหน้าเว็บ เพิ่มพลัง AI เป็น Smart Find ช่วยแนะนำคำค้นที่ใกล้เคียงกันให้ด้วย หากสะกดคำค้นผิดก็ช่วยแก้เป็นคำที่ถูกต้องให้เช่นกัน เบื้องหลังของ Smart Find ใช้วิธีส่งคำค้นไปยังไมโครซอฟท์เพื่อวิเคราะห์หาคำที่เกี่ยวข้องกัน ตรงนี้อาจมีความกังวลด้านความเป็นส่วนตัวบ้าง หากเป็นการใช้งานในองค์กร แอดมินสามารถสั่งปิดได้จาก policy ชื่อว่า RelatedMatchesCloudServiceEnabled ส่วนผู้ใช้ทั่วไปปิดค่านี้ได้จาก Settings > Privacy > Include related matches in Find on page ที่มา – Microsoft, Neowin

PostgreSQL ออกเวอร์ชั่น 16.0 โดยเวอร์ชั่นนี้ไม่ได้มีฟีเจอร์ใหญ่ๆ นัก แต่เป็นการปรับปรุงย่อยๆ จำนวนมาก เช่น

PostgreSQL ออกเวอร์ชั่น 16.0 โดยเวอร์ชั่นนี้ไม่ได้มีฟีเจอร์ใหญ่ๆ นัก แต่เป็นการปรับปรุงย่อยๆ จำนวนมาก เช่น ปรับปรุงประสิทธิภาพการคิวรีเมื่อใช้ aggregate function เมื่อใช้ DISTINCT หรือ ORDER BY ใช้ชุดคำสั่ง SIMD ในซีพียู ทั้ง x86 และ Arm เร่งความเร็วการประมวลผลสตริงแบบ ASCII และ JSON รวมถึงเร่งความเร็วการประมวลผล array ปรับปรุงการทำ logical replication สามารถดึงข้อมูลไปจาก standby instance ได้ แทนที่จะต้องดึงจาก primary อย่างเดียว เพิ่มฟังก์ชั่นเกี่ยวกับ JSON บางส่วน สามารถใส่ขีดล่าง (underscore) เพื่อคั่นตัวเลขได้ เช่น 5_432_000 คำสั่ง psql เพิ่มคำสั่ง \bind สามารถใส่พารามิเตอร์ใน SQL (ดูในภาพท้ายข่าว) PostgreSQL … Read more

Visual Studio Code ออกเวอร์ชัน 1.82 อัพเดตรอบเดือนสิงหาคม 2023 มีฟีเจอร์น่าสนใจคือรองรับการทำ port forwarding ช่วยให้เราสามารถรัน VS Code ในเครื่องโลคัล แล้วแชร์ให้คนอื่นเข้ามาใช้งานแบบรีโมทจากอินเทอร์เน็ตได้

Visual Studio Code ออกเวอร์ชัน 1.82 อัพเดตรอบเดือนสิงหาคม 2023 มีฟีเจอร์น่าสนใจคือรองรับการทำ port forwarding ช่วยให้เราสามารถรัน VS Code ในเครื่องโลคัล แล้วแชร์ให้คนอื่นเข้ามาใช้งานแบบรีโมทจากอินเทอร์เน็ตได้ การทำ port forwarding จะตั้งค่าเป็น private โดยดีฟอลต์ ผู้เข้ามาใช้งานจำเป็นต้องล็อกอินบัญชี GitHub อันเดียวกับที่ตั้งค่า port forwarding เพื่อความปลอดภัย แต่สามารถเปลี่ยนค่าเป็น public เพื่อไม่ต้องล็อกอินได้เช่นกัน (รายละเอียด) ของใหม่อย่างอื่นในเวอร์ชันนี้คือ Diff Editor ตัวใหม่ มีฟีเจอร์ตรวจจับโค้ดที่ย้ายตำแหน่งได้ (moved code detection) ช่วยให้เห็นการย้ายตำแหน่งโค้ดทั้งบล็อคได้ง่ายขึ้น ฟีเจอร์ Command Center ค้นหาคำสั่งจากช่องค้นหาที่ title bar ถูกแสดงเป็นค่าดีฟอลต์แล้ว เพราะทดลองแล้วได้ผลตอบรับดี ช่วยให้ผู้ใช้ค้นหาคำสั่งที่ต้องการได้เร็วขึ้น รองรับภาษา TypeScript เวอร์ชัน 5.2 รองรับการทำ refactoring … Read more

NodeJS ออกเวอร์ชั่น 20.6 ความเปลี่ยนแปลงสำคัญคือออปชั่น –env-file ที่รองรับการโหลดค่าตัวแปร environment จาก NodeJS ได้โดยตรง ไม่จำเป็นต้องลงโมดูลใดเพิ่มอีก

NodeJS ออกเวอร์ชั่น 20.6 ความเปลี่ยนแปลงสำคัญคือออปชั่น –env-file ที่รองรับการโหลดค่าตัวแปร environment จาก NodeJS ได้โดยตรง ไม่จำเป็นต้องลงโมดูลใดเพิ่มอีก ปกติแล้ว ตัวแปรภายใต้ process.env นั้นจะรับจาก environment variable ที่ตั้งค่าไว้ล่วงหน้าใน shell ที่รัน node อยู่ หากต้องการอ่านค่าจากไฟล์แทนต้องใช้โมดูลเพิ่มเติม และนอกเหนือจากการตั้งค่าสำหรับแอปพลิเคชั่น เช่น รหัสผ่านฐานข้อมูล หรือ URL ของบริการภายนอกต่างๆ ผู้ใช้ยังสามารถใช้คอนฟิกตัว NodeJS เองผ่านตัวแปร NODE_OPTIONS ได้ด้วย ก่อนหน้านี้นักพัฒนาที่ต้องการใช้ไฟล์ env มักใช้โมดูล dotenv ที่ได้รับความนิยมสูง มีการดาวน์โหลดถึงสัปดาห์ละ 34 ล้านครั้ง ฟีเจอร์อื่นๆ เช่น รองรับการโหลดโมดูลก่อนแอปพลิเคชั่น เพื่อสร้าง hook ล่วงหน้า ปรับปรุงระบบส่วนขยาย C++ และอัพเดต v8 ที่มา – NodeJS

Bun รันไทม์จาวาสคริปต์ ออกเวอร์ชัน 1.0 ตามที่ประกาศไว้ ของใหม่ที่เพิ่มเข้ามาจากเวอร์ชัน 0.8 คือรองรับการรันเฟรมเวิร์คยอดนิยม Next.js, Astro, Nest.js แล้ว

Bun รันไทม์จาวาสคริปต์ ออกเวอร์ชัน 1.0 ตามที่ประกาศไว้ ของใหม่ที่เพิ่มเข้ามาจากเวอร์ชัน 0.8 คือรองรับการรันเฟรมเวิร์คยอดนิยม Next.js, Astro, Nest.js แล้ว Bun เป็นรันไทม์ที่ออกแบบมาให้ใช้แทน Node.js ได้ทันที (drop-in replacement) สามารถนำแอพที่เขียนบน Node.js และแพ็กเกจ npm มาใช้ทำงานได้เลย จุดเด่นของมันคือความเร็วที่เหนือกว่า 4 เท่า ยิ่งถ้าเขียนโค้ดมาเป็น TypeScript ที่ต้องแปลง (transpile) มาเป็น JavaScript ก่อนรัน ยิ่งเห็นความแตกต่างมากขึ้นอีก เพราะ Bun มีตัว transpiler ฝังมาในรันไทม์เลย สามารถรัน TypeScript ได้ในตัวเช่นเดียวกับ JavaScript ความแตกต่างทางเทคนิคเบื้องหลังคือ Node.js ใช้เอนจิน V8 ของกูเกิลเป็นฐาน ส่วน Bun ใช้ WebKit ของแอปเปิล (ที่มีรากเหง้าเดียวกัน) ซึ่ง … Read more

curl ไคลเอนต์ HTTP และโปรโตคอลอื่นๆ ออกเวอร์ชั่น 8.3.0 มีฟีเจอร์สำคัญคือการรองรับตัวแปรในตัว ทำให้สามารถส่งคำสั่งที่ซับซ้อนขึ้นมาก

curl ไคลเอนต์ HTTP และโปรโตคอลอื่นๆ ออกเวอร์ชั่น 8.3.0 มีฟีเจอร์สำคัญคือการรองรับตัวแปรในตัว ทำให้สามารถส่งคำสั่งที่ซับซ้อนขึ้นมาก ตัวแปรในคำสั่ง curl จะกำหนดด้วยออปชั่น –variable หรือไฟล์คอนฟิก เมื่อสร้างตัวแปรแล้วก็จะสามารถใช้ตัวแปรใน URL, ข้อมูลสำหรับ HTTP POST, หรือนำไปประกอบเป็นตัวแปรอื่นๆ ก็ได้ นอกจากการใช้ตัวแปรเท่านั้น ยังมีฟังก์ชั่นมาให้จำนวนหนึ่ง ได้แก่ trim สำหรับตัดช่องว่างหน้าหลัง, json เข้ารหัสเป็น JSON, url เข้ารหัสแบบ URL encode, และ b64 สำหรับเข้ารหัส base64 ตอนนี้ curl 8.3.0 ยังไม่ออกตัวจริง แต่ release notes ก็แสดงข้อมูลฟีเจอร์ใหม่ใน Git แล้ว ที่มา – haxx.se