เมื่อช่วงต้นปี (2020) ที่ผ่านมา Flutter ได้มีการปรับระบบการออกอัพเดท รวมถึงการตั้งเลขเวอร์ชันใหม่ เพื่อให้นักพัฒนาสามารถเข้าใจได้ง่ายขึ้น และผู้ที่สนใจจะช่วยก็สามารถช่วยร่วมพัฒนา Flutter ได้ง่ายขึ้นเช่นกัน
Table of contents Expand
เมื่อช่วงต้นปี (2020) ที่ผ่านมา Flutter ได้มีการปรับระบบการออกอัพเดท รวมถึงการตั้งเลขเวอร์ชันใหม่ เพื่อให้นักพัฒนาสามารถเข้าใจได้ง่ายขึ้น และผู้ที่สนใจจะช่วยก็สามารถช่วยร่วมพัฒนา Flutter ได้ง่ายขึ้นเช่นกัน
โดยปัจจุบัน Flutter ใช้ Braching model ในการกำหนดการ Release ของ Stable และ Beta ซึ่งในทุก ๆ ช่วงต้นเดือนจะมีการ Branch ออกมาสำหรับ Beta Release และนำไปพัฒนาต่อให้มีความเสถียรมากยิ่งขึ้นผ่านการ Cherry-pick การแก้ไขที่สำคัญ ๆ เข้ามา และทุก ๆ 4 เดือน Flutter จะโปรโมท Beta Branch ไปเป็น Stable Release และหลังจากนั้นก็จะยังมีการ Maintenance ในส่วนของ Hotfixes ต่าง ๆ ให้ Stable Release ตามความจำเป็น
นอกจากนี้ในปัจจุบันการ Release ของ Flutter ยังผูกกับการ Release ของ Dart อีกด้วย นั่นหมายความว่าเมื่อมีการ Release Flutter เวอร์ชันใหม่ Dart เวอร์ชันใหม่ก็จะถูก Release ด้วยเช่นกัน นอกจากนี้ใน Flutter Beta ก็จะใช้ Dart Beta ด้วยเช่นกัน
สำหรับความหมายของตัวเลขเวอร์ชันของ Flutter ในปัจจุบันก็จะเป็นการยึดตาม SemVer และปรับปรุงเพิ่มเติม ดังนี้
สำหรับเวอร์ชันที่เป็นเวอร์ชันที่ถูกสร้างมาจาก master โดยแต่ละ Built จะอยู่บน Branch dev (ไม่ใช่ Beta) จะมี .pre ตามหลังเลขเวอร์ชัน เพื่อแสดงถึงการเป็น Pre-release โดยจะมีลักษณะเลขเวอร์ชันเป็น x.y.z-n.m.pre โดยทุก ๆ ครั้งที่มีการ Built จาก master เลข n จะเป็นเพิ่มขึ้นหนึ่ง เช่น
1.18.0–1.0.pre:devbuild แรก หลังจากที่masterขยับไปเวอร์ชัน1.181.18.0–2.0.pre:devbuild ถัดไปจากจุดล่าสุดของmaster
สำหรับเวอร์ชัน Beta นั้นจะมาจาก dev ข้างบนโดยวิธีการ Cherry-pick จาก Release ทั้งหมด ทุก ๆ ครั้งที่มีการ Release m จะเพิ่มขึ้นหนึ่ง เช่น หากนำเวอร์ชันที่ 15 จาก dev ซึ่งมาจาก master เวอร์ชัน 1.18 เข้าสู่ beta จะเป็นดังนี้
1.18.0–15.0.pre:betaเวอร์ชันแรก (เวอร์ชันเดียวกับบนdevที่เลือกมาโดยไม่มีอะไรเพิ่มเติม)1.18.0–15.1.pre:betaเวอร์ชันถัดไปที่มีการ Cherry pick บางอย่างมาเพิ่มเติม1.18.0–15.2.pre: เวอร์ชันที่ 2 ของbetaนี้
และสุดท้ายเวอร์ชัน Stableจะมีเลขเวอร์ชันเป็น x.y.0 และทุก ๆ ครั้งที่มีการปล่อย Hotfixes จะมีการอัพเดทเลข Patch เช่น x.y.1, x.y.2 ตัวอย่าง
1.18.0–15.4.preเวอร์ชันบนbetaที่เลือกมา ยังไม่ถือเป็น Stable1.18.0: Stable Release ซึ่งจริง ๆ แล้วเหมือน1.18.0–15.4.preเลยแค่เปลี่ยนเลขเวอร์ชันและสถานะเป็น Stable1.18.1: Hotfix เวอร์ชัน1.18.0
📚 Hope you enjoy reading!