Code Monkey home page Code Monkey logo

lkmlfmt's Introduction

lkmlfmt

lkmlfmt formats your LookML files including embedded SQL and HTML.

Installation

pip install lkmlfmt

CLI

Use lkmlfmt command to format your LookML file(s). For further information, use --help option.

lkmlfmt [OPTIONS] [FILE]...

API

from lkmlfmt import fmt

lkml = fmt("""\
view: view_name {
  derived_table: {
    sql:
    with cte as (
      select col1, col2 from tablename
      where ts between current_date()-7 and current_date())
    select {% if true %} col1 {% else %} col2 {% endif %} from cte
    ;;
  }
}
""")

assert lkml == """\
view: view_name {
  derived_table: {
    sql:
      with
        cte as (
          select col1, col2
          from tablename
          where ts between current_date() - 7 and current_date()
        )
      select
        {% if true %} col1
        {% else %} col2
        {% endif %}
      from cte
    ;;
  }
}
"""

GitHub Actions

To check if your LookML files are formatted.

on: [pull_request]
jobs:
  format-check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-python@v4
        with:
          # '>=3.11' is required
          python-version: '3.11'

      # you should specify the version of lkmlfmt!
      - run: pip install lkmlfmt
      - run: lkmlfmt --check path/to/lookml/file/or/directory

To format arbitrary branch and create pull request.

on: [workflow_dispatch]
jobs:
  format-pr:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-python@v4
        with:
          # '>=3.11' is required
          python-version: '3.11'

      # you should specify the version of lkmlfmt!
      - run: pip install lkmlfmt
      - run: lkmlfmt path/to/lookml/file/or/directory

      # check the documentation especially about workflow permissions
      # https://github.com/marketplace/actions/create-pull-request
      - uses: peter-evans/create-pull-request@v5
        with:
          branch: format/${{ github.ref_name }}

Feedback

I'm not ready to accept pull requests, but your feedback is always welcome. If you find any bugs, please feel free to create an issue.

See also

In default, lkmlfmt formats embedded sql using sqlfmt.

You can install plugins to change the format of embeded looker expression, sql or html. They are distributed under their own licenses, so please check if they are suitable for your purpose.

lkmlfmt's People

Contributors

dependabot[bot] avatar kitta65 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

lkmlfmt's Issues

October 11, 2023

Looker (original) only changes

Breaking

API 3.0 and API 3.1 have been removed in Looker 23.18.

Breaking

Clustrix database support has been removed. Any existing connections to a Clustrix database will fail to run in Looker 23.18.

Changed

Performance improvements have been made to query preparation time by front-loading LookML model compilation during production deployments.

Changed

To prevent confusion with SSO authentication, the SSO embed feature has been renamed Signed embed.

Feature

The Get embed URL option from a dashboard, a Look, or an Explore can now generate a
signed embed URL.

Feature

Embedded Looks now support themes, so the Get embed URL dialog now shows a theme selector for Looks.

Feature

The manage_project_connections_restricted permission lets users edit a subset of settings for new and existing connections.

Feature

The New Schedules Page Labs feature updates the interface of the Admin settings - Schedules page.

Fixed

An issue with drilling for transposed tables has been fixed. Drilling for transposed tables now performs as expected.

Fixed

The Box Shadow theme now performs as expected for static and tile LookML dashboards.

Fixed

Fixed date field values were not being displayed correctly when referenced by Liquid in the label or html LookML parameter. This feature now performs as expected.

Fixed

Unreferenced custom fields from drill URL have been removed.

Looker (Google Cloud core) and Looker (original) changes

Announcement

Looker 23.18 includes the following changes, features, and fixes.

Expected Looker (original) deployment start: Monday, October 16, 2023

Expected Looker (original) final deployment and download available: Thursday, October 26, 2023

Expected Looker (Google Cloud core) deployment start: Monday, October 23, 2023

Expected Looker (Google Cloud core) final deployment: Friday, November 3, 2023

Feature

Public preview of the SQL Interface, which uses JDBC to access LookML models in third-party applications such as Tableau, is now available. For Looker (original) instances, you must enable the SQL Interface Experimental Labs feature on the Looker instance. (Only Looker-hosted instances support this Labs feature.) For Looker (Google Cloud core) instances, you must fill out the Looker SQL Interface Pre-GA Agreement interest form. The Google team will enable your instance for the SQL Interface feature.

Looker (Google Cloud core) only changes

Announcement

IAM permissions have been clarified and made more visible in the Looker (Google Cloud core) documentation.

Changed

The in-app support in the Help menu has been updated to integrate with the Google Cloud console. You will see in-app support only if you have purchased at least a Standard Support service with Google Cloud Customer care.

https://cloud.google.com/looker/docs/release-notes#October_11_2023

April 10, 2024

Looker (Google Cloud core) and Looker (original) changes

Announcement

Looker 24.6 includes the following changes, features, and fixes:

  • Expected Looker (original) deployment start: Wed, April 17, 2024

  • Expected Looker (original) final deployment and download available: Thursday, April 25, 2024

  • Expected Looker (Google Cloud core) deployment start: Monday, April 15, 2024

  • Expected Looker (Google Cloud core) final deployment: Monday, April 22, 2024

Announcement

The Embedded Looker Studio feature is now available to preview. This feature lets you view and edit Looker Studio reports in Looker and create ad hoc analyses in embedded Looker Studio reports with the Open in Reports feature on Looker Explores.

To participate in this closed experiment, you must meet the following requirements:

  • Your Looker instance must be running on Looker 24.6 or later.

  • Your Looker instance must be using Google OAuth authentication.

  • You must have a Looker Studio Pro license for each user who accesses embedded Looker Studio.

  • You must submit the sign-up form for the closed experiment.

More information for using the Embedded Looker Studio feature is coming soon.

Feature

Open SQL Interface now supports parameters and filter-only fields.

Feature

As part of a Looker Studio Pro subscription, Looker Studio Pro licenses are available at no cost to Looker users. Looker admins of Looker (original) instances and Looker (Google Cloud core) instances can accept these complimentary licenses and finish setting up a Looker Studio Pro subscription to get started using Looker Studio.

Fixed

