# バージョン設定

SpineエディターとSpineランタイムのバージョン設定は、Spineを使用する上でとても重要です。

# Spineエディターのバージョン番号

Spineエディターのバージョン番号は、`major.minor.patch(メジャー.マイナー.パッチ)`の形式で表されます。例えば、`3.8.75`のようになります。

メジャーバージョンやマイナーバージョンの番号が変わった場合は大きな変更があることを示していますので、新しいバージョンへのアップデートは慎重に行ってください。

パッチバージョンの番号のみが変更された場合は、バグの修正や細かな改良が行われたことを意味しており、アップデートしても問題ありません。

[変更履歴のアーカイブ](/spine-changelog/archive)では、これまでにリリースされたすべてのSpineエディターのバージョンのリストを提供しています。

# Spineランタイムのバージョン番号

Spineランタイムのバージョン番号は、`major.minor(メジャー.マイナー)`の形式で表されます。例えば、`3.8`のようになります。

Spineランタイムのソースコードは、[SpineランタイムのGitHubリポジトリ](https://github.com/EsotericSoftware/spine-runtimes)で提供されています。Spineランタイムの各バージョンには、Gitブランチが使用されています。パッチバージョン番号の代わりに、ブランチへのGitコミットが使われます。

![](/img/spine-user-guide/versioning/branches.png)

# 安定リリース版

安定リリース版とは、`-beta`で終わっていないバージョンを指します。例えば、Spineエディターなら`3.8.99`、Spineランタイムなら`3.8`のようになります。

新たな問題が発生する可能性を減らすために、当社が安定リリース版に危険な変更を加えることはありません。安定リリース版へのアップデートは、主にバグの修正を目的としています。

# Betaリリース版

Betaリリース版とは、`-beta`で終わるバージョンを指します。例えば、Spineエディターなら`4.0.73-beta`、Spineランタイムなら`4.0-beta`のようになります。

Beta版では、最新の機能を使用することができますが、Spineエディターが時々クラッシュしたり、完全には実装されていない機能があったりします。また、Beta版からのエクスポートは、すべてのSpineランタイムでサポートされているわけではありません。

Beta版は以下のような理由で使用したい場合があります:
* 画像やビデオでエクスポートしているので、ランタイムのサポートがないことは問題にならない場合。
* 最新のSpine機能を使用したいので、ランタイムが更新されるまで待っても構わない場合。
* Spineの最新機能を試してみたい場合。ただし、安定したバージョンや古いバージョンのSpineエディタにいつでも戻ることができますが、**新しいバージョンでプロジェクトを保存しないように注意してください**。
* 使用しているランタイムがBeta版エディタで動作するように既にアップデートされていることを把握している場合。いくつかのランタイムは他のランタイムより先にアップデートされますが、当社はすべてのランタイムがアップデートされるまでは安定版のリリースを行いません。GitHubの各ランタイムのREADMEには、動作する最新のSpineのバージョンが記載されています。

Beta期間が終了すると、SpineランタイムのBeta版のGitブランチは削除され、安定版のバージョン番号に置き換えられます。

# Spineエディターバージョンの選択

[Spineの起動時](/spine-getting-started#Spineを起動する)には、ランチャーウィンドウで使用するSpineエディターのバージョンを選択することができます。また、[設定ダイアログ](/spine-settings)でSpineエディターのバージョンを設定することもできます。

![](/img/spine-user-guide/versioning/version-select.png)

もしランチャーが停止せずバージョンを選択できない場合は、以前に`Start automatically(自動的に起動する)`をチェックされていることが原因です。その場合、ランチャーウィンドウが最初に表示されたときに任意の場所をクリックすれば、Spineの自動起動を停止することができます。

## 最新の安定版

バージョン選択ボックスで`Latest stable(最新の安定版)`を選択すると、Spineエディターの最新の安定した正式リリース版を起動します。

## 最新のBeta版

`Latest beta(最新のBeta版)`を選択すると、最新のBeta版Spineエディターが実行されます。Beta版では、最新の新機能を試すことができますが、エクスポートされたデータはまだすべてのSpineランタイムでサポートされていない場合があります。現在進行中のBeta版がない場合、`Latest beta(最新のBeta版)`オプションは表示されません。

## 特定のバージョン

特定のSpineエディターのバージョンを選択することもできます。ダウンロードしたすべてのバージョンが表示されますが、`Other...(その他...)`をクリックして、これまでにリリースされた[すべてのバージョンのバージョン番号](/spine-changelog/archive)を入力することができます。

# バージョンの同期

**JSONまたはバイナリデータのエクスポートに使用するSpineエディターのメジャーバージョンとマイナーバージョンは、常にSpineランタイムのバージョンと一致している必要があります。** そうしないと、Spineランタイムはデータを読み込むことができません。この依存関係は非常に重要です。

アニメーターは必ず、[特定のバージョン](#特定のバージョン)を選択して、正しいバージョンのSpineエディターを使用するようにしなければなりません。そうしないと、誤ってより新しいSpineエディターのバージョンにアップデートしてしまう可能性があります。

また、開発者は必ず、正しいバージョンのSpineランタイムを使用するようにしなければなりません。新しいバージョンのSpineランタイムにアップデートするのは、それほど簡単ではありません。新しいバージョンをダウンロードし、古いバージョンを置き換え、コードを修正する必要があるからです。そのため、一般的には開発者がSpineエディターのバージョンを決定します。

## パッチバージョンのアップデート

Spineエディターをより新しいパッチバージョンにアップデートすることは、常に安全です。例えば、`3.6.44`を使用している場合、より新しい`3.6.53`にアップデートしても、何かが壊れたり、エクスポートが`3.6`のSpineランタイムで動作しなくなったりする心配はありません。

Spineランタイムのアップデートは、同じブランチのより新しいGitコミットに行うのが無難です。たとえば `3.6`ブランチを使っているのであれば、そのブランチの最新のコミットに更新すれば何かが壊れる心配はありません。その場合、`3.6.xx`のSpineエディターからのエクスポートは引き続き動作します。

## メジャーまたはマイナーバージョンのアップデート

アニメーターと開発者は、メジャーバージョンまたはマイナーバージョンを更新する際に、SpineエディターとSpineランタイムの両方が同時に更新されるようにコミュニケーションをとる必要があります。

Spineランタイムを新しいバージョンのブランチにアップデートすると、Spineランタイムは古いSpineエディターバージョンからのエクスポートデータを読み込めなくなります。すべてのSpineプロジェクトは、新しいSpineエディターのバージョンを使用して再度エクスポートする必要があります。

すべてのプロジェクトのエクスポートを自動化するためには、[コマンドラインインターフェイス](/spine-command-line-interface)を使用してスクリプトを書かれることをお勧めします。この作業は、必要に応じて行うことも、ビルドプロセスの一部として行うこともできます。

# プロジェクトファイル

Spineプロジェクトファイルには後方互換性はありますが、前方互換性はありません。よって、新しいSpineエディターバージョンでは、古いバージョンで保存されたSpineプロジェクトファイルを常に開くことができますが、一度保存されたプロジェクトは、古いSpineエディターバージョンでは開くことができなくなります。そのため、誤って新しいSpineエディターバージョンでプロジェクトを保存しないように注意する必要があります。

なお、Spineは新しいSpineエディターバージョンでプロジェクトを保存する前に警告を表示します。

![](/img/spine-user-guide/versioning/project-warning.png)

## 新しいバージョンからの作業の復元

プロジェクトで作業を行い、新しいSpineエディターバージョンで保存すると、古いバージョンでは開くことができなくなります。もしSpineランタイムをSpineエディターのバージョンに合わせてアップデートできなければ、作業内容が失われてしまう可能性があります。古いバージョンのプロジェクトファイルは、[バックアップ](/spine-settings#Backups%28バックアップ%29)の中にあるかもしれません。

作業の復元を試みるには、[JSONエクスポート](/spine-export#JSON)を使用して、`Version(バージョン)`の項目を古いSpineエディターバージョンに設定することができます。ただし、古いバージョンに新しいバージョンで使用されている機能が無い場合は、一部のデータが失われる可能性があります。例えば、`4.0`を使用して`3.8`用のJSONデータをエクスポートする場合、`3.8`には`4.0`で作成したカーブを表現する機能がないため、すべてのアニメーションのカーブが失われます。

次に、旧バージョンのSpineエディターを起動し[データインポート](/spine-import#データ)を使用してJSONデータをSpineに取り込みます。プロジェクトに問題がなければ、プロジェクトを保存し、旧バージョンのSpineエディターの使用を続けてください。

## ファイルの保管

Spineのプロジェクトファイルは、いずれ使用する場合に備えて安全に保管してください。プロジェクトファイルは、いつでも同じまたは新しいバージョンのSpineエディターで開くことができます。

エクスポートされたJSONファイルやバイナリファイルは、保存には適していません。これらのファイルはSpineエディターに[インポート](/spine-import#データ)できますが、読み込めるのはデータをエクスポートしたのと同じバージョンに限られます。[Nonessential data(非必須データ)](/spine-import#非必須データ)がエクスポートされていない場合、データをSpineにインポートした際に一部の情報が失われてしまいます。一度インポートすれば、Spineプロジェクトファイルを保存して、新しいバージョンのSpineエディターで開くことができます。

大量のJSONファイルやバイナリファイルをインポートし、Spineのプロジェクトファイルとして保存する必要がある場合、[コマンドラインインターフェース](/spine-command-line-interface#インポート)を使用することができます。例えば、以下の最初のコマンドは、3.6.51でエクスポートされたJSONをインポートして、プロジェクトファイルとして保存します。2行目のコマンドは、4.0.10を使用して、プロジェクトファイルを4.0.10のJSONとしてエクスポートします。

```
Spine -u 3.6.51 -i input.json -o project.spine --import
Spine -u 4.0.10 -i project.spine -o path/to/exports --export json
```

[次: エクスポート](/spine-export)
[前: ウェルカムスクリーン](/spine-welcome-screen)
[Spine ユーザーガイド: 目次]