2017-10-04 9 views
1

私は新しいライブラリFoo v1.0.0を公開しており、依存関係としてphp5.6が必要です。依存関係を更新すると下位互換性が損なわれますか(メジャーバージョンのセマフォー変更)?

ここでは、いくつかのメソッド実装の内部で、php 7.0の新しい言語構造をいくつか使用したいと思います。しかし、私の公開API全体(メソッド名、パラメータ、戻り値など)は変更されません。

semverに続いて、どのバージョン番号を今すぐリリースすればよいですか?

新しい主要なプラットフォームの依存関係を必要とすると、PHP5.6を実行している既存のユーザーの下位互換性が損なわれ、composer updateでアップグレードすることができなくなるので、今度はv2.0.0になります。一方、公開されたAPIについては何も変更されていないので、代わりにパッチにする必要があります。v1.0.1

+0

あなたが尋ねた質問の多くがなぜ受け入れられないのかを説明するマインド? –

+0

@MarcinOrlowski今日の60の質問のうち、8つの質問は受け入れる答えがありません、7は私がコメントにフィードバックを提供したそれぞれに受け入れられない答えを持っています。 –

答えて

1

いいえ、あなたは何を意味するのかは間違っています。backward compatibilityライブラリのAPIが変更されていない場合は、新しいメジャーバージョンである可能性がありますが、それでも下位互換性があります。つまり、ライブラリを使用してコードを変更する必要はありません。 PHP 7を必要とするのは単なる必要条件ですが、互換性はありません。

私が見た他のプロジェクトでは、通常、メジャー番号のバンプがありますが、それは主に要件が変更されただけですが、新しいPHP機能の恩恵を受けるための変更点もあります。 PHP 7を必要とするだけで本当に恩恵を受けるのであれば、それは美容的な変更やコードのクリーンアップになりますか?また、変更が実際に影響を与えるユーザーの数にも依存します。多くの人々が5.xの上で残っているし、したくないか、それはここで、下位互換性の問題ではありませんしながら、まだアップグレードすることはできませんとしてPHP 7を要求

EDIT

は、時には巨大な変化であり、Iこの変更をメジャーとして明確に示すには、2.0.0にしてください。

+0

お時間をいただきありがとうございますが、私はあなたの答えが明らかにするよりも混乱していると感じています。私はあなたの答えがバージョン2.0.0か1.0.1かを暗示しているかどうかに関しては本当に不明です。あなたはいいえと言いますが、それはまだ主要なバージョンの変更かもしれません。 *「PHP 7を必要とするだけのメリット」、「美容的な変更やコードのクリーンアップのようなものです」*私は自分の状況を明確に説明してくれることを願っています。*フィードバックの提供が遅れて本当に残念です。ご検討をお願いいたします。 –

+0

'いくつかのメソッド実装の内部でphp 7.0のいくつかの新しい言語構造を使用するための**本当の**メリットは何ですか?また、あなたはライブラリを何人使用していますか? –

+0

実際のメリットはAPI、リファクタリング、コードの可読性などに抽象化されています。APIを使用する人の数はわかりませんが、実際にはセームとは関係ありません。 –

関連する問題