mirror of
https://github.com/erg-lang/erg.git
synced 2025-09-29 12:24:45 +00:00
26 lines
2.8 KiB
Markdown
26 lines
2.8 KiB
Markdown
# バージョン
|
|
|
|
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/version.md&commit_hash=c1f43472c254e4c22f936b0f9157fc2ee3189697)
|
|
|
|
Ergコンパイラはセマンティックバージョニングに従ってバージョン番号を付ける。
|
|
ただし、バージョン0の間は通常と異なるルールが適用される(セマンティックバージョニングよりも細かいルールに従う)。
|
|
ここで注意すべき点として、Ergには2種類の互換性がある。言語仕様の互換性を示す仕様互換性と、コンパイラ等の(公開)APIの互換性を示す内部互換性である。
|
|
|
|
* バージョン0の間は、マイナーリリースで仕様・内部互換性が壊れる可能性がある。これは通常のセマンティックバージョニングと同じである。
|
|
* パッチリリースで仕様互換性が壊れることはないが、内部互換性の保証はない。
|
|
* 新機能は主にマイナーリリースで追加されるが、些細な言語機能である場合、またはコンパイラの機能の場合はパッチリリースでも追加されうる。
|
|
|
|
## リリースサイクル
|
|
|
|
* パッチリリースは1~2週間に一度程度行われる。
|
|
* マイナーリリースはパッチリリース10数回程度、すなわち3~6ヶ月に一度行われる。
|
|
* メジャーリリースの間隔は不定である。バージョン1リリースの予定は現在のところ定まっていない。
|
|
|
|
## nightly, betaリリース
|
|
|
|
Ergでは不定期にnightlyリリースとbetaリリースを行う。nightlyリリースは新しいパッチリリースの先行公開版であり、betaリリースは新しいマイナー/メジャーリリースの先行公開版である。
|
|
nightlyバージョン及びbetaバージョンはcrates.io上で公開される。betaバージョンの場合はGitHub releasesでも公開される。
|
|
|
|
nightlyバージョンの形式は`0.x.y-nightly.z`である。同一のパッチリリースに対して複数のnightlyリリースが存在することがあり、その場合は新しくなるにつれて`z`が増加する。betaバージョンも同様である。
|
|
|
|
nightlyリリースはほぼ隔日で行われる(コンパイラ本体に対する変更のない日は行われない)が、betaリリースは不定期である。ただし、betaリリースは一度公開されると、ほぼ隔日で新しいbetaリリースが公開される。
|