はじめに
2017年11月13日にリリースされた Redash v3 の変更内容について CHANGELOG と Pull Request から確認しました。
v2 系の最終バージョン v2.0.1 のリリースから1ヶ月経っていないのですが、Query Result データソース 等の新規データソースの対応の他、多数の機能追加やバグフィックスなどボリュームがありました。
また、他のバージョンの変更内容については次のエントリにまとめていますので、バージョンアップを検討中の方などの参考になればと思います。
- Redash v5 の変更内容一覧を CHANGELOG と Pull Request から確認する - Qiita
- Redash v4 の変更内容一覧を CHANGELOG と Pull Request から確認する - Qiita
v3.0.0 - 2017-11-13
追加
-
対応データソースに Query Result データソースを追加
- データソースに関係なく複数の集計結果を横断した集計が出来る機能で、詳細については以下のページを参照
- Athena で Glue catalog からスキーマを読み込む @myouju
- エントリポイントを経由して、Docker コンテナ内で任意のコマンドを実行可能に @jezdez
-
ユーザ招待リンクの有効期間を設定に追加 @hhamalai
- 環境変数
REDASH_INVITATION_TOKEN_MAX_AGE
で、デフォルトは60 * 60 * 24 * 7
秒(1週間)
- 環境変数
-
Redshift で新しい ACM ルート証明書をサポート
- 詳細は Amazon のドキュメントを参照
-
Redshift Spectrum をサポート @atharvai
- Spectrum については AWS ブログを参照
-
MongoDB で allowDiskUse をサポート
- alloDiskUse は集計時に一次ファイルへの書き込みを許可する MongoDB のオプション
- クエリに指定されていた場合に有効にする
- SQLAlchemy コネクションプールの無効オプションを指定可能に
-
クエリ実行時間の上限設定を追加
- 環境変数
REDASH_ADHOC_QUERY_TIME_LIMIT
で、デフォルトは制限なし
- 環境変数
- 新規ユーザの招待メール送信を無効にするオプションを追加
- 対応データソースに Azure SQL Data Warehouse を追加 @kitsuyui
- 対応データソースに Prometheus を追加 @yershalom
-
Flask-Limiter storage engine を追加
-
REDIS_URL
(環境変数REDASH_REDIS_URL
、REDIS_URL
を順に確認し、なければredis://localhost:6379/0
) とは別に Flask のストレージ場所を指定可能になった - 環境変数
REDASH_LIMITER_STORAGE
で、デフォルトはREDIS_URL
の値 - パスの記述詳細については Flask-Limiter の RATELIMIT_STORAGE_URL を参照
-
-
Unicode 型のエラーハンドリングオプションを指定可能に @fan-t-endo
- Unicode 文字列から任意の文字コードの文字列に変換がエラーになった場合の処理方法(詳細はドキュメントの Unicode 型を参照)
- 環境変数
REDASH_CSV_WRITER_ERRORS
で、デフォルトはstrict
(UnicodeDecodeError
を送出)
- PostgreSQL データソースに sslmode オプションを指定 @TylerBrock
- カウンター表示で数値のフォーマットを指定可能に @deecay
- Query based drop down parameter @rohithmenon
-
MySQL で複数クエリのサポートとコネクションのタイムアウトを指定
- タイムアウトは60秒固定
- マルチフィルタで全選択を可能に @Posnet
- LDAP (Active Directory) をサポート @amarjayr
変更
-
クエリをフォークした際にパラメータもコピーする @kyoshidajp
- ここでのパラメータとはクエリ中に
{{param1}}
のような記述で文字列を置き換える機能 - パラメータの詳細は Query Parameters | Redash を参照
- ここでのパラメータとはクエリ中に
-
リフレッシュ API の実行時にクエリ API キーではなくユーザの API キーでのみ実行可能にする
- リフレッシュ API はクエリを実行する API
- API キーにはクエリ別に発行されるものと、ユーザ別に発行されるものがある
-
フロントエンドのコードをリファクタリング
-
app/{components,pages,services,visualizations}
をオートロードパスへ追加 -
import
で@
をclient/app
へのエイリアスとすることで相対パス指定から簡単な絶対パス指定へ
-
-
ページの先頭入力項目に自動でフォーカスをセットする @kyoshidajp
- 入力時にカーソルをあてる手間がなくなった
-
gunicorn を 19.7.1 にバージョンアップ
- gunicorn は Python の WSGI HTTP サーバ
-
ログのフォーマットが変更可能に
- 本体のログ、worker のログ、worker のタスクログがそれぞれ
REDASH_LOG_FORMAT
,REDASH_CELERYD_LOG_FORMAT
,REDASH_CELERYD_TASK_LOG_FORMAT
として指定可能 - デフォルトは差分コードを参照
- 本体のログ、worker のログ、worker のタスクログがそれぞれ
- チャート系列を名前でソートする
- Docker のテスト実行で対象テストファイルを指定可能に @meinac
- モニタの outdated queries count をすでに保存されている Redis から取得する
-
ユーザの権限に基づいたリンクを表示
- アラートやクエリスニペットなど、権限がないユーザにも表示されていた
-
Cassandra のドライバーをバージョンアップ @yershalom
-
cassandra-driver を
3.1.1
から3.11.0
へ
-
cassandra-driver を
-
Docker compose 起動時に各サービスを自動で再起動するようにした @muddydixon
- 便利
-
Python 3 への移行準備として Python 2 コードを修正 @cclauss
- Python 2 系でも
__future__
モジュールを使うことで、一部 3 系の記述が行えるようになる- print を文から関数へ
- 例外のキャッチで
,
の代わりにas
- Python 2 系でも
- コホートグラフをより簡単に使えるようにして、必要なデータを確認しやすくした
- フロントエンドの Markdown ライブラリを変更 @alexmuller
-
Salesforce の実行時エラー内容を改善 @akiray03
- 少ないコード修正量で詳細がかなり分かりやすくなっている
- Custom JS code visualization improvements @deecay
- dql のバージョンを 0.5.24 にアップデート @aterreno
- dql は DynamoDB 向けの SQL 風インターフェースの Python ライブラリ
- Cassandra の get_schema と SortedSet のサポート @mfouilleul)
-
非推奨になった
ng-annotate
を babel プラグインに変更 @44px -
Python ライブラリをアップデート @alison985
- 対象は
httplib2
,cryptography
,pyOpenSSL
- 対象は
-
ubuntu インストールスクリプトで
/opt/redash
が存在しない場合作成 @isomura -
ubuntu インストールスクリプトで
REDASH_BASE_PATH
変数を使用 @sylvain- インストール先ディレクトリを変数化していたが、この値を参照せず、必ず
/opt/redash
になっていた
- インストール先ディレクトリを変数化していたが、この値を参照せず、必ず
修正
- クエリのフォークには対象のデータソースにフルアクセスの権限を必要にした
- クエリ API キーが別のクエリの API キーとして使えた問題を修正
- グループ削除時に、グループに所属していたユーザのグループ id が消えない問題を修正 @kyoshidajp
- Box plot の X 軸がソートされない問題を修正 @deecay
-
配列を含む集計結果を Excel に正しくエクスポート出来ない問題を修正 @kyoshidajp
- 該当データ値として、エラーメッセージが出力されていた
- クエリ編集画面で保存していないクエリでは Archive/Publish ボタンが表示されないようにした @cyriac
- docker-compose.production.yml 内の記述ミスを修正 @yutannihilation
- MySQL で UTF8 スキーマをサポート
- TreasureData で結果が0件の場合に実行が失敗する問題を修正
- Boxplot の系列色を変更されない問題を修正 @deecay
- ユーザの権限削除時に、対象オブジェクトの権限がすべて削除される問題を修正 @meinac
-
eslint の
"Cannot read property 'length' of undefined"
エラーを修正 @kravets-levko- 合わせていくつかのパッケージを最新にして、コードスタイルも修正
- クエリ編集画面で波括弧(
{}
)を閉じていないとクラッシュする問題を修正 - チャートで値が0の時にエラーの値が表示されない問題を修正
- Firefox から description 欄で Enter キーを押した際に改行が入る問題を修正 @alexmuller
- Queries#all_queries が時々間違ったクエリの数を返す問題を修正
-
API event で失敗する問題を修正
- 合わせて、ユーザ名も保存
- Cancel button on tasks admin page was broken.
- (どの PR か特定できず)
- admin は
/admin
からアクセスするページ(イベントの内容などの情報が確認できるページ)と思われるが v4 で廃止されている(一部/admin/status
ページに移管)
-
非推奨になった
cx_Oracle
の型を削除 @queeno-
cx_Oracle
は Oracle DB に接続する Python ライブラリ
-
- ダッシュボードのテキストボックスで保存していないの内容が更新される問題を修正 @alison985
-
権限を与えたユーザにビジュアライゼーションとスケジュールの編集権限がない問題を修正
- 権限付与は環境変数
REDASH_FEATURE_SHOW_PERMISSIONS_CONTROL
で指定できるもので、クエリまたはダッシュボードの編集権限を別ユーザに渡せる機能(デフォルトはオフ)
- 権限付与は環境変数
- グラフのエラーバーの色が変更されない問題を修正 @deecay
- Upgrade script was using the wrong restart command on new AMIs.
- (どの PR か特定できず)