Upgrade Guide
Upgrade packages
YARN:
NPM:
Upgrading from v2.2 to v2.3
Version 2.3 includes localization of messages and this is a breaking change. Clients updating to version 2.3 without making the necessary changes will get an error such as:
To fix it:
Add new dependencies:
yarn add react-intl @formatjs/intl-localematcher
Add provider to your app root level. The only supported locales are 'en' or 'es'
Upgrading from v2.1 to v2.2
SelectField
props removal: items
no longer available, use children
instead.
Changed to a controlled component. So now it needs to handle onChange
function in the parent.
For multiple selection functionality, now use MultipleSelectField
instead.
Upgrading from v2.0 to v2.1
The geoColumn
and aggregationExp
are moved from CartoLayer
to Source
.
The new API is backward compatibe for rendering purposes, but improved widgets calculation needs the two parameters in Source
.
If the parameters are present in a layer and widgets are defined over the same data source, it's important that the parameters are moved to the data source definition used in both the layer and the widgets.
className
and sx
props removed from: Legend
, Geocoder
, Category
and FeatureSelection
widgets. Use styled API
instead to wrap the affected widget in a container and apply the styles there.
Upgrading from v1.5 to v2.0
There is a breaking change regarding both the underlying UI library (major upgrade from Material-UI 4 to MUI5) and the visual aspect of the components (a new & improved Design System, with new palette of colors & fonts).
For the Material UI migration there is a very detailed guide in the official Documentation, that should help to achieve a smooth migration. Regarding the second, some visual tweaks might be needed to fit into already existing apps, especially if those were using some type of theme customization.
On the React side, current 2.0 is compatible with React 17, as it still uses some makeStyles calls (API based on JSS). A migration process has already started, to dump that API, in favor of more modern and recommended options, like the styled & sx apis. Once that process is done, React 18 will be compatible.
Upgrading from v1.5 to v1.6
Both and aggregationExp
have transitioned from CartoLayer
to Source
.
While the updated API maintains backward compatibility for rendering, enhanced widget calculations require these parameters to be in the Source
.
For layers with these parameters and widgets using the same data source, ensure the parameters are relocated to the data source definition employed in both the layer and widgets.
Upgrading from v1.4 to v1.5
There are no major changes in v1.2 that should affect your applications when upgrading from v1.4 to v1.5
Upgrading from v1.3 to v1.4
It requires bumping deck.gl to >=8.8.15 + new dependency: 'quadbin' >= 0.1.5
Upgrading from v1.2 to v1.3
External Library Changes
The main change that can have an impact when upgrading is the update of deck.gl to v8.8. In this new version of deck.gl, the CartoLayer
only works with vector tiles and this change can affect to widgets. If we are using dynamic tiling and there are features dropped in the current zoom level, the widgets are not going to show results but a message indicating that not all the data is available. If you need the widgets to work at all zoom levels and the data source is of small/medium size, you can keep using GeoJSON but directly with the GeoJsonLayer
as explained here.
Library Changes
We have updated the HistogramWidget
and now it can work in two different modes: you can keep using the ticks
property to specify the breaks for the bins, or you can use the new bins
property where you just specify the number of bins to use and the widget is going to calculate the breaks.
Sometimes the HistogramWidget
was used with categorical data but it should be use to show the distribution of a numeric column. We have created a new BarWidget
that should be used when we want to visualize categorical data using vertical bars.
Upgrading from v1.1 to v1.2
There are no major changes in v1.2 that should affect your applications when upgrading from v1.1.
Upgrading from v1.0 to v1.1
CARTO for React v1.1 includes support for deck.gl 8.6 that provides data visualization capabilities for the new CARTO 3 platform. Read more about the capabilities in this new deck.gl version here.
Library changes
If you update an application that is using v1.0 of the CARTO for React library to v1.1, there are some minor changes that might affect your existing code (we have already updated our documentation with these changes):
useCartoLayerProps now uses object destructuring instead of multiple arguments
executeSQL now uses object destructuring instead of multiple arguments
SourceTypes
constants have been removed from the@carto/react-api
packageThe
type
property in data sources now accepts a different set of values. You need to useMAP_TYPES.QUERY
if you were using'sql'
orMAP_TYPES.TILESET
if you were using'bigquery'
. TheMAP_TYPES
constants are defined in the@deck.gl/carto
package.
Template changes
In this new version 1.1, we have also renamed our existing templates and added three new templates for creating applications with the CARTO 3 platform:
base-2
is the new name for the existing CARTO 2 skeleton template, previously the default@carto
templatebase-3
is the name for the new CARTO 3 templatebase-3-typescript
is the name for the new CARTO 3 template for TypeScriptsample-app-2
is the new name for the existing sample app template for CARTO 2, previously namedsample-app
sample-app-3
is the name for the new sample app template for CARTO 3
Compatibility with platform versions
CARTO for React v1.1 is the first version compatible with the CARTO 3 platform. CARTO 3 is the new version of the CARTO platform that provides direct connectivity to cloud data warehouses without the need for importing data first into CARTO. If you want to learn more about this new version and sign-up for a free trial, please go to this page.
Last updated