はじめに
Redash v4.0.0 が2018年4月に正式にリリースされました。v3.0.0 のリリースが2017年11月13日だったので、およそ5ヶ月ぶりのメジャーバージョンアップになります。
v4 ではデザイン(UI/UX)の変更を中心に、新しいデータソースやアラート先の追加など多数の機能追加と変更およびバグフィックスが行われました。
細かい変更内容についても興味があったので CHANGELOG と Pull Request を確認しながらまとめました。
また、他のバージョンの変更内容については次のエントリにまとめていますので、バージョンアップを検討中の方などの参考になればと思います。
- Redash v5 の変更内容一覧を CHANGELOG と Pull Request から確認する - Qiita
- Redash v3 の変更内容一覧を CHANGELOG と Pull Request から確認する - Qiita
v4.0.1 - 2018-05-02
追加
変更
- Redshift のスキーマブラウザでカラムの表示順をテーブルの定義順に変更 @akiray03
-
ダッシュボードのリフレッシュ中に前回実行時のデータを表示 @arikfr
- 変更前はローディング画像が表示されていた
修正
- view_only 権限のユーザはフォークボタンを無効化 @tonyjiangh
- データソースとアラート一覧で名前が長いとオーバーフローになる問題を修正[PR1]PR2] @kocsmy
- モバイルのログインページが崩れる問題を修正 @kocsmy
- 日付として扱えない値が入っているとコホート分析グラフが表示されない問題を修正 @kravets-levko
- ダッシュボードのフィルタが保存されない問題を修正 @arikfr
-
数値フィールドで値が null または空の場合に
0.0
と表示される問題を修正 @chriszs- コンテキストによっては大きな違いがあるためで、null または空の場合は空(空文字列)を表示する
-
アラート一覧の作成日ラベルが
Created By
になっている問題を修正 @dbravender-
Created At
に修正
-
-
ubuntu のセットアップスクリプトが pip 10 の互換性変更によって動かない問題を修正 @ariarijp
- メンテナの arik 氏によると、今回の対応は暫定であり、セットアップスクリプトは今後廃止にする予定との事
その他
v4.0.0 - 2018-04-16
追加
- アラートの送信先に MatterMost を追加 @alon710
- マップ表示にフルスクリーンモードの切り替えを追加 @deecay
- 階級区分マップ表示を追加 @kravets-levko
- System Status で Celery のキューサイズを表示 @arikfr
-
ダッシュボードのリフレッシュ間隔を固定値ではなく設定から取得する @arikfr
-
REDASH_DASHBOARD_REFRESH_INTERVALS
で指定可能(秒数のリストでサンプルはredash/settings/__init__.py
のデフォルト値を参考)
-
-
クエリのリフレッシュ間隔を設定で変更できるようにした @arikfr
-
REDASH_QUERY_REFRESH_INTERVALS
で指定可能(秒数のリストでサンプルはredash/settings/__init__.py
のデフォルト値を参考)
-
変更
-
TreasureData 実行エラー時にメッセージを表示 @toru-takahashi
- 簡単なエラーメッセージは表示していたが、TreasureData の出力するエラーを表示するようにした
-
botocore をバージョンアップ @arikfr
- 1.8.5 から 1.10.2 に変更し、Athena のテーブル読み込み時の問題が修正された
- 地図 visualization 名を Choropleth と区別するため "Map (Markers)" に変更 @arikfr
-
MongoDB のレプリカセット用に PyMongo の
MongoReplicaSetClient
をMongoClient
に変更 @fmy -
MongoDB クライアントの pymongo をバージョンアップ @arikfr
- 新しい MongoDB のバージョンに対応するため 3.2.1 から 3.6.1 へ
-
his 表記を their に変更 @tnetennba3
- パスワードリセット時のメッセージ内表記
- ダイナミックフォームのラベルで親しみやすい表記を表示 @arikfr
- 後方互換のため、デフォルトで安全なHTMLの描画を行う @arikfr
-
アラートのチェックタスクでタイムリミットを適用 @arikfr
- ハードタイムリミットは300秒、ソフトタイムリミットは240秒
- それぞれの違いについては Workers Guide — Celery 4.1.0 documentation を参照
-
Plotly のY軸値精度を上げた @arikfr
- 小数点以下2桁までを5桁に増やした
-
Celery タスク実行でメタデータデータベースへの接続を早期に終了 @arikfr
- クエリの実行終了を待つ間に、タスクがアイドル状態の接続を長時間持たないようにするため
修正
- クエリ編集時に "Do you want to leave this page?" ダイアログでキャンセルすると表示がおかしくなる問題を修正 @kravets-levko
-
"postgres" という名前をつけたDBコンテナがあると docker で起動できない問題を修正 @valentin2105
- 問題になっていた create_db 時のチェックを行わない
-
BigQuery の設定で UDF の URI が空でも参照されていた問題を修正 @arikfr
- UDF(User Defined Function) は JavaScript などの言語でユーザが定義出来る BigQuery 独自の機能
- Plot chart でカーソルホバー時に不正なデータが表示される問題を修正 @deeccay
- View Only 権限ユーザでフォークボタンが表示されていた問題を修正 @arikfr
- ウィジェットを保存時にサーバに大量のデータを送信した場合、ダッシュボードの保存に失敗する事がある問題を修正 @arikfr
-
DynamoDB で件数を文字列ではなく常に数値で返す @arikfr
-
ScannedCount
よりもCount
の件数が少ないと DynamoDB API が値を文字列で返していた -
ScannedCount
はQueryFilter
適用時の件数で、未適用の場合はCount
と同じ
-
-
Microsoft SQL Server で UUID フィールドの型を boolean としてした問題を修正 @arikfr
- 正しくは string
- ダッシュボードでリフレッシュをクリックするとダッシュボードページ全体がリロードされる問題を修正 @arikfr
- ラインチャートでX軸のデータが一部存在しないとカーソルホバー時に誤ったヒントを表示していた問題を修正 @kravets-levko
- 積み重ねが有効のグラフでY軸の二つ目の値が表示されない問題を修正 @kravets-levko
- 内容が空のウィジェットが余分な40pxのスペースをとっていた問題を修正 @kravets-levko
- ピボットテーブルウィジェットにスクロールバーを追加 @kravets-levko
-
ダッシュボードの生成ライブラリを gridstack に変更 @kravets-levko
- 変更前の angular-gridster は20以上のウィジェットを追加すると問題があったが、gridstack.js は動作が高速で既存の機能を満たしているため
- LDAP のログインページにログインフォームがない問題を修正 @idalin
- トップページでデータソースへの接続メッセージ表示を admin に限定 @arikfr
- ダッシュボード内のウィジェットが揺れる問題を修正 @kravets-levko
その他
v4.0.0-rc.1 - 2018-03-05
追加
- Prometheus で range query に対応 @jubel-han
- Extensions system based on Python entrypoints. @jezdez
- ファネルグラフを追加 @tonyjiangh
- Google OAuth ドメイン編集を設定画面に追加 @arikfr
- アラート、クエリ、ダッシュボードの登録を促すページを追加 [@kocsmy, @arikfr](https://github.com/kocsmy, @arikfr)
変更
- ユーザがリサイズするまでウィジェットの auto-height を変更しない @kravets-levko
- ダッシュボードの1行あたりの表示カラム数を4から3に変更 @kravets-levko
- ダッシュボードのウィジェットを追加または変更時に変更したウィジェットのみ保存される問題を修正 @kravets-levko
- SSO が設定されていないとパスワードログインを無効に変更不可 @arikfr
- パスワードログインが無効になっていてもログインページは常に表示 @arikfr
-
sqlparse
を 0.1.8 から 0.2.4 にバージョンアップ @ariarijp - テーブルの datetime/number カラムを折り返さない @kravets-levko
- settings ページでタブの順番を明示的に指定 @kravets-levko
- 保存したビジュアライゼーションのタイプを変更できないようにした @kravets-levko
-
docker-compose の再起動で postgres と redis コンテナは
always
ではなくunless-stopped
に変更 @benmanns - チャート表示のための新しい標準カラーに変更 @kocsmy
- 認証ページのデザインを刷新 @kravets-levko
修正
-
Athena でテーブルが100件を超える場合、最初の100件までしか取得していない問題を修正 @jezdez
- 影響場所はクエリ編集画面のスキーマブラウザ?
- クエリページが長くなった場合に、いくつかのブラウザでスクロールバーが表示されない問題を修正 @kravets-levko
- クエリ実行時にバックエンドからカラム名を文字列型で取得すると表示できない問題を修正 @kravets-levko
- Prometheus と Snowflake のロゴが無い問題を修正 @kocsmy
- Render correct link to LDAP login on login page. @arikfr
- ダッシュボードのウィジェットを column/row でソート @arikfr
- 公開したダッシュボードが JavaScript エラーで表示されない問題を修正 @kravets-levko
v4.0.0-beta - 2018-02-14
追加
- Massive update to the UI/UX of the whole application. [@kocsmy, @kravets-levko, @arikfr](https://github.com/kocsmy, @kravets-levko, @arikfr)
- ダッシュボードのレイアウトを縦横リサイズ出来るようにした @kravets-levko
-
テーブル表示のための設定と新しいオプションを追加 @kravets-levko
- 表示カラムの選択や、表示値の左右中央寄せ指定、フォーマットの指定など大きく改善された機能
-
event API を追加 @arikfr
- エンドポイントのパスは
/api/events
- エンドポイントのパスは
-
バックエンドログに共通のプリフィックスを追加 @arikfr
- 環境変数
REDASH_LOG_PREFIX
で指定可能(デフォルト: 空)
- 環境変数
- MongoDB でネストしたフィールドをサポート @arikfr
- コホートグラフの改善として、オプションの追加と表示ロジックの変更 @kravets-levko
-
テーブル編集画面でカラムタイプに
URL
を追加 @kravets-levko- クエリ結果を参照したり別タブで開くなど、リンクの作成が簡単になった
-
テーブル編集画面でカラムタイプに
Image
を追加 @kravets-levko- サイズ指定など画像の表示が簡単になった
-
BigQuery のクエリ実行時にスキャンしたデータサイズを表示する @arikfr
- もともと BigQuery コンソールで可能で、コストを意識する上で便利な機能
- ダッシュボードのリフレッシュ間隔を変更可能にした @arikfr
- スキーマブラウザからクエリ編集画面に項目追加できるリンクを追加 @kravets-levko
- Athena のクエリ実行時にスキャンしたデータサイズを表示する @washort
- Salesforce のAPIバージョンを指定 @mayconbordin
- organization アカウントの設定をウェブ UI へ移動 @arikfr
-
root ユーザを作成する CLI コマンドを追加 @kyoshidajp
- オーケストレーションツール等の自動インストール実行を想定
- Redshift 指定時のスキーマブラウザで late binding view をサポート @tonyjiangh
- ユーザのアイコンを各ページに追加し、Google 認証を使っていればアイコンは Google から取得する @kyoshidajp
- 対応データソースに CockroachDB を追加 @yershalom
- 対応データソースに MapD を追加 @cdessanti
- パイチャートにタイトルを表示 @deecay
変更
- multiorg モードでリモートログイン時の信用済みヘッダ認証を有効化 @sjakthol
- ACM(AWS Certificate Manager) 証明書への移行対応 @arikfr
- 標準のデータソースに Prometheus を追加 @arikfr
-
botocore をバージョンアップ @arikfr
- Athena でスキーマ情報を取得できない問題の対応
- Redis と Postgres 接続 URL のパスワードでクォート文字に対応 @javier-sanz
-
アセットファイルの配信方法を変更 [@arikfr] (https://github.com/arikfr)
- 副次効果として iOS と MacOS の Safari で空白ページが表示される問題 が解消された
- BigQuery でRECORD 型フィールドに対応 @arikfr
-
Celery のバージョンを 3.1.25 から 3.1.25 にバージョンアップ @jezdez
- Celery 4 への準備を含む
- クエリパラメータ値を更新時に読み込みインジケータを削除 @kravets-levko
- chart visualization を改善 @kravets-levko
-
ダッシュボードへのウィジェットを追加で検索エリアに1文字でも入力すればクエリ検索を行う @kyoshidajp
- 修正前は3文字まで入力する必要があり、日本語のようなマルチバイト文字だと使いづらかった
- Elasticsearch の表記を正規のものにリネーム @kakakakakku
- クエリ検索で PostgreSQL の tsvector 型を利用した全文検索機能に対応 @jezdez
- Redshift で sslmode の設定に対応 @sjakthol
- docker コマンドでテストのオプションを渡す @arikfr
- エラーハンドリングの機構を変更し、エラーページを改善 [@kravets-levko, @kocsmy, @arikfr](https://github.com/kravets-levko, @kocsmy, @arikfr)
-
LDAP の設定名を変更 @gramakri
-
REDASH_SEARCH_DN
をREDASH_LDAP_SEARCH_DN
に変更、ただしREDASH_SEARCH_DN
も有効(REDASH_LDAP_SEARCH_DN
が指定されていなければ)
-
- Oracle で SELECT 以外のクエリに対応 @doddjc21
- Admin が初期グループから自分を削除できないようにする @negibouze
-
パイチャートのフォントスタイルを変更 @deecay
- 変更の前後比較は Issue のスクリーンショット が参考になる
-
PostgreSQL 10.0 に対応するため、psycopg2 をバージョンアップ @kyoshidajp
-
2.5.2
から2.7.3.2
へ
-
- スタイルシートフレームワークの LESS を導入 @kravets-levko
- Elasticsearch Collect doc_count field from aggregation @arjan
- テストフレームワークを nose から pytest に変更 @jezdez
- メールアドレスで大文字・小文字を区別しない @miketheman
-
Redshift の SSL モードのデフォルトを
prefer
に設定 @arikfr- prefer については次のページを参照
- Redis のモニタリング用メモリ関連メトリクスを改善 @kakakakakku
-
docker のエンドポイントで create_db 実行時に Postgres が有効でなければ5秒待つ @ariarijp
- ただし v4.0.0 でこのコードは削除された
-
Elasticsearch で、
source_content_type
を追加 @alexdrans- Elasticsearch 6.0 サポートのため
-
集計結果テーブルで日付値として判別できない場合、
-
を表示 @kyoshidajp- 例として、クエリ一覧で未実行のクエリの Last Executed At が
Invalid date
と表示されていた
- 例として、クエリ一覧で未実行のクエリの Last Executed At が
修正
- 新規パラメータを追加した際に既存のパラメータリストがリセットされる問題を修正 @arikfr
- HTML ではないカラムデータをエスケープしない @kravets-levko
- SAML ユーザグループをコミット @sjakthol
- SAML 設定フォームで正しい設定で更新 @sjakthol
- multiorg モードで Google OAuth ログインが出来ない問題を修正 @shinji19
-
スクリプト Query Runner でパスが指定されている場合、アノテーションを除外 @ariarijp
- スクリプト Query Runner については次のエントリを参考に
-
複数フィルタ時にフィルタのヘッダ表示がおかしくなる問題を修正 @kocsmy
- 最初のフィルタ2つに対して値の入力が出来なかった
- クエリデータソースを変更時にクエリバージョンを更新 @washort
- アップグレードスクリプトで CircleCI の変更をサポート @rgjodekerken
- ユーザ情報設定フォームで更新時にエラーメッセージが表示される問題を修正 @bamboo-yujiro
- Query 実行結果のカラム名で unicode をサポート @tonyjiangh
- Google OAuth で pyOpenSSL による問題を修正 @crooy
- Outdated Queries で、列名がズレている問題を修正 @bamboo-yujiro
- 保存していないクエリ結果をダウンロード出来ない問題を修正 @arikfr
- Celery ログフォーマットのタイポ修正 @ariarijp
- Query Results データソースで空白文字を考慮 @ariarijp
- MySQL データソースで実行のキャンセルが出来ない問題を修正 @jasonsmithj