リリース ノート
2.0.0 (May 15th, 2026)
重大な変更
すべてのプラットフォーム
- レガシーの Java および WPF エンジン バックエンドが削除されました。
- 非推奨のレガシー チャート タイプが削除されました。
- 非推奨の
DateFilterプロパティが削除されました。 RVDashboardThumbnailViewは非推奨となり、新しいRVThumbnailクラスに置き換えられました。NumberOfItemsInGrid、FilterRangeText、UpdateFilterRangeTextはそれぞれFilterCount、FilterSelectionText、UpdateFilterSelectionTextに名前が変更されました。
Node
- ヘッドレス エクスポート オプションの
dateFilterプロパティは非推奨です。代わりにRVDateRuleを使用したfilters配列をご使用ください。
Java
- Java SDK は Java 17 以上が必須になりました。
- Java SDK は
io.revealbi:reveal-sdk-servletMaven アーティファクトとRevealEngineServletを使用するサーブレット ベース構成になりました。 - Java SDK は Linux、Windows、OSX をサポートし、3 つの OS すべてで x64 と arm64 の両アーキテクチャをサポートします。
- Jetty をサーバーとして使用する場合、Reveal SDK が内部で使用している Jetty(現在は 12.0.12)とバージョンが競合する可能性があります。
新機能
すべてのプラットフォーム
- 新しいデータ ソース: Azure Cosmos DB。
- 新しいデータ ソース: ClickHouse。
- 新しいデータ ソース: Elasticsearch。
- グリッド、ピボット、棒グラフ、縦棒グラフ、テキスト ビジュアライゼーションで、フィールドの値に基づいた条件付き書式が適用できるようになりました。固定(静的)値との比較に加え、条件付き書式ルールで同じビジュアライゼーション内の別のフィールドと比較できるようになりました。書式設定は各行の実際のデータに基づいて個別に評価されます。詳細はこちら。
- ダッシュボードおよび個々のビジュアライゼーションのサムネイルをプログラムから生成できる新しい
RVThumbnailクラスが追加されました。 - DataGrid ビジュアライゼーションで、セルの選択、複数セルのドラッグ選択、Ctrl+C によるクリップボードへのコピーがサポートされました。また、列ヘッダー、交互行、セル境界線のデザインも更新されました。
RevealViewがスタンドアロンの npm パッケージとして利用可能になりました。MaxCellsRestrictionに getter および setter アクセサーが追加されました。- キーボード ナビゲーションがデフォルトで有効になりました。ウィジェットのタイトルとインタラクティブな要素に、スクリーン リーダー向けの ARIA 属性が改善されました。
- ビジュアライゼーション エディターのチャート領域とデータ領域の間に、ドラッグ可能なスプリッターが追加されました。
- SQL Server 接続の統合認証が改善されました。
- 以前の内部実装に代わり、公式の Microsoft SQL Server クライアント ライブラリが使用されるようになりました。
- Snowflake で
AllowsOAuthAccountTypeによる OAuth アカウント タイプがサポートされました。 - ネットワーク障害後のデータ エージェントの接続回復が改善されました。
Java
- Java SDK はコネクタと拡張ポイントについて .NET SDK と機能同等になりました(
InMemoryDataProviderを除く)。InMemoryDataProviderは今後のリリースで Java に移植される予定です。 - Java SDK で
RVRedisOptionsを使用した Redis キャッシュがサポートされました。 DefaultDashboardThemeがサポートされました。- ヘッドレス エクスポートで CSV 形式がサポートされました。
CsvExportOptions options = new CsvExportOptions();
options.setUseFormattedValues(true);
byte[] result = dashboardExporter.exportToCsv("dashboardId", options);
- カスタム フィールド スキーマ、計算フィールド、カスタム メジャーを有効にするベータ API として
IRVDataModelProviderが利用可能になりました。既存の .NET 実装と同等の機能を提供します。
public class MyDataModelProvider implements IRVDataModelProvider {
@Override
public void editSchema(IRVUserContext userContext, RVDashboardDataSet dataSet, RVDataSchema schema) {
// フィールド スキーマのカスタマイズ、計算フィールドの注入、カスタム メジャーの追加
}
}
- .NET SDK でのみ利用可能だったキャッシュ設定(
maxDownloadSize、maxInMemoryCellsなど)が Java SDK でも公開されました。 - ヘッドレス エクスポートの日付フィルター API に
RVDateRuleが追加されました。dateFilterプロパティは非推奨です。代わりにfiltersをご使用ください。
ExportOptions exportOptions = new ExportOptions();
exportOptions.setFilters(List.of(new RVDateRule(RVPeriodType.YEAR, RVPeriodRelation.TO_DATE)));
Node
- カスタム フィールド スキーマ、計算フィールド、カスタム メジャーを有効にするベータ API として
IRVDataModelProviderが利用可能になりました。既存の .NET 実装と同等の機能を提供します。
class MyDataModelProvider implements IRVDataModelProvider {
async editSchema(userContext, dataSourceItem, schema) {
schema.find(f => f.name === "Discount").defaultAggregation = RVDashboardAggregationType.CountDistinct;
schema.find(f => f.name === "UnitPrice").label = "Price per Unit";
return schema;
}
async getCalculatedFields(userContext, dataSourceItem) {
return [{ name: "LineTotal", type: RVDashboardDataType.Number, expression: "[UnitPrice] * [Quantity] * (1 - [Discount])" }];
}
async getMeasures(userContext, dataSourceItem) {
return [{ name: "Total Revenue", expression: "sum([UnitPrice] * [Quantity])", description: "Revenue before discount" }];
}
}
- .NET SDK でのみ利用可能だったキャッシュ設定(
maxDownloadSize、maxInMemoryCellsなど)が Node SDK でも公開されました。
const revealOptions: RevealOptions = {
maxDownloadSize: 200 * 1024 * 1024,
maxInMemoryCells: 10_000_000,
};
- ヘッドレス エクスポートの日付フィルター API に
RVDateRuleが追加されました。dateFilterプロパティは非 推奨です。代わりにfiltersをご使用ください。
const exportOptions = new ExportOptions();
exportOptions.filters = [new RVDateRule(RVPeriodType.Year, RVPeriodRelation.ToDate)];
バグ修正
すべてのプラットフォーム
- Azure Cosmos DB で階層データが読み取れませんでした。
- 一部のチャート シリーズが描画されず、コンボ積み上げシリーズにホバーするとクラッシュしていました。
- ダッシュボードの読み込み完了時にキーボード フォーカスが失われていました。
- ゲージ ビジュアライゼーションでデータ値が最大値を超えた場合に、最大値にクランプされませんでした。
overrideLocaleの同時呼び出しが不正な動作を引き起こす場合がありました。- TypeScript のみのビルドで
parseISODateが利用できませんでした。 - 特定のチャート タイプでサムネイル生成が失敗していました。
- モジュール バンドラーを使用する場合にローカライズが正しく機能しませんでした。
- YouTube Analytics コネクタで日付フィルターが正しく適用されませんでした。
RevealViewコンストラクターが CSS セレクター文字列を正しく受け付けず、DOM 要素のみ機能していました。RVJsonSchemaConfigBuilderで日付フィールドに誤った列タイプが割り当てられていました。Dataが設定されていない場合にピボット フィールド エディターで null 参照クラッシュが発生していました。- 条件付き書式ルールで null または空のカラー プロパティを開くとクラッシュしていました。
- フィルターが一致しない場合にヘッドレス エクスポートが失敗していました。
- ダッシュボード リンクをたどった後に戻る操作でエラーが発生していました。
- MongoDB の
VerifyConnectionが予期せず失敗していました。 filterValueChangedEventが正しく発火しないリグレッションが発生していました。- YouTube OAuth に必要な設定エントリが欠落していました。
- LinkedIn コネクタで非推奨のメトリクスが原因で失敗が発生していました。
- Excel データ ソース アイテムの「最初の行をタイトルとして使用」パラメーターが正しく設定されていませんでした。
- データ ソース セレクター ダイアログでタイトルが表示されていませんでした。
1.8.4 (Mar 5th, 2026)
New Features
All Platforms
- New data source: MariaDB.
- Redshift now supports stored procedures.
- KPI visualizations now support conditional formatting.
- Added "Between" and "Not Between" number comparison operators for conditional formatting.
- Keyboard accessibility improvements in View Mode for grid and pivot visualizations.
- Localization now uses the user's language preference instead of the server locale. This affects labels such as "Grand Total" in Excel export, and "Previous" and "Current" in KPI visualizations.
- Elasticsearch now supports parameterized queries.
- MySQL now supports timezone conversion.
- Added a "Remove" button to the visualization editor fields list.
- Added a search box to the visualization type selection dialog.
- Added an
onFilterValueChangedevent to the RevealView. The event fires when the user uses the filtering UI or API to modify the selection of a filter.
revealView.onFilterValueChanged = (args) => {
console.log("Filter:", args.filter);
console.log("Source:", args.source.title);
console.log("Old value:", args.oldValue);
console.log("New value:", args.newValue);
};
Bugs
All Platforms
- The "Null or empty" filter option text is now localized.
- Switching visualizations quickly when using statistical functions could lose the original baseline.
- MongoDB blending regression.
- Cache not working in some scenarios for NodeJS and Java SDKs.
- Pivot Excel export headers missing when grand totals are visible.
- Dashboard filter refresh rate ignoring the metadata screen expiration setting.
- Stacked chart y-axis range only using first value field's range.
- Combination chart: changing the display order alters the y-axis range.
- Local evaluation of "not equals" operators incorrect.
- ScatterMap null reference exception when reloading data.
- Date range generation for quarter-based rules incorrect on web.
- SSAS hierarchical filters not working correctly.
- MySQL error when the database name includes a hyphen.
- Field search box not showing up in the visualization editor.
- Dashboard filter binding issues.
- Auto connect filters issues.
- Headless export inconsistencies with deferred rendering.
- Maximized visualization sizing and loading incorrect when dashboard has global filters.
- Multiple visualization editors could appear simultaneously in the dashboard layout.
- Show data labels setting not applied in Excel export.
- Data source icon not displaying for some data sources.
- Maximized visualization state incorrectly reported after minimizing.
- Headless export null pointer when the server returns 4xx or 5xx errors.
- Exporting a dashboard containing text widget could fail.
- Null values not treated as the smallest value when sorting.
- Azure Analysis Services could cause a null reference when global filters are present.
Java
- Headless export crash when exporting a grid visualization.
1.8.3 (2026 年 1 月 9 日)
新機能
すべてのプラットフォーム
- 条件付き書式の形状選択ポップアップが改善され、クリア オプションが含まれるようになりました。
- 新しい円チャートとドーナツ チャートが一般利用可能になりました。この更新された円チャートとドーナツ チャートは、以前の円チャートとドーナツ チャートの表示形式を置き換えます。
- ヘッドレス エクスポートが最適化され、より信頼性が高く、わずかに高速になりました。
- SQL Server では、計算フィールドを作成するときに
ISEMPTY関数がサポートされるようになりました。 - onUrlLinkRequested イベントで null が返されると、ナビゲーションがキャンセルされるようになりました。
- 大きい数値の形式がローカライズされるようになりました。
- ダッシュボード フィールド フィルター値のフィールドとは異なるフィールドをダッシュボード フィルターのラベルに使用できるように UX が改善されました。
- Elasticsearch にいくつかの改善が加えられました:
FORMATDATE関数のサポートの追加、LOG関数 (単一パラメーター呼び出し) の問題の修正、FYEAR(会計年度) 関数の問題の修正、SQL インジェクション攻撃を防ぐための改善。 - データ ソース アイコンを非表示にしたり変更したりできるようになりました。
revealView.onAssetRequested = (args) => {
// Use default
return null;
// Hide icon
return { visible: false };
// Custom icon
return { imageUrl: "./images/custom.jpg" };
// Conditional
if (args.dataSource instanceof RVSqlServerDataSource) {
return { imageUrl: "./images/sqlserver.jpg" };
}
};
- 定義済みの計算フィールドのサポートが追加されました。
//Registration
mvcBuilder.AddReveal(builder =>
{
builder.AddDataModelProvider<MyDataModelProvider>();
});
//Implementation example
internal class MyDataModelProvider : IRVDataModelProvider
{
private static readonly List<RVDataModelCalculatedField> calculatedFields;
static MyDataModelProvider()
{
calculatedFields = new List<RVDataModelCalculatedField> {
new RVDataModelCalculatedField("GrossAmount", "Gross Amount", RVDashboardDataType.Numeric, "[UnitPrice] * [Quantity]"),
new RVDataModelCalculatedField("DiscountAmount", "Discount Amount", RVDashboardDataType.Numeric, "[GrossAmount] * [Discount]"),
new RVDataModelCalculatedField("NetAmount", "Net Amount", RVDashboardDataType.Numeric, "[GrossAmount] * [Discount]")
};
}
public Task<List<RVDataModelCalculatedField>> GetCalculatedFieldsAsync(RVDataSourceItem dsItem, IRequestContext userContext)
{
if (dsItem.Title == "Order Details")
return Task.FromResult(calculatedFields);
else
return Task.FromResult<List<RVDataModelCalculatedField>>(null);
}
public Task<List<RVDataModelMeasure>> GetMeasuresAsync(RVDataSourceItem dsItem, IRequestContext userContext)
{
if (dsItem.Title == "Order Details")
return Task.FromResult(new List<RVDataModelMeasure> {
new RVDataModelMeasure("Total Revenue", "sum([NetAmount])", "Total Revenue (net)"),
new RVDataModelMeasure("ASP", "sum([NetAmount]) / SUM([Quantity])", "Revenue-weighted price per unit")
});
else
return Task.FromResult<List<RVDataModelMeasure>>(null);
}
public Task<List<RVDataModelField>> EditSchemaAsync(RVDataSourceItem dsItem, List<RVDataModelField> baseSchema, IRequestContext requestContext)
{
if (dsItem.Title == "Order Details")
{
baseSchema.FirstOrDefault(f => f.Name == "Discount").DefaultAggregation = RVDashboardAggregationType.CountDistinct;
return Task.FromResult(baseSchema);
}
else
{
return Task.FromResult<List<RVDataModelField>>(null);
}
}
}
- MongoDB で
ENDOFMONTH関数がサポートされるようになりました。
バグ修正
すべてのプラットフォーム
- TypeScript で RedisCacheOptions の型定義が不足している問題。
- パーセンテージベースのチャートに大きい数値の書式設定が正しく適用されない問題。
- Elasticsearch でインデックス プレビュー時にエラーが発生する問題。
- MySQL ストアド プロシージャ パラメーターがフィルター バインディング オプションとして表示されない問題。
- onFiltersChanged イベントがインタラクティブ フィルタリングに対して発生するが、selectedValues プロパティが更新されない問題。
- KPI 表示形式が最小化モードでラベルと重なる場合がある問題。
- Google Analytics で 一部のメジャーの集計が正しくない問題。
- Google Analytics で日付階層を使用すると、誤ったメトリック値が表示される問題。
- [データ ラベルを表示] をオフにしてもラベルが非表示にならない問題。
- マップ表示形式を含むヘッドレス エクスポートが失敗する問題。
RevealSdkSettings.FormattingProviderが定義されている場合、大きい数値の書式設定が正しく機能しない問題。- Analysis Services でカスタム日付範囲が機能しない問題。
- 凡例を下部に設定すると円チャートとドーナツ チャートが消える問題。
- ARM アーキテクチャの macOS でアクセスすると Analysis Services がクラッシュする問題。
- テーマのカスタム フォントが使用されない問題。
- カスタム テーマが Reveal のデフォルトに置き換えられる問題。
- クエリ結果から null 日付を読み取ると MySQL エラーが発生する問題。
- カスタム表示形式にフィールドのラベルが含まれない問題。
- 散布図の表示形式で、インタラクティブ フィルタリングのツールチップに誤ったテキストが表示される問題。
Java
- 数値フィルターが整数ではなく小数を送信する問題。
1.8.2 (2025 年 11 月 11 日)
これは、Redis Cache サポートの重大な問題を修正し、Node.js の TypeScript サポートを追加する重要なパッチリリースです。Redis Cache (1.8.1 で導入) を使用している場合は、このバージョンにアップグレードする必要があります。
バグ修正
すべてのプラットフォーム
- 構成された Redis Cache が正しく機能しない重大なバグを修正しました。
Node
- 開発エクスペリエンスと型安全性を向上させるための TypeScript 型定義を追加しました。