最新の情報に追い付いていなかったのであらためて記載する。
Spring'20
API 要求の日次上限 (1,000,000) が削除されました。
[API数の計算]
100,000 + (ライセンス数 x ライセンスの種類ごとのコール数) + 購入した API コールアドオン数
API数が増えてるのが嬉しいです。
Summer'20
プッシュ通知の制限が緩和されました
iOS プッシュ通知は組織ごとに 1 時間あたり最大 20,000 件、Android プッシュ通知は組織ごとに 1 時間あたり最大 10,000 件送信できます。
利用する機会がなかった機能ですが、制限あるということを覚えておこうと思います。
Winter'21
安全なナビゲーション演算子を使用した Null ポインタ例外の回避 ( ?. )
これは嬉しいです。これでApexとLWCでNullセールナビゲーションが使えるようになりました。
これで、NullPointerExceptionとはおさらばできると思いますが、むやみに使うと、今までエラーが発生して気づけたバグに気づけなくなるので注意です。
Auraでは使えないのがもどかしいです。
Apex からのカスタム通知の送信
Messaging.CustomNotification クラスを使用して、トリガなどの Apex コードから直接カスタム通知を作成、設定、送信します。
カスタム通知を使った仕組みを作りやすくなりました。テストクラスからは通知しないようにしないとエラーになるようでした。
Winter'23
同時に開くクエリカーソルの制限の削除
ユーザごとに同時に開くクエリカーソル数が制限されなくなりました。Apex 一括処理の start、execute、finish メソッドの結果セットも含まれます。
Visualforce画面で、StandardSetControllerをたくさん使っても安心です。(といっても、Lightning Componentを採用することがほとんどになってしまいましたが)
今まではカーソルが10まで、カーソルは15分以上放置するとエラーになるので使いづらかったです。
Spring'23
System.enqueueJob メソッドを使用したキュー可能ジョブのスケジュール遅延の指定
Integer delayInMinutes = 5;
ID jobID = System.enqueueJob(new MyQueueableClass(), delayInMinutes);
遅延実行は、今まではSystem.scheduleBatch しかなかったですが、Queueableでも遅延実行ができて便利になりました。System.scheduleBatchでは、同時にスケジュールされる Apex クラスの最大数100の制限、Queueableでは、Apex Flex キューに入っている Holding 状況の Apex 一括処理ジョブの最大数100の制限。
そして、24 時間あたりの非同期 Apex メソッド実行 (Apex 一括処理、future メソッド、キュー可能 Apex、およびスケジュール済み Apex) の最大数250000(組織内のユーザライセンス数 × 200 の大きい方の値)の制限は気を付ける必要があります。