Skip to content

Releases: pinterest/querybook

v3.41.4

22 Apr 00:11
de3687b
Compare
Choose a tag to compare

What's Changed

Highlights

  • Python Cell Support: Execute Python code directly in your DataDocs
  • User Group Sharing: Share datadocs and lists with entire user groups at once
  • Query Review: Request and manage reviews for queries before execution
  • NLP Query Search: Find relevant queries using natural language search
  • SQL Complete: AI-powered SQL suggestions similar to GitHub Copilot
  • GitHub Integration: Link DataDocs to GitHub repositories for version control

V3.41.2 (2025-4-16)

Python Cell Support in DataDocs

Added support for Python cells in Querybook DataDocs, powered by Pyodide (runs in your browser).

  • Each DataDoc has its own isolated Python namespace.
  • Python cells can easily access query results as DataFrames.
  • Output rendering improvements for DataFrames, JSON.

Refer to the user guide for Python cells by clicking the Python kernel status button located in the right sidebar.
python_cell

V3.40.0 (2025-2-6)

Share Datadocs and Lists with User Groups

You can now share datadocs and lists directly with user groups. When you grant access to a group, all members of that group will automatically inherit the assigned permissions (such as read or edit). This makes it easier to manage access for teams, as adding or removing users from a group will update their access to all shared datadocs and lists for that group.
user_group

V3.39.0 (2025-2-5)

Query Review

Introduced the Query Review feature.

  • Added the ability to request reviews before query execution.
  • Support for selecting reviewers and providing justification.
  • Added "Reviews" tab to track review status and assignments.
  • Reviewers can approve, reject, or add feedback to queries.
  • Approved queries execute automatically.

Learn more in the Query Review User Guide.

NLP Query Search

You can now search for queries using natural language! Similar to NLP table search, this feature helps you find relevant or similar queries quickly and intuitively.

V3.38.0 (2024-12-10)

Column Hover Tooltip & Value Auto-Completion

  • Column hover tooltips: Hover over a column name in the editor to see a tooltip with helpful information, similar to table tooltips.
    column_tooltip
  • Column value auto-completion: When writing a WHERE clause, if column stats include distinct values, you’ll now see value suggestions for quicker and more accurate filtering.
    column_auto_complete

V3.37.0 (2024-11-15)

SQL Complete – AI-Powered SQL Suggestions (Experimental)

We’ve added a new AI assistant feature, SQL Complete, to help you write queries faster with smart code suggestions—similar to GitHub Copilot.

  • Get real-time SQL code completions and recommendations as you type in the editor
  • Disabled by default; enable it any time in your user settings (Editor tab)

sql_complete_1
sql_complete_2

V3.36.0 (2024-11-13)

GitHub Integration for DataDocs (Experimental)

You can now link your DataDocs directly to GitHub repositories for seamless version control and collaboration. With this integration, you can:

  • Connect a DataDoc to a GitHub repository and choose where your versions are saved
  • Commit DataDoc changes directly to GitHub with descriptive messages
  • View, compare, and restore previous versions using commit history within the DataDoc

Learn more and see setup instructions in the GitHub User Guide.

V3.35.0 (2024-11-12)

Query Editor Upgraded to CodeMirror 6

The query editor has been upgraded to CodeMirror 6. There are no major changes to your workflow, but you may notice some small UI improvements such as:

  • The status bar is now located below the editor
  • Gutter now supports code folding
  • Improved hover popups for linter errors and warnings

This upgrade provides a more modern and stable code editing experience.
codemirror

V3.33.2 (2024-04-10)

Text to SQL UI Revamp

  • Enhanced Input Accessibility: The Text-to-SQL input field is now prominently positioned in the main interface, making it easier to type questions directly.
  • Table Mentioning with “@”: Use “@” to reference specific tables in your question. When working in a new cell, the first mentioned table will automatically generate a simple SELECT * query for quick exploration.
  • Command Support: Start commands with “/”, such as /format. This flexible system enables new commands to be added in the future.
  • Quick Shortcuts:
    • Press Cmd + I in the query editor to move focus directly to the command input for rapid command execution.
    • Use Cmd + / to reset and open the command menu instantly.
  • AI Command Results: AI-generated output now appears in an inline popup view. Clicking outside the popup will dismiss the result, keeping your workspace tidy.