The Performant Field Picker is now generally available. Search modifiers in the Field Picker can no longer be used.

Fixed

An issue that caused user attribute filter values to fail to load in some situations has been fixed. This feature now performs as expected.

Fixed

The json_bi and json_detail_lite_stream query result formats did not respect the apply_formatting parameter in certain cases. This feature now performs as expected.

Fixed

Previously, fields with full_suggestions would not show suggestions while interacting with the filter. This feature now performs as expected.

Fixed

An issue has been fixed where the fiscal year was not rendering correctly in some Excel downloads. This feature now performs as expected.

Fixed

A more descriptive error message is now returned when a user tries to delete a project using the API while not in dev mode.

Fixed

An issue has been fixed where some projects were empty when a user first entered dev mode. This feature now performs as expected.

Fixed

Previously, an issue would cause Looker to incorrectly generate derived table SQL if a derived table referenced a view that referenced another derived table that was using the SQL_TABLE_NAME syntax. This feature now performs as expected.

Fixed

When New LookML Runtime is enabled, the LookML Validator will now include more descriptive error information when an aliased derived table's definition references an unqualified field name in Liquid.

Fixed

Previously, comparison text on single value visualization dashboard tiles could be cut off when the tile was a specific height. This feature now performs as expected.

Fixed

Performance for PDT stable view publishing has been improved.

Fixed

An issue was causing the LookML Validator to incorrectly mark some fields as duplicates. This feature now performs as expected.

Fixed

Previously, an unclear error message was returned when you selected a measure in an aggregate query using the SQL interface. The language of this error message has been clarified.

Fixed

An intermittent issue was rendering a blank page when content was added to a board. This feature now performs as expected.

Looker (original) only changes

Breaking

An issue was causing QR codes for mobile app authentication to be improperly generated. This feature now performs as expected.

https://cloud.google.com/looker/docs/release-notes#April_10_2024

August 14, 2024

Looker (Google Cloud core) and Looker (original) changes

Announcement

Looker 24.14 includes the following changes, features, and fixes:

  • Expected Looker (original) deployment start: Monday, August 19, 2024

  • Expected Looker (original) final deployment and download available: Thursday, August 29, 2024

  • Expected Looker (Google Cloud core) deployment start: Monday, August 19, 2024

  • Expected Looker (Google Cloud core) final deployment: Monday, September 2, 2024

Breaking

The Edit Connection page URL has been changed from admin/next/connections/:id to admin/next/connections/:id/edit. The Looker UI will not change, but any scripts or hyperlinks that you have created that reference the old URLs may break.

Breaking

The presumed_looker_employee property is now omitted from the user API response model. If you were relying on this functionality, migrate to use the verified_looker_employee property instead.

Feature

The Chart Config Editor now supports a new Sankey chart type.

Feature

The Edit button appears only for model sets for which the user has edit access.

Feature

The Queries Admin page now contains a SQL Interface tab in the Details pop-up for queries that originate from the Open SQL Interface.

Feature

A new feature flag is available that causes Looker to ignore configuration updates that occur outside the maintenance window.

Feature

The Chart Config Editor now supports a Venn diagram chart type.

Feature

The Open SQL Interface is now generally available and the SQL Interface Looker Labs toggle is removed.

Feature

The Looker–Tableau BI Connector is now generally available. You can now use Tableau Desktop to connect to your Looker data.

Feature

The Looker IDE now supports Vim and Emacs editors in addition to the default Looker IDE editor. You can set your editor preference in the new IDE Settings section of the Project Settings page of the Looker IDE.

Feature

The Looker IDE now supports text line wrapping in the IDE editor. Line wrapping is now the default behavior. You can turn off line wrap mode in the new IDE Settings section of the Project Settings page of the Looker IDE.

Feature

The Looker IDE now persists a user's IDE status, including the current open LookML file; the expand/collapse status of items in the file browser; the left sidebar item (such as the file browser, Git actions, Object Browser, or Project Settings); and the right sidebar item (such as the Quick Help panel, the Metadata panel, and the Project Health panel). You can remove the persistence by clicking the Reset IDE Layout button in the new IDE Settings section of the Project Settings page of the Looker IDE.

Fixed

The LookML validator will no longer report inaccessible field errors for fields that are excluded from Explores.

Fixed

System Activity queries that count Looker employee usage on your instance will no longer count Google employees that don't work on Looker products.

Fixed

Performance has been improved for model preparation for models that use local import.

Fixed

An issue has been fixed where some custom fields could not be deleted from the data table in an Explore. This feature now performs as expected.

Fixed

An issue that caused some schedules to get indefinitely stuck in the scheduler queue has been fixed. This feature now performs as expected.

Fixed

Previously, Look IDs were not always saved in the query metadata. This issue has been fixed, and this feature now performs as expected.

Fixed

Previously, an issue caused some table calculations that referenced row totals to not appear in the series editor. This feature now performs as expected.

Fixed

Previously, an issue could cause one invalid conditional data formatting rule to disable all conditional formatting rules for a series. This feature now performs as expected.

Fixed

A previous issue with some Liquid variables would unnecessarily pull fields into the SQL query. This feature now performs as expected.

Fixed

Rather than returning a 500 error as it would have previously, the sync_lookml_dashboard endpoint will now return a 422 with a more informative error message if there is an issue with the LookML dashboard layout.

Fixed

The custom field editor now displays an error when users attempt to enter a conditional formatting rule with more than three conditions.

Fixed

Unqualified field references in Liquid will no longer trigger SQL dependencies if the value does not depend on the result set.

Fixed

An issue has been fixed where an escaped single quote in a LookML string was being treated as the end of the string. The fix enables color formatting to be applied to the entire string.

Fixed

An issue has been fixed where dashboard filters were applied to tile queries during tile editing. This feature now performs as expected.

Fixed

An issue has been fixed where LookML details were exposed to users who did not have the see_lookml permission.

Fixed

An issue has been fixed where Looker would draw incorrect markers in the Google map visualization. This feature now performs as expected.

Fixed

An issue with Exasol pivot queries has been fixed. This feature now performs as expected.

Fixed

An issue with the User Activity dashboard has been resolved. This feature now performs as expected.

Fixed

An issue with SSO logins has been fixed. This feature now performs as expected.

