v20r3以降,ローカル変数を二重に宣言した場合,コンパイラー警告(変数の再定義550.10)が表示されるようになりました。以前のバージョンでは,変数の型が矛盾しない限り,警告の対象ではありませんでした。変更の背景には,ランゲージの拡張に伴い,変数の宣言と同時に初期値の代入ができるようになったことが関係しています。もちろん,コンパイラー指示で警告を抑制することはできますが(下記参照),可能であれば,変数の宣言をまとめることを検討してください。
//%W-550.10
var $v : Text
C_TEXT($v)
//%W+550.10
ZIP Create archiveでZipファイルをパスワード保護した場合,アーカイブはAES暗号化されます。Windowsの圧縮フォルダ機能は,歴史的な経緯により,AES暗号化をサポートしていないため,そのようなファイルをWindowsの標準機能で展開することはできません。これは(Windowsの)仕様です。AES暗号化されたZipファイルは,7-Zipなどをツールで展開することができます。
データストア(ds
)には,.setAdminProtection()というAPIが用意されています。この関数を実行すると,WebAdmin を介したデータアクセスが全面的にブロックされます。設定はデータファイルに書き込まれ,アプリケーションを再起動した後も有効です。
Qodly Studio は WebAdmin を介してデータにアクセスします。.setAdminProtection()
を使用してアクセスを制限している場合,そのデータファイルには Qodly Studio でアクセスできないので注意してください。
BLOB TO VARIABLE
は数値型変数または配列のタイプ変換を実行します。つまり,ARRAY INTEGER をBLOBに変換した場合,そのBLOBは ARRAY LONGINT または ARRAY REAL に
復元することができます。より小さなデータ型に変換した場合,値が失われるかもしれません。
Windows Server 2012およびWindows Server 2012 R2は,2023年10月10日にサポートが終了しました。今後,当該製品に対するセキュリティ更新プログラムは配信されません。別の言い方をすれば,今後,当該製品を標的にしたサイバー攻撃の増加が予想されます。攻撃者は,特定の脆弱性を狙えばすぐにセキュリティ対策を講じられることを知っているので,サポートが終了するまでサイバー攻撃を控える傾向があるからです。ランサムウェア攻撃に遭うと,深刻な被害を被ることになります。海外では,そうした理由で4D Serverのデータファイルやバックアップにアクセスできなくなった事例も報告されています。サポートが終了したプラットフォームを引き続き使用することには,リスクが伴うことを認識しなければなりません。
4Dのシステム要件は,下記のとおりです(Windows抜粋)。
バージョン | クライアント | サーバー |
---|---|---|
v20.1 | Windows 10 – Windows 11 | Windows Server 2012 R2 – Windows Server 2022 |
v19.7 | Windows 10 – Windows 11 | Windows Server 2012 R2 – Windows Server 2022 |
v20 R2 | Windows 10 – Windows 11 | Windows Server 2012 R2 – Windows Server 2022 |
まもなくリリースされるv20.2, v20 R3では,Windows Server 2012 R2がシステム要件から除外されることになります。本来,Long Time Supportはリリース当時のプラットフォームを最後までサポートするべきですが,WebPライブラリの脆弱性を突いたCVE-2023-4863およびCVE-2023-5217の修正を優先させるため,例外的にCEFをアップデートすることになり,20.2でもWindows Server 2012 R2のサポートを終了することになりました。
4Dのセキュリティレベルは,オペレーティングシステムのライフサイクルに加え,OpenSSLライブラリやWebエリアに採用されているChrome Embedded Frameworkのバージョンにもかかっています。たとえば,v20では大幅に刷新されたOpenSSL 3.1.1が採用されていますが,過去バージョンのAPIに互換性がないため,v19では引き続きOpenSSL 1.1.1sが使用されており,更新の予定はありません。CEFについては,12のセキュリティ更新が実施されたChromium 5672がv20.2とv20 R2で採用されています。また,20.2と20 R3ではChromium 5993にアップデートされる予定です。
セキュリティ更新の恩恵にあずかるため,4Dのライフサイクルを考慮し,フィーチャーリリースを利用できるメンテナンス(無償アップグレード)サービスをライセンス購入時に付与するなど,事前に計画を立てることが勧められています。