text2sql_1
text2sql_2

v3.32.0

13 Mar 23:00
3e992ee
Compare
Choose a tag to compare

A BREAKING change introduced to enforce an allowed list of CORS origins for websockets to address cross-site websocket hijacking vulnerability

What's Changed

Full Changelog: v3.31.2...v3.32.0

v3.31.2

28 Feb 04:49
449bdc9
Compare
Choose a tag to compare

A stored XSS vulnerability was observed and patched in this version.

What's Changed

Full Changelog: v3.31.1...v3.31.2

Querybook 3.31.1

21 Feb 21:52
bc620da
Compare
Choose a tag to compare

What's Changed

A XSS vulnerability was observed and patched in this version. Checkout GHSA-fh6g-gvvp-587f for more details.

  • chore: Fix typo in add_ai_assistant.md by @baumandm in #1328
  • fix: Fix DataDoc contents overflow in non-Chrome browsers by @baumandm in #1332
  • fix: some small changes and fixes for AI assistant by @jczhong84 in #1333
  • Revert "fix: Fix DataDoc contents overflow in non-Chrome browsers (#1332)" by @jczhong84 in #1336
  • chore(deps): bump uwsgi from 2.0.20 to 2.0.22 in /requirements by @dependabot in #1338
  • Add column name suggestions to presto validator by @kgopal492 in #1330
  • feat: ask users to confirm tables before query generation by @jczhong84 in #1339
  • fix: Update docker-compose.yml - added shielding by @YuriyGavrilov in #1340
  • chore: add query to ai assistant context logging by @jczhong84 in #1342
  • fix: hotfix for worker starting up by @czgu in #1344
  • Use gevent for celery worker, update timeout to GeventTimeout by @czgu in #1345
  • fix: store the task type value rather than enum when creating a task by @adamstruck in #1329
  • Refactor validation decorators by @kgopal492 in #1354
  • Add query execution links to exporter results by @kgopal492 in #1364
  • fix: Update runservice worker scripts to disable unneeded features by @baumandm in #1371
  • Add custom message to validation decorator by @kgopal492 in #1373
  • fix: cast table max upload size to int by @rchandnaeg in #1374
  • ui: add surveys to querybook by @czgu in #1375
  • fix: s3 table upload location by @jczhong84 in #1376
  • fix: Add scroll bar to Query Engine Status popover by @baumandm in #1353
  • Bigquery sqlalchemy metastore by @seuf in #1352
  • Fix lint, package version, and survey config by @czgu in #1379
  • ui: update survey bg by @meowcodes in #1381
  • fix: possible unauthenticated SQL injection when login by @jczhong84 in #1383
  • [chore] upgrade docs website to latest, add build test by @czgu in #1380
  • fix: Store group description in public_info by @baumandm in #1384
  • feat: update column stats ui, add sort by usage to columns by @kgopal492 in #1389
  • feat: added ability to omit clean_up jobs from general db_clean task and fixed clean_up_archived_data_doc by @jij1949 in #1387
  • fix: add a clear_sheet parameter for google sheet exporter by @jczhong84 in #1401
  • fix: modify trigger for query_authoring survey by @jczhong84 in #1400
  • Add table column statistics to text2sql query info by @kgopal492 in #1402
  • fix: Update unique_table_ownership constraint to allow owner per type by @baumandm in #1403
  • chore: Update pip install command by @baumandm in #1407
  • fix: Fix create task schedule task_type by @baumandm in #1408
  • fix: survey for table modal is blinking by @czgu in #1396
  • feat: upgrade langchain version by @jczhong84 in #1406
  • feat: enable impression logging of survey events by @czgu in #1411
  • fix: XSS injection with Querybook RichTextEditor by @czgu in #1412

New Contributors

Full Changelog: v3.28.0...v3.31.1

Querybook 3.28.0

19 Sep 18:33
7c13a1c
Compare
Choose a tag to compare

Please check here for highlight features

What's Changed

Read more

Querybook 3.14.2

05 Dec 23:44
2f36f6b
Compare
Choose a tag to compare

