Bộ tính toán SemVer
Quản lý phiên bản ngữ nghĩa gồm năm thành phần: MAJOR.MINOR.PATCH, cùng các hậu tố tùy chọn là -prerelease và +build. Bộ tính toán này nhận một chuỗi phiên bản, kiểm tra tính hợp lệ theo quy tắc ngữ pháp semver 2.0.0, tách nó thành các thành phần và hiển thị các phiên bản major, minor, patch và prerelease (-rc.1) tiếp theo cạnh nhau.
Cách cập nhật phiên bản
-
1
Dán phiên bản hiện tại
Hãy chấp nhận các mẫu `1.2.3`, `1.2.3-rc.1`, `2.0.0-alpha+exp.sha.5114f85` và các mẫu khác của phiên bản semver 2.0.0.
-
2
Đọc các phần đã phân tích
Công cụ tách chuỗi thành major, minor, patch, prerelease và siêu dữ liệu bản dựng để bạn xác nhận rằng nó được phân tích đúng như mong đợi.
-
3
So sánh các phiên bản tiếp theo
Công cụ hiển thị major, minor và patch tiếp theo cùng lúc, cùng với một ứng viên prerelease (`-rc.1`). Nâng minor sẽ đặt lại patch về 0; nâng major sẽ đặt lại cả minor và patch.
-
4
Sao chép phiên bản mới
Chọn phiên bản phù hợp với thay đổi của bạn và dùng nó trong `package.json`, `Cargo.toml`, thẻ git hoặc ghi chú phát hành của bạn.
Công cụ này hiển thị gì
Đối với một phiên bản như 1.2.3, công cụ sẽ hiển thị bốn phiên bản tiếp theo được đề xuất:
| Nâng cấp | 1.2.3 chuyển thành |
|---|---|
| major | 2.0.0 |
| minor | 1.3.0 |
| patch | 1.2.4 |
| prerelease | 1.2.4-rc.1 |
Nâng minor sẽ đặt lại patch về 0; nâng major sẽ đặt lại cả minor và patch về 0. Đề xuất prerelease đánh dấu patch tiếp theo là ứng viên phát hành. Các công cụ dòng lệnh như npm version cung cấp thêm nhiều thao tác khác (premajor, preminor, prepatch, và tăng prerelease tại chỗ như 1.2.3-beta.1 chuyển thành 1.2.3-beta.2) nếu bạn cần chúng trong một script phát hành.
Các quy tắc ưu tiên mà bạn sẽ gặp phải
- Phiên bản tiền phát hành có thứ tự ưu tiên thấp hơn so với phiên bản chính thức:
1.0.0-rc.1<1.0.0. - Các mã định danh số được so sánh theo giá trị số; các mã chữ số được so sánh theo bảng chữ cái:
1.0.0-alpha.2<1.0.0-alpha.11. - Siêu dữ liệu bản dựng (
+sha.abc) bị bỏ qua về thứ tự ưu tiên. Các phiên bản1.0.0+20240101và1.0.0+20250101có cùng mức độ ưu tiên. - Chữ số 0 đứng đầu trong mã định danh số học là không hợp lệ.
1.0.0-rc.01không phải là semver; hãy sử dụngrc.1.
Bảng hướng dẫn các giá trị phạm vi
^1.2.3, bất kỳ phiên bản nào từ 1.2.3 trở lên nhưng dưới 2.0.0 (phải thuộc cùng một phiên bản chính).~1.2.3, bất kỳ phiên bản nào từ 1.2.3 trở lên nhưng dưới 1.3.0 (giữ nguyên phiên bản con tương ứng).>=1.2.3 <2.0.0, phạm vi rõ ràng.0.xlà trường hợp đặc biệt: npm coi^0.2.3như>=0.2.3 <0.3.0vì phiên bản trước 1.0 được xem là không ổn định.
Khi nào nên nâng cấp phiên bản chính
Hãy nâng major cho bất kỳ thay đổi nào phá vỡ những người dùng ở hạ nguồn: gỡ bỏ API công khai, thay đổi chữ ký hàm, thay đổi hành vi mặc định hoặc đổi tên khóa cấu hình. Minor chỉ dành cho các thay đổi bổ sung. Patch dùng để khắc phục lỗi mà không làm thay đổi giao ước (hợp đồng).
Câu hỏi thường gặp
Số 01.2.3 không hợp lệ. Mỗi mã định danh số phải là một số nguyên không âm và không có chữ số 0 ở đầu, ngoại trừ giá trị văn bản 0.
Hãy dùng một lần nâng patch từ phiên bản 1.0.0-rc.N gần nhất – semver coi đây là quá trình chuyển từ phiên bản tiền phát hành sang phiên bản chính thức. Hoặc bạn cũng có thể thiết lập phiên bản một cách rõ ràng và gắn thẻ tương ứng.
Không. Siêu dữ liệu bản dựng nằm sau + và không được tính vào thứ tự ưu tiên. Loại “Prerelease” xuất hiện sau - và có thứ bậc thấp hơn so với phiên bản chính thức. Hầu hết các cơ sở đăng ký đều cho phép cả hai loại này tồn tại đồng thời, ví dụ như trường hợp 1.2.3-rc.1+build.77.
Đúng vậy – tiêu chuẩn semver không yêu cầu các phiên bản phải liên tiếp nhau. Việc chuyển trực tiếp từ phiên bản 3.x sang phiên bản 5.x là được phép, mặc dù hầu hết các nhóm đều sử dụng biện pháp này để báo hiệu một thay đổi đặc biệt lớn và gây ảnh hưởng mạnh.
Công cụ liên quan
Bảng tham chiếu ASCII
Bảng ASCII đầy đủ từ 0 đến 127 với giá trị thập phân, thập lục phân, bát phân, nhị phân và ký hiệu tham chiếu ký tự số HTML, gồm NUL, LF và DEL.
Tham chiếu ký tự HTML
Danh sách có thể tìm kiếm các thực thể HTML, mã tên và mã số tương ứng của chúng, cùng chức năng sao chép chỉ với một cú nhấp cho các ký tự đặc biệt và biểu tượng.
Bảng tham khảo phím tắt
Tìm phím tắt mặc định theo tài liệu của VS Code, Chrome và Bash dùng GNU Readline trên macOS, Windows và Linux.
Trình giải mã mã JavaScript (JavaScript Deobfuscator)
Giải mã mã JavaScript đã được rút gọn hoặc nén bằng cách đổi tên biến, giải mã chuỗi và mảng, đảo ngược cấu trúc dòng điều khiển và làm đẹp mã.
Trình chuyển ASCII sang Hex
Biến văn bản ASCII thành giá trị byte thập lục phân. Đầu ra dùng hai chữ số hex cho mỗi ký tự, sẵn sàng cho memory dump, packet trace hoặc bảng firmware.
Chuyển đổi HTML sang BBCode
Chuyển đổi các đoạn mã HTML thành BBCode dành cho phpBB, vBulletin và các phần mềm diễn đàn khác không hỗ trợ định dạng HTML thô.
Công cụ này có phiên bản bằng các ngôn ngữ khác
- Calculadora SemVer [ES]
- Calculateur SemVer [FR]
- Calculadora SemVer [PT]
- SemVer Rechner [DE]
- SemVer-calculator [NL]
- 세미버 계산기 [KO]
- เครื่องคำนวณ SemVer [TH]
- SemVer計算ツール [JA]
- SemVer-kalkylator [SV]
- SemVer Calculator [ID]
- أداة حساب SemVer [AR]
- Kalkulator SemVer [PL]
- SemVer计算器 [ZH]
- SemVer Calculator [EN]
- Calcolatore SemVer [IT]
- Калькулятор SemVer [RU]
- SemVer Hesaplayıcı [TR]