Release Notes

For Self-Hosted deployments
These are the relevant changes that are introduced in each specific self-hosted release version.
If you're looking for the latest features and updates in the platform, please visit the What's new section, where you'll also find more details about each feature.


View this release on GitHub --> Docker Compose release | Kubernetes release
  • Imports with custom schema: Users can now define a custom schema when importing files from their computers or from a URL. CARTO will generate a preview with the columns to be set up. This functionality is available also through new endpoints and parameters in the Imports API.
  • Draw geometries component in Workflows: While working with Workflows, in some occasions a component needs to be defined as a custom geography (point, line or polygon). This is currently the case with "Table from GeoJSON" but this tool will also be used in other components that might need a custom geospatial input.We have developed a new tool, accessible through the "Draw features" button to define custom geographies as inputs for components.
  • Custom Aggregation operations for Formula Widget: This new feature provides advanced capabilities for users to tailor calculations and derive precise insights from their data using SQL Expressions. With custom aggregation operations, users have the flexibility to define calculations that align precisely with their unique analytical requirements. They can incorporate business-specific formulas and apply complex mathematical operations to single or multiple columns from their data source.
  • Improved explainability in Workflows: We have just added a couple of new features in Workflows that are going to improve a lot the explainability of your multi-step analytical pipelines.
    • Rich notes supporting Markdown syntax.
    • Update nodes with more relevant and descriptive names.
  • Search location by latitude and longitude coordinates: This feature now includes the ability to search for locations using coordinates. Simply input latitude and longitude values, and instantly visualize the corresponding location on the map. Whether you're exploring remote areas, analyzing specific points of interest, or seeking valuable insights, our coordinate search feature empowers you to navigate with precision and seamlessly uncover new possibilities.
  • Remove CARTO footer from public and embedded maps: Organizations with access to the Appearance customizations (also called “custom branding”) will now be able to also remove the CARTO-branded footer from their public and embedded maps. This is an organization wide setting that the admin can enable or disable. Additionally, the admin can select if they want new users to receive the generic CARTO onboarding, for further experience customization.
  • Viewer credentials for BigQuery OAuth connections: “Viewer credentials” is a new mode of sharing connections that require all users to provide credentials before using that connection, whether it is to build maps or just to view them (as well as previewing data or opening workflows). By leveraging viewer credentials, you can leverage row-level security and other policies coming from BigQuery, as well as collaborating on Builder maps.
  • Dynamic Tiling V2 now available: A collection of changes to the queries that Maps API runs on different data warehouses in order to produce faster and more visually complete vector tiles. For those using CARTO for React, note that this functionality has been incorporated from versions CARTO for React v2.1 or 1.6 onwards. If you are using an older version, an upgrade is necessary. For more info visit our migration guide.
  • If an internal (hidden) organization setting that disables sharing maps in public is enabled, it will now remove the public sharing option, instead of removing the entire sharing functionality.
  • Additional custom markers.
  • Router nginx component could be customized with new parameters related to buffers and max payload requests size.
  • Improved Maps API stability in high-concurrency environments.
Known issues:
  • Creating a BigQuery Oauth connection results in a callback loop when using certain browser versions. The issue doesn’t appear with the following version: Firefox >= 114.0.2, Chrome < 114.0.5735.33.


View this release on GitHub --> Docker Compose release | Kubernetes release
  • Focus on User’s Device Location: this feature allows users to automatically zoom in and center the view of the map based on their current location, providing them with a convenient and immediate view of their surroundings.
  • Routing: you can now calculate routes between sets of origins and destinations, supporting different transportation modes and other advanced parameters. This is available via new endpoints in the LDS API and, outside of your deployment, in the latest Analytics Toolbox version.
  • Exports from Data Observatory: A new action has been added to the Data Observatory subscription pages, to download the data locally as csv files.
  • New components in CARTO Workflows: We have added a new set of components. The majority of components in this new batch are oriented towards providing more flexibility when manipulating and getting your data ready for the analysis.
  • Support for HTTPS Proxy: CARTO self-hosted now supports working behind an HTTPS proxy. Limitations: the proxy certificate must be issued by a recognized Root Certificate Authority (CA) that is trusted by both the underlying Node.js and Ubuntu/Debian frameworks. Snowflake is not supported.
  • Reduce dynamic tiles timeout to 20 seconds.
  • Increase the default pool size of connections to Redshift from 5 to 20 per container.
  • Enterprise customers might receive an in-app NPS survey. All requests to a service called AskNicely are related to this integration.
  • Widgets linked to simple features are now calculated on the server side.
  • We’re introducing a new mode to share Databricks connection, called “Require viewer credentials”, where all viewers will be required to authenticate independently to use the connection. Since the Databricks connector is in beta, we’ll add more details to the release notes when we enable this mode for other providers.
  • To ensure backward compatibility with older versions of Kubernetes, we have added a new value called kubernetesPolicyVersion in the Helm chart.
Fixes from the last release:
  • Fixed an issue where Kubernetes deployments were not able to import files using a BigQuery Oauth connection.
  • Fixed an issue where using an external HTTP proxy, some services didn’t apply the NO_PROXY variable properly.
  • Fixed an issue where using an external proxy, some services had issues pulling messages from Pubsub after an outage of the proxy service.
  • Fixed a potential issue where feature flags would return the default value instead of the actual value due to missing variables.
  • Fixed an issue with PostgreSQL connection where under specific circumstances, related to the connection pool, requests would start failing.
  • Fixed access to Data Observatory data and demo data for the CARTO DW in non-US regions.
