重要
2.xリリースからアップグレードすると、全てのCouchbase Liteデータベースは、
最初にデータベースを開いた時に自動的にインデックスが再作成されます。
これにより、データベースが使用可能になるまでに遅延が発生する可能性があります。
新機能
<SQL++/N1QL クエリ文字列>
Couchbase LiteのSQL++ for MobileクエリAPIは、
ハイブリッド/クロスプラットフォームアプリ内でのCouchbase Liteの統合を
大幅に簡素化します。
N1QL for Mobileは、新しいSQL-for-JSONクエリ言語仕様(SQL++)の実装です。
ネイティブ、ハイブリッド、クロスプラットフォームのモバイルアプリ開発者に、
SQLベースの構文を使用して組み込みデータベース内のJSONドキュメントに
クエリするための一貫性のある便利で柔軟なインターフェイスを提供します。
これは、開発者がプラットフォーム間でクエリを再利用できることを意味し、
開発、テスト、およびメンテナンスのコストを削減します。
改善点
<チャネルアクセス取り消しの自動パージ>
チャネルとその中のドキュメントへのアクセスの喪失のために、自動パージ機能が
導入されています。これは、データガバナンスとデータ保持ポリシーの実施にとって
重要です。
チャネルは、Sync Gatewayを使用してアクセス制御を実施するための基本的なメカニズム
です。特定のチャネルにアクセスできるユーザーのみがそのチャネルのドキュメントに
アクセスできることを保証します。
ユーザーがチャネル(およびそのドキュメント)にアクセスできなくなると、
Couchbase Liteクライアントは、取り消されたチャネルに属するデバイス上の全ての
ローカルドキュメントを自動パージします(PullまたはPushAndPullレプリケーション中)。
ユーザーが他のチャネルを介してドキュメントにアクセスできない場合を除きます。
<JSONデータのドキュメントAPIサポート>
Couchbase Lite APIは、JSON形式のドキュメントデータのための追加設定なしの
サポートを提供するようになりました。これにより、開発者のアプリケーションが
データベース内のJSONデータを簡単に保存、変換、操作できるようになります。
APIは、Documents、MutableDocuments、Arrays、MutableArrays、
Dictionaries、MutableDictionaries、Query Resultsに対して
JSONサポートを提供します。
<レプリケータ変更リスナー>
APIが拡張され、レプリケータを再起動しなくても、いつでもレプリケータリスナーを
追加できるようになりました。
その他の改善点
・CBL-2633 - データベースのsaveBlob()およびgetBlob() APIのサポートレベルと
メッセージノートを更新
・CBL-2628 - ソケットを開いた時にSELECTを使用しないように変更
・CBL-2549 - SwiftでBlobTypeキー、BlobContentTypeキー、BlobDigestキーを公開
・CBL-2546 - CBLErrorの説明がない
・CBL-2483 - CouchbaseLiteExceptionをスローするように
database.createQuery(String query)署名を変更
・CBL-2452 - Swift Database.createQuery(query: String) APIを更新
・CBL-2437 - 自動パージを無効にする時の通知に関するメモを追加
・CBL-2408 - Fleece.hにkFLUndefinedValue定数を追加
・CBL-2383 - 全てのデータベースオープン接続を閉じるのに十分な時間を
確保するために、kOtherDBCloseTimeoutSecsを増やす
・CBL-2379 - 間違った暗号化キーを使用してデータベースをコピーする時の
ログメッセージを改善
・CBL-2376 - 暗号化されたデータベースのコピーに関するメモをAPIドキュメントに提供
・CBL-2358 - JSONからFLMutableDict/Arrayを作成するための関数を追加
・CBL-2292 - モバイルn1qlテストスイートを更新
・CBL-2064 - Encrypted Property(暗号化されたプロパティ)機能を実装
・CBL-2043 - メンテナンスの最適化オプションを実装
・CBL-2038 - QueryBuilderのATAN2(X, Y)をATAN2(Y, X)に変更
・CBL-1976 - EnableAutoPurgeをC4Replicatorオプションに設定
・CBL-1972 - チャネルアクセスの取り消し
・CBL-1941 - maxRetriesは、現在、再試行ではなく試行をカウントすべきである
・CBL-1935 - 非推奨のLiteCoreメソッドを削除
・CBL-1910 - 改訂された再試行ロジックとHeartbeat ConfigのAPIを実装
・CBL-1893 - 非推奨のAPIを削除
・CBL-1872 - 拡張された設定API
・CBL-1852 - モジュールの初期化を調査
・CBL-1842 - replicator.resetCheckpoint() APIを削除
・CBL-1791 - QueryBuilder APIへの変更
・CBL-1786 - clangからのunknown-warning-option警告を無視
・CBL-1763 - kErrTruncatedJSONがkFLNoErrorを返している
・CBL-1757 - CBL SQL++機能
・CBL-1744 - 同時テストでの起動タイマーの修正
・CBL-1714 - POSIXエラードメインコードをプラットフォームに依存しないように
リファクタリングする
・CBL-1710 - レプリケータでsetProgressLevel APIを使用するように更新
・CBL-1666 - アプリがSQLiteインデックスの最適化を直接トリガーできるようにする
・CBL-1650 - 削除リビジョンがCBLに既に存在する場合、CBLはチャネル削除を
パージしない
・CBL-1584 - レプリケータ再試行ロジック
・CBL-1581 - プロパティキーを予約
・CBL-1567 - c4log_enableFatalExceptionBacktraceが呼び出されていることを確認
・CBL-1522 - SQL++:NULLまたはMISSINGリテラルを追加
・CBL-1453 - エラー testDeleteWithActiveLiveQueriesAndReplicators
・CBL-1395 - エラー:AddressSanitizer: stack-use-after-return on address
・CBL-1350 - Replicator.resetCheckpoint() APIを非推奨
・CBL-1267 - Jenkinsユニットテストの失敗
・CBL-1232 - kC4ReplicatorOptionProgressLevelを変更するための関数をサポート
・CBL-1049 - レプリケータが解放された時のゼロフリースオプション
・CBL-911 - WindowsでDEBUGコンソールとファイルロギングを使用すると、
Couchbase Lite Javaレプリケーションがハングする
・CBL-429 - アクターにキューに入れられたメソッドをログに記録する方法を作成
・CBL-278 - SwiftCodablesのサポート
・CBL-111 - Xcode 11+用のマルチプラットフォームXCFrameworkを構築
Couchbase Lite Objective-C 3.0.0 リリースノート(Couchbase社ウェブサイト):
https://docs.couchbase.com/couchbase-lite/3.0/objc/releasenotes.html
Couchbaseサブスクリプション
Couchbaseサブスクリプションは、データベースSEによる日本語でのテクニカルサポートを付属した、公式サブスクリプションサービスです。