リリースノート
4D 20 R6
4D 20 R6 の新機能: 4D 20 R6 の新機能と拡張機能をすべてリストアップしたブログ記事です。
ハイライト
- オブジェクト参照 と コレクション参照 を対象とした比較演算子をサポート。
collection.query()
は、オブジェクト参照やコレクション参照をクエリの値 としてサポートするようになりました。 - 宣言された名前空間 をコンポーネントが持つ場合、そのクラスは
cs.<namespace>
を介して、ホストプロジェクトに読み込まれているすべてのコンポーネント間で自動的に共有されるようになりました。 - コンポーネントマネージャー: GitHub に保存されたコンポーネント のサポート。
- 新しい
entitySelection.clean()
関数と$clean
REST API が追加されました。これらは、対象のエンティティセレクションから削除済みエンティティを除外したエンティティセレクションを新規に取得します。 - セッションの権限を確認し、デバッグを容易にするための新しい
session.getPrivileges()
関数と$info/privileges
REST API が追加されました。 - 4DCEFParameters.jsonファイル が新しく追加されました。これにより、4D埋め込みWebエリアをカスタマイズすることができます。
- 新しい HTTPAgent クラスと、HTTPRequest クラスの新しい
agent
プロパティ。 - サーバーから Qodlyのページの状態を監視するための新しい
enableState()
とdisableState()
関数。 - 公開されたシングルトン関数を REST で呼び出すための新しい
$singleton
API と、それに伴う新しい 権限 が追加されました。 - プロジェクトを "強制ログイン" RESTモードにアップグレードするための 新しい設定ボタン が追加されました (
On REST Authentication
データベースメソッドは非推奨となりました)。 - 新しい設定タブ を使用して、警告の生成をグローバルに定義できます。
- いくつかのコマンド (主に "4D環境" テーマのもの) がスレッドセーフになりました (完全なリストはこちらを参照ください)。また、
SET DATABASE PARAMETER
/Get database parameter
コマンドの一部のセレクターもスレッドセーフになりました。 - PDF/A3 ドキュメントから添付ファイルを抽出する
PDF Get attachments
コマンドを提供する新しい 4D-QPDF コンポーネント。 - 4Dランゲージコマンド: doc.4d.com の 新着 ページ。
- 4D Write Pro: doc.4d.com の 新着 ページ。
- 修正リスト: 4D 20 R6 で修正されたバグのリストです (日本語版はこちら)。
動作の変更
- フォーム内のスクロールチェーンをサポート: 埋め込まれたスクロール可能なオブジェクト (縦スクロールバー・横スクロールバー) がスクロール境界に達しても、マウスやトラックパッドを使用してユーザーがスクロールを続ける場合、親サブフォームは自動的にスクロールします (オーバースクロール)。
$catalog
REST API は、シングルトンを返すようになりました (あれば)。
4D 20 R5
4D 20 R5 の新機能: 4D 20 R5 の新機能と拡張機能をすべてリストアップしたブログ記事です。
ハイライト
- 新しい コンポーネントマネージャー は、
dependencies.json
ファイルを介してコンポーネントを管理します。 Try...Catch...End try
エラー処理構文のサポート。- QUICネットワークレイヤーは ブロードキャスト、SSO、および IPv6 に対応しました。
- 制限付エンティティセレクション をサポート。
- 共有クラス と シングルトンクラス をサポート。 新しいクラスプロパティ:
.isShared
,.isSingleton
,.me
. - 宣言と同時にクラスプロパティを初期化 できるようになりました。
- RESTリクエスト用の新しい 強制ログインモード と、Qodly Studio for 4D での専用サポート。
- 新しい $format RESTパラメーター。
- リモートユーザーセッションとストアドプロシージャーセッションで
Session
オブジェクトが利用できるようになりました。 - 4Dランゲージコマンド: doc.4d.com の 新着 ページ。
- 4D Write Pro: doc.4d.com の 新着 ページ。
- 修正リスト: 4D 20 R5 で修正されたバグのリストです (日本語版はこちら)。
動作の変更
- 4D Internet Commands および 4D for OCI プラグインは、4Dインストーラーに含まれなくなりました。 これらのプラグインを入手するには、4D製品ダウンロードポータル に接続する必要があります。
- ストラクチャーエディターでテーブルやフィールドのグラフィカルな表示 (色、位置、順序など) に加えた変更は、
catalog_editor.json
という個別ファイルに保存されるようになりました。このファイルはプロジェクトのSources
フォルダー に保存されます。
4D 20 R4
4D 20 R4 の新機能: 4D 20 R4 の新機能と拡張機能をすべてリストアップしたブログ記事です。
ハイライト
- TLS証明書の
ECDSA
暗号化形式 をサポート。 - クライアント/サーバーおよび SQLサーバーの TLS接続は、動的に設定 されるようになりました (証明書ファイルは必要ありません)。
- HTML への直接の ストラクチャー定義の書き出し をサポート。
- 実行エラーを防ぐため、コード入力、シンタックスチェック、およびコンパイルステップにおけるコード管理を強化する新しい コードライブチェッカー。
#DECLARE
プロトタイプで宣言されたメソッドの引数は、"Compiler_" メソッドではもはや必要ありません。- 日付・時間のカスタムフォーマット をサポート
- 新しい
Try(expression)
キーワード で単純なエラーケースを処理できます。 - 新しい
HTTP Parse message
コマンド。 - 新しい ノンブロッキング印刷 互換性オプション。
- データエクスプローラーの新しい 編集モード。
- 4Dランゲージコマンド: doc.4d.com の 新着 ページ。
- 4D Write Pro: doc.4d.com の 新着 ページ。
- 修正リスト: 4D 20 R4 で修正されたバグのリストです (日本語版はこちら)。
動作の変更
- 引数を宣言するための従来のシンタックス (例:
C_TEXT($1)
やvar $1 : Text
) は非推奨となり、コードの入力時、シンタックスチェック、コンパイル時に警告が生成されます。 - セレクション内レコードの削除後に、別レコードが新規作成された場合でも、セレクションの一貫性が保持されるようになりました (このブログ記事 を参照ください)。
- 更新された OpenSSL ライブラリ では、デフォルトの SSL/TLS セキュリティレベルが 1 から 2 に変更されました。 1024ビット以上2048ビット未満のRSA、DSA、DH鍵、および 160ビット以上224ビット未満の ECC鍵は使用できなくなりました。 デフォルトでは、以前の OpenSSLバージョンですでに TLS圧縮が無効にされていました。 セキュリティレベル2では、これを有効化できません。
- 4Dユーザーディレクトリが bcryptアルゴリズムを使用している 場合にパスワード認証を可能にするため、
Open datastore
コマンドの connectionInfo パラメーターに設定する "password" 値は、デフォルトでクリアテキストで送信されるようになりました。 "On REST authentication" データベースメソッドが、パスワードを平文の状態で扱えるようにし (3番目のパラメーターは False)、Open datastore
に渡す connectionInfo で "tls" オプションを True にすることで、接続が暗号化されるようにする必要があります。 特定の場合には、新しい "passwordAlgorithm" オプションも互換性のために使用できます (Open datastore
コマンド参照)。
4D 20 R3
4D 20 R3 の新機能: 4D 20 R3 の新機能と拡張機能をすべてリストアップしたブログ記事です。
ハイライト
- 新しい
collection.multiSort()
関数を追加しました。 Formula from string
で context パラメーターをサポート。- 4D.WebSocket.new の connectionHandler パラメーターで
headers
プロパティをサポート。 - データ同期モジュールの実装に役立つ グローバル変更スタンプ。 新しい
ds.getGlobalStamp
とds.setGlobalStamp
関数が追加されました。 - ピクチャー/Blob属性へのファイル参照の代入は、ORDAでサポートされています。
- 宣言と同時に変数のデータ型と値を初期化 できるようになりました。
- ログファイルの設定は、カレントデータファイル とともに保存されるようになりました。
- 可変長引数を宣言するための新しいシンタックス
- 4D View Pro:ドキュメントの インポート および エクスポート で Blob形式をサポート。
- 4Dランゲージコマンド: doc.4d.com の 新着 ページ。
- 4D Write Pro: doc.4d.com の 新着 ページ。
- 修正リスト: 4D 20 R3 で修正されたバグのリストです (日本語版はこちら)。
動作の変更
- いくつかのエラーは、エラー処理メソッド によってインタプリタモードのみでキャッチ可能でした。 この問題の修正後、以下のエラーがコンパイルモードでも検出されるようになりました: 範囲外のインデックス、互換性のない型、Null ポインターの逆参照。 ただし、Intelプロセッサーでは、このようなエラーによって以前と同様に処理が中断されますが、Apple Siliconプロセッサーでは、
ABORT
コマンドを呼び出さない限り、処理は中断されません。 - 4D は内部的な PHPインタプリターを実装しなくなりました。 PHPコマンドを使用するには、別途PHPインタプリターをセットアップして実行する 必要があります。
4D 20 R2
4D 20 R2 の新機能: 4D 20 R2 の新機能と拡張機能をすべてリストアップしたブログ記事です。
セキュリティに関する注記
4Dアプリケーションが TLS接続を使用する場合は、4D 20 R2 HF1 build 100440以上へのアップグレードが推奨されます。 詳細は セキュリティ情報 を参照ください。
ハイライト
- 4D から WebSocketクライアント接続を作成および管理するための、新しい WebSocket クラス。
- 新しい QUICネットワークレイヤー インタフェース設定。
- 4D View Pro:ドキュメントの インポート および エクスポート で .sjs ファイル形式をサポート。
- 4Dランゲージコマンド: doc.4d.com の 新着 ページ。
- 4D Write Pro: doc.4d.com の 新着 ページ。
- 4D Write Pro インターフェース: 新しい 表ウィザード。
- 修正リスト: 4D 20 R2 で修正されたバグのリストです (日本語版はこちら)。
動作の変更
- 警告: 4D.FileHandle オブジェクトの
offset
の開始値が誤って 0 ではなく 1 に設定されていました。 20.1 HF1 および 20 R2 のバージョンで 4D が修正され、この値が 0 になりました。
4D 20.x LTS
ライブラリの一覧
ライブラリ | 現在のバージョン | 更新された 4D バージョン | 説明 |
---|---|---|---|
BoringSSL | 0aa300b | 20 R6 | QUIC に使用 |
CEF | 121 | 20 R5 | Chromium 6167 |
Hunspell | 1.7.2 | 20 | 4D フォームと 4D Write Pro でスペルチェックに使用されます。 |
ICU | 73.2 | 20 | このアップグレードにより、英数字とテキスト、オブジェクトのインデックスが自動的に再構築されます。 |
libldap | 2.6.7 | 20 R6 | |
libsasl | 2.1.28 | 20 | |
Libuv | 1.48 | 20 R6 | QUIC に使用 |
libZip | 1.9.2 | 20 | Zip クラス、4D Write Pro、svg および serverNet コンポーネントによって使用。 |
LZMA | 5.4.1 | 20 | |
OpenSSL | 3.2.0 | 20 R4 | デフォルトの TLS/SSL セキュリティレベルがアップグレードされました。 リリース v20R4 の動作の変更参照。 |
PDFWriter | 4.3 | 20 | 12.2.1 で FreeType依存 |
PHP | 8.2.4 | 20 | |
SpreadJS | 16.2.6 | 20 R4 | 4D View Pro エンジン |
webKit | WKWebView | 19 | |
Zlib | 1.2.13 | 20 |