What's Changed

  • Add DataHub Query Result Type Detector/Stats Analyzer/Display Transformer by @czgu in #290
  • Add isNumeric and make type check more general by @czgu in #293
  • UI Fix for user menu by @czgu in #295
  • Ensure s3 chunk read accounts for utf8 length by @czgu in #296
  • Ignore contents inside bracket of a query if it does not start keywords like SELECT by @czgu in #297
  • Show DataHub version in UI by @czgu in #298
  • Update filter... placeholder for nav bars by @czgu in #299
  • Add force form export button by @czgu in #300
  • Ensure header is sticky in full screen mode by @czgu in #301
  • Add documentation for query result transform by @czgu in #303
  • Fix multiple charting bugs by @czgu in #306
  • Fixed wrong execution picking behaivor for chart cell by @czgu in #307
  • Add snowflake support for DH by @czgu in #313
  • Version Bump Styled Components by @czgu in #314
  • Add typescript checking to unit test, fixed all errors by @czgu in #315
  • Bump dot-prop from 4.2.0 to 4.2.1 in /docs_website by @dependabot in #316
  • [BUG] CI breaks when trying to set env var, updating how env vars are set by @darapuk in #318
  • Use ESLint instead of TSLint by @czgu in #317
  • Add Board View by @meowcodes in #319
  • Fix auto complete in codemirror due to eslint update by @czgu in #320
  • Bump version to resolve alerts by @czgu in #321
  • Bump Python & Flask version by @czgu in #322
  • Add snowflake syntax error parsing by @czgu in #323
  • Custom homepage plugin by @czgu in #324
  • Make source query only show the last entry by @czgu in #325
  • Only show query engine from in the environment for samples by @czgu in #326
  • Add new documentation site for DataHub by @czgu in #327
  • Add Change note for Nov 2020 Update by @czgu in #328
  • Add Google form for waitlist by @czgu in #329
  • [UI] Update Lush Theme Colors & Execution List Alignment by @meowcodes in #331
  • [Fix] Classname Typo by @meowcodes in #332
  • Fix snapshot tests by @czgu in #333
  • Fix issue with table view not available in full view by @czgu in #335
  • Add docker to docs site by @czgu in #337
  • Update front page styling of the docs site by @czgu in #336
  • Rename DataHub to Querybook for docs and docs site by @czgu in #339
  • [Board] Add title and description to board view by @meowcodes in #340
  • Fix selection behavior by @czgu in #341
  • Use Gifs for Docs site example by @czgu in #342
  • Pin EngineIO version to fix socketio issue by @czgu in #344
  • Update docs website message, add alt to img by @czgu in #343
  • Fixed gradient text with wrong class by @czgu in #345
  • Make clone DataDoc public/private config same as create new DataDoc by @czgu in #346
  • Update lexer to not categorize distinct from as table by @czgu in #347
  • Update docs formatting by @czgu in #348
  • Delegate markdown rendering to the frontend by @czgu in #349
  • Add force show functionality to meta info by @czgu in #351
  • Make sure border radius is shown for docs image modal by @czgu in #352
  • Update the html plugin guide by @czgu in #353
  • Add correct cascade behavior for sqlalchemy by @czgu in #354
  • Add search filters for table search by @czgu in #356
  • Add foreign key name in the latest migration by @czgu in #358
  • Update doc site url to querybook.com by @czgu in #359
  • Update Favicon for Querybook 🐘 by @czgu in #360
  • Only show my lists on the sidebar by @czgu in #361
  • Make Markdown use external links, Make adhoc query persists in indexDB by @czgu in #362
  • Add the ability to order board in doc nav by @czgu in #363
  • add icon titles for left+right sidebars by @czgu in #365
  • Allow query title to be multiline by @czgu in #364
  • Use content for markdown formatting by @czgu in #367
  • Decentralized storybook, update to v6 by @czgu in #366
  • Manual bump axios to fix security alert by @czgu in #368
  • Replace notification with toast by @czgu in #369
  • Add multi export functionality to scheduled DataDoc by @czgu in #372
  • Remove dead code / unused references by @czgu in #370
  • Simplified api check for uid by @czgu in #371
  • Use HTML to store rich text content by @czgu in #373
  • Remove license file from repo by @czgu in #374
  • Rename DataHub to Querybook by @czgu in #375
  • Remove unused files by @czgu in #378
  • Fix Embedded Query Page by @czgu in #377
  • Bump Jest version to fix security issue by @czgu in #381
  • Ensure scheduler works with old configs by @czgu in #380
  • Fix & Update Tutorials by @czgu in #382
  • Add the ability to customize app name by @czgu in #379
  • Add the official doc site in readme by @czgu in #383
  • Bump ini from 1.3.5 to 1.3.8 by @dependabot in #391
  • Fix scheduler export by @czgu in #392
  • Bump immer version by @czgu in #390
  • Add gtag tracking to docs website by @czgu in #393
  • Update README url by @czgu in #394
  • Add babel styled components plugin by @czgu in #397
  • Refactor run_query into multiple modules by @czgu in #396
  • Autofocus adhoc query editor at start by @czgu in #395
  • Update organization of documentation site by @czgu in #398
  • Make webpack hot reload in docker compose by @czgu in #401
  • Fixed home page to docs url by @czgu in #402
  • Fix alignment of logo by @czgu in #403
  • Add code coverage with python by @czgu in #404
  • Updated auth documentation, link login warning to doc by @czgu in #407
  • Add OKTA auth integration by @czgu in #408
  • Fix sort cell behavior for query results by @czgu in #410
  • ci: use nondocker to run pytest and jest by @czgu in #413
  • chore: Add automatic version bumping by @czgu in #412
  • feat: Update query engine archive behavior by @czgu in #411
  • chore: Add eye icon for password field by @czgu in #409
  • docs:Document querybook dev experience on windows by @czgu in #415
  • ci: update version bump & document tag by @czgu in https://github.com/pinterest/querybook/pull/...
