10月15日にWinter'24へのアップデートがリリースされたのでSalesforceの開発環境のバージョンもアップデートしてみました。
そのままだとあたらしくApexコードを作成時にAPIバージョンが58.0で作成されます。
大きく困ることはありませんが定期的にやっていったほうが余計なトラブルを回避できるかと思います。
−−−という感じでまとめようと思ったのですが、最終的に上手くいかなかったので現時点ではやってみたメモなレベルです。
Salesforce CLIのアップデート
新しいバージョンが出ているかは「sf dotor」コマンドでチェックします。
Salesforce CLIのアップデートには「sf update」コマンドが用意されていますが、自分の環境では動作せず、「npm update -g @salesforce/cli」とnpmコマンドでアップデートできます。(SalesforceCLIのインストールのときに、インストーラかnpmコマンドかで変わってくるという話を見かけました)
Salesforce DX プロジェクトの設定ファイルでAPIバージョンを指定しているのはおそらく2箇所で「package.xml」と「sfdx-project.json」のあたりです。この辺は運用状況によって増えたりするかもですが、基本はこの2つだと思います。
package.xml
sfdx-project.json
Salesforce CLIのアップデートができたら「sf doctor」のAPIまわりの注意メッセージは表示されなくなります。
この作業だけではApexコード生成時のAPIバージョンは古いままとなってます。
VSCodeの拡張機能のアップデートも必要になります。
たぶんですが、アップデート自体は自動で行われていて、v59と表示されているんじゃないかなと思います。
なので画面に表示されている「再読み込みが必要です」ボタンをクリックして再読み込みするだけで新しいバージョンが適用されます。(どの拡張子のボタンで押しても全部反映されると思いますが、一応大元となっているSalesforce Extension Packの画面でボタンクリックしました。)
Salesforce CLIとVSCodeの拡張機能をアップデートして対応環境。
・・のつもりでしたが、あれ、かわらない・・。
ちょっとやってみた的なメモ
「sf config set org-api-version=59.0」という感じで「sf config」コマンドでバージョン設定する方法もあるみたいなので試してみました。これは特に関係ないようです。
一応実行したときの消し方。「sf config unset org-api-version」という感じ。
まとめ
以前は「package.xml」でバージョン指定すれば反映されてたと思いましたがなんかうまくいきませんでした。最近だとSalesforce CLIとかVSCodeの拡張機能も確かに関係してるよねとそっちもアップデートしてみましたが現時点ではうまくいかず。他に設定する箇所があるのか、Salesforce CLIのバージョンがまだ59.0は未対応なのかとかなとか思ってますが、時間経過で解決しそうなので今回はここまで。解決したら追記しようと思います。
Apexコード作成時点のAPIバージョンは58.0でつくられますが、手動で変更すればちゃんとそのバージョンで組織に反映できるので必要な作業をする分には特に困らないと思います。