Release Version

1. Định nghĩa

Release Version là một phiên bản cụ thể của sản phẩm được phát hành cho người dùng, khách hàng, hoặc thị trường. Mỗi phiên bản được gán một số phiên bản (version number) để đánh dấu các thay đổi, cập nhật, hoặc cải tiến so với các phiên bản trước đó.

Release Version thường đi kèm với các tính năng mới, sửa lỗi, hoặc cải tiến hiệu suất, và là cột mốc quan trọng trong quá trình phát triển sản phẩm.

Quy ước đặt tên Version: Semantic Versioning

Đây là một quy ước quốc tế về việc đặt tên và quản lý Version khi phát triển phần mềm. Một version sẽ gồm 3 phần gồm: MAJOR.MINOR.PATCH

  • MAJOR: Số đầu tiên trong phiên bản sẽ được tăng lên khi có những thay đổi lớn và không tương thích ngược với phiên bản trước đó. Ví dụ thay đổi lớn về tính năng hoặc cấu trúc phần mềm.

  • MINOR: Số thứ hai thể hiện phiên bản phần mềm có thay đổi tính năng hoặc bổ sung tính năng mà không ảnh hưởng đến cấu trúc phần mềm.

  • PATCH: Số thứ ba tăng khi phần mềm có bản vá lỗi hoặc các sửa đổi nhỏ không làm thay đổi tính năng.

Phần mở rộng

Thường được sử dụng để bổ sung thông tin cho phiên bản và nối với phiên bản bằng dấu gạch ngang hoặc ký tự đặc biệt. Trong trường hợp bạn có những phiên bản thử nghiệm trước khi ra mắt phiên bản chính thức bạn có thể sử dụng cách đánh version 1.0.0-alpha để biểu thị phiên bản thử nghiệm alpha trước khi ra mắt phiên bản 1.0.0

Thứ tự và so sánh các phiên bản

Thứ tự các phiên bản được so sánh theo từng thành phần với nhau ví dụ thứ tự như sau lần lượt từ MAJOR, MINOR, PATCH và phần mở rộng:

  • So sánh không có phần mở rộng: 1.2.0 < 2.0.0 < 2.1.0 < 2.1.1

  • So sánh khi có phần mở rộng của các phiên bản thử nghiệm, phiên bản thử nghiệm luôn có thứ tự trước phiên bản chính: 1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0

2. Ví dụ minh họa

Ví dụ về lịch sử các Release version của ứng dụng Duolingo

3. Tầm quan trọng

  • Release Version giúp quản lý sự thay đổi trên sản phẩm, tạo ra một thông tin nhất quán trong quá trình phát triển sản phẩm giúp các bên liên quan dễ dàng theo dõi tiến độ và phối hợp.

  • Release Version là định danh các thay đổi của sản phẩm, giúp người dùng dễ dàng nhận biết, theo dõi khi cập nhật thay đổi.

Đọc thêm về Semantic Versioning tại đây: https://semver.org/

Last updated