Read more

Querybook 2.4

20 Oct 17:56
b21c6b0
Compare
Choose a tag to compare

Features

Sidebar 2.0! A new much more powerful sidebar with lists, recent, and favorites all in a single view, with drag and drop support.
Table Tags! You can now easily add tags to tables and retrieve all tables with a certain tag through search.
Table Ownership Editing! With a single click, you can add yourself as the owner of a table.
GDoc Style Access Requests! You can now request and grant access to a given DataDoc directly in the UI.
Table Stats! Use it to populate any auto-generated statistics for all tables.
Column Search! Now you can narrow down your search to only columns, descriptions, or table names.
Sample Queries! Quickly see sample queries of a given table to kickstart your analysis.
Table Warnings! Found a given table has wrong data? Easily add table warnings and errors that will then show up in the query editor.
Frequent query users! See at a glance the top users of a given table, reach out to them for questions and doubts.

v2.3.0: Fix unable to set enable for schedule (#82)

28 May 20:50
4a50c35
Compare
Choose a tag to compare

Major Features

  • Scheduling with Exporting: Automate export results to Google Sheets and get notified via Slack or email with the new DataDoc scheduling UI #60
  • DataDoc Search/Replace: Navigate around your doc easily with the new search and replace UI! Also available for ad hoc query! #30
  • Copy/Cut/Paste: You can now move your Query Cells to another DataDoc & retain the same execution history. #38
  • Improved Charting: We added custom x-axis sorting and the option to show values in charts. #29 #59
  • Advanced Templating: You can now nest templated variable definitions and leverage the full potentials of templating with Jinja2. #45
  • Table Relevance: Autocomplete suggestions and table search are now ranked by impressions and usage of the table. #36

Minor Fixes

  • You can now collapse the query inside a Query Cell.
  • Sharing query execution in DataDoc will link to the query execution page directly.
  • Clicking on a cell automatically updates the url to point to the cell for easy sharing
  • Query completion message is rephrased to show the status first.
  • Added editor settings to let users configure autocompletion, tab space, and font size.
  • Running a CREATE as INSERT or insert query updates the table lineage automatically
  • URLs will be auto-detected and converted to links in Text Cells
  • Creating a DataDoc will include an empty Query Cell
  • You can now convert an ad-hoc query to a DataDoc with a single click
  • Exported google sheets are now editable and owned by the user
  • DataDoc scheduling now records failures if errors occurred during scheduled runs