Django เว็บเฟรมเวิร์คยอดนิยมภาษา Python ประกาศออกเวอร์ชั่น 4.0 แม้ฟีเจอร์หลักๆ จะเปลี่ยนแปลงไม่มากนัก แต่การออกเวอร์ชั่นใหม่ก็ทำให้ตัดฟีเจอร์เก่าๆ ไปหลายตัวตามหลัก Semantic Versioning
ส่วนใหม่ๆ ใน Django 4.0 เช่น
- ระบบ timezone เปลี่ยนจาก pytz มาใช้ไลบรารีมาตรฐาน zoneinfo (เพิ่มเข้า Python ใน Python 3.9)
- เงื่อนไข UniqueConstraint ในฐานข้อมูลสามารถกำหนดฟังก์ชั่นสำหรับแต่ละฟิลด์
- รองรับการแฮชรหัสผ่านแบบ scrypt
- รองรับการแคชข้อมูลด้วย Redis เพิ่มจาก memcache
- ฟอร์มต่างๆ ใช้เอนจิน template เรนเดอร์ทำให้ปรับแต่งได้ง่ายขึ้น
ส่วนฟีเจอร์ที่ถูกตัดออกจนอาจจะกระทบแอปพลิเคชั่นเดิมๆ เช่น
- ตัดซัพพอร์ต PostgreSQL 9.6 ลงไป ทำให้ต้องการ PostgreSQL 10 ขึ้นไปเท่านั้น
- ตัดซัพออร์ต Oracle 12.2 และ Oracle 18c
- คอนฟิก CSRF_TRUSTED_ORIGINS เปลี่ยนฟอร์แมต ต้องกำหนดโปรโตคอลเสมอ
- API อีกจำนวนมากที่ประกาศเตรียมถอดตั้งแต่ Django 3.0/3.1 เช่น ฟังก์ชั่น urlquote
นอกจากนี้ยังมีฟีเจอร์หลายตัวที่เตรียมตัดซัพพอร์ต เช่น ไลบรารี pytz ที่ใช้มาตั้งแต่ Django 1.4, L10N เปิดใช้งานเป็นค่าเริ่มต้น และเตรียมถอดคอนฟิกออก
ที่มา - Django
Comments
น่าจะมีคน port library ของ PHP อย่าง symfony/serializer, symfony/dependency-injection, doctrine/orm บ้าง ใช้ของ PHP แล้ว มาใช้ของ Python แล้วรู้สึกขัดใจ