Fixed

An issue has been fixed where the top-level item in an object tree was sometimes not expanded upon first loading. This feature now performs as expected.

Fixed

An issue that could cause the LookML Validator to time out has been fixed. This feature now performs as expected.

Fixed

Previously, a Validation or Query operation might fail if a measure did not have a type and used a sql_distinct_key. This feature now performs as expected.

Fixed

An issue has been fixed with the Denodo dialect where the TRUNC() function could erroneously return a NULL value. This feature now performs as expected.

Fixed

HighCharts error codes are now displayed in the UI rather than a blank visualization being rendered.

Fixed

An issue has been fixed where unlocalized strings were rendered as "Bad Translation Key" when the project localization level was set to "permissive." This feature now performs as expected.

Fixed

Looker can now use more efficient queries to determine the names of Redshift external schemas.

Fixed

An issue has been fixed where, previously, a project could not be deleted because of a timeout on the Delete Confirmation page. This feature now performs as expected.

Fixed

Previously, updating an OAuth client secret when there were multiple connections sometimes failed. This feature now performs as expected.

Fixed

Previously, the PDT Admin panel could not be filtered by the status "Failed." This feature now performs as expected.

Fixed

The editing experience in the Chart Config Editor is now more responsive.

Looker (original) only changes

Feature

A new progress bar, called the Looker query tracker, appears in the Explore UI when a query is running. You can toggle this off in the Labs features under Explore Query Tracker.

Looker (Google Cloud core) only changes

Feature

For Google BigQuery connections, Looker (Google Cloud core) can automatically use the OAuth application credentials that your Looker admin used when they created the Looker (Google Cloud core) instance. See the Looker (Google Cloud core) documentation for more information.

https://cloud.google.com/looker/docs/release-notes#August_14_2024

September 13, 2023

Looker (Google Cloud core) and Looker (original) changes

Announcement

Looker 23.16 includes the following changes, features, and fixes.

Expected Looker (original) deployment start: Monday, September 18, 2023

Expected Looker (original) final deployment and download available: Thursday, September 28, 2023

Expected Looker (Google Cloud core) deployment start: Monday, October 2, 2023

Expected Looker (Google Cloud core) final deployment: Thursday, October 12, 2023

Changed

The API call to create signed embed URL endpoints has been updated to remove the majority of embed administration configuration changes that need to be made when a signed embed URL is requested using the endpoint. The description of the endpoint is also changed to use a signed embed URL instead of an SSO embed URL to reduce the confusion with standard SSO authentication.

Changed

update_embed_config events are now reflected in the System Activity Event Explore.

Changed

When a dashboard or an element refresh interval is entered that is higher than the supported maximum value (24.8 days), Looker now returns a validation message.

Changed

Personal folders for users who have never logged in will no longer appear in embedded content navigation.

Changed

Auto-updates for Looker and third-party applications now display a list of entitlements that may be applied when a Marketplace listing is automatically updated.

Changed

The look and feel of the Get LookML dialog on Explore pages has been updated.

Feature

The Sisu integration is now generally available. This feature lets you open a key driver analysis in Sisu from a Looker dashboard tile or Explore.

Feature

The create_dashboard_render_task now takes in an optional theme property to specify the theme to apply to the rendered dashboard.

Feature

For SFTP and S3 destinations, the timestamp in the filename of the scheduled delivery will respect the Delivery time zone.

Fixed

Updates that are sent from inside custom visualizations now perform as expected.

Fixed

A previous issue would cause Marketplace updates to fail when a user had not entered dev mode since the last update. This issue has been fixed.

Fixed

A previous issue would cause Session Duration to be wrongly defaulted on the UI when the Inactivity Logout was enabled. This issue has been fixed.

Fixed

For cell visualizations in columns with large positive and negative values, the negative value text will now appear on a single line instead of wrapping to fit the cell space.

Fixed

For bar and column charts that use stacked series positioning and stack sorting with a combination of negative and positive values, the values are now rendered and sorted on the correct side of 0.

Fixed

LookML dashboard descriptions are now correctly localized in folders.

Fixed

A previous issue would cause scheduled plans for System Activity to fail with an undefined method 'path' for nil:NilClass error. This issue has been fixed.

Fixed

A previous issue would cause suggestions to not work for fields in views with inter-view references in their sql_table_name parameter. This issue has been fixed.

Fixed

Intermittent code: 1002 errors returned from Clickhouse connections have been fixed.

Fixed

The average_distinct field type now supports symmetric aggregates.

Fixed

A warning message will be returned when a user tries to use a subtotal with a sql_always_having parameter.

Fixed

yesno filters on filtered measures when BI Engine is enabled now perform as expected.

Looker (original) only changes

Breaking

The following SQL dialects are no longer supported by Looker, and queries against existing connections will return errors: Apache Hive 2, Apache Spark 1.5+, Apache Spark 2.0, and Quobole Presto.

Breaking

Looker no longer supports connections to the Impala dialect called Cloudera Impala (with no version number and without a native driver). Queries on connections to this release of Cloudera Impala will return an error. Looker is continuing to support Cloudera Impala 3.1+, Cloudera Impala 3.1+ with Native Driver, and Cloudera Impala with Native Driver.

Changed

The New LookML Runtime feature now allows a wider variety of strings for Liquid date parsing. Date string formats that were previously accepted in the Legacy LookML Runtime legacy feature but not in the New LookML Runtime feature should now format properly.

Changed

The Teradata JDBC driver has been updated to 16.20.00.13.

Feature

When the Email Allowlist for Scheduled Content Labs feature is enabled, admin users can use the email_domain_allowlist user attribute to define email allowlist domains at a group level.

Feature

When the Advanced Granular Permissions Labs feature is enabled, admin users can use six new permissions to delegate management of user attributes, groups, roles, private labels, themes, and embed settings to non-admin users.

Feature

When you set up SAML authentication, merging users from OIDC into SAML is now supported.

Fixed

The Table (Legacy) visualization hide_totals option now performs as expected.

Fixed

Liquid Ruby dependency has been updated to 5.0.0. You can now make a Liquid reference that results in a non-string value in the link parameter using the Legacy LookML Runtime legacy feature by using the {{ value }} Liquid reference syntax.

