以下は、整形済みのリリースノートの日本語訳です。
Amethyst v1.05.0: ブックマークリスト、ボイスメモ、WoTスコア
今回のリリースでは、ブックマークリスト管理の導入、ボイスメモ(YakBaks)の全面的な刷新、そしてより安全なソーシャル体験のための「Web of Trust(WoT)」スコアのデビューが含まれています。
このバージョンでは、複数のブックマークリストの作成、管理、削除、閲覧のサポートが追加されました(パブリックおよびプライベートなメンバーを含む)。サイドバーの「ブックマーク」メニューオプションが改善され、各投稿のコンテキストメニューにブックマークオプションが追加されました。これにより、投稿を直接1つまたは複数の個別のリストに追加できるようになります。
ボイスメモのUIが再設計され、新しい投稿画面や専用の音声リプライ画面内で直接録音できるようになりました。新しい音声メッセージの録音、波形表示によるプレビュー、必要に応じた再録音、メディアサーバーの選択、そしてリプライの投稿が可能です。これで完全にコントロールできるようになりました。
Amethystは「Trusted Assertions(信頼性アサーション)」をサポートするようになりました。WoTプロバイダーに接続することで、ユーザー画像上にトラストスコアや検証済みのフォロワー数を直接確認できます。これにより、ノイズからシグナルをフィルタリングし、フォローすべき評判の良いアカウントや、開くべきDM、優先すべき通知を識別しやすくなります。これを有効にするには、これらのスコアを計算できるプロバイダーを見つける必要があります。現在はプロバイダーが限られておりリソースも制約されていますが、今後より多くのプロバイダーが独自のアルゴリズムをNostrに持ち込むことを期待しています。
Quartz(ライブラリ)は、AndroidのデフォルトSQLiteデータベースを使用してサブマイクロ秒単位のクエリが可能な、大幅に改良されたデータベースエンジンを搭載しました。このエンジンはモバイル環境向けに最適化されており、他のアプリに影響を与えないよう、メモリ使用量を最小限に抑えています。
バックグラウンドでは、Amethyst Desktopの構築を開始しました。まだ多くの作業が残っていますが、目標はモバイル中心のUIレイアウトから脱却した、スタンドアロンのマウス操作優先のアプリケーションです。
新機能
* Trusted Assertions: ユーザーのプロフィール画像にトラストスコアを表示するサポートを追加
* WoTフォロワー: ユーザープロフィールに検証済みフォロワー数を表示
* ブックマークリスト: カスタムリストのフルサポート
* リレー情報: NIP-11機能のサポートを拡張した新しいUI
* ボイスメモ&リプライ: エクスペリエンス(体験)を再設計
* プロフィールバナー: 新しいデフォルトバナー
* ネイティブリンク: njump, yakihonne, primal, iris.to, zap.stream, shosho.live を捕捉し、Amethystで直接開くように変更
改善点
* 新しいインメモリのグラフベース・キャッシュスキームを導入(通報やWoTスコアをこの新システムに移行)
* ページ間の移動時にフィードがずれるのを防ぐため、トップバーの再表示を無効化
* 不正なJSONによるクラッシュを防ぐため、Kotlin Serializationを寛容な設定(Lenient)に変更
* 期限切れのアドレス可能イベントをキャッシュから削除
* レポート(通報)を古いキャッシュシステムから新しいグラフベースのシステムに移行
* リプライの多いアカウントに対応するため、プロフィール画面の読み込み制限を500件に戻しました
* QRコード画面をダイアログから完全なルート(画面)に移動
* プロフィール編集ページで、タグ付け用の名前(name)を再追加
パフォーマンス
* 中間バッファを作成せずにシリアライズ、SHA256ハッシュ化、ID比較を行うことで、イベントIDチェッカーを高速化
* 新しい変数の作成を避けてガベージコレクションの呼び出しを減らし、イベントJSONパーサーを高速化
* タグ配列のデシリアライザーを高速化
* リレーをループせずにプール状態を管理し、処理時間を数ミリ秒短縮
* WoTスコア用のキャッシュシステムを追加
* ビデオUIにおけるComposeの安定性を向上
バグ修正
* 標準的なNostr実装との互換性のため、UTF-8絵文字サロゲートペアのJSONシリアライズを修正
* Zap設定エラー時のエラーメッセージを改善し、詳細なNWC URIを表示するように変更
* QRダイアログの内容を中央揃えにし、上部の過剰な余白を削減
* サブスクリプション終了時、完了を待たずにNostrClient上で即座にクローズするように変更
* 支払いをユーザーに通知(NOTIFY)するには、リレーがアウトボックス/インボックスリレーである必要があるように変更
* アドレス文字列内の無効なkindの解析速度を向上
* DBのLIMITクエリでカウントが機能しない問題を修正
* リソースIDが誤っていたアイコンのバグを修正
* トップリストがローカルでまだ利用できない場合に、フィードの更新が欠落する問題を修正
* NIP-11におけるサポート対象NIPリストを整数として処理するよう修正
* イベントアウトボックスでの並行処理例外(ConcurrentExceptions)を修正
Desktop
* 投稿とグローバル/フォローフィードを備えた、ベースとなるCompose Multiplatformデスクトップアプリ
Web
* 新しいウェブサイト
Quartz (ライブラリ)
* NIP-85のトラストプロバイダーリストとコンタクトカードのサポートを追加
* NIP-A3 に基づく支払いターゲット(Payment targets)の初期サポート
* NIP-46の初期サポート
* 高速なMurMur Hash 3 (64-bit) のサポートを追加
* nextLongセキュアランダムメソッドを追加
* pタグメンションの汎用的なアプローチを削除
* UserMetadata内の非推奨フィールドを削除
* 不要な依存関係を避けるため、QuartzからCompose BOMを削除
* Quartzから日付時刻(datetime)の依存関係を削除
* Coroutinesへの依存関係を(Compose Runtime経由ではなく)直接追加
* 古いsecp256ターゲットの依存関係を削除
* NostrClientとRelay Authenticatorにデフォルトスコープを追加
Quartz-Event Store
* パフォーマンス向上のため、テキストタグから確率的な64ビットMurMur Hash3整数へ移行
* デフォルトで範囲インデックスクエリからkind,pubkeyクエリへ移行
* 特定の単純なNostrフィルター向けに、よりシンプルなSQLクエリを追加
* ライブラリユーザー向けにSQL実行計画、vacuum、analyzeを公開
* NIP-91 に基づくANDタグクエリを実装
* 削除および消失(vanish)リクエストによるpタグでのGiftWrap削除を実装
* ユーザーにいくつかのインデックス戦略オプションを提供
* SQLだけでなく使用されるインデックスも検証するテストケースを複数追加
* タグ配列を必要としないリレー向けに、カラムを返す生のクエリを公開
* トリガーにおいてAddressableおよびReplaceableイベントでのインデックス使用を強制
* DBから重複イベントが返される問題を修正
* SQLビルダー内の未使用のOr条件を修正
* DB用モジュールクラスの構造を改善
* ステートメントはスレッドセーフではないため、ステートメントキャッシュを削除
* 複数のEventStore用インターフェースを作成
コード品質
* kotlin, compose, multiplatform, activity, serialization, media3, mockk, secp256, tor, androidxCamera, stdlib を更新
* デバッグ時のトレースを可能にするCompose stabilityプラグインを追加
* 最新のZapstore設定に更新
* ReadMe内のQuartzの手順を更新