2.8.9 2025-05-13
- バージョン検証でのjson schemaの問題を修正 (#12376)
update --lock
後に無駄にbump-after-update
し始めてしまう点を直しました (#12371)ZipArchive
を使って解凍するとき、zip爆弾の偽陽性の判定がされてしまう点を直しました (#12409)- 空のアーカイブが作られてしまっていた点を直しました (#12408)
composer <スクリプト名
で実行するとき、実行するスクリプトの出力を削除しました (#12383)
2.8.8 2025-04-04
- バージョン検証でjson schemaの問題を修正 (#12367)
- 32ビットのマシンで走らせるときの問題を修正 (#12365)
2.8.7 2025-04-03
- 依存関係にあるjustinrainbow/json-schemaを6.xに更新 (#12348)
- Composerが開始する並列プロセスの最大数を制御する
COMPOSER_MAX_PARALLEL_PROCESS
環境変数を追加 (#12356) diagnose
コマンドの出力にzstd/brotliの存在有無を追加- エラー制御を修正し、非推奨の注意書きで散らからないようにしました (#12360)
- Composerの実行時に、InstalledVersionsが重複するデータを返していた点を修正 (#12225)
--with ...
制約の扱いを修正し、別名で置き換えられたパッケージに適用するようにしました (#12353)- ベンダーディレクトリ内で、IDEのコードインスペクションに非推奨の警告が出てくる問題を修正 (#12331)
- json schemaの完全性の問題を修正 (#12332, #12321)
- パス内の.pharが付くファイルの自動読み込みでの問題を修正 (#12326)
2.8.6 2025-02-25
--with[-all]-dependencies
フラグを有効にする環境変数COMPOSER_WITH_DEPENDENCIES
とCOMPOSER_WITH_ALL_DEPENDENCIES
を追加 (#12289)- 特定のスクリプトハンドラがスクリプト名でスキップされるようにするための、環境変数
COMPOSER_SKIP_SCRIPTS
を追加 (#12290) - Avastとcurlの証明書エラーが一緒に検出されたときのエラーヒントを追加 (#9894)
- アーカイブ作成時の、フォルダ名中のバックスラッシュの扱いを修正 (#12327)
- containerdの検出を修正し、コンテナでrootの使用についての警告がないようにしました (#12299)
2.8.5 2025-01-21
-
Added build provenance attestation so you can also now download and verify phar files from GitHub releases:
gh release --repo composer/composer download --pattern composer.phar gh attestation verify --repo composer/composer composer.phar
-
非対応の
funding
の値により、パッケージの解析エラーが起こっていた点を修正 (#12247) -
新しい寄付の書式への対応を修正 (#12257)
-
reload()
を使うときの、2.8.4であったInstalledVersionsの退行問題を修正 (#12269) -
psr-0/psr-4の規則が、
vendor/composer/autoload*.php
において不定の順番になっていた点を修正 (#12263) -
特定の状況下で、誤って起こっていた警告を修正 (#12284, #12268, #12283)
2.8.4 2024-12-11
audit
コマンドの終了コードに意味がなかった点を修正しました(脆弱性のとき1、放棄されているときは2、両方では3になりました) (#12203)- 複数のクラスが定義されている場合の、プラグインの更新時の問題を修正しました (#12226)
- phpの設定によって、出力に現れていた重複するエラーを修正しました (#12214)
- InstalledVersionsがある場合に重複するデータを返していた点を修正しました (#12225)
- installed.phpを修正し、整列が決定的になるようにしました (#12197)
- インラインの制約を使っているときに
bump-after-update
が失敗する点を修正しました (#12223) create-project
コマンドを修正しました。 パスリポジトリを引数に使った場合、シンボリックリンクを無効にするようになりました (#12222)validate --no-check-publish
を修正し、全面的に公開のエラーを隠すようにしました。 無関係なエラーのためです (#12196)- composer auditが失敗したとき、
audit
コマンドが失敗コードを返していた点を修正しました。 ビルドの失敗を引き起こすべきではないためです。 ただ、ビルドの一過程でauditを走らせること自体、あまり感心しません (#12196) - curlの使い方を修正し、プロキシが使われているときに壊れたバージョンで多重化を無効にするようにしました (#12207)
2.8.3 2024-11-17
- Windowsでのプロセス探索の扱いを修正 (#12180)
- react/promiseの要件で2.xのインストールができるように改めて修正 (#12188)
- lock:falseがrequireコマンドやbumpコマンドで設定されたときの問題を修正
2.8.2 2024-10-29
- プロバイダに説明がないとき、プロバイダの提案時にクラッシュしていた点を修正 (#12152)
- 特定の状況で、スキーマに違反する固定ファイルが作られる問題を修正 (#12149)
- 相対パスのリポジトリのパスを使う際に、2.8.1で生じた
create-project
の退行問題を修正 (#12150) - ctrl-Cで中断する操作が、テキストプロンプトで機能していなかった点を修正 (#12106)
- 所有権の違反でgitによりリポジトリが読み込めなかったときに、gitがひとりでに失敗していた点を修正 (#12178)
- プロキシを介してPHPでないバイナリを実行しているときの、シグナルの扱いを修正しました (#11716)
2.8.1 2024-10-04
init
コマンドを修正し、使用許諾が与えられなかったときの退行問題を修正しました (#12145)--strict-ambiguous
フラグの扱いを修正しました。 全ての問題を報告しないことがありました (#12148)create-project
を修正し、インストールされるプロジェクトファイルのフォルダのパーミッションを継承するようにしました (#12146)- 親ディレクトリのcomposer.jsonを使うときのプロンプトが、正しく動かない場合があった点を修正しました (#8023)
2.8.0 2024-10-02
- 後方互換性についての警告:
https_proxy
環境変数がhttp_proxy
の値にフォールバックする点を修正しました。 2.7.3のリリースノートの通り、フォールバックと警告は削除されました (#11938, #11915)。 update
コマンドに--patch-only
フラグを追加しました。 これにより、更新をパッチバージョンに制限し、全ての依存関係がより安全な方へ更新されます (#12122)audit
コマンドに--abandoned
フラグに追加しました。 放棄されたパッケージの扱い方が構成されます。audit.abandoned
構成設定を上塗りします (#12091)audit
コマンドに--ignore-severity
フラグを追加しました。 1つ以上の勧告の深刻度を無視します (#12132)update
コマンドに--bump-after-update
フラグを追加します。 更新が完了した後にbumpを走らせます (#11942)scripts
のうち、どれが追加のCLIの引数を受け取るかを制御する方法を追加しました。 また、コマンドのどこに入れるかも制御できます。 ドキュメントを参照してください (#12086)allow-missing-requirements
構成設定を追加しました。 固定ファイルがcomposer.jsonの依存関係を満たさないときのエラーを飛ばすものです (#11966)- composer.lockファイルのJSONスキーマを追加しました (#12123)
- Bitbucketのアプリパスワード対応を改善しました。 リポジトリをクローンしたりソースからインストールしたりする部分です (#12103)
reinstall
コマンドに--type
フラグを追加し、種別でパッケージを絞り込めるようにしました (#12114)dump-autoload
コマンドに--strict-ambiguous
フラグを追加しました。 重複するクラスが見つかったときにエラーコードを返すようにします (#12119)- ベンダーファイルが削除されたときに
dump-autoload
で出す警告を加えました (#12139) create-project
を走らせる際、欠けている各プラットフォームパッケージに警告を追加しました。 何度も走らせなくていいようにするためです (#12120)sort-packages
が有効のとき、allow-pluginsにパッケージの整列を追加しました (#11348)- extやlibのパッケージが欠けているときの、プロバイダパッケージやポリフィルの提案を追加しました (#12113)
- 最初に全てのパッケージと取り得る更新情報を出力し、対話的なパッケージの更新の選択を改善しました (#11990)
- 決定論的で(しばしば)論理的な方法で出力を整列し、依存関係の解決の失敗の出力を改善しました (#12111)
- PHP 8.4の
E_STRICT
の非推奨の警告を修正しました (#12116) init
コマンドを修正し、与えられた使用許諾の識別子を検証するようにしました (#12115)- 機能パッケージが2つの主線ブランチのどちらかに由来する可能性があると思われるとき、バージョンの推定を、機能ブランチに基づいてより決定論的になるよう修正しました (#12129)
- COMPOSER_ROOT_VERSION環境変数の扱いを修正しました。 例えば1.1の扱いは1.2.x-devと同じにし、1.2.0とは違うようにしました (#12109)
- requireコマンドを修正し、固定ファイルの新しい安定性フラグを飛ばすようにしました。 以前は固定ファイルの不当な差分が生じていました (#12112)
- php://stdin を修正しました。 Composerをプラグラムで走らせているときに複数回開く可能性がありました (#12107)
- プラットフォームパッケージの扱いを修正しました。 why-notコマンドと部分更新の部分です (#12110)
- 2.7.8で入った「transport-options.sslについて、ローカルの証明書の認証がロックファイルに保管されて、可搬でなかった点を修正しました (#12019)」が壊れていたため、差し戻しました。
2.7.9 2024-09-04
- 制約のある環境でのDockerの検出が壊れていた点を修正しました (#12095)
- bash補完スクリプトの上流の問題を修正しました。
completion
コマンドで更新することをお勧めします (#12015)
2.7.8 2024-08-22
outdated
のJSON出力にrelease-age
とrelease-date
とlatest-release-date
を加えました (#12053)- PHP 8.4の非推奨の警告を修正しました。
- ブランチを解決する部分を修正し、
#
記号を含むものでも機能するようにしました (#12042) bump
コマンドについて、~
制約が正しく扱われていなかった点を直しました (#11889)- COMPOSER_AUTHが./auth.jsonより優先度が上でなかった点を修正しました (#12084)
relative: true
について、パスのリポジトリのシンボリックリンクが考慮されないことがあった点を修正しました (#12092)- キャッシュからの複製について、VirtualBoxの共有フォルダを使うときに失敗することがあった点を修正しました (#12057)
- PSR-4の自動読み込み順序について、エッジケースの退行問題を修正しました (#12063)
- 重複するlib-*パッケージにより、peclとcoreのバージョンの同じPHP拡張があるときに問題が生じていた点を修正しました (#12093)
- transport-options.sslについて、ローカルの証明書の認証がロックファイルに保管されて、可搬でなかった点を修正しました (#12019)
- メモリに関して、大きなバイナリをインストールするときの問題を修正しました (#12032)
archive
コマンドについて、windowsでパスのrealpathが取れないときにクラッシュする点を修正しました (#11544)- API: BasePackage::STABILITIESをもって、BasePackage::$stabilitiesを廃止しました (685add70ec)
- Dockerの検出を改善しました (#12062)
2.7.7 2024-06-10
- セキュリティ:悪意のあるgitブランチ名を介したコマンドインジェクションに対して修正しました (GHSA-47f6-5gq3-vx9c / CVE-2024-35241)。
- セキュリティ:悪意のあるgit/hgブランチ名を介した複数のコマンドインジェクションに対して修正しました (GHSA-v9qv-c7wm-wgmf / CVE-2024-35242)。
- セキュリティ:不正なURLの形式を使って迂回される可能性のあったsecure-http検査を修正しました (fa3b9582c)。
- セキュリティ:linuxにおけるwindows固有の検査を含むFilesystem::isLocalPathを修正しました (3c37a67c)。
- セキュリティ:perforceへの引数のエスケープを修正しました (3773f775)。
- セキュリティ:アーカイブを解凍するときのzip爆弾の扱いを修正しました (de5f7e32)。
- セキュリティ:Windowsのコマンドの仮引数のエスケープを修正し、エンコーディングの変換の最尤一致によるユニコード文字の濫用を防止しました (3130a7455, 04a63b324)。
- 隠された規則の名前空間に合致しないクラスに対するPSR違反を修正しました。 これにより新たに違反項目が見つかるかもしれません (#11957)。
- プラグインがベンダーディレクトリにあるものの、ブランチを変えた後に必要でなくなったり使えなくなったりしたときのUXを修正しました (#12000)。
- 固定ファイルが古いとき、composer.jsonの新しいプラットフォーム要件が検査されない点を修正しました (#12001)。
config
コマンドがautoloadキーを削除する機能を修正しました (#11967)。init
コマンドでの空のtype
への対応を修正しました (#11999)。- gitの構成で
safe.bareRepository
がstrict
に設定されているときのgitクローンのエラーを修正しました (#11969)。 - PHP <8.1でネットワークエラーが表示される退行問題を修正しました (#11974)。
- 一部の警告でのカラーブリードを修正しました (#11972)。
2.7.6 2024-05-04
- スクリプト制御子が私有コールバックを使う自動読み込み器を加えるときの退行問題を修正しました (#11960)。
2.7.5 2024-05-03
remove
コマンドにuninstall
の別称を加えました (#11951)。- 転送で例外を起こすcurlの壊れたバージョン8.7.0/8.7.1のための対処法を加えました (#11913)。
- Podmanコンテナ内で表示される、rootを使うときの警告を修正しました (#11946)。
- configコマンドがある状況で正しくオブジェクトを扱っていなかった点を修正しました (#11945)。
- プロジェクトディレクトリがシンボリックリンクのとき、バイナリプロキシが正しいパスを含んでいなかった点を修正しました (#11947)。
- イベント制御子(scriptsとplugins)から読み込まれたときに、Composerの自動読み込み器がプロジェクトの自動読み込み器から無視される点を修正しました (#11955)。
- TransportException(httpの失敗)が個別の終了コードでなかった点を修正しました (#11954)。
100
のコードで終わるようになりました。
2.7.4 2024-04-22
- composer/composerのバージョンpre-2.7.3を要件とするプロジェクトでの退行問題(
Call to undefined method ProxyManager::needsTransitionWarning()
)を修正しました (#11943, #11940)。
2.7.3 2024-04-19
- 後方互換性についての警告:
https_proxy
環境変数がhttp_proxy
の値にフォールバックする点を修正しました。 まだそのままになっていますが、警告を伴うようになりました。 https_proxyを空に設定してフォールバックを除くことができるようになりました。 Composer 2.8.0ではフォールバックを削除するため、本警告にご注意ください (#11915)。 show
コマンドとoutdated
コマンドを修正し、パッケージの一覧を表示するときの先頭のv
を除きました。 例えばv1.2.3
のような見た目をしていました (#11925)。audit
コマンドを修正し、CVEが存在しないときに識別番号を表示しないようにしました。 勧告識別番号が表示されるようになりました (#11892)。project
種別を持つパッケージで表示される既定のバージョンが欠けていることについての警告を修正しました。 これらのパッケージは大抵バージョン管理されておらず、循環参照がないためです (#11885)。- PHP 8.4の非推奨の警告を修正しました。
clear-cache
コマンドを修正し、ローカルのcomposer.jsonのconfig.cache-dir設定を考慮するようにしました (#11921)。status
コマンドが失敗したダウンロードとインストールのプロミスを正しく扱っていなかった点を修正しました (#11889)。- GitHubの寄付ファイルの
buy_me_a_coffee
への対応を追加しました (#11902)。 - SSHのURLに
hg
の対応を追加しました (#11878)。 - 幾つかの環境変数を修正し、整数値がクラッシュを起こさないようにしました (#11908)。
- IOInterfaceをPSR-3ロガーとして使う際に文脈データが出力されないように修正しました (#11882)。
2.7.2 2024-03-11
composer --version
を走らせる際に、PHPのバージョンについての情報を追加しました (#11866)。- 根幹のバージョンが見合たらなかったときの警告を追加しました (#11858)。
- ルート権限で走らせる際に、幾つかの状況下では依然としてプラグインが有効だった問題を修正しました (c3efff91f)。
outdated --ignore ...
が依然として無視されたパッケージの最新版を読み込もうとしていた問題を修正しました (#11863)。- インストールパスの途中でシンボリックリンクが壊れたときの対処について修正しました (#11864)。
update --lock
が依然として幾つかのメタ情報を間違った内容で更新していた問題を修正しました (#11850, #11787)。
2.7.1 2024-02-09
- 2.7.0で利用者が出喰わすよくある問題に対して補足を入れるために、プラグインが無効化されたときの警告を幾つか追加しました (#11842)。
- pharから走らせたときに
diagnose
でのComposerの依存関係の監査が失敗する問題を修正しました。
2.7.0 2024-02-08
- セキュリティ:危殆化したベンダーディレクトリの内容を介したコードの実行と権限昇格の可能性を修正しました (GHSA-7c6p-848j-wh5h / CVE-2024-24821)。
audit.abandoned
構成設定の期待値をfail
に変更しました。 望ましくなければreport
やignore
に設定してください。 またはCOMPOSER_AUDIT_ABANDONED
環境変数も使えます (#11643)。update
/require
/remove
コマンドに--minimal-changes (-m) フラグを追加し、--with-dependenciesで部分的な更新を掛けつつ、推移的な依存関係で絶対に必要なものだけを変更できるようにしました (#11665)。outdated
/show
コマンドに--sort-by-age (-A) フラグを追加し、それぞれリリース日による整列(古いものが最初に来ます)とリリース日の表示ができるようにしました (#11762)。show
コマンドで--self
を--installed
や--locked
と組み合わせる対応を追加しました。 根幹パッケージを出力されるパッケージの一覧に追加できるようにするための変更です (#11785)。- 深刻度の情報を
audit
コマンドの出力に追加しました (#11702)。 - composer.jsonに
scripts-aliases
最上位キーを追加しました。 定義した自前のスクリプトに別称を定義できます (#11666)。 - 接続が時間切れになったときにIPv4にフォールバックする対応を加えました。
また、IPv4やIPv6に強制するための環境変数
COMPOSER_IPRESOLVE
も追加しました。 それぞれ4
および6
に設定できます (#11791)。 outdated
の--ignore引数にワイルドカードの対応を追加しました (#11831)。bump
コマンドに、*
を>=現在のバージョン
に上げる対応を追加しました (#11694)。validate
コマンドに、どうあっても照合する可能性のない制約の検出を追加しました (#11829)。- とても冗長なモード (-vv) で走らせているときに、パッケージのソース情報を
install
の出力に追加するようにしました。 diagnose
コマンドでComposer自体に含まれる依存関係の監査を追加しました (#11761)。diagnose
コマンドの出力にGitHubトークンの失効日を追加しました (#11688)。- why/why-notコマンドに非ゼロの状態コードを追加しました (#11796)。
show --direct <package>
を間接ないし推移的な依存関係で呼び出したときのエラーを追加しました (#11728)。COMPOSER_FUND=0
環境変数を追加し、募金の呼び掛けを隠せるようにしました (#11779)。bump
コマンドを修正し、v
前置詞が必要なパッケージのバージョンを上げないようにしました (#11764)。- ルートユーザーとして非対話的に走らせているときに、プラグインが自動的に無効になる事象を修正しました。
update --lock
を修正し、distのreference/url/checksumがピン留めされたままになっていなかった点を修正しました (#11787)。- 固定ファイルが存在していない場合に
require
コマンドが最後にクラッシュする問題を修正しました (#11814)。 - 固定された依存関係を監査するときにルートの別称が問題を起こす点を修正しました (#11771)。
require
コマンドで4つのコンポーネントでバージョンを扱うときの問題を修正しました (#11716)。- Symfony 7の互換性の問題を修正しました。
require
コマンドの--dry-runの後、composer.jsonが最新の状態に追従できない問題を修正しました (#11747)。- 特定の状況下で警告が間違って表示されていた点を修正しました (#11786, #11760, #11803)。
2.6.6 2023-12-08
- 要件symfony/consoleから7.xを除外するように修正しました。 Composer 2.6とは互換性が無いからです。 2.7では互換性があるでしょう (#11741)
- libpqの解析を修正し、可能であれば大域定数を使うようにしました (#11684)
- 一時制約の失敗があった更新でのエラー出力を修正しました (#11692)
2.6.5 2023-10-06
- vendorディレクトリに壊れたシンボリックリンクが含まれる場合の失敗を修正しました (#11670)。
- Composerのzipアーカイブから欠けていたcomposer.lockを修正しました (#11674)。
- 2.6.4で変わったAutoloadGenerator::dump()の非BCシグネチャを修正しました (cb363b0e8)。
2.6.4 2023-09-29
- セキュリティ:composer.pharが公開されててアクセスでき、PHPとして実行でき、php.iniでregister_argc_argvが有効なとき、遠隔コード実行の脆弱性がありえた点を直しました (GHSA-jm6m-4632-36hf / CVE-2023-43655)。
- auditコマンドで放棄されたパッケージのjson出力を直しました (#11647)。
- プール最適化の工程を効率良くしました (#11638)。
show -a <パッケージ名>
の効率良くしました (#11659)。