Looker (Google Cloud core) only changes

Announcement

A new Looker (Google Cloud core) codelab has been published. The Connect Looker Cloud over hybrid networking codelab provides a walkthrough of deploying a public and private IP Looker (Google Cloud core) instance and connecting it to an on-premises database.

https://cloud.google.com/looker/docs/release-notes#September_13_2023

August 13, 2024

Looker (original) only changes

Announcement

Choosing a hosting option for a Looker (original) instance helps you understand the benefits and limitations of each hosting option — Looker-hosted or customer-hosted — so that you can make the best decision for their organization.

Looker (Google Cloud core) only changes

Announcement

Looker (Google Cloud core) users now have access to the first-ever Learn Assistant panel on Google Cloud console pages. This panel provides tailored documentation and tutorials that are specifically related to the tasks or concepts covered on that console page.

Looker (Google Cloud core) and Looker (original) changes

Announcement

A new Looker and Looker Studio shared terms and concepts glossary is available. This resource compares and contrasts terms and concepts that are used in common between Looker and Looker Studio, including some that have similar-seeming naming conventions but different functionality.

https://cloud.google.com/looker/docs/release-notes#August_13_2024

February 14, 2024

Looker (Google Cloud core) and Looker (original) changes

Announcement

Looker 24.2 includes the following changes, features, and fixes.

Expected Looker (original) deployment start: Tuesday, February 20, 2024

Expected Looker (original) final deployment and download available: Thursday, February 29, 2024

Expected Looker (Google Cloud core) deployment start: Tuesday, February 20, 2024

Expected Looker (Google Cloud core) final deployment: Tuesday, March 5, 2024

Breaking

Duplicate join names will throw a new model-level LookML error during validation.

Breaking

A new LookML warning has been added for having convert_tz in a date_raw field, since convert_tz has no effect on this type of date field.

Feature

Theming and external_group_id support has been added for Signed URL Builder.

Feature

The following permissions are now generally available to use in permission sets: manage_groups, manage_roles, manage_user_attributes, manage_embed_settings, manage_themes, manage_privatelabel.

Feature

A new Dashboard Diagnostics System Activity dashboard is available for troubleshooting the performance of individual dashboards.

Feature

The looker_internal_email_domain_allowlist user attribute is now generally available. This lets admins configure the Email Domain Allowlist for Scheduled Content feature on a per-group basis.

Feature

The Chart Config Editor now supports customizing tooltip content and styles.

Fixed

Filters on yesno fields will no longer show the "is not" option.

Fixed

An XSS security issue in Grid code has been fixed.

Fixed

Size-by field rendering for scatter charts has been fixed. This feature now performs as expected.

Fixed

An issue where download and Explore options were showing up on drill modals for merged queries when the user did not have permission has been resolved. This feature now performs as expected.

Fixed

Previously, text truncation wasn't working properly on headers on small tiles. This feature now performs as expected.

Fixed

Waterfall charts now render all available columns as expected.

Fixed

BigQuery: Previously, if OAuth tokens were passed through as query parameters rather than in the authentication header, Looker would return the following error: "OAuth token was passed in the query parameter. Please send it in Authorization header instead."

The BigQuery driver has been updated, so this error will no longer appear.

Changed

The minimum Git command line version has been increased to 2.36.0+.

Changed

The user interface of the Admin Settings - Schedules page has been updated.

Looker (original) only changes

Changed

For instances with offline licenses: When an offline license expiration date is less than 14 days away, Looker admins will see a license expiration banner on all Looker pages.

https://cloud.google.com/looker/docs/release-notes#February_14_2024

June 12, 2024

Looker (Google Cloud core) and Looker (original) changes

Announcement

Looker 24.10 includes the following changes, features, and fixes:

  • Expected Looker (original) deployment start: Monday, June 17, 2024

  • Expected Looker (original) final deployment and download available: Thursday, May 27, 2024

  • Expected Looker (Google Cloud core) deployment start: Monday, June 17, 2024

  • Expected Looker (Google Cloud core) final deployment: Monday, July 1, 2024

Breaking

When an admin edits a user's email address, Looker will now log out that user and send an email verification link to the user's new email address. Looker will prevent the user from logging in again until the user clicks the email verification link.

Breaking

The ability to change your Development Mode folder from the Account page has been removed. To view LookML in another user's dev mode folder, switch to their branch instead.

Feature

The listen property on a merge query dashboard element can now be defined on a source query directly, rather than on the element as a whole. Extending this parameter is also supported.

Feature

A loading indicator will show up on the IDE modal when you're creating, renaming, or deleting a file or folder.

Feature

You can now create treemap charts using the Chart Config Editor.

Feature

The lightweight drill links Labs feature is now GA.

Feature

The SingleStore7+ derived table strategy has been updated to use Common Table Expressions.

Feature

OAuth 2.0 support has been added for Trino connections.

Feature

OAuth 2.0 support has been added for Databricks connections.

Fixed

An issue with git initialization that could potentially have caused Looker to fail when starting up has been fixed. This feature now performs as expected.

Fixed

An issue in map visualizations where null values caused the map to disappear has been resolved. This feature now performs as expected.

Fixed

An issue has been fixed where text visualizations were causing errors on other dashboard tiles immediately after the dashboard was saved. This feature now performs as expected.

Fixed

Generation of a signed embed URL now requires the manage_embed_settings permission.

Fixed

A startup issue related to database connection pooling has been fixed. This feature now performs as expected.

Fixed

An issue where some Liquid number comparisons were returning incorrect results has been fixed. This feature now performs as expected.

Fixed

The User Activity dashboard has been updated with new Looks.

Fixed

A curated sidebar title was not being localized properly. This issue has been resolved, and this feature now performs as expected.

Fixed

An issue where parameter filters of type: number were not showing the filter label has been fixed. This feature now performs as expected.

Fixed

An issue where BOOL_OR and BOOL_AND functions on Snowflake were generating incorrect SQL has been fixed. This feature now performs as expected.

Fixed

Previously, when users searched for fields in the field picker, some special characters were not being properly escaped. This issue has been fixed, and this feature now performs as expected.

Fixed

Content validator queries have been optimized. This may improve content validator performance for instances that have many dashboards with merged query tiles.

Fixed

LookML model loading time has been optimized by reducing unnecessary filesystem interactions.

Fixed

In the Open SQL Interface, user errors and internal server errors are now more clearly differentiated.

Fixed

An issue in table visualizations has been fixed where column widths were not always respected when subtotals were enabled. This feature now performs as expected.

Fixed

An issue where users were unable to drill on pivot tables that were transposed has been fixed. This feature now performs as expected.

Fixed

Referencing another view by using Liquid in the sql_table_name parameter will no longer cause suggestions on fields that are defined with full_suggestions: no to be forced to full_suggestions: yes.

Fixed

An issue has been fixed where downloading all results with subtotals enabled from a BigQuery database with BI Engine enabled would sometimes produce no results. This feature now performs as expected.

Fixed

Previously, dashboard tiles that were based on map visualizations with no data would display an error rather than report an absence of data. This issue has been resolved, and this feature now performs as expected.

Fixed

The timeline visualization has been updated to better enable integration with annotations using the Chart Config Editor.

Fixed

Timeline visualizations can now have the same start and end time.

Fixed

An issue where the "is in the month" filter was displaying the incorrect month has been fixed. This feature now performs as expected.

Fixed

An issue where suggest_explore failed to link to filter suggestion results has been fixed. This feature now performs as expected.

Fixed

An issue has been fixed where refreshing the page could cause unexpected behavior with "is not between" filters. This feature now performs as expected.

Fixed

The LookML validator will now return an error if the url parameter of a link parameter uses http instead of https.

Fixed

An issue has been fixed where merged results filters did not retain certain settings after a dashboard was saved. This feature now performs as expected.

Fixed

SQL generation measures of type: min and type: max for Firebolt connections have been updated.

Fixed

Default permissions of OAuth authentication to BigQuery connections are limited to read-only.

Fixed

An issue has been fixed where attributes in the Attribute Pairing section of the SAML, LDAP, and OIDC settings could not be deleted. This feature now performs as expected.

Fixed

The performance of the folder copying and moving actions has been improved.

Fixed

Performance improvements have been implemented for the loading time of Explores for projects that use local import.

Fixed

An issue has been fixed where, previously, dates were not accepted when a "before absolute" filter was used in Explores.

Looker (original) only changes

Breaking

The account setup URL field and the password reset URL field have been removed from both the Edit User page UI and from the Update User API response to ensure that the URLs aren't misused.

Breaking

The Disallow Numeric Query IDs Legacy feature is now deprecated.

Looker (Google Cloud core) only changes

Feature

Admins can now update a user email address through IAM or IdP.

Feature

CloudSQL dialects on Looker (Google Cloud core) can connect using application default credentials and service account impersonation.

https://cloud.google.com/looker/docs/release-notes#June_12_2024

November 09, 2023

Looker (Google Cloud core) only changes

Changed

Looker (Google Cloud core) now supports the following regions:

  • asia-east2 - Hong Kong
  • asia-northeast2 - Osaka
  • asia-northeast3 - Seoul
  • europe-southwest1 - Madrid
  • europe-west6 - Zurich
  • europe-west8 - Milan
  • europe-west9 - Paris
  • northamerica-northeast2 - Toronto
  • southamerica-east1 - São Paulo
  • us-west2 - Los Angeles

https://cloud.google.com/looker/docs/release-notes#November_09_2023

January 10, 2024

Looker (Google Cloud core) and Looker (original) changes

Announcement

Looker 24.0 includes the following changes, features, and fixes.

Expected Looker (original) deployment start: Tuesday, January 16, 2024

Expected Looker (original) final deployment and download available: Thursday, January 25, 2024

Expected Looker (Google Cloud core) deployment start: Tuesday, January 16, 2024

Expected Looker (Google Cloud core) final deployment: Monday, January 29, 2024

Breaking

Raw SQL will now be included in the json_bi format.

Breaking

stream_to_cache time has been reduced for New LookML Runtime queries with Liquid in their result set. This does not include downloads.

Breaking

The run_inline_query endpoint now applies the same query validations as the create_query endpoint. Existing calls to the run_inline endpoint that do not match the API spec now return an error message that explains the issue.

Feature

New quick resize and tile repositioning features are available for editing dashboard layouts.

Feature

AND/OR filtering is now generally available when creating filters in Explores.

Feature

The Chart Config Editor is now generally available. You can use the Chart Config Editor to customize formatting options on Looker visualizations that use the HighCharts API.

Feature

The custom URLs for alert and schedule emails feature is now generally available.

Changed

The Open SQL Interface now supports Looker-specific metadata to indicate if a field is configured as a hidden parameter in LookML.

Changed

The Admin settings - Schedule page interface has been updated.

Changed

The default values have changed for the Persistent Sessions and Inactivity Logout settings. Persistent Sessions is now disabled by default, while Inactivity Logout is now enabled by default. You can change these values on the Admin Sessions page. The behavior of these settings will not change for users who have modified the session defaults.

Changed

The Presto JDBC driver version has been updated to 0.284.

Fixed

The custom filter editor is now persisted when users toggle AND/OR filters, even if the editor is empty.

Fixed

When used with the OR operator in AND/OR filters, filter-only fields will show a "not supported" warning.

Fixed

Username and password are no longer required fields in the SMTP settings user interface.

Fixed

Previously, drill modals on measures would be cut off in the data pane for Looks. This feature now performs as expected.

Fixed

Previously, "Fiscal years from now" could not be selected with AND/OR filters. This feature now performs as expected.

Fixed

Previously, users who did not have the explore permission could not view /embed/query pages. This feature now performs as expected.

Fixed

Previously, filters could not be localized correctly in dashboards. This feature now performs as expected.

Fixed

Previously, Google Maps visualizations on tiles in the lower section of a dashboard were blank in PDF downloads. This feature now performs as expected.

Fixed

Previously, Looks that were saved with the Legacy map type broke when the legacy feature was turned off. These Looks should now use Google Maps instead and perform correctly.

Fixed

Previously, a performance regression in the New LookML Runtime caused slow validation in models that included many dashboards. This feature now performs as expected.

Fixed

Previously, there were performance issues with large pivot tables that involved filled-in date values. The performance issues have been resolved, and this feature now performs as expected.

Fixed

If an aggregate table references a base view, joined in dimensions, and a measure that will cause fanout, then any query that references only the base dimensions will not optimize with the aggregate table. The aggregate table will continue to optimize with exact query matches.

Looker (original) only changes

Feature

The Lightweight Drill Links Labs feature is now available. Enable this Labs feature for potential improvements in browser and query performance times for queries that contain drill fields.

Feature

An optional parameter has been added to the LookML Model Explore parameter endpoint, which defaults to false. If the parameter is true and the user has see_lookml permission, then the endpoint returns drill_fields and link entities defined for that field in LookML. The response for each field will also contain a Boolean, has_drills_metadata, to signify that either drill_fields or link was defined, regardless of whether the user has see_lookml permission. drill_fields in the response will correspond directly with those defined under the field in LookML or on the view level for measure-type fields.

Feature

Extensions can now be developed to run in a tile on dashboards. Extensions that support being run as a tile or visualization can be added while the dashboard is in edit mode or saved to a dashboard as a visualization from an Explore. Extensions can also be configured as tiles in LookML dashboards.

Looker (Google Cloud core) only changes

Feature

Looker (Google Cloud core) now supports the SAML and OpenID Connect authentication methods.

Feature

The Looker Admin role can now be granted within a Looker (Google Cloud core) instance. You are no longer required to have a Looker Admin IAM role to be an admin within the instance.

https://cloud.google.com/looker/docs/release-notes#January_10_2024

Formatter got confused with a comment

Hey - I love the project, thank you for sharing it.

We found a little bug when formatting this:

sql: ${recurring_referral_value}/IFNULL(${exchange_rates_first_month.rate},1) ;; #  + ${overage_value}/IFNULL(${exchange_rates_first_month.rate},1) ;;

It became:

sql: #  + ${overage_value}/IFNULL(${exchange_rates_first_month.rate},1) ;;
      ${recurring_referral_value}
      / ifnull(${exchange_rates_first_month.rate}, 1)
    ;;

Which strangely, Looker was happy with.

I'm not sure what it should be instead - perhaps removing the comment is the most correct thing here?

We changed it manually and removed the comment and it reformatted to :

    sql:
      ${recurring_referral_value}
      / ifnull(${exchange_rates_first_month.rate}, 1)
    ;;

July 10, 2024

Looker (Google Cloud core) and Looker (original) changes

Announcement

Looker 24.12 includes the following changes, features, and fixes:

  • Expected Looker (original) deployment start: Monday, July 15, 2024

  • Expected Looker (original) final deployment and download available: Thursday, July 25, 2024

  • Expected Looker (Google Cloud core) deployment start: Monday, July 15, 2024

  • Expected Looker (Google Cloud core) final deployment: Monday, July 29, 2024

Feature

The Chart Config Editor now supports the following pie chart legend properties: align, verticalAlign, and layout.

Feature

Admins can now edit groups and roles for users who only have API keys.

Feature

When a file or folder is created, updated, or accessed in the Looker IDE, Looker now displays a loading indicator.

Feature

The File Browser sidebar in the Looker IDE is now resizeable.

Feature

A new Create button in the main navigation panel lets users create dashboards, boards, LookML models, and database connections. To view the button, users must have permissions to create dashboards, models, or connections.

Feature

A new Explore from Here icon, which lets dashboard viewers explore a tile's data in one click, now appears on dashboard tiles.

Feature

Looker now supports Databricks Unity Catalog. When you create a Databricks connection in Looker, you can define the Databricks catalog in which Looker will run queries.

Fixed

An issue has been fixed where filter values with a special character and a trailing space would filter out valid results. This feature now performs as expected.

Fixed

An issue has been fixed where Aurora MySQL connections that do not provide the lookerFailover parameter in the Additional JDBC parameters setting would fail to connect. This feature now performs as expected.

Fixed

A LookML validator error, which catches illegal sql_trigger values in models with parameterized connections, has been added.

Fixed

The LookML validator will now return an error if a sql_distinct_key is used in a field type that does not support it.

Fixed

An issue where PDT overrides could not be toggled off in some situations has been fixed. This feature now performs as expected.

Fixed

An issue was causing tooltips on timeline visualizations to not respect timezone conversion settings. This feature now performs as expected.

Fixed

Rendering for dashboards that include special characters in their titles has been fixed. This feature now performs as expected.

Fixed

Query results that contained characters that aren't in the UTF-8 character set could cause queries to fail. This feature now performs as expected.

Fixed

Previously, extra filter suggestions queries would run when a filter was removed in an Explore. This feature now performs as expected.

Fixed

An issue was causing the LookML validator to return an incorrect error for an improperly formed value format string. This feature now performs as expected.

Fixed

An issue was causing visualization formats to round incorrectly. This feature now performs as expected.

Fixed

Previously, some Looks had a null Look ID in System Activity Explores. This feature now performs as expected.

Fixed

An issue was causing Looker to sometimes incorrectly generate date literals for Postgres queries. This feature now performs as expected.

Fixed

Previously, queries could not be sorted on date fields in specific situations. This feature now performs as expected.

Fixed

Previously, user attribute values that contained certain special characters could not be saved. This feature now performs as expected.

Fixed

An issue was causing Looker to generate incorrect join SQL for circular join references. This feature now performs as expected.

Fixed

Previously, drill-downs didn't work properly in some map visualizations. This feature now performs as expected.

Fixed

An issue with the Closed System option allowed the name of the user who created or updated a dashboard last to be viewed by users who weren't in the same group. This feature now performs as expected.

Looker (original) only changes

Breaking

OpenJDK 8 is no longer supported. Self-hosted customers must upgrade to OpenJDK 11.

Feature

A new Labs feature, Delegate Schedule Management, introduces the manage_schedules permission. This permission lets users reassign and delete schedules on the Schedules page for the models that they can access.

Looker (Google Cloud core) only changes

Feature

If a Looker instance does not yet have any Looks or dashboards, the Looker homepage now shows sample dashboards.

Feature

Looker (Google Cloud core) now supports connections to Teradata databases.