Known Issues:
  • Certain browser versions may experience a callback loop when creating a BigQuery OAuth connection. This issue is not observed in Firefox versions >= 114.0.2 or Chrome versions < 114.0.5735.33.
  • Users who have been rejected from joining an organization by an administrator are currently unable to request to join another organization.
  • An error appears after creating a new Databricks connection, although the connection was created successfully.
  • Sharing a connection or a workflow using the only with specific groups option doesn’t work.
  • Sharing a workflow directly from the canvas feature does not work as expected.
  • An error occurs while importing geopackage datasets in Snowflake.


View this release on GitHub --> Docker Compose release | Kubernetes release
  • Workflows: Automate data preparation & analysis pipelines with our no-code workflow design tool. Exporting in Workflows is disabled by default in Self-Hosted instances.
  • SQL Parameters in Builder: SQL Parameters are placeholders that can be used on any SQL Query data source in Builder. Once defined, the actual value for the parameter can be set through a control UI, allowing easy manipulation of the data source by both Editor and Viewer users.
  • New API Access Tokens UI: developers now have an easy way to create and manage their API Access Tokens, used for authentication in CARTO for Developers.
  • Table optimizations: CARTO will now detect automatically whenever a table could perform better thanks to geospatial optimizations, that can be applied from Data Explorer.
  • Labels for tile layers: CARTO Builder now supports adding labels to point layers loaded via tiles, with a set of improved features.
  • Default role for new users: admins can now select what is the default role for every new user that signs up to their organization.
  • Just-in-time provisioning in SSO organizations: admins that have previously set up an SSO integration now have the ability to let their users skip all the onboarding steps, for a seamless signup experience.
  • Accessing the CARTO Data Warehouse SQL console: we have enabled an easy way of getting authorization (via a Google account) to the console of their CARTO Data Warehouse.
  • Beta Support in Maps API for raster sources created via Beta functions in Analytics Toolbox for BigQuery.
  • Support for external HTTP Proxy: now CARTO self-hosted supports working behind an external HTTP proxy.
  • Refresh buttons have been added in several places when listing and previewing data, to prevent cache issues.
  • We’ve added additional optional parameters in Imports API to support upcoming features.
  • We’ve made available a private Beta Version of a new feature: Basemap selector for public maps. Please contact the team if you’re interested.
  • Now you can disable TrackJS (a debugging service) for www components by customizing your environment variables.
  • Add support for PodDisruptionBudget (disabled by default). A PDB limits the number of Pods of a replicated application that are down simultaneously from voluntary disruptions
  • Disable upstream buffering in the router component for APIs that uses streaming to transfer data to the client. We disabled it for the self-hosted behavior to be aligned with the SaaS.
  • Other minor changes and improvements
Fixes from the last release:
  • Fixed potential issues where containers would not shutdown correctly after receiving SIGTERM signal by:
    • Start docker containers in Exec form. So the process will take up PID 1 inside the container and Kubernetes will be able to send signals to the pod.
    • Add terminationGracePeriodSeconds to all pods. Now, Kubernetes will wait for a specified time called the termination grace period before killing the containers when it needs to stop them, so the APIs will be able to finish their work before shutdown in a correct way.
  • Fixed an issue that would make embedded maps not work outside of the self-hosted domain. Now the router component returns the header X-Frame-Options = “ALLOW” for public map requests.
  • Fixed an issue when sending requests to SQL API larger than 1 Mb. Now you can send requests up to 10Mb of payload.
  • Fixed an issue while trying to download helm customer packages using the tool
  • Fixed a logout problem where users with SSO would be stuck in a logout-login loop under specific circumstances.
  • Fixed minor issues with GEOMETRY type handling in Redshift.
  • Fixed an issue where the COUNT operation wouldn’t be available for Quadbin layers in Builder.
  • Fixed an issue where the dynamic aggregation of points into Quadbin wouldn’t work for Snowflake and PostgreSQL connections under specific circumstances in Builder.
  • Fixed an issue where widgets would not be accurate with tileset data sources under specific circumstances.
  • Other minor fixes


View this release on Github --> Docker Compose release | Kubernetes release
  • The appearance of some screens in the login/signup contexts have changed to match our design system.
  • Import API and LDS API can now be selected and used as allowed_apis in tokens created via Tokens API.
  • Performance improvements related to the ability to cancel queries and manage timeouts for unused tiles in maps.
  • Removed support for fixed radius (meters) in Builder.
  • Several performance improvements for Snowflake connections, including better handling of a connection pool for Maps API and SQL API and faster queries for point-based data sources.
  • Database parameter is now mandatory when creating Snowflake connections.
  • Several improvements when importing files:
    • Longer timeout for importing larger files (from 10 minutes to 1 hour)
    • Better error handling, with improved error tolerance and clearer error messages.
    • The resulting tables in Snowflake after importing are now correctly optimized.
  • Other minor changes and improvements
Fixes from the last release:
  • Fixed an issue where users could attempt to delete maps owned by a different user.
  • Fixed an issue where invitations could be duplicated due to case sensitivity.
  • Fixed an issue with Builder SQL console where the spatial data type would remain cached.
  • Fixed an issue where an OAuth connection could be marked as shared under specific circumstances.
  • Fixed an issue with quantiles calculation not being consistent in static tilesets versus dynamic tiling.
  • Fixed several issues with the map/connection sharing dialog, where it would not behave correctly under some circumstances.
  • Fixed an issue where a demo dataset for retail industry use cases would appear to non-retail industry users.
  • Fixed an issue with the generation of “Intersect an Aggregate” SQL Analysis for Redshift in Builder.
  • Fixed an issue to support resolution levels lower than 4 for H3 layers and lower than 6 for Quadbin layers in Builder.
  • Other minor fixes

Previous releases

The release notes for releases prior to 2023.3.31 can be found: