Looker will occasionally make updates to product design and functionality that render an existing feature's functionality obsolete. In some cases, the feature may be designated as a legacy feature — a feature that remains backward compatible for existing workflows. A legacy feature provides the option for existing users to continue to use the feature's functionality. When a legacy feature is enabled, the Looker instance cannot support the old and new functionality simultaneously.
After you learn about a new legacy feature, you should start planning to migrate to the new functionality before you disable the legacy feature.
See the Legacy feature schedule section on this page for version information about when each legacy feature is introduced, disabled, and removed from Looker.
Learning about new legacy features
Looker announces new legacy features in the release notes. See the Looker releases page for links to the release notes for the latest Looker release.
The Current legacy features section below on this page provides a timeline showing when current legacy features will be disabled and formally removed from the Looker product. See the Previously removed legacy features table on this page for Information about legacy features that have already been removed from Looker.
Enabling and disabling legacy features
New features that replace legacy features are often simpler, more reliable, more performant, and/or more useful than the features they replace. To take advantage of the improved functionality of a new feature that replaces a legacy feature, migrate away from the legacy feature. Once that transition is complete, a Looker admin can disable the legacy feature on the Legacy Features page in the Admin panel.
The Legacy Features page appears in the Admin panel only if there are legacy features available for that Looker instance. The number located next to the Legacy Features admin menu item indicates the number of legacy features that are enabled.
When Looker is updated, some legacy features are enabled by default, which means that the old feature is still active. When you're ready to move to the new feature, you can turn the legacy feature off.
If your Looker instance is created after a legacy feature is disallowed, that feature won't appear on the Legacy Features page, and admins won't be able to turn it on. The Legacy Features page won't appear in the Admin panel if there are no legacy features available to your instance for your current Looker version.
If you update your existing Looker instance to a version in which a legacy feature is disabled by default, your instance will use the new feature behavior automatically.
Migrating away from legacy features
Eventually, all legacy features are removed from Looker, so Looker strongly recommends moving away from their use. Start planning your migration as early as possible to avoid disruptions to your workflows.
Planning your migration
Looker announces new legacy features in the release notes. When needed, Looker provides transition guidelines for migrating away from legacy features. The Legacy feature schedule on this page provides a timeline that shows when current legacy features have been or will be formally removed from the Looker product. The schedule also notes when the features will be disabled by default.
Leave the legacy feature enabled while you implement any necessary transition guidelines. Once these guidelines have been implemented, disable the legacy feature. Be mindful of migrating away from the legacy feature before updating your Looker instance to the version in which the legacy feature is disabled by default. If you have any issues implementing the improved replacement feature, open a support request in Looker's Help Center by clicking Contact Us.
Legacy feature schedule
- Introduced indicates the version in which the feature becomes a legacy feature and appears in the Legacy Features page in the Admin panel.
- Disabled indicates the version in which the legacy feature is turned off for all instances that update to the release. The legacy feature toggle remains available in the Legacy Features page for the purposes of remediation, if required.
- Disallowed indicates the version in which the legacy feature is removed from the Legacy Features page for newly created Looker instances. If you update your existing Looker instance to this version, the legacy feature toggle remains available.
- Removed indicates the version in which the legacy feature is removed from the Legacy Features page for all Looker instances.
Current legacy features
|Always hide Row Totals series from stacked charts|
|When enabled, this Legacy feature always hides the Row Totals series from stacked chart visualizations, regardless of whether the Hide from visualization option is set on the Row Totals column gear menu in the Data tab. When this feature is disabled, stacked charts will include the Row Totals series by default, but selecting Hide from visualization on the Row totals column will remove the Row Totals series from the chart.||23.0||23.0||23.20||23.20 (November 2023)||Active|
|Use Legacy Internal Query API|
|When Use Legacy Internal Query API is enabled, Explores, Looks, and SQL Runner use the Legacy internal API for running queries. When it's disabled, Explores, Looks and SQL Runner use the upgraded internal API for running queries. Upgrading the internal query API does not affect applications that use the externally available Looker API. This legacy feature is enabled by default for Looker 23.0.||23.0||23.2||23.8||23.8 (May 2023)||Active|
|Use Legacy LookML Runtime|
|When this legacy feature is enabled, all LookML projects will use the legacy LookML runtime by default rather than the new LookML runtime. To enable new LookML runtime for a LookML project while this legacy feature is on, add a
||22.6||22.14||24.2||24.2 (February 2024)||Active|
|Can use Legacy Dashboards|
|When this legacy feature is enabled, it allows users to use the legacy dashboard experience. When this feature is disabled, all attempts to use or render a legacy dashboard are routed to the new dashboard experience. Admins can use this feature to test the migration of their legacy dashboards to dashboards.||22.20||23.2||23.6||23.6 (April 2023)||Active||Removing the legacy dashboard experience - a timeline from Looker 21.20 (November 2021) through Looker 23.6 (April 2023)|
|Legacy Hosted Action Hub|
|Allows all hosted action requests to instead use the Legacy Hosted Action Hub.||22.6||22.6||22.20||23.6 (April 2023)||Active|
Previously removed legacy features
|Old field chooser||3.18||3.38||Removed in Looker 3.38||Field labels can override view label||3.16||3.44||3.46||Removed in Looker 3.46||Transition guidelines|
|Leading period in field names||3.16||3.44||3.46||Removed in Looker 3.46||Transition guidelines|
|Uppercase labels in download and chart configurations||3.16||3.44||3.46||Removed in Looker 3.46||Transition guidelines|
|Send email from email@example.com||3.32||3.44||3.46||Removed in Looker 3.46||Transition guidelines|
|Default Redshift PDT distribution style EVEN||3.36||3.44||3.46||Removed in Looker 3.46||Transition guidelines|
|$$ substitution||3.46||3.48||3.50||Removed in Looker 3.50||Transition guidelines|
|Joins declared in views||3.46||3.48||3.50||Removed in Looker 3.52||Transition guidelines|
|LookML "scoping" parameter||3.46||3.48||3.50||Removed in Looker 3.52||Transition guidelines|
|Legacy drill behavior||3.42||4.8||4.22||Removed in Looker 4.22||Transition guidelines|
|Add unscoped field name alias||3.52||3.54||3.56||Removed in Looker 4.6||Transition guidelines|
|Unsafe Liquid functions||3.48||4.20||5.0||Removed in Looker 5.0||Transition guidelines|
|Non-symmetric aggregates||3.16||4.20||5.0||Removed in Looker 5.0||Transition guidelines|
|Row limit only||3.16||4.20||5.0||Removed in Looker 5.0||Transition guidelines|
||3.38||5.0||5.4||Removed in Looker 5.4||Transition guidelines|
|Deprecated LookML parameters||3.16||5.0||5.4||Removed in Looker 5.4||Transition guidelines|
|Legacy Oracle security settings||3.50||5.0||5.4||Removed in Looker 5.4||Transition guidelines|
|Single row table headers||3.52||5.0||5.4||Removed in Looker 5.4||Transition guidelines|
|JSON numbers as strings||3.52||4.0 & 5.0||5.4||Removed in Looker 5.4||Transition guidelines|
|Coerce dimensions to measures||3.54||5.0||5.4||Removed in Looker 5.4|
|Default query result persistence is five minutes||4.2||5.0||5.4||Removed in Looker 5.4|
|YAML-based LookML for modeling||4.4||4.10 & 5.0||5.4||Removed in Looker 5.4||Transition guidelines|
|Implicit dashboard default timezone||4.10||5.0||5.4||Removed in Looker 5.4||Transition guidelines|
|Allow unlimited downloads that might crash Looker||4.14||5.0||5.4||Removed in Looker 5.4||Transition guidelines|
|User-based dev mode||4.16||4.16 & 5.0||5.4||Removed in Looker 5.4||Transition guidelines|
|Allow creating legacy API-only users||4.0||4.0 & 4.20||5.12||Removed in Looker 5.12||Transition guidelines|
|Allow calling legacy query API||5.2||5.6||5.12||Removed in Looker 5.12||Transition guidelines|
||4.14||5.22||6.0||Removed in Looker 3.38||Transition guidelines|
|Native derived tables convert dates and yesnos to strings||5.22||6.0||6.6||Removed in Looker 6.6||Transition guidelines|
|Legacy visualizations||6.0||6.0||6.6||Removed in Looker 6.6||Transition guidelines|
|Show full field name||6.8||6.8||6.12||Removed in Looker 6.12||Transition guidelines|
|Legacy rendering||6.4||6.6||6.18||Removed in Looker 6.18||Transition guidelines|
|Legacy .strings files for localization||7.2||7.8||7.12||Removed in Looker 7.12||Transition guidelines|
|IDE Folders Toggle||7.0||7.10||7.12||Removed in Looker 7.12||Migrating to IDE folders|
|Snowflake Unquoted Database Name||7.8||7.12||7.16||Removed in Looker 7.16||Snowflake connection documentation|
|Treat the Datatype Datetime as a Timestamp||7.14||7.20||21.4||Removed in Looker 21.4||
|Unsafe Custom Visualizations||7.20||21.6||21.6||Removed in Looker 21.6||Admin Settings – Visualizations documentation|
|Revert to Legacy Explore Field Picker||21.12||21.12||21.16||Removed in Looker 21.16||Legacy field picker documentation|
|Legacy Branding||7.18||7.20||21.18||Removed in Looker 21.18|
|Syntax Tolerant Liquid||21.6||21.14||22.2||Removed in Looker 22.2|
|Use old navigation and legacy routing||21.20||22.0||22.2||Removed in Looker 22.2||New navigation documentation|
|Require authentication to retrieve API specifications||21.14||21.18||22.4||Removed in Looker 22.4|
|Save to shared space with
||21.4||21.16||22.4||Removed in Looker 22.4|
|Legacy Value Formatting||21.4||21.4||22.6||Removed in Looker 22.6|
|Legacy Query Streaming||21.8||21.8||22.8||Removed in Looker 22.8|
|Add Looks to dashboards||21.12||21.10||22.12||Removed in Looker 22.12||Adding saved content to dashboards|
|Save as look keyboard shortcut||22.0||22.0||22.14||Removed in Looker 22.14|
|Allow double-click to select text in textarea in table visualizations||22.0||22.14||22.14||Removed in Looker 22.14|
|Popular fields in Explore search||22.0||22.0||22.20||Removed in Looker 22.20|
|Allow XHTML-style Empty Tags in Custom Visualizations||21.20||22.20||22.20||Removed in Looker 22.20||Allowing XHTML-style empty tags in custom visualizations|
|Use old dashboard routes||21.18||21.20||22.20||Removed in Looker 22.20|
|Revert to Legacy Dashboards||7.18||21.0||22.20||Removed in Looker 22.20|
|Legacy Render Card Height||22.0||22.10||23.0||Removed in Looker 23.0|