https://cloud.google.com/looker/docs/release-notes#July_10_2024

March 13, 2024

Looker (Google Cloud core) and Looker (original) changes

Announcement

Looker 24.4 includes the following changes, features, and fixes.

Expected Looker (original) deployment start: Monday, March 18, 2024

Expected Looker (original) final deployment and download available: Thursday, March 28, 2024

Expected Looker (Google Cloud core) deployment start: Monday, March 18, 2024

Expected Looker (Google Cloud core) final deployment: Monday, April 1, 2024

Breaking

Query IDs can no longer be used to fetch queries or create render tasks through the API. The Get All Running Queries API endpoint is now restricted to admins only. Query slugs that are generated by Looker will be 32 characters instead of 7.

Breaking

Chrome is starting to deprecate third-party cookies as of January 2024. Because of Looker's dependency on third-party cookies to establish embed user sessions, this may impact your embed use case. For more information, see the Chrome is deprecating third-party cookies notice.

Feature

The Performant Field Picker feature is now generally available.

Feature

When an instance has no projects, Looker will more prominently prompt users to create a model.

Feature

In the Create a model wizard, your selections are now saved even if you close steps without having completed the model creation process.

Feature

Adding a query slug to source queries in the merge query API response GET merge_queries/<merge_query_id> returns the query slug in addition to the ID.

Feature

The save_content permission now has two child permissions, save_dashboards and save_looks. These permissions let Looker admins exert finer control over the kinds of content that users can save.

Fixed

Only users who have access to dashboard extensions will be shown the Add Extension tile.

Fixed

Subtotals have been fixed for queries with order_by_field references in query streaming pathways. This feature now performs as expected.

Fixed

An issue where embed secrets might have been visible to non-admin users has been fixed. This feature now performs as expected.

Fixed

Looker now ignores all blank filter strings, including IS NOT.

Fixed

An issue has been fixed that caused small decimals to be displayed in scientific notation even when formatting was disabled. This feature now performs as expected.

Fixed

An issue has been fixed where the PDT Context Override toggle was improperly reflecting the ON state when it had been cleared prior. This feature now performs as expected.

Fixed

Performant field picker sorting behavior has been fixed. This feature now performs as expected.

Fixed

Downloading results from SQL Runner now only downloads the file and does not open the file in a new browser tab.

Fixed

Filter expressions including user attributes and OR logical conditions were being incorrectly populated when generating SQL. This feature now performs as expected.

Fixed

A change in the Snowflake dialect was ported to Kotlin to maintain parity. Snowflake column names with mixed cases are now properly quoted.

Fixed

Filter suggestion requests have been reduced while the user is typing. Because normal typing will invoke fewer requests, the load on the server will be reduced.

Fixed

An issue that caused single value change indicators to not render in Safari when dashboards scrolled has been fixed. This feature now performs as expected.

Fixed

The LookML Validator no longer hangs on a connection that references a deleted or malformed user attribute. The Validator also surfaces a detailed error when the user tests the connection.

Fixed

An issue has been fixed where extension documents would appear when hiding Looker document links was disabled. This feature now performs as expected.

Fixed

Content Validator has added support for field replacement within custom measure filters (across Looks, dashboard elements, and merge queries).

Fixed

Queries with order_by_field references and subtotals should render correctly in downloads / run_query APIs.

Fixed

Looker should now correctly handle cases where the sorts query had an empty string or was entirely empty.

Fixed

Previously, custom visualizations would not update when the vis config was changed in some situations. This feature now performs as expected.

Fixed

Previously, the All Results option was unavailable for schedules on Looks. This feature now performs as expected.

Fixed

On the new Admin - Users page, Looker Support users were shown as having never logged in even for currently logged-in users. This issue has been fixed and this feature now performs as expected.

Fixed

LookML-defined fields that are used in field filters will not be rejected from a set when the field requiring them is rejected from that set. This feature now performs as expected.

Fixed

Previously, the Errors and Broken Content dashboard appeared twice in the admin panel. This feature now performs as expected.

Fixed

A data validation message is now returned for waterfall charts when there are multiple measures and a hidden dimension.

Fixed

Looker now shows a clearer warning message when a user attempts to download a query with dimension fill and All Results enabled.

Fixed

Looker no longer imposes the Explore row limit of 5,000 on queries that are run using the run inline query API endpoint.

Fixed

Previously, the lookml_model_explore API endpoint would return a 500 error in certain cases. This feature now performs as expected.

Fixed

Errors about UI downloads are now more descriptive, similar to descriptive API error messages.

Fixed

Internal encryption has been migrated from AES-128 to AES-GCM-256 encryption.

Looker (original) only changes

Breaking

The Allow Legacy Maps legacy feature is now disabled by default. When the Allow Legacy Maps legacy feature is disabled, any map visualization that uses the Map (Legacy) chart type will be converted to use the Google Maps chart type.

Feature

The Disallow Numeric Query IDs legacy feature has been added to let users opt in to or out of query API changes.

Feature

The Advanced Features for New Schedules Page Labs feature is now available. This lets you sort and filter the list of scheduled plans on the Admin - Schedules page.

Fixed

Previously, when a dashboard was scheduled using PNG format and one of the tiles contained an empty note, the schedule would fail. This feature now works as expected.

Fixed

The Export function has been re-enabled, which lets Looker admins export data from a Looker (original) instance for import into a Looker (Google Cloud core) instance.

Looker (Google Cloud core) only changes

Fixed

Incorrect quoting in Snowflake views has been fixed.

Fixed

IAM checks for ephemeral users were disabled as a result of rendering issues for users who were logged in with SAML in Looker (Google Cloud core).

https://cloud.google.com/looker/docs/release-notes#March_13_2024

May 08, 2024

Looker (Google Cloud core) and Looker (original) changes

Announcement

Looker 24.8 includes the following changes, features, and fixes:

  • Expected Looker (original) deployment start: Monday, May 13, 2024

  • Expected Looker (original) final deployment and download available: Thursday, May 23, 2024

  • Expected Looker (Google Cloud core) deployment start: Monday, May 13, 2024

  • Expected Looker (Google Cloud core) final deployment: Monday, May 20, 2024

Feature

