2022.03.01

Couchbase

Couchbase Lite Android 3.0.0 GA版(リリース日:2022年2月)

重要
2.xリリースからアップグレードすると、全てのCouchbase Liteデータベースは、
最初にデータベースを開いた時に自動的にインデックスが再作成されます。
これにより、データベースが使用可能になるまでに遅延が発生する可能性があります。
新機能
<AndroidでのKotlinのサポート>
Couchbase Lite for Androidは、慣用的なKotlin APIを追加設定なしで使用できます。
これにより、カスタム拡張機能を必要とせずに、Kotlinで開発されたAndroidアプリとの
シームレスな統合が可能になります。
Kotlinの開発者は、一般的なKotlinパターンを使用してアプリを構築し、次のような
使い慣れたKotlin機能を使用できるようになりました。
  ・ヌル可能性アノテーション
  ・名前付きパラメータ
  ・Kotlinフロー
Javaのサポートと機能はAndroidでも継続されます。Kotlin拡張APIを使用するか、
JavaAPIを引き続き使用するかを選択できます。
<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-2645 - リチウムをRC-1 LiteCoreに更新
・CBL-2634 - データベースのsaveBlob()およびgetBlob() APIのサポートレベルと
 メッセージノートを更新
・CBL-2630 - 最新のLiteCoreに更新
・CBL-2628 - ソケットを開いた時にSELECTを使用しないように変更
・CBL-2551 - エラーコードの説明を追加
・CBL-2481 - CouchbaseLiteExceptionをスローするように
 database.createQuery(String query)署名を変更
・CBL-2456 - エラーを返すか、CouchbaseLiteException (Beta 3)を
 スローするようにデータベースのcreateQuery()を更新
・CBL-2439 - 自動パージを無効にする時の通知に関するメモを追加
・CBL-2408 - Fleece.hにkFLUndefinedValue定数を追加
・CBL-2383 - 全てのデータベースオープン接続を閉じるのに十分な時間を
 確保するために、kOtherDBCloseTimeoutSecsを増やす
・CBL-2379 - 間違った暗号化キーを使用してデータベースをコピーする時の
 ログメッセージを改善
・CBL-2358 - JSONからFLMutableDict/Arrayを作成するための関数を追加
・CBL-2319 - encryptionKeyと併用すると紛らわしいcopyDatabase API
・CBL-2292 - モバイルn1qlテストスイートを更新
・CBL-2099 - Kotlin Flowablesを追加
・CBL-2064 - Encrypted Property(暗号化されたプロパティ)機能を実装
・CBL-2040 - QueryBuilderのATAN2(X, Y)をATAN2(Y, X)に変更
・CBL-2006 - null可能性についてメソッドとリターンに注釈を付ける
・CBL-1979 - Android v30をサポート
・CBL-1948 - ネイティブコンパニオンをもつオブジェクトをAutoClosableにする
・CBL-1941 - maxRetriesは、現在、再試行ではなく試行をカウントすべきである
・CBL-1935 - 非推奨のLiteCoreメソッドを削除
・CBL-1873 - 拡張設定API
・CBL-1854 - SQL++ API仕様を更新
・CBL-1792 - SQL++ クエリAPIを実装
・CBL-1789 - CBL - SQL++文字列を使用してクエリを作成
・CBL-1786 - clangからのunknown-warning-option警告を無視
・CBL-1781 - API:ReplicatorProgress APIを改訂
・CBL-1763 - kErrTruncatedJSONがkFLNoErrorを返している
・CBL-1757 - CBL SQL++機能
・CBL-1744 - 同時テストでの起動タイマーの修正
・CBL-1714 - POSIXエラードメインコードをプラットフォームに依存しないように
 リファクタリングする
・CBL-1711 - API:クエリ最適化のためのMaintenanceTypeを追加
・CBL-1666 - アプリがSQLiteインデックスの最適化を直接トリガーできるようにする
・CBL-1650 - 削除リビジョンがCBLに既に存在する場合、CBLはチャネル削除を
 パージしない
・CBL-1584 - レプリケータ再試行ロジック
・CBL-1583 - JSONの結果
・CBL-1582 - 設定可能なレプリケータレベル
・CBL-1581 - プロパティキーを予約
・CBL-1522 - SQL++:NULLまたはMISSINGリテラルを追加
・CBL-1359 - 非推奨のReplicator.resetCheckpoint()を削除し、
 Replicator.start()を非推奨にする
・CBL-1358 - 非推奨のLogDomain.ALLを削除(LogDomain.ALL_DOMAINSに置き換え)
・CBL-1357 - 非推奨のDatabase.compact()を削除
・CBL-1356 - 非推奨のコンストラクター BasicAuthenticator(String, String)を削除
・CBL-1350 - Replicator.resetCheckpoint() APIを非推奨
・CBL-1311 - 設定にビルダーパターンを使用
・CBL-1308 - クエリリスナーまたは任意のリスナーをトークンから
 直接削除できるようにする
・CBL-1232 - kC4ReplicatorOptionProgressLevelを変更するための関数をサポート
・CBL-1049 - レプリケータが解放された時のゼロフリースオプション
・CBL-1011 - 非推奨のReplicator.resetCheckpoint()を削除

Couchbase Lite Android 3.0.0 リリースノート(Couchbase社ウェブサイト):
https://docs.couchbase.com/couchbase-lite/3.0/android/releasenotes.html

Couchbaseサブスクリプション

CouchbaseCouchbaseサブスクリプションは、データベースSEによる日本語でのテクニカルサポートを付属した、公式サブスクリプションサービスです。

Couchbaseの詳細