リリースノート
4D 20 R7
4D 20 R7 の新機能: 4D 20 R7 の新機能と拡張機能をすべてリストアップしたブログ記事です。
ハイライト
- 時間型のリストボックスの列とヘッダーは、"blankIfNull" オプション をサポートするようになりました。
- New properties in
.getBoxInfo()
and.getBoxList()
. - コンポーネントマネージャーのインターフェースを使用してコンポーネントを追加および削除 できるようになりました。
- コンパイラー設定の新しい 直接型指定モード: コード内のすべての変数および引数を
var
と#DECLARE
/Function
キーワードで宣言します (新規プロジェクトではこのモードのみサポートされます)。 これに伴い、シンタックスチェック機能 が強化されました。 - セッションシングルトン と、新しい
.isSessionSingleton
クラスプロパティをサポート。 - New
onHttpGet
function keyword to define singleton or ORDA functions that can be called through HTTP REST GET requests. - New
4D.OutGoingMessage
class for the REST server to return any web contents. - Qodly Studio: Qodly Studio デバッガーを 4D Server で有効化 できるようになりました。
- 4Dクライアントアプリケーション用の新しいアプリケーションビルド XMLキー: 接続時にサーバーから送信される証明書について、認証局の 署名 や ドメイン を検証するためのキーが追加されました。
- 4D Language:
- New commands: Process info, Session info, SET WINDOW DOCUMENT ICON
- Modified commands: Process activity, Process number
- 4D Write Pro:
- New command: WP DELETE SECTION
- Modified commands: WP DELETE SUBSECTION and WP RESET ATTRIBUTES
- What's new page in 4D Write Pro Reference.
- 修正リスト: 4D 20 R7 で修正されたバグのリストです (日本語版はこちら)。
動作の変更
- 4Dランゲージ よび 4D Write Pro ランゲージ のドキュメントが、developer.4d.com で利用できるようになりました。 これらのドキュメントに関する新機能と変更点については、このリリースノートを参照ください。
- コンパイラー指示コマンド (
C_XXX
) は非推奨となり、_O_C_XXX
という名前に変更されました (たとえば、C_TEXT
は_O_C_TEXT
という名前に変更されました)。 File
コマンド (および4D.File.new()
コマンド) は、引数として与えられた path のシンタックスをより厳しくチェックする様になりました。
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
object is now available in remote user sessions and stored procedures 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では、これを有効化できません。
- In order to allow password verification when the 4D user directory uses the bcrypt algorithm, the "password" value in the connectionInfo parameter of the
Open datastore
command is now sent in clear form by default. "On REST authentication" データベースメソッドが、パスワードを平文の状態で扱えるようにし (3番目のパラメーターは False)、Open datastore
に渡す connectionInfo で "tls" オプションを True にすることで、接続が暗号化されるようにする必要があります。 In specific cases, a new "passwordAlgorithm" option can also be used for compatibility (seeOpen datastore
command).
4D 20 R3
4D 20 R3 の新機能: 4D 20 R3 の新機能と拡張機能をすべてリストアップしたブログ記事です。
ハイライト
- 新しい
collection.multiSort()
関数を追加しました。 - Support of context parameter in
Formula from string
. - 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
See Release Notes for 4D 20.x LTS.
ライブラリの一覧
ライブラリ | 現在のバージョン | 更新された 4D バージョン | 説明 |
---|---|---|---|
BoringSSL | 0aa300b | 20 R6 | QUIC に使用 |
CEF | 128 | 20 R7 | Chromium 6613 |
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.3.2 | 20 R7 | デフォルトの TLS/SSL セキュリティレベルがアップグレードされました。 リリース v20R4 の動作の変更参照。 |
PDFWriter | 4.3 | 20 | 12.2.1 で FreeType依存 |
PHP | 8.2.4 | 20 | |
SpreadJS | 17.1.0 | 20 R7 | 新機能の概要については、このブログ記事 を参照ください。 |
webKit | WKWebView | 19 | |
Zlib | 1.2.13 | 20 |