Database connection pooling is becoming generally available. For Looker (original) instances, the feature is moved out of Looker Labs. For dialects that support database connection pooling, the Connection settings page will include a Database Connection Pooling option. As part of this update, the Database Connection Pooling Labs setting for your instance has been applied to the Database Connection Pooling setting for the applicable database connections on your instance. If you very recently changed the Database Connection Pooling Labs setting, please check your connection settings to verify that the migration has applied the Database Connection Pooling setting that you want for each database connection.

Fixed

The last_logged_in_at time is now captured when a URL that is created by the create_embed_url is used to log in to the Looker instance. This feature now performs as expected.

Fixed

Referencing another view by using Liquid in the sql_table_name parameter will no longer cause suggestions on fields that are defined with full_suggestions: no to be forced to full_suggestions: yes.

Fixed

Previously, queries for totals would not run when a derived table referenced an ephemeral derived table using the SQL_TABLE_NAME syntax. This feature now performs as expected.

Fixed

An issue has been fixed with the scrollbar appearing in text tiles. This feature now performs as expected.

Fixed

An issue has been fixed where embed download filter parameters for cookieless embed were incorrectly escaped (space mapped to x2B [+] rather than x20). This feature now performs as expected.

Fixed

An issue has been fixed where ↙ ↘ characters were being reversed in single value visualizations. This feature now performs as expected.

Fixed

Text is now properly truncated in table visualizations even when the underlying field has defined html and link parameters.

Fixed

Previously, an issue could cause Look titles to be cut off. This feature now performs as expected.

Fixed

Previously, an issue caused filters to be incorrectly restored in the dashboard edit filter dialog. This feature now performs as expected.

Fixed

Previously, if Looker encountered an invalid visualization type on a tile, the dashboard would not load. This feature now performs as expected.

Fixed

Previously, queries that were defined with the API occasionally could not be downloaded as PNGs or JPGs. This feature now performs as expected.

Fixed

Quick start queries with missing identifiers will no longer cause validation to fail.

Fixed

Referencing the ALL_FIELDS set in a join or view will no longer cause validation to fail.

Fixed

You can now see longer embedded Look titles without needing to scroll.

Fixed

For LookML projects with a large number of files, IDE folders were slow to respond when you were navigating and creating, editing, or deleting LookML files. A performance issue has been identified and fixed.

Fixed

When you search for a user or group, strings with commas now work as expected.

Fixed

An issue where paper size did not change correctly when Fit to Dashboard was used has been fixed. This feature now performs as expected.

Fixed

Previously, when embedded Explores were rendered in an iframe, a screen jump might have occurred. This feature now performs as expected.

Fixed

Previously, query downloads of type json_bi could have failed if they included fields that were hidden from the visualization. This feature now performs as expected.

Fixed

Looker now initializes Development Mode projects for Looker projects that are in Production Mode.

Fixed

Text in the project IDE will now be line wrapped.

Fixed

When a Git project becomes corrupted, Looker now proactively converts it to a clone to prevent further issues.

Fixed

When a LookML project fails to load, a log message will now be generated.

Fixed

The log error about getting an access token from the Google OAuth library has been reclassified as a warning.

Fixed

When a custom filter is too large for the JSON parser to handle, Looker now returns a more descriptive error.

Fixed

HSQLDB has been updated to version 2.7.2 to comply with GHSA-77xx-rxvh-q682.

Looker (original) only changes

Fixed

On the Looker Labs page, links to documentation will now open in a new browser tab instead of navigating away from the Looker UI.

https://cloud.google.com/looker/docs/release-notes#May_08_2024

November 08, 2023

Looker (Google Cloud core) and Looker (original) changes

Announcement

Looker 23.20 includes the following changes, features, and fixes.

Expected Looker (original) deployment start: Monday, November 13, 2023

Expected Looker (original) final deployment and download available: Thursday, November 30, 2023

Expected Looker (Google Cloud core) deployment start: Monday, November 13, 2023

Expected Looker (Google Cloud core) final deployment: Tuesday, December 05, 2023

Breaking

Drilling on a scatterplot with quadrants and a size-by field shows all data points.

Changed

References to history_id are being replaced with a slug for query event tracking.

Changed

The Data history playback feature requires users to have the explore role permission in order to use it.

Changed

Upgraded Chronicle F1 JDBC to 0.0.5.

Changed

Upgraded org.json:json version to 20231013.

Feature

Admins can now restrict non-admins from accessing the dashboard auto-refresh option.

Feature

A feature has been added that lets users move dashboard tiles to the left or right side.

Feature

A menu option to resize dashboard tiles to standard sizes has been added.

Feature

Added Quick Layout for dashboard editors behind the dashboard_layout_accelerator feature flag, which is set to ON by default for all customers besides core instances.

Fixed

Previously, malformed type declarations in a dimension_group would crash the LookML validator. This issue has been fixed.

Fixed

A broken "Go to LookML" link on the Explore page has been fixed.

Fixed

An issue with bind_all_filters not pushing custom filter expressions down into NDT queries has been fixed.

Fixed

Number filter of type "between" reverted to type "is" when the first number was entered. This issue has been fixed.

Fixed

The Databricks JDBC driver has been updated from 2.6.27 to 2.6.32.

Fixed

Previously, resizing Google Maps immediately after loading could produce an error. This issue has been fixed.

Fixed

An issue with configuring an SMTP server has been fixed, and the fields (Mail Server, From, User Name, Password, Port) have been made mandatory on the UI.

Fixed

Custom value formats are no longer double escaped in table chart and table legacy.

Fixed

Previously, conditional formats such as "[>=1000] $#0.00,k; $#0.00" did not properly format negative numbers in Tables and Legacy Tables. This issue has been fixed.

Fixed

Explore AND/OR Filters "is" (relative interval) option for date filters.

Fixed

AND/OR filters no longer highlight required filters in red.

Fixed

AND/OR filters now improve browser performance by delaying fetching suggestions until the user interacts with the filter.

Looker (original) only changes

Breaking

The Performant Field Picker Labs feature now defaults to a new "Any" search option that searches for matches across views, groups, and fields for Explores with fewer than 5,000 fields.

https://cloud.google.com/looker/docs/release-notes#November_08_2023

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.