Đánh Phiên bản Ngữ nghĩa là gì
Tiêu chuẩn đánh số phiên bản MAJOR.MINOR.PATCH
Đánh Phiên bản Ngữ nghĩa (SemVer) — tiêu chuẩn đánh số phiên bản phần mềm theo định dạng MAJOR.MINOR.PATCH, trong đó mỗi phần có ý nghĩa cụ thể.
Cấu trúc phiên bản
- MAJOR (1.x.x) — thay đổi API không tương thích
- MINOR (x.1.x) — chức năng mới tương thích ngược
- PATCH (x.x.1) — sửa lỗi tương thích ngược
- Pre-release — 1.0.0-alpha, 1.0.0-beta.1
- Build metadata — 1.0.0+build.123
Quy tắc
- Phiên bản ban đầu — 0.1.0
- Bản phát hành ổn định đầu tiên — 1.0.0
- Khi tăng MAJOR — đặt lại MINOR và PATCH
- Khi tăng MINOR — đặt lại PATCH
- Phiên bản được so sánh từ trái sang phải
Ví dụ thay đổi
- MAJOR: xóa hàm, thay đổi chữ ký phương thức
- MINOR: thêm endpoint mới, tham số tùy chọn mới
- PATCH: sửa lỗi, cải thiện hiệu suất
Công cụ
- npm — sử dụng SemVer cho gói
- Composer — trình quản lý gói PHP
- Maven — phụ thuộc Java
- semantic-release — tự động hóa phát hành
- commitizen — commit có cấu trúc
Lợi ích
- Khả năng dự đoán — kỳ vọng rõ ràng từ cập nhật
- Tự động hóa — xác định phiên bản tự động
- Tài liệu — changelog từ commit
- Tương thích — cập nhật phụ thuộc an toàn