Kênh phát hành

Các dist-tag stable, canary và LTS, phiên bản đồng bộ, nguồn gốc và quy trình phát hành.

Text.js phát hành qua ba dist-tag trên npm. Mọi gói (@textjs/app, @textjs/react, @textjs/core, @textjs/font, @textjs/opencode, create-text-app và eslint-plugin-textjs) đều tăng phiên bản đồng bộ, nên một số phiên bản mô tả toàn bộ framework.

Kênh phát hành

Kênhdist-tagPhiên bảnCài đặt
Ổn địnhlatest1.0.xbun add @textjs/app
Canarycanary1.0.x-canary.Nbun add @textjs/app@canary
LTSlts, v1-ltsPhát hành khi 2.0.0 ra mắtbun add @textjs/app@lts

Dùng bản ổn định trong môi trường sản xuất. Dùng canary để thử bản sửa lỗi và tính năng ngay trong ngày chúng có mặt trên dev. Khi có dòng LTS, dùng dòng này nếu bạn nâng cấp mỗi năm một lần.

bun create text-app@canary my-console

Ổn định

Các bản phát hành ổn định tuân theo quy tắc phiên bản ngữ nghĩa: bản vá sửa lỗi, bản nhỏ thêm tính năng tương thích ngược, bản lớn có thể phá vỡ tính tương thích của API sau một giai đoạn thông báo ngừng hỗ trợ. Bản phát hành ổn định được nâng từ một bản canary đã vượt qua toàn bộ bộ kiểm thử và phát hành kèm chứng thực nguồn gốc của npm.

Canary

Mỗi lần đẩy lên dev trong kho mã chính thức đều trải qua kiểm tra kiểu, kiểm thử và phát hành thành bản vá tiếp theo với hậu tố -canary.N:

latestLần đẩy lên devBản phát hành
1.0.0đầu tiên1.0.1-canary.0
1.0.0thứ hai1.0.1-canary.1
1.0.1tiếp theo1.0.2-canary.0

N tiếp tục từ số canary cao nhất đã có trên npm, nên các số không bao giờ lặp lại. Các phiên bản canary không được commit vào kho mã. Thêm [skip canary] vào thông điệp commit để bỏ qua một lần phát hành.

Canary là bản dựng của dev, nhánh mà mọi pull request đều hợp nhất vào. Chúng có thể thay đổi hoặc loại bỏ API chưa phát hành mà không thông báo. Ghim một phiên bản canary cụ thể nếu bạn phụ thuộc vào nó.

Chứng thực nguồn gốc

Các bản phát hành được xuất bản từ GitHub Actions bằng npm publish --provenance, liên kết từng tarball với đúng commit và workflow đã tạo ra nó. Xác minh một gói bằng:

npm audit signatures

Tạo bản phát hành

Người bảo trì tăng phiên bản đồng bộ cho mọi gói trong workspace bằng các script phát hành:

bun run release:version minor   # 1.0.0 → 1.1.0 (also: patch, major, canary, stable, x.y.z)bun run release:publish --tag latest --provenance

release:version ghi lại từng package.json và các hằng số phiên bản tương ứng (VERSION, rendererVersion của reconciler), từ chối chạy khi phiên bản các gói không còn đồng bộ, còn --dry-run in ra kế hoạch. release:publish dựng, đóng gói (phân giải workspace:*), áp dụng publishConfig, từ chối đưa bản tiền phát hành lên latest hoặc bản ổn định lên canary, và bỏ qua các phiên bản đã có trên npm.

Xem Chính sách hỗ trợ để biết thời gian duy trì từng dòng phát hành.

Sửa trang này trên GitHub