# Change Log

All notable changes to kepler.gl will be documented in this file.

## \[3.3.0-alpha.0] - Apr 5 2026

* 44d1e47f fix: preserve line breaks in tooltip field values (#3311)
* e2cc341b fix: geocoder coordinate search results not showing (#2245) (#3322)
* 1c2db0fd feat: add layer visibility toggle to map legend (#3303) (#3324)
* 385ed909 fix(components): disable preserveDrawingBuffer by default for better performance (#3326)
* f182d6cc fix(geojson-layer): initialize strokeColor for LineString features (#2305) (#3338)
* f25f1286 fix: boolean parsing for yes/no string values (#3346) (#3365)
* be6ba648d chore: deck.gl 9.2 upgrade & loaders.gl, luma.gl upgrades (#3271)
* bc59e880b chore: Update kepler-jupyter to use kepler.gl v3.2.0 (#3219)

## \[3.2.6] - Mar 16 2026

* b5ffed55b feat: add extra map export resolutions (#3357)
* faa000c6c feat(kepler-jupyter): version 0.4.0rc1 (#3345)
* efb072eb5 fix: colors not working in trip layer of TABLE mode (#3347)
* ca30df0e1 fix: create trip layer from duckdb table (#3344)
* cc33b0c8f feat: add support to DECIMAL column type (#3341)
* 40ce323a8 docs(localization): add translation guide for contributors (#3335)
* 35ab765d4 fix: tileset loading indicator improvements (#3331)
* cec11f3cb fix: add security warning about Mapbox token in HTML exports (#3139) (#3330)
* e2f672cdc fix: replace broken vis.academy link with docs.kepler.gl (#3309)
* 8c5030c3e fix: export zoom icon (#3308)
* 8cf4274bf fix: layer configurator icon update (#3306)
* 192f0fd2b feat: getDuckDBColumnTypes improvements (#3304)
* 3762a2b36 feat: make tile loading indicator more explicit (#3305)
* e5b7df170 rollback change, and truncate tooltip (#3300)
* cbb3204cf feat: Implement WKT validation in data-type.ts (#3298)
* e705fc8aa fix: name new point layer using label if provided (follow-up) (#3297)
* 4bdf8f4ff fix: name new point layer using label if provided
* cf76bba68 fix: hide Kepler editor tooltip “top-left jump” on invalid hover coords (#3294)
* 2ba9f6e22 fix: Clamp legend height if it exceeds available space (#3276)
* 562cb1ba8 kepler.gl-jupyter: codespell (#3273)

## \[3.2.5] - Dec 24 2025

* 81f490d94 fix: trigger a redraw from icon layer once the icons are loaded. (#3269)
* 26e4a17d4 fix(ai-assistant): clear LLM history on restart chat (#3262)
* 2d985982a fix: image export for non-webpack bundlers (#3266)

## \[3.2.4] - Dec 9 2025

* 82630dee3 fix: ensure icon layer render with the latest geometry (#3259)
* 422c1b347 fix: Avoid Monaco AMD bundle when importing `@kepler.gl/duckdb` (#3255)

## \[3.2.3] - Nov 28 2025

* 2288bc324 fix: Allow passing arrow tables to ArrowDataContainer (#3247)
* a0a4eefc1 fix: Yarn start failed (#3249)

## \[3.2.2] - Nov 25 2025

* f66ab3c61 fix: Allow passing arrow tables to ArrowDataContainer (#3242)
* e2efa50dd fix: copy geometry when geometry is of binary format (#3236)

## \[3.2.1] - Nov 3 2025

* d2b130f95 fix: detect h3 column in arrow (#3230)
* 2aa200913 fix: interaction panel causes layout shift (#3224)
* 2e24bd207 feat: extend bigInt casting to support UBIGINT HUGEINT UHUGEINT in duckdb (#3227)
* 79d745ae2 \[fix] fix for wkb/wkt saved in DuckDB as varchar (#3208)
* 24529655d fix: fixes to channel by value (#3216)
* f211ccd0a \[Bug]: Fix scrollTop reest when scrolling horizontally in data table (#3206)
* b6aee95f3 docs: add security escalation policy (#3210)
* a6e9cb998 feat: ai assistant support llm proxy server (#3188)
* 2005927bd \[fix] icon layer - render default icon in case svgIconUrl loading fails (#3204)
* 64ec955ae \[chore] Add missing release notes for 3.2 (#3200)
* 70a129c4e \[feat] vector tile layer - add feature uid selector (#3203)
* 2b8af8260 \[fix] vector tile layer - use highlightedFeatureId for hover (#3202)
* 32fb77f42 \[chore] bump demo-app example to kepler.gl 3.2 (#3201)
* 96dcef6b9 \[fix] fixes for legend (#3199)
* 26dd6e832 \[website] fix mobile layout (#3197)
* 7be817789 \[website] Add OpenJS Foundation copyright and logo (#3196)

## \[3.2.0] - Aug 21 2025

* 3b0be2dda \[chore] docs update (#3192)
* 9c132de28 \[chore] docs update (#3180)
* d4d8d184b \[chore] raster tile form - add link to docs (#3183)
* f91564fb9 \[fix] save raster layer config with layer, don't rely on app config (#3184)
* 420bbf2ad \[feat] add support for boolean filter in vector tiles (#3190)
* e4b64a080 \[chore] Replace Studio section with Desktop section (#3189)
* 751148111 \[chore] Fix and update examples to v3.1.10 (#3182)

## \[3.1.10] - Aug 14 2025

* 09297acc0 \[improvement] optimize speed of getCategoricalColorMap (#3178)
* 1545fafe5 \[chore] Update react-modal types version (#3173)
* fc1b91fa9 \[chore] Create props interface for LinkRenderer Component (#3172)
* 5f664c3a5 \[chore] pass through logoComponent to PlotContainer (#3176)
* 46cc44109 \[fix] fix for a crash in getBins when numeric strings are treated as numbers (#3175)
* 0850ef2eb \[chore] Update the Screenshot Image in Readme (#3171)
* f2001983a \[feat] export duckdb column logic (#3170)
* 3df1c4ddf \[chore] expose showDeleteDataset prop (#3166)
* 2a666ae0c \[chore] export dnd constants

## \[3.1.9] - July 28 2025

* 0d6d5fd1a \[chore] raster tile - hide server settings by default (#3163)
* 7551f5d7d \[fix] DuckDB mode: space in column name breaks file import (#3153) (#3156)
* 047334712 \[fix] fit to bounds - fix initial basemap and deck projections mismatch (#3155)
* d43e8bbff \[chore] replace ai-assistant model config file with ts for npm availability (#3154)
* 1a93a2b99 \[chore] raster tile layer tests (#3152)
* 343b554db \[feat] WMS layer improvements (#3151)
* c1d2b8616 \[fix] button spinner fix (#3150)
* a05b3cf6d \[fix] WMS layer fixes 2 (#3149)
* 1a47e08a5 \[fix] WMS layer fixes 1 (#3148)
* 272fd1ae7 \[Feat] WMS Layer - development (#3092)
* 9f656e06c \[Docs] Add tutorial Spatial Data Analysis with Kepler.gl AI Assistant (part1) (#3126)
* ca628b523 \[Chore] rewrite plot container for perf improvement (#3133)
* 49f4c3de2 \[chore] Update old imports (#3131)
* 3b6e9049a \[fix] improvements for raster tile layer (#3124)
* 4237b0a0e \[chore] migrate custom-palette from react-sortable-hoc to dnd-kit (#3128)
* 49fbf8faa \[fix] aggregation layers fixes for custom color scale (#3129)
* edf1f1ddd \[fix] spatial join ai instruction (#3127)

## \[3.1.8] - May 26 2025

* 4fd570c3e \[example] Kepler.gl getting started example with Vite (#3123)
* f57173d35 \[fix] DuckDB - cast BigInts to Double by default (#3120)
* fd4702c4f \[perf] disable strokes by default for polygons in geojson layer (#3118)
* 1542bb6f7 \[Feat] Add OSM road tool to support point analysis on road networks (#3117)
* 9da33316c \[feat] Generate "idea" buttons from LLM (#3115)
* 330030185 \[Fix] AI Connection to Ollama failed (#3113)
* be6ee823a \[Bug] fix update selected feature bbox (#3110)
* 0dcacc66e \[fix] Custom picker fix when called during initialization (#3107)
* 4fc1344a1 \[Chore] style tweak (#3109)
* 3769aaf74 \[Chore] Better handle add data to map error and loading indicator (#3106)

## \[3.1.7] - May 14 2025

* 014059b97 \[fix] fixes for raster tile layer (#3102)
* 518c515d1 \[feat] loading indicator improvements for tiled layers (#3097)
* e290f281e \[fix] fix for getFieldsFromTile regression (#3099)
* 7087ffe15 \[fix] fix tooltip crashing for trip layer (#3103)
* a231ebfc1 \[fix] fix for image export with effects (#3105)
* da38e26b9 \[chore] Update Comments in actions (#3098)
* 21aac1c85 \[fix] fixes for custom input (#3095)
* 271b8cc98 \[fix] fix types publishing for table module (#3096)
* 3d3bb9b54 \[chore] add cdnUrl option to application config (#3093)
* 9cdf73ea4 \[Bug] remove layer item z-index (#3091)

## \[3.1.6] - May 8 2025

* 33203a6de \[fix] fix loading indicotor not hidden regression (#3088)
* 913176bb6 \[bug] fix lodash imports regression (#3089)

## \[3.1.5] - May 8 2025

* 223d14b60 \[chore] ts fixes
* 3570ac429 \[feat] Raster Tile Layer - development in progress (#3048)
* 07e5beae2 \[chore] import add tileset dialog styling (#3085)
* 6568c0c94 \[Feat] Add Spatial Data Analysis tools to AI Assistants (#3057)
* fd08fa1a9 \[Chore] export more kepler-gl prop selector (#3081)

## \[3.1.4] - May 5 2025

* 03b8ea0a9 \[Chore] Use clonedeep in interaction config load (#3080)
* a6104eafe \[Chore] drop lodash per-method packages in favor of the main lodash (#3065)
* abb3fd473 \[feat] h3 layer from decimal format (#3066)
* 191f66161 \[fix] fix for exported maps. Change react-markdown to markdown-to-jsx (#3077)
* 3c83e74b3 \[chore] Added types in Action (#3075)
* 8baddbbaf \[Chore] export bottom widget field selector (#3078)
* afc21c263 \[chore] Fix TypeScript Errors (#3076)
* 822cd0e32 \[Style] align icon styles, use lucid icons (#3073)

## \[3.1.3] - May 2 2025

* d5ef5f713 \[Chore] remove dnd-kit from dependency of utils and reducer, remove use of withState in dnd context (#3067)

## \[3.1.2] - May 1 2025

* fb3615b90 \[chore] extra duckdb utils export (#3063)
* a0d14b770 \[fix] updateVisDataUpdater early exit (#3058)
* 111b3180d \[chore] pass props directly to Draggable legend, not withState (#3055)
* 6bb6c98a1 \[fix] Legend positioning fixes (#3052)
* 7d601f110 \[fix] Only open either the mapDraw dropdown or locale dropdown (#3056)
* 52a2d2a2b \[CHORE] disable auto lyaer creation based on color by int column (#3049)
* e935ef51d \[chore] extra exports from duckdb module (#3050)
* 864dbe5c6 \[Chore] Fix more style components warnings (#3047)
* 9de30e2ba \[Chore] Export duckdub utils, allow cols in validate dataset (#3042)
* 6cc1ee4ef \[Bug] Fix styled-components warnings for passing props to Dom (#3039)
* cb5c14f81 \[Bug] Add mapbox-gl dep to prevent Failed to resolve import in vite (#3036)
* 7c3365fcf \[chore] Get started minimal example with esbuild (#3028)
* 224975a25 \[chore] pass duckDB adapter via application config (#3023)

## \[3.1.1] - March 11 2025

* e271c8f8c \[fix] fix for potential freeze during add data pipeline (#3015)
* 9eef01c48 \[fix] make onFilteredItemsChange callback optional (#3016)
* 7107e4177 \[fix] fixes for vector-tile layer (#3013)
* b4b979d59 \[fix] schema panel displays temp table (#3014)
* ed2b5f322 \[chore] fix react deprecation warnings (#3011)
* ba75087a1 \[fix] DuckDB: update schema after running a query (#3009)
* b57b1ff9a \[chore] update umd example to latest stable release (#3010)
* 9762dc379 \[feat] DuckDb plugin: drag and drop file directly as table (#2952)
* 8e737e8cc \[chore] changes to webpack.config path separators (#2623)
* 8fbb3b0b4 \[fix] Fix Save map action for FSQ provider (overwrite logic) (#3006)
* df829fbe9 \[fix] fix for geocoder coordinates (#3002)
* 44acecf2a \[fix] adjust getZoomFactor for icon layer (#3004)
* 69ea2a176 \[fix] fix for Icon layer UI (#3003)
* 702b49e3f \[fix] Fix for More than one copy of react-palm was loaded error message (#3007)
* a67a7fcab \[Bug] make sure the RangeBrush updates on slider range changes (#2047)
* 631f7a304 \[fix] Update geojson-utils.ts to support GeometryCollections (#2059)
* ce867606f \[chore] Bump express from 4.19.2 to 4.21.0 (#2655)
* c9dd05f32 \[chore] Bump nanoid from 3.3.7 to 3.3.8 in /bindings/kepler.gl-jupyter/js (#2906)
* b2e24345c \[chore] Bump fast-xml-parser from 4.4.0 to 4.5.0 (#2688)
* 976b079b3 \[chore] Bump lodash from 4.17.19 to 4.17.21 in /src/deckgl-layers (#2858)
* 4074b320f \[chore] Bump esbuild from 0.23.1 to 0.25.0 in /examples/demo-app (#2994)
* 57573d344 \[chore] Bump elliptic from 6.6.0 to 6.6.1 (#2997)
* c5dbd571d \[chore] Fix lint issues displayed on GitHub's File Changes page (#3001)
* b98a39def \[fix] Transform binary buffers to hex wkb when saved to json/hmtl maps (#2998)
* 221b243c2 \[feat] improvements to duckDB column type handling (#2970)
* d30a95bcd \[fix] improvements for layer type change logic (#2995)
* 547ffeb0c \[fix] arrow text labels from non-string source vectors (#2990)
* 7e2e619e2 \[chore] updates to website (#2992)
* 7e2db2b7d \[chore] Improved Props and Gettings Started Docs (#2993)
* 1216d235b \[fix] export geoarrow to CSV as geojson (#2988)
* 2c525ed8e \[fix] restore suport for string wkb; save binary wkb as hex wkb (#2982)
* e149384df \[chore] update to hubble.gl 1.4 (#2987)
* c39778ce9 \[fix] AI Assistant sends messages to 127.0.0.1 instead of remote Ollama URL (#2985)
* 81780f5ab \[chore] Update README.md (#2981)
* f8fbf2461 \[fix] heatmap renders nothing with black color or duplicate color (#2978)
* 11350eecb \[chore] check for required env variables in demo-app and output a warning (#2977)
* 0325ef6ee \[fix] FSQ storage provider - use prompt instead of auto login after logout (#2975)
* bbe51b980 \[fix] fix for point column suggestion not working (#2974)
* fa1cc4f1e \[chore] Rename ".env.template " to ".env.template" to prevent git clone fail (#2976)
* 47cd3da81 \[keplergl-jupyter] Release v0.3.7 #2969
* 7bbe0b839 \[Jupyter]\[Fix] convert datetimes to str so they can convert to json (#2968)
* 5367abaee \[fix] fix geojson and trip layer crash without data (#2964)
* e1c9f869c \[fix] FSQ Storage provider temp fix (#2960)
* 098ee9b42 \[fix] fix for minzoom in examples (#2959)
* f7f10379e \[chore] update demo-app version (#2958)
* ab17e7565 \[chore] update banner mesasge (#2957)

## \[3.1.0] - January 29 2025

* 089aa8cf8 \[chore] vector tiles refactoring (#2945)
* 405c36e23 \[fix] DuckDB: make query result title more reusable (#2956)
* 8033578f2 \[docs] update docs for Kepler.gl release 3.1 (#2941)
* b1953cff7 \[feat] banner with extra release info (#2955)
* e95c4e5a4 \[fix] arrow tables - save timestamps as iso date string (#2953)
* 4aef54a93 \[fix] adjust margin for map save modal to show Save button without scrolling (#2954)
* f00b4b88d \[chore] testing mp4 embed with gitbook (#2951)
* f292d6181 \[Chore] Add DeepSeek in Ai Assistant (#2946)
* c5484e1ae \[fix] plumbing for DuckDB plugin support (#2949)
* da9988532 \[chore] demo-app bump kepler.gl version (#2944)

## \[3.1.0-alpha.7] - January 27 2025

* 7356c5afe \[fix] hotfix for arrow saving / loading, without support of binary data (#2943)
* 4031451b0 \[feat] duckdb plugin (#2798)
* 029bcc548 \[feat] loading indicator (#2936)
* 1a68d1bd2 \[Chore] Remove SQL plugin for AI Assistant (#2938)
* 4be4b6987 \[Misc] Update demo-app README.md (#2934)
* b38054fa8 \[Feat] AI Assistant Query (#2819)
* 4cd912097 \[fix] Added 24 limit for maximum zoom (#2635)
* b1bddd5fb \[chore] Fixes for using in a vite app (#2898)
* 4d1bfb3d0 \[feat] minZoom and maxZoom for examples (#2933)
* 81be74920 \[fix] don't auto create point layer from vector tiles (#2932)

## \[3.1.0-alpha.6] - January 22 2025

* 803b2f540 \[fix] remove dependencies from useEffect (prev componentDidMount in app.tsx) (#2930)
* 57926442f \[fix] use saved map config for saved maps instead of zoom in to data (#2929)
* 4af609245 \[chore] add dot.env, updates to demo-app build, update gitignore (#2928)
* ce23c7668 \[feat] duckdb module updates (#2927)
* fc974d852 \[feat] duckdb module placeholder (#2926)
* d1b3c9799 \[fix] demo-app resolve to proper node\_modules (#2925)
* 594250bc7 \[fix] fix demo-app yarn start (#2924)
* 913ba1ce0 \[feat] support for table plugin in demo examples and privately stored datasets (#2923)
* 630728190 \[fix] fixes for style editor preview and error (#2919)
* d6aa2757e \[fix] fix neighbor mode hovering crash in arc/line layers (#2920)
* e2bd71d4e \[fix] fix csv table examples for layers (#2921)
* a6e151a0f \[fix] vector tile layer fixes (#2911)

## \[3.1.0-alpha.5] - January 15 2025

* b117b08ab \[fix] fix for exported html maps

## \[3.1.0-alpha.4] - January 15 2025

* 933a91a2f \[fix] check for geoarrow extension in geojson layer (#2916)
* 0abe9979d \[fix] opening multiple examples breaks url (#2915)
* 49e7956e8 \[fix] Don't show 0 when description is empty (#2913)
* cb5d4ed42 \[fix] fix styled-components version in exported map (#2907)
* b1d243363 \[fix] adjust tooltip style (#2910)
* f0c57a869 \[fix] fix website commit section
* 2753321c5 \[feat] Vector Tile layer fixes (#2899)
* 073c585e4 \[Fix] add\_data() function failed in keplergl-jupyter
* 6e425972e \[feat] mapbox and maplibre simultaneous support (#2897)
* 22f9ba14d \[Chore] Fix lint error for Register actions (#2896)
* ccfc2e2ad \[fix] Image export legend positioning (#2895)
* cf02a3ca6 \[chore] Upgrade styled components to v6 (#2894)
* 4c9ffe827 \[fix] Prevent infinite useEffects loop in range-plot (#2892)
* 0b67c5409 \[fix] fixed onOptionSelected handler when option is null (#2891)
* 40ba839e3 \[fix] Add ellipsis in LayerTypeListItem (#2890)
* d0d31bdfa \[fix] Handle selecting geojson polygon with missing properties (#2889)
* 79801bec0 \[fix] Tippy tooltips in animation controls (#2888)
* 0ad53723a \[feat] Adding setAnimationConfig action (#2887)
* 67b001980 \[chore] export TimeFieldFilterProps (#2883)
* 603fde8d1 \[fix] Fixed issue when mapstate latitude or langitude are out of bounds (#2882)
* 92c9e6abc \[fix] Use floating-ui to deal with closing on click outside (#2886)
* 4bcf55bd6 \[Feat] Custom color scale for categorical/ordinal field (#2880)
* 23f603428 \[Bug] Prevent dragging legend component outside of container (#2885)
* d549fcd4e \[fix] copy map config style (#2878)
* 34444fa54 \[fix] check for allBins (#2876)
* 8335ba410 \[fix] Custom Color Scale fixes (#2875)
* 141236513 \[chore] Add several vis state mergers combineConfigs and improve TS (#2634)
* 9f3f08944 \[Chore] Add composedReducerSchema to schema manager (#2633)
* e633177ef \[chore] applyFilterConfig action (#2872)
* ceb930e2d \[Fix] incorrect multi-dataset filter domain (#2871)
* 00dd00279 \[fix] show scale options for Point Count in aggregation layers (#2870)
* a39fcf8c4 \[fix] pass strings to color palette inputs (#2873)
* b89b19c6a \[chore] Consolidate vis state tests (#2869)
* 77e785713 \[feat] Support custom ordinal color scale on string field in layer config (#2868)
* cccc4be2b \[feat] Free positioning of the legend (#2874)
* 2d1d8e5f5 \[Fix] add\_data() function in keplergl-jupyter (#2867)
* 3b46abd34 \[feat] add LayerToggleVisibility for single splitMap (#2863)
* b2b6f10c8 \[Release] Candidate Kepler-Jupyter v0.3.4 (#2588)
* 3bf006f41 \[fix] Remove legend layer groups height capping (#2864)
* f1245d7e5 \[chore] ts refactoring (#2861)
* a897715cc \[Feat] Add custom color scale for aggregate layers (#2860)
* 6bc594602 \[Feat] replaceDataInMap action - save colorsByDataId (#2859)
* be2f04e6d \[chore] add fsq color palettes (#2862)
* c7d3777fc \[fix] change process to globalThis.process (#2865)
* 5cb8a3431 \[chore] Create SECURITY.md (#2845)

## \[3.1.0-alpha.3] - December 25 2024

* 2cd7a859c \[chore] fix missing dependencies in workspaces (#2856)

## \[3.1.0-alpha.2] - December 24 2024

* f9b385a6e \[fix] Fixed time filter bug where points located at the borders of the domains were not correctly displayed (#2854)
* 59abc6a19 \[fix] fix for custom color scales with tile layer (#2853)
* 3a4bf667f \[feat] histogram and point layer fixes (#2852)
* f9c52e538 \[feat] color scale histogram (#2851)
* 3e7dc937a \[fix] custom palette issues (#2850)
* d55797991 \[docs] Replace yarn global add with yarn dlx for puppeteer installation (#2849)
* e106c1927 \[feat] Plumbing for vector tile layer (#2839)
* a2abbf72d \[fix] fix yarn cover regression (#2846)
* 6925bd429 \[docs] update demo-app/README.md (#2847)
* f05b6e37d \[chore] Bump nanoid from 3.3.7 to 3.3.8 in /website (#2840)
* 4baa44d9b \[chore] Bump nanoid from 3.3.7 to 3.3.8 (#2837)
* b09d7eb95 \[Enhancement] support mapbox url protocol (#2693)
* 215383661 \[Feat] Redesign color range to use chormajs and d3 color function (#2835)
* bded7af76 \[Feat] handle layer color scale by field.domainQuantiles (#2829)
* 5f7c26bd0 \[fix] Prevent duplicate legend in line and arc layers (#2830)
* 639c7a5b9 \[feat] Apply new legend style (#2831)
* f9c214dd5 \[chore] getSelectedFeature (#2832)
* efdf2ea8d \[chore] ts fixes (#2827)
* 074d123dd \[Feat] Add display format setting for table/tooltip (#2826)
* aec75d819 \[Chore] Minor ts refactoring (#2825)
* 1825b6572 \[fix] Expand legend (#2824)
* bb6a376e8 \[fix] adjust time range filter on value set (#2823)
* cef3faf19 \[Feat] add h3 typed column (#2822)
* c5d42ddc9 \[fix] Fix multiple field filtering in setFilterUpdater (#2821)
* c4d1cfff0 \[FEAT] support domain.domainStops in layer color, render color legend based on zoom (#2815)
* 3a4feac59 \[fix] Line layer is not displayed for between hex ids (#2820)
* 89411c820 \[fix] Typescript 4.4 fixes (#2816)
* 240289603 \[feat] Show selected fields in the tooltip for aggregation layers (#2814)
* 95c6ed14b \[chore] Bump elliptic from 6.5.7 to 6.6.1 in /bindings/kepler.gl-jupyter/js (#2818)
* fb3fa7b58 \[chore] Bump cross-spawn from 6.0.5 to 6.0.6 in /website (#2817)
* f476a1c4c \[chore] Bump elliptic from 6.5.7 to 6.6.0 (#2720)
* c727356f7 \[chore] Bump cross-spawn from 6.0.5 to 6.0.6 (#2772)
* 3950d73ab \[chore] Fixes in README.md (#2810)
* 786aa36cf \[Fix] Don't modify height for with fixed height enabled; Height UI unification (#2804)
* 2178d9057 \[fix] show sync layer animations when there is one dataset (#2803)
* 6f35313f7 \[chore] timeline refactoring (#2802)
* d50bbc831 \[fix] Updated plot when changing cross filters (#2801)
* b4dfa2fce \[fix] disable Share Map for FSQ provider (#2808)
* 86b5dda7e \[Feat] AI Assistant \[2] (#2777)
* 5a0cbca66 \[Bug] Fix issue with React StrictMode causing Dataset table to not display (#2683)
* b147db8d5 \[chore] Local Development Guide Update (#2806)
* 6223be939 \[fix] Foursquare storage provider improvements (#2800)

## \[3.1.0-alpha.1] - December 3 2024

* f6b37c6af \[fix] fixes for exported maps
* 979c9a5a1 \[fix] align upload icon (#2799)
* 6862eb85c \[fix] Fix for Try Sample Data (#2796)
* f4f7fd2b4 \[fix] fix examples - proper publicPath to include bundle chunks (#2795)
* 7ca7f9178 \[chore] prepublishOnly command fixes (#2793)
* 40c6c8b09 \[chore] npmpublish fixes - set npm registry manually (#2792)
* f60b94f48 \[chore] fix npmpublish action (#2791)
* e77981e13 \[chore] fix for package publishing (#2790)

## \[3.1.0-alpha.0] - November 26 2024

* 5b4f6537 \[feat] create new dataset action (#2778)
* a253cae1 \[chore] Update the keplergl processors update (#2776)
* 931e2c6b \[fix] Update the path to relative path in utils (#2775)
* ac469c13 \[chore] Updated imports for Kepler GL Reducers in docs (#2774)
* 13b469d8 \[chore] common-utils module (#2773)
* 6fd4f884 \[Feat] Kepler.gl AI Assistant \[1] (#2735)
* ab9e2530 \[fix] Time Sync fixes and tests (#2771)
* 1689ed68 \[fix] Custom color scale fixes (#2770)
* d0c9a3b9 \[feat] Support custom breaks in color scale (#2739)
* 3f645002 \[fix] restore arc and line layers in non-geoarrow modes (#2732)
* 966ee4c6 \[Chore] Custom Initial State and Forward Actions Docs update (#2731)
* e88577de \[chore] Docs action page import updates (#2729)
* d783b43c \[feat] experimental support for ARROW:extension:point; support for arrrow:wkb for geojson layer (#2716)
* 26687575 \[chore] Update Code examples in API Reference Get Started page (#2727)
* 8ea1cabe \[fix] Fixed synced filter domain and interval calculation (#2725)
* 695861b2 \[Bug] fix yaxis chat doesn't update (#2724)
* 8c37afaa \[fix] time sync bugfixes (#2723)
* 4c2a6b3c \[Improvement] Improved radius legend number formatting (#2726)
* c9658214 \[Doc] Improve keplergl-jupyter documentation (#2697)
* 934f8e89 \[feat] Improve timeline sync filer UI (#2722)
* d6f68379 \[fix] Time Sync bugfixes (#2721)
* 40f82127 \[feat] Sync filter with layer timeline (#2718)
* 0b6f320a \[Enhancement] Synced filter small tuneup to synced filter panel (#2715)
* caf6e485 \[fix] filter fields based on timestamp (#2714)
* c17dacf3 \[feat] Layer animation (#2713)
* 0507bd60 \[faat] deckgl-arrow-layers module (#2680)
* 8e4d723b \[feat] Allow function return type of getData in getFilterValueAccessor (#2708)
* e20d5e82 \[BUG] fix gpu filter update trigger attribute update in every render (#2707)
* 2d8161e3 \[Feat] add color picker to single color selector (#2699)
* b258e8a9 \[Bug] Fix synced time filter loaded value not saved (#892) (#2706)
* e5fe97be \[feat] Updated time filter sync style (#2705)
* cb705c63 \[fix] Prevent bottom time widget crash (#895) (#2703)
* ef2ac8f0 \[chore] Add runGpuFilterForPlot to export, ts changes to KeplerTableModel (#2702)
* ee695327 \[fix] remove duplicate "https:" in example (#2711)
* a743a276 \[fix] add map control buttons back (#2709)
* 97df4c94 \[Feat] Replaced filter enlarged with view: side | enlarged | minified - part 2 (#2537)
* 1c0ef9a9 \[feat] add deck.gl onFilteredItemsChange callback to DeckGl overlays (#2691)
* d6082fe6 \[feat] Time filter syncing (#2690)
* b28a263e \[feat] Implemented ability to invert time series trend colors (#2692)
* ecb5ed41 \[feat] Edit color legend value (#2681)
* 9c82daae \[Enhancement] Add billboard and fadeTrail toggles (#2684)
* 69fc6c65 \[Feat] Dynamic map lib config (#2678)
* 5764b069 \[Chore] Remove default props and react-onclickoutside in react functional components (#2679)
* 09e19f86 \[Fix] Tooltip not working in exported HTML map (#2556)
* a24ba5ec \[Feat] Support radius legend (#2677)
* 1e7415a3 \[Enhancement] call layer methods to validate visconfig when switching dataset (#2676)
* 25a5b60d \[Chore] Adding application config (#2658)
* a9135ac6 \[Feat] add geojson column mode for point layer (#2666)
* b6ac6540 \[Feat] Add neighbor column mode to arc layer, support arc from hex (#2665)
* 2bc59371 \[Feat] support create geojson path from point csv in polygon layer (#2664)
* 4c489940 \[chore] Split out column mode config into separate component (#2663)
* add6192b \[feat] Layer Column Mode (#2662)
* ef32f711 \[fix] Fixed disappearing animation time control (#2625)
* c70ae07e \[chore] Update @loaders to 4.1.1 (#2638)
* ad94d703 \[Fix] legend wasn't interactive in shadow DOM (#2630)
* 6ffb1dcb \[chore] Move create or update filter action (#2636)
* 16a3ac26 \[fix] Improved map bounds calculation and handled latitude issues (#2632)
* 7e3ea28b \[fix] prevent second shadow effect (#2631)
* f8e7b417 \[fix] Upgrade react-router from 3.2.5 to 3.2.6 (#2637)
* 56c9c3ed \[fix] Updated type data-utils getColumnFormatter method (#2640)
* 5d77b7ab \[chore] Add className for LayerManager (#2629)
* 6f45f1f0 \[feat] add autoFocus prop in TypeHead (#2646)
* 406b9787 \[fix] Reset default values when DropdownList component unmounts (#2648)
* cf39ab20 \[fix] Map controls tooltips break drag event positioning (#2649)
* e7deb4c6 \[chore] Exporting missing types for PlaybackControls (#2650)
* edd1fd98 \[fix] Making sure animated spinner has border width CSS prop set (#2651)
* b92b9707 \[fix] Disable polygon filter menu for non-polygon features (#2652)
* e40d9b6e \[feat] Call get after inject to create full cache (#2647)
* f15be57f \[fix] Fixed effect panel width (#2644)
* 04280b33 \[fix] Hiding legend scrollbar when in image export (#2643)
* 73704019 \[chore] Update modal with test id (#2642)
* 4f9d261c \[fix] data table right margin in header (#2641)
* 66b7fbdf \[chore] Replaced deprecated "assert" with "with". (#2654)
* fb7fd817 \[fix] build\_and\_publish fix (#2645)
* 9dbc80f1 \[chore] migrate from webpack to esbuild to build demo-app locally (#2616)
* 7b512cfa \[chore]: Upgrade to yarn 4 (#2610)
* a06d03c5 \[chore] Bump setuptools from 69.5.1 to 70.0.0 in /bindings/kepler.gl-jupyter (#2587)
* f977b4f2 \[chore] Bump elliptic from 6.5.6 to 6.5.7 (#2608)
* 40005446 \[chore] Fix cover script generate cover report (#2609)
* affc5b65 \[Chore] Upgrade to eslint 8.53.0 and prettier 2.8.8, fix lint and type errors (#2607)
* bc90b0e2 \[Chore] fix tests (#2602)
* e5111dad \[Bug] Fixes a number of issues preventing Kepler from building on fresh checkout (#2596)
* 9341911e \[Bug] Fix custom map style input (#2564)
* 89180277 \[chore] update deps; update doc; update version (#2568)
* ff52dda6 \[fix] jupyter widget: don't take over (#1723)
* 739aed86 \[deps] Bump ip from 1.1.5 to 1.1.9 (#2527)
* 44526ebc \[Feat] Kepler-Jupyter 0.3.4 with kepler v3 (#2565)
* 6667a966 \[Docs] Update node.js version in docs to v18 (#2558)
* 4932e76a \[Feat] use fixed height in geojson layer (#2533)
* 400120f3 \[Enhancement] call layer methods to validate visconfig when switching dataset (#2532)
* 1f9757b8 \[feat] Pass in custom transformRequest function (#2534)
* b644f203 \[Fix] layer popover mapIndex (#2535)
* 4b3c950f \[fix] Fix sample maps (#2529)
* 55fb2426 \[chore] Update COC to OpenJS (#2496)
* 0959de6a \[Feat]Support Zoom to layer in layer panel (#2516)
* ac0d3575 \[Chore] docs: Add GeoArrow to supported formats (#2503)
* 084d807f \[Chore] Bump path-parse from 1.0.6 to 1.0.7 (#1569)
* 46086e88 \[Chore] Bump cached-path-relative from 1.0.2 to 1.1.0 (#1687)
* b8e5f865 \[Chore] Bump ssri from 6.0.1 to 6.0.2 (#1866)
* 48e5839f \[Chore] Bump postcss from 7.0.35 to 7.0.39 (#1691)
* 03d844c4 \[Chore] Bump url-parse from 1.5.1 to 1.5.10 (#1724)
* f5d3be2c \[Chore] Bump async from 2.6.3 to 2.6.4 (#1810)
* 012e9d7e \[Chore] Bump shell-quote from 1.7.2 to 1.7.3 (#1847)
* 3222fa11 \[Chore] Bump minimist from 1.2.3 to 1.2.6 (#2520)
* 248a759d \[Chore] Bump hosted-git-info from 2.8.8 to 2.8.9 (#1865)
* 8659d4c9 \[Chore] Bump decode-uri-component from 0.2.0 to 0.2.2 (#2053)
* 354fb8d2 \[Chore] Bump browserify-sign from 4.2.1 to 4.2.2 (#2421)
* 59d81ef8 \[Chore] Bump @adobe/css-tools from 4.3.1 to 4.3.2 (#2464)
* 776f11bc \[Chore] Update docs to MapLibre and react-map-gl v7 (#2497)
* 0ad17b50 \[Chore] Bump follow-redirects from 1.15.1 to 1.15.4 (#2507)
* b3be6c9e \[Fix] fix example node-app arrow errors (#2508)
* 24acc1a0 \[Chore] Update Uber References (#2495)

## \[3.0.0] - December 21 2023

* 21a445fd \[chore] update readme, fix examples, show effects button (#2492)
* de8cb971 \[Fix] GeoArrow demo not working (#2491)

## \[3.0.0-alpha.2] - December 17 2023

* 5264c5f5 \[fix] add thumbnails (#2486)
* 34bb812e \[chore] Update all licenses to OpenJS recommendation (#2471)
* df87781a \[Feat] add polygon filter based on mean centers for GeoJsonLayer (#2476)
* 50924867 \[chore] Add file license header script (#2472)
* f33b09f8 \[Demo] Add GeoArrow sample dataset (#2483)
* 09aee384 \[feat] MapLibre basemap (#2461)
* 1544e202 \[Fix] basemap frozen when incrementally loading GeoArrow (#2474)
* b290d871 \[chore] pin luma.gl version to 8.5.21, to avoid mismatch (#2463)
* 955633df \[chore] bump loaders (#2480)
* b481611c \[fix] fix map import (#2479)
* 2024a6d8 \[Feat] GeoArrow incremental rendering (1) (#2459)
* aa1c7d10 \[chore] fix typo in landing page (#2402)
* 155a5825 \[fix] Fix cloud tile fetching logic (#2456)
* 5eb62a9b \[fix] Fixed website configuration to correctly import local kepler files (#2454)
* 39494866 \[fix] update min value for hexagonal pixelate effect (#2453)
* 8e7b0ad1 \[fix] Effects: fix possible 'undefined' in effect parameters (#2452)
* 84053786 \[chore] Validate parameters for effects (#2450)
* d60ef31d \[feat] Introduce Foursquare cloud provider (#2437)
* 82d616e4 \[fix] ScenegraphLayer has broken lighting and textures (#2443)
* 110c2991 \[chore] bump deck.gl, luma.gl, loaders.gl (#2442)
* f70b20ea \[fix] effects: prevent time reset with invalid valese (#2441)
* 3ca8df02 \[chore] Add effect MapControl test (#2440)
* 68bff82a \[fix] effect-related UI fixes (#2439)
* 82fc69e2 \[chore] Refactored cloud provider flow for performance and multi provider support (#2436)
* d975ea1e \[Feat] support GeoArrow format (#2385)
* ee6f0754 \[feat] Effect manager - UI improvements (timezone, time slider, time dropdown) (#2433)
* b5a6e9ce \[chore] Making EffectPanelHeader actions configurable (#2432)
* 1ae4cd02 \[feat] UI updates for effects (#2428)
* a69b0878 \[chore] Effects - config refactoring (#2422)
* bfec82e5 \[chore] Bump to loaders.gl\@4.0.0 (#2424)
* e6e5a4c9 \[Chore] export LayerBlendingSelector (#2419)
* a1878138 \[chore] SplitMap type changes (#2418)
* 5e0ad511 \[fix] Legend is rendered outside of widget (#2417)
* 473bd801 \[fix] feature menu not working in shadow DOM (#2416)
* b995c9b5 \[fix] Hexbin layer color aggregation incorrect on load (#2415)
* 58f0bb71 \[Chore] merge other properties in splitMap merger (#2413)
* bcb8c4e8 \[fix] long name in filter panel header (#2412)
* b8fa6ce1 \[chore] Remove paths from tsconfig (#2414)
* 79002ea6 \[feat] Support customized ref in useDimensions (#2409)
* 4d723317 \[feat] Update Icon Layer to allow passing in svg icons as a prop to bypass remote resource fetching (#2410)
* 2ff3738f \[fix] Viewports not always locked (#2408)
* 975a4762 \[fix] Using resolution-corrected mapState for image export (#2407)
* 7fae622e \[chore] adds additional properties to mock basemaps (#2411)
* df1397fd \[fix] handle empty properties in GeoJson file (#2381)
* c8e2a9f1 \[chore] move dev env to Node.js 18 (#2399)
* bb559750 \[fix] long names in tooltips (#2405)
* c9c34c86 \[chore] add custom classes to dropdown (#2404)
* 22dd6236 \[chore] Remove unused deps (#2403)
* a36ec68b \[fix] effect related fixes (split maps, shadows, timeline) (#2396)
* 5e7dd9b5 \[fix] Upgrade Mapbox SDK (#2397)
* b54c1739 \[chore] Upgrade to loaders.gl\@4.0 (#2394)
* e47ccc07 \[fix] Re-enabled plugin section in home page (#2400)
* 81a6e1fa \[fix] Update layer domain in addLayer (#2393)
* bed4b7f8 \[chore] Removed abs paths in mock state and layer utils (#2392)
* f1e654d8 \[fix] place null values at the end when sorting table (#2391)
* 4f51abc3 \[chore] extra typing for effects (#2390)
* 459ae555 \[chore] fix lint in cmpEffects (#2389)
* 87df1197 \[feat] Effects: shadow color picker; use animation & current time (#2387)
* dde3a6e3 \[chore] Fix ColorMap type (#2388)
* 08492a8a \[chore] Export effects types/utils and incapsulate dnd logic into new hooks (#2384)
* 2500a277 \[feat] reorder tooltips (#2378)
* fdecb052 \[fix] minor effect-related fixes (#2380)
* 5c16027d \[chore] Drag\&Drop context: extra check for the object type (#2379)
* a958586d \[fix] fix for process is undefined (#2376)
* 9eb6b328 \[chore] bump examples (#2375)

## \[3.0.0-alpha.1] - October 17 2023

* a3521948 \[feat] introduction of deck.gl effects (#2372)
* c798961d \[feat] Introduced dnd-context factory to better override dnd properties (#2364)
* 673646ac \[fix] fix map dropbox share (#2370)
* ec0881d7 \[fix] Fix react-map-gl mapbox api props (#2362)
* d0a86587 \[chore] Avoid confusion in viewstate context (#2361)
* 1fcdfde9 \[fix] fix image export (#2368)
* 89043bd0 \[fix] Fixed load remote map dialog exception (#2367)
* 7f9f211b \[fix] Improved validation of field pairs suggestions for LayerColumnConfig (#2359)
* fa1edab9 \[fix] add autoCreateTooltips as a prop in AddDataToMapOptions (#2358)
* e8220b0e \[chore] pass custom classes to ListHeader (#2357)
* 5a9fa5bd \[fix] Stronger AnimationConfig types (#2356)
* a2fd52ca \[fix] Fix mapbox/deck syncing issue (#2355)
* cfee75a2 \[fix] Text labels: can't set prop to false/0 with multiple labels (#2354)
* 357f77a8 \[fix] text outlines are barely visible after upgrade to deck 8.9 (#2353)
* 9d99f0b6 \[chore] Upgrade deck.gl to 8.9 (#2352)
* 032ad763 \[fix] Layer column config: sometimes a suggested field pair will hard crash (#2351)
* 56afb092 \[fix] remove  from field name when show in tooltip (#2350)
* a9181f69 \[feat] Table widged: pass getRowCell as prop (#2349)
* 1f169df1 \[fix] Improve data table horizontal overflow and dataset tabs overflow (#2348)
* f2559445 \[chore] Bump react-virtualized (#2347)
* ced842ea \[chore] Update public CDN URL (#2346)
* 6ef400d2 \[Fix] Dispatch click event instead of click() (#2345)
* cf9cf21a \[fix] Add guard for null legend label (#2344)
* b5405f52 \[fix] serializeLayer fixes (#2343)
* 4383bffd \[feat] Text layer: add outline width, outline color, background color (#2342)
* a59d8342 \[Fix] Resize observer crashes when passed a non-Element target (#2340)
* ec35ea97 \[feat] introduced jest to replace tape/sinon/enzyme for browser tests; upgrade typescript to 4.5.5 (#2339)
* 85fa66f3 \[feat] Adding applyLayerConfig action (#2337)
* ae26de55 \[fix] Fix website kepler.gl example (#2338)
* d14e7ff4 \[chore] Updated more deps to be compatible with react 18 (#2335)
* 70128119 \[chore] updated modal and panel title types to react 18 (#2334)
* a0e5db72 \[chore] Upgrade to react 18 (#2323)
* 52c69c54 \[feat] Add Deck onAfterRender callback prop support (#2332)
* 0b8ae8bc \[feat] deck.gl render callbacks (#2330)
* 6596187b \[fix] Remove fixed height for list item (#2331)
* bcd3ff1b \[fix] dropdown in color scale does not work (#2324)
* 203829aa \[fix] dropdown list alignment and spacing (#2325)
* ba6259d3 \[Fix] polygon context menu is offscreen (#2326)
* 6fd7f7a9 \[fix] When editing a custom basemap style do not unintentionally drop extra properties (#2327)
* b3472a37 \[chore] Upgrade deck to 8.8.27, loaders to 3.4.14 (#2320)
* d9c164bb \[Feat] Support WKB geometry column in CSV (#2312)
* cfada4d5 \[Chore] delete typeahead mousedown listener, pass onOptionSelected to ListItem (#2319)
* 2714c755 \[fix] fix horizontal "over scrolling" and misalignment of header row vs. data cells (#2318)
* d28674ea \[feat] Add onMouseMove callback (#2317)
* 66a6364f \[feat] add prop to allow turning off custom webkit scrollbar CSS (#2316)
* 69ce4d06 \[Chore] export action creator (#2315)
* e051eb55 \[fix] Fix map attribution color (#2314)
* 090ef0ba \[fix] Conditionally apply escapeXhtml to prevent export image crash (#2313)
* 8bb0d469 Introduce new fsq studio section in home page (#2308)
* 3e39337e updated cdn from unfolded to fsq (#2307)
* 5bae745b \[chore] drill disabled prop to layer-type-selector (#2274)
* b6a2b804 \[feat] Edit a custom base map style redux (#2281)
* 74bc22a6 \[feat] add complimentary base map style property (#2280)
* e056d01a \[feat] Remove a custom map style from the base maps side panel (#2279)
* e09ed287 \[fix] map style selector: provide backup UI content (#2277)
* 963df0cf \[chore] Update SavedCustomMapStyle accessToken property to be defined as optional (#2278)
* 46df6014 \[Chore] improved saved layer and interaction type (#2275)
* 2dff78ff \[fix] Long field names in filter UI obscure the delete icon (#2273)
* 32356b46 \[chore] pass through className prop to TippyTooltip (#2272)
* 52fb6844 \[chore] Add nx module tag (#2271)
* b255d60e \[chore] Add tooltip format (#2269)
* 7b45e4f1 \[fix] collapsible layer config group ui improvements (#2268)
* a1689540 \[chore] update browserslist deps (#2267)
* 5db83285 \[chore] specify filter id in addFilter (#2266)
* a8599dcf \[feat] Update custom map style updater to support managed map style (#2264)
* 84c07360 \[feat] Support map overlays (#2260)
* 8312d060 \[Chore] Upgrade to Node 14 (#2257)
* 23763f0b \[Chore] Add layer header action component to deps (#2265)
* 043db65f \[Chore] export single color palette selector (#2262)
* d362fc21 \[feat] H3 Layer separate layer opacity into unique fill opacity and stroke opacity (#2261)
* a1084016 \[fix] Use auto width for pinned column in table preview (#2259)
* c79e9f90 \[Chore] rewrite stack overflow functions (#2258)
* 9d57f575 \[chore] upgrade gl dependency version (#2256)
* 11242f01 \[Chore] Added collapsed prop for layer config group (#2255)
* 8d79f7d0 \[chore] export types and components (#2254)
* 4a659e84 \[feat] H3 Layer: default text label anchor to middle position (#2252)
* acd05e91 \[chore] export more components and types (#2251)
* f6be2491 \[Chore] expose functions and types to fix deep import issues (#2250)
* 5fcbcdab \[feat] H3 Layer: Add fill transparency and stroke color settings (#2249)
* 94cb2a15 \[feat] Layer property additions: H3 Layer: Add text labels (#2243)
* 9ba6bcdd \[Chore] add exports to expose functions and components types (#2242)
* 88dd4b36 \[fix] exported image has a thin white bar at the bottom (#2241)
* f562fbe0 \[fix] range slider doesn't work when step < 1 in dataset filter (#2240)
* fa3bb9c9 \[fix] Overlapping column names in drop down menu (#2239)
* 796a9d29 \[fix] time ticks are the same when using Minute to set interval (#2238)
* b9cd1ec4 \[Fix] Map popover z-index less than size panel (#2237)
* 8de7ae41 \[Fix] mapbox logo has not been styled correctly (#2236)
* ed5cb8ad \[Chore]: Add onClickControlBtn prop to MapControlButton to pass additional callbacks (#2235)
* 97126155 \[fix] Remove split map controls from legend in exported image (#2234)
* bc1cfc55 \[Chore] use unfolded cdn for base map, layer type select and icon layer svg (#2233)
* 07f8c9f9 \[feat] Add extraReducers arg to keplerGlReducer.initialState (#2232)
* a112c0e9 \[Fix] Feature Action Panel menu and editing tooltip are cut-off in dual map mode (#2231)
* 7fb4cada \[fix] Fix types for Typescript 4.8 (#2229)
* 41c80993 \[Chore] Pass onBruch, filter and datasets through range slide to plot (#2220)
* f80853b0 \[Chore] add test for vis state schema column save undefined typeerror (#2219)
* e1e165e6 \[Feat] Added new options parameter to override single action reducer default behavior (#2217)
* 1c1345b4 \[Bug] preserveLayerOrder when replace data (#2214)
* c06ceca7 \[chore] Exported layer utils methods and added onDragStart onDragEnd props (#2210)
* 7d3c6026 \[fix] Fixed bug when switching to dataset layer view (#2209)
* 2275b8e6 \[chore] Make dataId non-optional in layer config (#2205)
* c130a2f5 \[Fix] vis state schema column save undefined typeerror (#2211)
* d8a5defa \[Fix] ColorBlock component TypeError: e.color.slice(...).join is not a function (#2212)
* 1380644f \[Fix] time widget animation: apply same duration for last time filter (#2218)
* 1094e734 \[BUG] fix dropdown list fail to update when prop change (#2213)
* dafec9b8 \[Chore] add exports for scenegraph to layers index (#2215)
* 14c6d014 \[chore] layer testing support (#2216)
* e5686fda \[Bug] Fix composer types, schema types (#2208)
* 28fbcdbf \[feat] Convert layer order from idx to layer IDs (#2203)
* e1ccfdff \[Enhancement] Allow empty column when layer created from config (#2206)
* 30792f47 \[Fix] Add selected style for light dropdowns (#2207)
* 44aafd15 \[Feat] add kepler.gl to info.source in exported kepler.gl.json (#2195)
* 95fd2369 \[fix] Empty cells with date time data are filled with Invalid date (#2201)
* 3b73dc07 \[Feat] Add display format setting for table/tooltip (#2199)
* 87b79c3b \[Feat] add replaceDataInMap action (#2198)
* e9896def \[Feat] add table config with custom number format (#2192)
* e635e4cb \[fix] Fixed crash when switching to dataset layer view mode (#2191)
* a246574e \[Fix] Auto-display legend in split mode + Fix legend and layer panel bugs (#2190)
* 2d141ff5 \[fix] Layer drag and drop label is barely visible on light map (#2189)
* 70cde834 \[Fix] Drop the same layer multiple times to one map (#2188)
* 2f5da5ec \[Chore] Removed unneeded preventDefault (#2177)
* b364f3d8 \[Fix] intervals rendered incorrectly in time widget (#2183)
* c8475737 \[feat] Create layer correctly from saved layer config (#2179)
* 4c6e99e3 \[fix] previous drawn-selected geometries are lost after click Select geometry (#2175)
* 79d8c756 \[fix] support Polygon and LineString mode in idToPolygonGeo (#2182)
* 85897309 \[Fix] hide pinned selection outline when layer is hidden (#2181)
* d441d5fd \[feat] three dots button change (#2180)
* 4dd27abe \[Feat] Drag and drop interaction for split map (#2172)
* 485252ad \[fix] Improved split+unsynced mode for better handling (#2176)
* 90572720 \[fix] handle undefined values in updateViewport (#2178)
* afee4800 \[fix] hide side panel close button when data preview is open (#2174)
* 695bcccd \[feat] Improve disabled zoom lock text styling (#2173)
* 9fc98e86 \[Feat] Unlocked split map viewports (#2170)
* 8896dc13 \[fix] fix visible layers toggle for split maps mode(#2168)
* f0727c97 \[fix] type fixes for map popover (#2169)
* 04451827 \[Feat] enhance mouse selection toolset (#2164)
* f640822a \[Fix] round the float number to up to 4 decimal places in table (#2163)
* a41e0118 \[Chore] Add more types for schema (#2162)
* 502c1ba3 \[fix] remove duplicates from changelog (#2145)
* 7d996a68 \[fix] Fix onViewStateChange callback (#2154)
* 2e57238b \[chore] Type and export fixups (#2152)
* 245ac53b \[chore] update filter types (#2153)
* ce4e5c7e \[Fix] Datasets and basemap attributions separated by "|" (#2150)
* 1fd7bad0 \[Fix] Datasets attribution width styling (#2149)
* 06f085db \[Feat] render dataset attributions in map container (#2148)
* 425a6011 \[chore] ts fixes (#2147)
* abb0d1ce \[fix] improve handling of "interpolate" mapbox colors during basemap switching (#2144)
* a6a6b270 \[fix] fixes to async merger (#2139)
* 9d568af3 \[Feat] Support async mergers (#2129)
* 28c34901 \[Chore] support offset in map legend panel (#2130)
* 953711ac \[feat] Introduced updateDatasetProps to update dataset information (#2133)
* 332a94ad \[Feat] Add arrow and light theme props to TippyTooltip (#2140)
* c79896be \[Chore] Export LayerGroupColorPickerFactory from kepler-wide components (#2138)
* bf890fa9 \[chore] Update react-modal version (#2131)
* def2ce12 \[fix] Basemap overlay blending updater must pass through entire payload (#2137)
* e2848008 \[Feat] Add "No Basemap" option with map background color control (#2136)
* 5cc6faab \[fix] fixes the logic to set map overlay type properly when switching layer type (#2135)
* f605167f \[Chore] Request map styles on demand (#2134)
* fb829922 \[Feat] Add list toggle to filters (#2115)
* 20fcb662 \[Bug] Object and array field types made numeric (#2127)
* 31e44350 \[Chore] export LayerTypeListItem type (#2122)
* 390f5af8 \[chore] changes to order layers by datasets (#2114)
* 210af2b4 \[fix] remove constant scroll around layer config group (#2116)
* a438383b \[feat] Add minZoom, maxZoom, maxBounds (#2124)
* 0e5a4bbc \[Bug] data modal and data table scrollbar style (#2123)
* cdb69f4a \[chore] Export parseGeoJsonRawFeature from utils (#2121)
* 3d5db39e \[feat] add support for object and array field type (#2120)
* 1f20ef71 \[Feat] Introduce MapPopoverContent (for tooltip charts) (#2119)
* 918aaf98 \[Enhancement] Render data table with smarter cell size, prevent scroll back (#2117)
* b1d92c85 Bump ua-parser-js from 0.7.25 to 0.7.33 (#2112)
* 630e8ede \[Enhancement] Improve Feature action panel style (#2099)
* 20134f01 \[fix] Fixed time filter toggling and display the correct filter (#2098)
* 83673fd5 \[chore] bump nebula; add picking width for polygons; preserve rectangles; (#2097)
* eeb50d6a \[fix] Checking if drawing is active when delete an editor feature (#2093)
* d1abf3ee \[Enhancement] Fix dropdown list disabled color (#2094)
* 943ee50a \[Bug] fix update layer type reset layer dataId, new layer at the top (#2096)
* ac5f490e \[fix] fix layer config group collapsible content overflow (#2092)
* 608fa0f3 \[Feat] refactored AnimationControl to handle both layer and minified filter playback (#2079)
* 409db23e \[fix] CSS fixes to avoid conflicts with Jupyter styling when embedded without iframe (#2095)
* e1b70000 \[Enchancement] number formatting improvements (#2109)
* cf8d3321 \[Enchancement] number formatting improvements (#2106)
* c9cc689c \[fix] use dataset name as default h3 layer name (#2100)
* 7f01ca1c \[fix] Trip Layer: issues for path from 2 points (#2101)
* 92bae8e0 \[fix] Icon Layer - Labels are visible even if layer is hidden (#2102)
* 47cc281c fix: Open map control and geocoder for extension (#2103)
* 0cd0e379 \[fix] Improve render cell size script perf for data table rendering (#2104)
* 4e06992b \[Fix] Image export change resolution (#2105)
* 7d9d54b8 \[Feat] Map overlay blending (#2086)
* f4329fcc chore: more specific error message for context lost error (#2090)
* 14ef4366 \[Feat] Disable a layer after an error in Deck (#2072)
* d24ea4a5 \[fix] dont show hidden layers as options in polygon dropdown menu (#2085)
* fd3a7a8b \[fix] Prevent the app from crashing on geojson layer hover (#2087)
* a66f98f9 fix(filters): fix for broken filter state, load crash (#2069)
* 47b1124d fix 3d buildings rendering (#2080)
* 8edb5b2e \[fix] lock react-vis version to prevent CI fails (#2082)
* 9416be4a save and merge editor features in map config (#2071)
* 217b89e7 chore: Child support and type exports for FeatureActionPanel (#2070)
* f53188b9 show filtered out and hidden layers as options in polygon filter menu (#2068)
* b53a6b75 \[fix] Move FeatureActionPanel to class component (#2067)
* 0f7a4242 fix Cant right click on polygon or rectangle filters to get the menu (#2066)
* db549742 bump licence year to 2023 (#2073)
* a22e4259 [Feat](https://github.com/keplergl/kepler.gl/blob/master/Editor/README.md) Replace react-map-gl-draw with Nebula.gl (#2054)
* 3de77995 \[fix] fix import in demo-app carto provider (#2050)
* 3e7581b1 \[Feat] Add hasStats prop to data table adjust first cell size (#2040)
* 15d1426e FIX: Fix margin for style panel icons (#420) (#2041)
* a865ce8b \[fix] correct provider downloadMap type (#2049)
* c53d81fd Bump moment-timezone from 0.5.33 to 0.5.35 (#1966)
* efa32f75 \[fix] include CenterFlexbox in common components (#2035)
* 5f3d185f correct @kepler.gl/styles types file location (#2034)
* 76e1a4d0 \[fix] Updated dataset item cursor style (#2013)
* d0bcaa89 \[Fix]\[perf] String filter freezes browser when loading a large dataset (#2012)
* 1214bd9d \[fix] Time filter: Add padding if min/max values are the same (#2011)
* 36657380 \[fix] Fixed hex tile play animation (#2010)
* 6c266665 \[Fix] dropdown item title (#2009)
* 81fcbb41 Bump loader-utils from 1.4.0 to 1.4.2 (#2025)
* f1b7e1a8 \[Fix] no aggregation options can be selected for date field when groupby (#2008)
* b9a04468 \[Feat] Replaced filter enlarged with view: side | enlarged | minified (#2007)
* 6692585e Handle loading map style gracefully (#2005)
* 920659ff Add header cell stats control toggle (#2004)
* dbba7daa \[Chore] bump and fix examples for v3.0.0.alpha.0 (#2030)

## \[3.0.0-alpha.0] - November 5 2022

* 4eb6b24b \[Chore] dependencies update + publish process update (#1978)
* 72f201c9 kepler.gl-jupyter: Fixed wording in documentation (#1938)
* 791bbe21 \[Feat] make data table header cell overridable (#1995)
* 77ba9509 deck upgrade fix (#1997)
* 9b483b22 better regex for mapbox style boundary detection (#1996)
* 306da3a2 add onClose for color picker (#1992)
* 13bcaa06 update isRGBColor (#1991)
* 2845432e Moved animation control button to the right (#1990)
* 51a05ffe color picker crashes studio inside iframe (#1989)
* 73dba52e \[Chore] Extra memoization for components to prevent re-rendering (#1988)
* 4e88e839 \[Bug] "load from storage" and "Share" modals fix (#1976)
* 9029b8ea \[Feat] Hide Mapbox attribution when using non-Mapbox tiles (#1975)
* d77ffcb4 \[Feat] Improve fieldpair detection logic, add altitude (#1968)
* b70c35c2 \[Chore] refactor dynamic require (#1971)
* 8878cff4 \[Fix] polygon filter reload (#1970)
* ea738594 \[Chore]: Typescript 4.4 fixes (#1957)
* 49321f87 \[Feat] mobile bottom widget styling (#1930)
* db39b496 \[Chore]: Technical: Isolate components (#1967)
* 90248326 \[Chore] remove iconComponent from interactionConfig (#1973)
* 64542aa2 \[Chore] bump to deck 8.6.0 (#1959)
* ab5f9f33 \[Fix]: Item selector closeOnClickoutside conflict with portable (#1958)
* 9b81e49f \[Chore]: Technical: Isolate schemas (#1962)
* 57dea6a3 \[Chore]: Technical: Isolate reducers (#1961)
* 28578e76 Import for filters fixed (#1965)
* 359e0387 \[Bug] Fix getSampleData import (#1964)
* c2cb8213 \[Chore]: Technical: Isolate table-utils (#1949)
* af79e2e5 \[Bug] fix layer order not correctly reloaded (#1956)
* 47a184c6 \[Bug] Fix Range brush maximum update exceeds crashes (#1955)
* f9485018 \[Enhancement] improve tooltip format label, make it more intuitive (#1954)
* a42aae33 \[Enhancement] use portable in item-selector (#1953)
* 6e2fe3dd update layer selector types; get length for dc; (#1951)
* 0630c8b7 fix deck.gl version for src utils (#1950)
* d5f0f0cf \[Docs] fix broken link (#1952)
* 5e20ac68 \[Chore]: add class names to map control (#1940)
* c7ed4dbd \[Chore]: change types for modal (#1939)
* f53117fb \[Chore]: pin browserlist (#1935)
* 8ea93d40 \[Chore]: Technical: Isolate actions (#1948)
* f828f695 \[Feat]: Passing root context to tippy
* 34ebb889 \[Chore] Fix debounce typing
* 3db186e5 \[Chore] bump deck to 8.5.7 (#1934)
* 99b38d26 \[Feat] Implemented new feature flag by passing features flags prop (#1933)
* 50eda73f \[fix] 3d buildings aren't rendered without layers (#1931)
* f21afd8d \[Chore]: Technical: Isolate tasks (#1941)
* 88039cd3 \[Chore]: Technical: Isolate cloud-providers (#1942)
* a98a015b \[Bug] Fix getSampleData util import (#1947)
* 4615c480 \[Fix]: Kepler.gl site issue fixed (#1944)
* f2459c6c \[Chore]: Technical: Isolate utils (#1876)
* 88e15d5e \[Fix] fix lint (#1932)
* 3301a7c5 \[Chore]: bump deck to 8.5.4, loaders to 3.0.9 (#1928)
* 0889d0d1 \[Enhancement] (Map Control) use lazy tippy to improve map legend rendering perf (#1924)
* 82baedfb [Chore](https://github.com/keplergl/kepler.gl/blob/master/Types/README.md) move howto button out, add layer conf types, yarn lint (#1926)
* c9ef6972 \[Chore]: extra export (#1925)
* 4fc85960 \[Chore]: layer-utils, map-utils refactor (#1923)
* 5c38f851 \[fix] prevent deck crash due to layer id duplicate
* fb3f35ba \[Chore]: Use relative import in test-utils (#1921)
* eff5f902 Map Control: Use MapControlTooltip with TippyTooltip (#1920)
* 5551abd6 \[chore] Export IconButton type (#1919)
* d358b3a8 fixed findMinFromSorted when list is null (#1918)
* 3a3be58d \[Chore] Upgrade to deck 8.5.2 (#1917)
* 20d39b8c \[Enhancement] add bin to filter hiitogram construct (#1673)
* 41414ceb \[Enhancement] change export video playback button order (#1916)
* 38734422 fix color pick type using react-color types (#1915)
* f739a499 chore: Updated filter-selector, item-selector, range-slider file typescript definitions (#1902)
* 40ac3068 \[chore] test valueAccessor in field (#1906)
* f82494d6 \[Feat] Use custom style token if available instead of the default token (#1913)
* 77dc2560 \[BUG] Fix crash after layer type change (#1912)
* ac59ac7d \[Bug] rename dataset should not use spread (#1911)
* 486e3239 Prevent "Cannot read property 'layers' of undefined" error (#299) (#1910)
* fae2058f \[Bug] Fix map saved with empty filter cannt be load; validate empty filter.name when merging (#1909)
* 26b5f849 add type to keplerTable (#1905)
* bec013e5 improve reducer updater typing, change visstate to be more relaxed (#1908)
* 6c51a2ae \[feat] Hubble gl integration (#1899)
* d31fe649 \[Bug] Fix mouse event evt.point evt.lngLat undefined crash (#1903)
* 39427d46 \[Bug] fix trip layer timestamp check (#1904)
* cb76ae0f \[Enhancement] render warning in layer panel header (#1901)
* 9d171c60 \[Enhancement] set initial layer config when set layer type (#1898)
* 8d35d9b8 \[Chore] Export more type def (#1890)
* d90cd188 \[Chore] fix types and missing import (#1891)
* 28cbb759 update shader modifications for deck 8.4.16 (#1892)
* 66de62cf Fix crash: visualChannels: Cannot read property label of undefined (#1886)
* 57f77dd2 deck to 8.4.16 (#1889)
* 41dbd570 \[Enhancement] add disableDataOperation to dataset (#1897)
* 1f5e26c8 \[Enhancement] pass schema to processKeplerGlDataset (#1885)
* 156f898b \[Bug] fix comparison tooltip color and position (#1887)
* 6c99bb04 \[Bug] Disable layer copy when layer is invalid (#1882)
* dfd73a53 add supportedDatasetTypes to layer, show dataset selector even if there is only 1 or no option (#1883)
* 40a82dfa \[Enhancement] disable layer column selection if empty (#1888)
* 9c042fe5 Bump follow-redirects from 1.13.3 to 1.15.1 (#1871)
* 2a55a1e3 \[Enhancement] Improve style of layer header panel (#1881)
* ceb23e21 fix for cluster layer z-fighting; fix - render 3d building map style only once (#1874)
* a983be75 \[Bug] allow tooltip format to apply to aggregation layer hover (#1872)
* 723e6050 FILED\_TYPE\_DISPLAY -> FIELD\_TYPE\_DISPLAY (#1879)
* 7d328315 Chore: Fix lint script and issues (#1862)
* 940f9aad \[Chore]: Technical: Isolate styles (#1861)
* ad7646ac \[Chore]: Technical: Isolate localization (#1858)
* e798f317 Middleware isolation (#1860)
* 6c178d77 \[Chore]: Technical: Isolate processors (#1857)
* 9e315d25 \[Chore]: Technical: Isolate layers (#1856)
* c1e20348 \[Feat] Upgrade deck.gl\@8.4.11 luma.gl\@8.4.3 loaders.gl\@2.3.12 (#1674)
* b668fd28 \[Chore]: Technical: Isolate deckgl-layers (#1851)
* 9feddc66 Fonts issue fix (#1846)
* 9a3da3c0 \[Chore]: Technical: Translate deckgl-layers/cluster-layer (#1815)
* 10868ecf \[Chore]: Technical: constants and types modules isolation (#1840)
* fe293e71 \[Chore]: Technical: js to ts convertion components root modals (#1801)
* 55abc874 \[Chore]: Technical: Notification item types added (#1824)
* bd8c3327 \[Chore]: Technical: Translate map components to typescript (#1803)
* 371649c6 Debounce typings added (#1825)
* 1034c33d Lodash.memoize typings added (#1827)
* 69f8534d \[Chore]: Technical: fix linting errors of @types/styled-components plugin (#1834)
* 5ee0cd4f \[Chore]: Technical: add types for side panel root components (#1822)
* 9bee093e validate url of Add data modal (#1837)
* b7d8edf4 \[Chore]: Technical: add types for layer panel components (#1819)
* 7b95c236 hide layer size legend with nullish label (#1836)
* ecc743af \[Chore]: Technical:layer base config data allow to be null (#1835)
* 2b51c7bb \[Chore]: Technical: Fixed errors happening in folders/files due to the addition of @types/styled-components: components/common/slider (#1831)
* e27cf134 \[Chore]: Technical: fix attributes of styled components animation-control (#1829)
* 442d1b23 \[Chore]: Technical: add types for filters (#1809)
* fc8ab5af \[Chore]: Technical: Translate deckgl-layers/hexagon-layer (#1818)
* 959f1e0b \[Chore]: Technical: Translate deckgl-layers/grid-layer (#1816)
* cbd26743 add types for styled components in styles (#1830)
* f7715892 \[Chore]: Technical: Translate components to typescript (#1814)
* a5a347ba \[Chore]: Technical: Translate components to typescript (#1812)
* 9225e005 Throttle typings added (#1826)
* f0671f06 \[Chore]: Technical: add types for editor component (#1797)
* 4e8197d5 \[Chore]: Technical: add types for processors (#1798)
* 47e4963e \[Chore]: Technical: add types for side panel common (#1807)
* 0d3c98c8 \[Chore]: Technical: add types for filters side panel (#1799)
* 8c5e5075 \[Chore]: Technical: Translate layers final changes (#1783)
* e663bb16 \[Chore] fix typo in docs (stule -> style) (#1823)
* 2d557df3 Typings for some lodash packages added (#1817)
* ca45cef8 \[Bug] validate s2 token in s2 geometry layer (#1805)
* 7453b951 \[Chore]: Technical: components/geocoder translated to typescript (#1808)
* 5b918e00 Review fixes (#1813)
* ae1173ec \[Chore]: Technical: Translate deckgl-layers/layer-utils typesfix (#1791)
* 6a7d44bc \[Bug] Build fix (#1811)
* 8ac5bbc6 \[Bug] visual channels cannot read property 'label' of undefined (#1804)
* b7c6c8df Translate deckgl-layers/3d-building-layer to .ts (#1794)
* a5bcd814 \[Chore]: Technical: Translate root components to typescript (#1790)
* 258c82da add types for svg-icon-layer (#1796)
* 0de32bec \[Chore]: Technical: Translate deckgl-layers/line-layer (#1792)
* 013b9878 \[Chore]: Technical: Translate deckgl-layers/column-layer (#1793)
* f64b551f \[Chore]: Technical: Translate tasks (#1779)
* 65228a85 \[Bug]: fix grid hexbin and cluster layer crash (#1795)
* 7ada98a0 \[Chore]: Technical: Translate examples/custom-map-style (#1780)
* 84312384 \[Chore]: Technical: Translate deckgl-layers/layer-utils (#1789)
* ec3351b6 \[Chore]: Technical: Translate cloud-providers (#1778)
* 24e3549c Added deckgl-typings from community repo (#1787)
* 68abc5b5 \[Chore]: Technical: Translate geojson-layer (#1757)
* 2d2ba1d7 \[Chore]: Technical: Translate hexagon-layer (#1775)
* 543045d0 \[Chore]: Technical: Translate heatmap-layer (#1773)
* cf57260a \[Chore]: Technical: Translate trip-layer (#1777)
* e80c18b1 \[Chore]: Technical: Translate line-layer (#1776)
* 9a0ad623 \[Chore]: Technical: Translate cluster-layer (#1774)
* bc18a6c4 \[Chore]: Technical: Translate scenegraph-layer (#1768)
* 831504f9 \[Chore]: Technical: Translate icon-layer (#1763)
* b87bba3a \[Chore]: Technical: Translate grid-layer (#1761)
* 079da4cc \[Chore]: Technical: Translate h3-hexagon-layer (#1762)
* cd05dd4b \[Chore]: Technical: Translate point-layer (#1764)
* 0b3f2c0c \[Chore]: Technical: Translate s2-geometry-layer (#1765)
* 18342926 \[Chore]: Technical: Translate mapboxgl-layer (#1755)
* 9b695f85 \[Chore]: Technical: Translate aggregation-layer (#1753)
* 13ba6bb7 \[Chore]: Technical: Translate arc-layer (#1749)
* a3ada4e9 UN-14 Technical: Translate components/\[root files] to typescript: side-panel (#1712)
* fb2190f1 \[Bugfix]: Fixed Babel configuration (#1754)
* d9e9d8aa \[Chore]: Technical: Translate layer factory (#1748)
* c0f75341 \[Chore]: Technical: Translate components/common final part (#1750)
* b06dfb1c \[Chore] Typescript 'components/common/slider' (#1740)
* 0057a1e4 \[Chore]: Technical: Setup for different Visual channels per layer (#1751)
* 1193258b UN-14 Technical: Translate components/\[root files] to typescript: maps-layout (#1713)
* 8a06f711 Moving bottom-widget to ts (#1710)
* dd14702e \[Chore]: Technical: Translate base-layer (#1746)
* 4a687ed4 \[Chore]: Technical: Translate index and other files (#1745)
* 7a11260d \[Chore]: Technical: Translate table utils (#1742)
* 7ee74ebe \[Chore]: Technical: Translate filter-utils and gpu-filter-utils (#1744)
* e5d5d1ba \[Chore]: Components/common 1st part (#1729)
* d8abca9d \[Chore]: Technical: Translate utils (color and data) (#1732)
* 55a7b510 \[Chore]: Technical: Translate utils (dataset-utils and export-utils) (#1734)
* 0505fda4 \[Chore]: Technical: Translate redusers (vis-state) (#1727)
* 5304d4dc \[Chore]: Technical: Translate utils (files without d.ts typings) (#1728)
* 30616984 \[Chore]: Technical: Translate redusers (UI-state and provider-states) (#1726)
* 2ba94858 \[Chore]: Technical: Translate actions to typescript part 2 (#1725)
* e36cac5b UN-12 Technical: Translate redusers (main files) to typescript (#1722)
* fb170ae0 \[Feat]: Technical: Translate actions to typescript (#1704)
* cb542853 UN-13 Technical: Translate schemas to typescript (#1721)
* 8121893c \[Feat]: Technical: Translate redusers (map-state and map-style) to typescript (#1717)
* fbe626be \[Feat]: Technical: Translate redusers (composers and combined-updaters) to typescript (#1711)
* d8d7e44f \[Feat]: Technical: Translate localization to typescript (#1705)
* 614a5003 \[Feat]: Technical: Translate templates to typescript (#1702)
* 0ef5ccd8 \[Feat]: Technical: Translate middleware to typescript (#1703)
* 20ec6666 \[Feat]: Technical: Translate styles to typescript (#1701)
* 11c5b4cc \[Feat]: Technical: Translate constants to typescript (#1697)
* 283586d0 \[Feat]: Technical: Translate connect to typescript (#1700)
* 995f3f93 \[Feat]: Setup build process for ts source code support (#1688)
* b71dd6b4 \[Chore] Update license year 2022 (#1689)
* 0dfc7e1b \[Bug] fix filtered datasets memoization (#1678)
* 1e8b3c1a \[Enhancement] order layers by dataset (#1675)
* f9ae108a \[Enhancement] extract layers list to a separate component (#1665)
* 52993525 \[chore] export types, add script to build types (#1636)
* 6fb00fa0 \[Bug] fix pin table column overide dataset (#1625)
* 22ea7a9d \[Bug] do not display geocoder dataset in side panel
* a20db971 \[Feat] allow custom value in layer slider (#1631)
* 5e6b1c45 \[Bug] allow empty data rows (#1624)
* 612e18a9 \[Feat] support pin map legend in map control (#1614)
* bfcce3fd \[Enhancement]Allow changing MAX\_DEFAULT\_TOOLTIPS (#1627)
* a810ee13 \[Chore] added more properties to export layer type (#1613)
* 0931a55c \[Enhancement] Render map control tooltip with TippyTooltip (#1612)
* d0fb78de Add registry-url to avoid 404 issue when publishing keplergl npm package (#1623)
* 9936b7b7 \[Feat] add color picker to dataset tag (#1608)
* 3e3d1631 \[Jupyter] Update example versions
* 5b442c5d \[Jupyter] keplergl==0.3.2 (#1619)
* a56206c8 keplergl-jupyter v0.3.1
* e12039c6 \[Feat] Add Copy Button to Export Map Dialog (#1609)
* 3f876ac1 \[Jupyter] bump kepler.gl js version release keplergl-jupyter=0.3.1 (#1617)

## \[2.5.5] - September 12 2021

* 392e9a21 \[Bug] lock deck.gl to 8.2.0 (#1602)
* 6121a343 \[Chore] Fix explicit src import (#1596)
* 0b71f399 \[Bug] fix locale panel (#1603)
* 8b42be29 \[Bug] Fix integration with CARTO (#1600)
* e8ba7a05 \[Feat] add setMapControlVisibility action to set mapControl visibility (#1590)
* 78274562 \[Feat] add supportedFilterTypes to dataset (#1594)
* 41b364a6 \[Enhancement] s2 updateLayerMeta: push instead of spread (#1593)
* 1b5e0235 fix for long processing time of data-utils::unique (#1592)
* 91a52b16 \[Enhancement] Use layer.visible prop in deck.gl when toggle layer visibility (#1591)
* c106ee06 \[Chore] Create factory for LayerLegendHeader and LayerLegendContent (#1589)
* 878750c4 \[Feat] Add MapsLayoutFactory for custom split map layouts (#1588)
* d8db8f6f \[Chore] Refactored map control and decoupled action components (#1552)
* 2f8b19f2 \[Feat] update keplergl-jupyter widget for JupyterLab 3, add build for conda-forge (#1572)
* 6947c8c8 \[Feat] Added Russian localization (#1570)
* 9726a400 \[Docs] Data container upgrade notes (#1575)
* 070b04b2 \[Feature] Abstract Data Container (#1555)

## \[2.5.4] - July 31 2021

* 62d03ab2 \[Examples] update replace-component example (#1557)
* 089bb7a9 \[Jupyter] Make showing User Guide link optional for jupyter widget (#1559)
* 5985d201 \[Bug] Fix screenshot with images (#1558)

## \[2.5.3] - July 18 2021

* a4a6734a \[Docs] fix add data to map docs (#1551)
* 8524061e \[Enhancement] add displayName to field and show displayName whenever available (#1538)
* a0d2a76b \[Feat] Save and load highlightColor from layer config (#1550)
* a9b2ba07 \[Examples] fix panel toggle exmaple, add layer hove info demo (#1549)
* 9bcb3415 \[feat] Using tippy for map popover (#1539)
* 2e6f8b79 \[Chore] refactored side-panel from class to functional component (#1536)
* 16fab11c \[Bug] Geojson layer is not updated when dataset updated (#1533)
* 29cf0829 \[Enhancement] add toggleLayerAnimationControl action (#1537)
* 01e93966 \[Enhancement] add disableClose to map control (#1529)
* c6e5b8a6 \[Feat] use appName in exported image html json map and csv data (#1528)
* 72354560 \[Bug] Fix geojson layer duplicated index (#1530)
* 1ed0fd6d \[Bug] fix histogram in range (#1531)
* 305edfcd \[Docs] Update Map Styles Link (#1512)
* 1890133d \[Chore] Update peer dependencies for styled-components (#1527)

## \[2.5.2] - June 28 2021

* 1c7521b1 \[Bug] Fix center map accuracy (#1502)
* b662892a \[Bug] trim string value before passing to type analyzer (#1503)
* d35ad489 \[Website] Add ecosystem Section (#1491)
* 1935c70a \[Chore] Bump ini from 1.3.5 to 1.3.8 (#1385)
* b7d333b4 \[Chore] Bump y18n from 3.2.1 to 3.2.2 (#1449)
* aeb8b45a \[Chore] Bump ssri from 6.0.1 to 6.0.2 (#1460)
* 86577263 \[Chore] Bump ua-parser-js from 0.7.22 to 0.7.28 (#1471)
* f0fda0e4 \[Chore] Bump handlebars from 4.7.6 to 4.7.7 (#1472)
* 027aecfa \[Chore] Bump url-parse from 1.4.7 to 1.5.1 (#1473)
* 6d5981a0 \[Chore] Bump hosted-git-info from 2.8.8 to 2.8.9 (#1474)
* 54690fc8 \[Chore] Bump browserslist from 4.14.7 to 4.16.6 (#1494)
* 846ec388 \[Chore] Bump dns-packet from 1.3.1 to 1.3.4 (#1497)
* c6def591 \[Chore] Bump ws from 6.2.1 to 6.2.2 (#1500)
* 614750f4 \[Feat] Make keplergl-jupyter work with JupyterLab 3 (#1501)
* b4fcf7be \[Feature]: add copy geometry to feature action panel (#1495)
* d786d0f3 \[Bug] fix arc layer configurator render crash (#1490)
* b24cc57a \[Enhancement] Support elevation in Icon layer (#1483)
* d51f3050 \[Enhancement] Support elevation in Line layer (#1481)
* a09cd589 \[Enhancement] Elevation zoom factor toggle (#1478)
* 8a6d2635 \[Enhancement] add Japanese translation (#1469)
* 910eb5e7 \[Chore] Move 'uber-licence' to devDep (#1450)
* 0b03f3a6 \[Docs] fix typos on playback readme (#1482)
* 14c35fc0 \[Doc] Add example using none mapbox base map (#1440)

## \[2.5.1] - Mar 30 2021

* 16703c0b \[CHORE] add utils.js to package.json
* a15109b3 \[Feat] add timezone and timeFormat prop for time display in animation control and time - widget (#1411)
* 13c6171e Bump elliptic from 6.5.3 to 6.5.4 (#1435)
* cdcc0eea \[Enhancement] make panel tab a factory (#172) (#1412)
* 173811a3 \[bug]: Fixed range slider null selection bug (#1413)
* df3fee5c \[Bug]: Updated babel dependencies (#1410)
* 119c8933 \[Bug] fix update dataId not update layer data (#1414)
* b97b58a9 \[Enhancement] Choose the default field to be integer if no reals are present (#1409)
* 072876df \[bug] upgrade colorbrewer to 1.5.0 (#1439)
* d4698bb8 \[Chore] add initial version of ts-smoosh (#1437)
* 6b39c43f \[Chore] reformat changelog

## \[2.5.0] - Mar 3 2021

* 58af5b65 \[bug] Set colorbrewer version to 1.4.0 #1416 (#1428)
* a03250a4 CHORE: export processKeplerglDataset (#1422)
* ddaa8bf7 FIX: incorrect type strin -> string (#1421)
* 9e5bfdca \[Feat] Duplicate layer and add layer from config (#1401)
* 29bfa406 \[Bug] Interval animation doesn't stop when speed is set to 0 (#1397)
* 9476c293 feat: Converted dataset object to kepler table class (#1239)
* 498305cc \[Bug] save to map provider (#1399)
* 6728b30f \[Bug] Clamping slider values outside range (#1395)
* f0e51743 \[Enhancement] add changedFilters to datasets when filter data is called (#1396)
* 8d68001d \[Bug] Add style prop to kepler-gl container (#1398)
* d295c762 \[Enhancement]: Save filter speed to schema (#1394)
* fb801d70 \[Chore] Update license year (#1393)
* fa6deff0 (0116-babel-deps) \[Enhancement] Show an error notification for errors in deck (#1373)
* 5d4b4547 \[Bug] Bug fixes (#1388)
* 35bf90a9 \[Bug]: FIxed issue with map popover object being null (#1384)
* fc2fb04d \[CHORE] Typescript fixes (#1383)
* d6e28377 \[Bug] Fix 12350 format in tooltip (#1327)
* 2ea82deb \[Feat] fixed augumented numeric formats with \~ (#1369)
* e88b4f19 \[Bug] Fix speed button input on timeline (#1376)
* 7aeca210 \[Enhancement] bump loaders.gl to 2.3.3 (#1366)
* eff0a15d \[Enhancement] Choose layer color by default (point layer) (#1367)
* 823405ab \[Bug] fix arc layer configurator (#1375)
* a11c63c3 \[Enhancement] avoid calling mapPopover setstate infinitely (#1346)
* ae234e72 \[Bug] Prevent crash in react-map-gl when zoom cannot be calculated (#1365)
* be61b70b \[Enhancement] automatically re-project GeoDataFrame to EPSG:4326 (#1350)
* 2aad97f3 \[Bug] Added better check for bins in bottom widget (#1361)
* ef8bdbaf \[Chore]: Upgraded to node 12, migrate from TravisCi to Github actions (#1326)
* c7726680 \[Enhancement]: Added uiStateUpdater showDatasetTable in order to intercept showDatasetTable action (#1363)
* f33c76b4 \[FEAT] Add rename dataset reducer (#1362)
* 027985af \[Bug] Fixed color picker closure when selecting first custom palette value) (#1347)
* 7f3be27f \[Enhancement] check bounds before calling fitbounds (#1348)
* f046ac1b \[Enhancement] better arc layer column config layout (#1345)
* 2ea853b1 \[Bug] Fixed bug with fixed radius after remove size field in pointlayer (#1343)
* 32d80182 \[Bug] fixed geocoder crash and added ability to pass coordinates (#1342)
* c2ba7f04 \[Enhancement] Fix negative button border (#1344)
* 55f74dcd \[Enhancement] added check for oldLayerData (#1357)
* 223af2b6 \[Enhanment] extract valdiate layer and validate filter function (#1349)
* 06ea669d \[Enhancement] pass dataset to renderLayer function (#1341)
* 524fc591 \[Feat] Visual channel refactor generalize get accessor and updateTrigger (#1338)
* c1d4943b \[Enhancement] Adjust input light styles (#1340)
* 5642ca8b \[Chore] SidePanel panels are now passed through only through props or default ones (#1339)
* f802f393 \[Chore] Decouple table from dataset Id (#1337)
* c7f50fdc \[Chore] Export KeyEvent and downloadFile utils (#1335)
* 335f82a3 \[Enhancement] Added the ability to pass supported data types when exporting (#1336)
* 239051f0 keplergl==0.2.2
* 55053230 keplergl-jupyter\@0.2.2
* 1bac01ab update example app versions

## \[2.4.0] - Nov 30 2020

* 259022ee \[Upgrade] Support React 17 (#1323)
* 6c48c422 \[Enhancement] Export more utils (#1317)
* 81bc6b37 \[Enhancement] make provider injector function to get injectedApp back (#1318)
* 5e2b8988 \[Enhancement] update spanish and catalan translations (#1319)
* 334f0b76 \[Enhancement] extend template for light theme (#1305)
* abbe032e \[Chore] Dependency upgrade (#1314)
* f0a966cd \[Bug] check category (#1316)
* 7f5282b4 \[Feat] add incremental timeline animation (#1315)
* c1a251de \[Enhancement] make visConfigSwitch a factory (#1313)
* 37cf1457 \[Enhancement] Enable polygon filter on h3 layer (#1306)
* bdbea264 \[Feat] allow changing dataset in layer config (#1312)
* 28f5204d \[Bug] fix radio button style (#1310)
* c990a477 \[Enhancement] Upgrade d3-scale (#1311)
* ea69da8a \[Enhancement] fix item-selector dropdown value overflow nad tooltip pin color (#1309)
* d94de814 \[Chores] Exported default formatters (#1308)
* 307cd3d4 \[Bug] avoid duplicated h3 layer detection (#93) (#1307)
* 8bc11a37 \[Enhancement] Add inputBGdActive for light theme (#1301)
* 3f0f7a6c \[Bug] Check for valid layer pinned prop before performing comparison (#1297)
* 42acc1cf \[Bug] Fixed bug when reversing color schema (#1296)
* 9949888f Table of content -> Table of contents
* 9a13ce68 \[Chores] Fixed security vulnerabilities and added new factories (#1294)
* 3276cef3 Merge branch 'upwards\_update'
* 70687cab \[Docs] Add usage example in doc for *repr\_html* method (#1282)
* 32b519af \[Chores] Updated yarn.lock and file license
* aecbdc55 \[Bug] Fixed typo in renderedSize cell-size (#90)
* 9f8b84e1 upgrade react-palm to 3.3.7 (#89)
* 7410cfa5 \[Enhancement] Disable layer select option when no data is loaded (#88)
* 7a69c865 data table style tiny adjustment
* 21d09475 add fontFamily to input style
* 96c37618 export renderSize from cell-size.js
* f356fe43 \[Enhancement] Added modalStyle prop Portaled to override default values (#83)
* b6fd3916 \[Enhancement] UI input style improvement (#1284)
* 92a2bb65 \[Enhancement] Add preserveLayerOrder to layer merger (#1288)
* 480ead69 \[Enhancement] Add a CTA button type (#80) (#1286)
* d882ba09 \[Enhancement] Layer config: Add column validators (#1287)
* e8fc1c5e Export typeahead (#1289)
* ad5ec020 \[Enhancement] render last added filter first (#1285)
* 42569ec3 \[Enhancement] Export StyledDropdownSelect (#1283)
* 1b748471 \[Jupyter] add *repr\_html* method (#1202)
* fbbd4c45 \[Enhancement] export more utils and schema (#1280)
* e5a6f9e8 \[Enhancement] Improve schema and utils typing (#1279)
* ad651700 \[Enhancement] Create factory for histogram and line chart, add brush handle to range brush (#1274)
* 6681d2e2 \[Enhancement] pass light theme through to item selector (#1276)
* 0184cf1e \[Enhancement] add setTimeAnimation action (#70) (#1263)
* 908a5e2b \[Chores] Bump http-proxy from 1.18.0 to 1.18.1 (#1268)
* 7acb3d66 \[Auto] Bump elliptic from 6.5.2 to 6.5.3 (#1210)
* 490cafb0 \[Jupyter] Updated Docs for Jupyter (#1267)
* a7865c8d \[Enhancement] Added factory for the icons of the map control (#1273)
* 77b4e018 \[Enhancement] switch style tweak (#1262)
* 9dbb9e73 \[Bug] fix dropdown list item lineheight (#1261)
* d677c18f \[Feat] Move more css to theme and create more factories (#1248)
* 2ebd1368 \[Enhancement] Typescript improvement (#1254)
* 959f1a33 \[Bug] fix export image size not set (#1257)
* 678aacc2 \[Upgrade] upgrade react-palm to 3.3.6 (#1255)
* f54d6afb \[Enhancement] Map control style improve (#1253)
* 3e40a48c \[Website] disable banner (#1252)
* 3b81b59f \[Enhancement] Add new theme variables (#1245)
* b09aa2e1 \[Bug] Fix load data modal crash (#1244)
* 42670d89 \[Bug] Fix provider preview image during map save and share flow (#1243)
* efd3676d \[Bug] Fix component exports
* 0b91f4d1 \[Enhancement] Improve react intl support (#1237)
* 7ff0c459 \[Enhancement] Save merger and schema to visState (#1235)
* ### \[2.3.2] - Aug 16 2020
* 10468e19 \[Enhancement] Export more utils (#1233)
* 242dcf99 \[Enhancement] Upgrade dependencies and fix vulnerabilities (#1236)
* 3d72066f \[Bug] Fixed image export bug due to mapbox attrition logo (#1229)
* f4951102 \[Feat] add readonly prop to KeplerGl component (#1220)
* 04991352 \[Enhancement] Added props to panel-header iconComponent (#64) (#1219)
* b91785ec \[Feat] Auto detect h3 layer from h3 field data (#53) (#1218)

## \[2.3.1] - Aug 4 2020

* \[Bug] fix tooltip config, add boolean formatter (#1216)
* \[Enhancement] Geocoder interaction improvements (#1214)
* \[Enhancement] add options.autoCreateLayers to addDataToMap (#1215)
* \[Bug] Hide BottomWidgetContainer nothing to render (#1213)
* \[Enhancement] Cleanup unused babel plugins (#1211)
* \[Bug] fix file handler row parsing to support single geojson feature (#1212)
* \[Enhancement] Add KeplerGl.onDeckInitialized callback (#1193)
* \[Enhancement] Render geocode in readOnly mode (#1177)
* \[Feat] pass initialUiState to prop (#1187)
* \[Docs] Fix `replace-component` Readme (#1207)
* \[Jupyter] Convert to gdf to a dataframe instead of a copy (#1201)
* New image export approach (#1199)
* Add prop to disable file extension checking (#1195)
* Load: extract extensions from loader objects (#1194)
* Add `visState.loaders` to let app inject a list of loaders.gl loaders. (#1192)
* Enable modal prop types (#1190)
* Enable modal types (#1189)
* Add types to top-level KeplerGl component (#1188)
* Add typescript types for upload modal and components (#1185)
* Add types for composer helpers (#1186)
* \[Feat] add zoom to coordinate tooltip (#1179)
* \[Enhancement] export more layer configurator components (#1176)
* \[Bug/Enhancement] Pass PanelHeader props to the onClick handler of action items (#1181)
* \[Bug] Fix import of the user guide link (#1182)
* \[examples] update example version to 2.3.0

## \[2.3.0] - July 6 2020

* \[Enhancement] Improve animation sliders (#1157)
* \[Enhancement] speed control step to 0.001 (#1155)
* \[website] remove unused env, relax on package engines requirement (#1173)
* \[Feat] Pinned tooltip + Compare (#1132)
* \[Feat] Integration with loaders.gl 2.2 (#1156)
* \[Feat] Bump deck.gl and luma.gl to v8.2 (#1166)
* \[Chore] Bump websocket-extensions from 0.1.3 to 0.1.4 (#1138)
* \[Website] Add 2020 Survey (#1154)
* \[Bug] Tooltip formatting (#1129)
* \[Jupyter] Default centerMap to False so that zoom map state configurations are not (#1142)
* \[Enhancement] close modal when press escape key (#1134)
* \[Enhancement] Export time widget factories (#1133)
* \[Enhancement] filter invalid value when calculate trip layer domain (#1131)
* \[Feat] enable tooltip formatting in interaction config (#1102)
* \[Feat] Add type definition (#1116)
* \[RFC] table class RFC (#1109)
* \[Docs] adding missing bracket (#1094)
* add side-panel inner class (#1113)
* \[Bug] add hexagon layer translation (#1114)
* \[Jupyter] fix gitignore add missing files (#1118)
* \[Jupyter] Publish keplergl jupyter 0.2.0 (#1110)
* \[Enhancement] fix attribution color, add kepler smaller font (#1092)

## \[2.2.0] - May 10 2020

* \[Enhancement] Added Editor and FeatureActionPanel factories (#1093)
* \[Feat] Geocoder Search (#1068)
* \[Doc] Updated release docs with gh-release instructions (#1059)
* \[Bug] Aggregation layer fix out-of-domain coloring for valid strings (#1070)
* \[Feat] Add Spanish and Catalan translation (#1087)
* \[Doc] Update playback documentation (#1072)
* \[Bug] Fix link to umd folder
* \[Doc] Refactored doc files for better structure (#1084)
* \[Enhancement] Add Portuguese translations (#1063)
* \[Bug] Fixed download file for microsoft edge (#1074)
* \[Bug] Fix broken redirects in jupyter user guide (#1077)
* \[Docs] update upgrade guide (#1044)

## \[2.1.2] - April 3 2020

* \[Enhancement] Add support for localization and Finnish translations (#994)
* \[Bug] Fixes for case sensitive fields in CARTO storage (#1057)
* \[Chore] Removed engine requirements (#1049)
* \[Chore] Improve the secondary button color for base theme (#1048)
* \[Chore] Updated examples to v2.1.1 (#1043)

## \[2.1.1] - March 31 2020

* \[Chore] Updated example to 2.1.0 (#1041)

## \[2.1.0] - March 30 2020

* \[Enhancement] Remove table cell char limit and increased cell header height (#1038)
* \[Docs] CHANGELOG.md markup update (#1029)
* \[Enhancement] add classes to button for easier style override (#1035)
* \[Bugfix] Remove incorrect outlier calculation for better map centering (#1026)
* \[Bug] fix scatterplot stroke width in pixels (#1018)
* \[Test] e2e test (#940)
* \[Enhancement] Move layer panel visible toggle to end (#1017)
* \[Bug] export formatCsv (#1022)
* \[Enhancement] Refactor load file tasks to better handle multiple file types (#986)
* \[Bug] Fixed carto-provider example: importing the correct kepler.gl processor path (#1016)
* \[Feat] Add satellite basemap (#1007)
* \[Feat] Improved data table rendering (#1010)
* \[Chore] Upgrade to Node 10 (#1009)
* \[Feat] S2 layer (#800)
* \[BUG] Fix provider test (#1008)
* \[Enhancement] better handling provider tile update (#1000)
* \[Enhancement] Loading and error feedback for shared maps loaded from URL #1002 (#1003)
* \[Enhancement] adjust button color in light theme (#1004)
* \[Bug] Reset selected provider status after loading and before sharing (#999)
* \[Feat] Add more light themes (#1001)
* \[Bug] fix bug map loaded with custom map style not save correctly (#993)
* \[Bug] Fix username set to null after loading map from URL #995 (#996)
* \[Enhancement] Decrease filter step size for small domains (#958)

## \[2.0.1] - March 9 2020

* \[Bug] Add cloud-providers.js to package.json (#991)
* \[Feat] CARTO provider for cloud storage (#985)
* \[Bugfix] Fix typo on variable name (#987)
* \[Enhancement] pass appWebsite to logo component (#984)
* \[Chore] Removed testing from publish action (#980)
* \[Bug] remove console.log in filter.utils
* \[Feat] Load cloud map with provider (#947)

## \[2.0.0] - Feb 25 2020

* \[Enhancement] Independently customize Geojson layer fill stroke opacity (#966)
* \[Bug] Fix text collision on toggle input (#973)
* \[Chore] upgrade prettier to 1.19 to better handle single line function compositions (#971)
* \[Style] run prettier and lint on tests (#968)
* \[Bug] Select dataset filter bug (#965)
* \[Bug] fix hexagon layer hover crash (#964)
* \[Style] run prettier (#963)
* \[Feat] Allow adding custom side panel tabs
* \[Chore] Fix prettier update config (#767)
* \[Bug] Fixed json map export and added tests (#956)
* \[Bug] Resolve deck luma version conflict (#955)
* \[Feat] upgrade to deck.gl\@8 (#889)
* \[Feat] UI for save map to backend storage (#906)
* \[Bug] Fixed geo-filter extra layer issue (#936)
* \[Bug] Fix low projection accuracy in higher zoom level (#946)
* \[Bug] fix hexagon layer hover cause app crash (#933)
* \[Bug] fix heatmap crash when there is no filter (#934)
* \[Bug] should add redux devtools in demo app by default (#932)
* \[Feat] Gpu data filter (#878)
* \[Feat] Global export of image export constants (#923)
* \[Bug] Fix mix int/float column interpreted as sting (#927)
* \[Chore] Correctly update the copy changes to actions.js (#914)
* \[Enhancement] Hide data modal in export map (#920)
* \[Chore] remove action to publish to github package repo (#919)
* \[Feat] Geo-Operations: create and apply polygon filters (#595)
* \[Bug] Fix h3 layer projection error at edge of world map (#918)

## \[1.1.13] - Jan 17 2020

* \[Enhancement] added coordinate to tooltip export configuration (#876)
* \[Bug] mapState not applied in exported map html (#913)
* \[Chore] Update grammar, cleanup whitespace, fix broken link (#912)
* \[Docs] add Upgrade-guide
* \[Docs] Remove hyperlink with "Advanced Usage" (#903)
* \[Docs] add initial cloud provider api (#868)
* \[Enhancement] treat type-analyzer type: NUMBER as strings (#891)
* \[Bug] remove argument.length check in injector (#899)
* \[Enhancement] add disabled to layer-configurator group (#897)
* \[Bug] Fix a bug in file-drop.js that causes error in server side render (#896)
* \[Bug] Ensure all colors returned from get3DBuildingColor are RGB arrays (#871)
* \[Chore] License 2020 (#883)
* \[Bug] Correctly copy over field.filterProps when merging multiple filters (#884)
* \[Bug] Fix newDateEntries typo and formatting fixes (#870)
* \[Bug] Fix multiple geojson layer found when properties contain object and array (#872)
* \[Bug] fix demo-app resolve react-redux (#866)

## \[1.1.12] - Dec 14 2019

* \[Bug] Remove sqrt, log from default color aggregation for count (#856)
* \[Bug] fix cluster point count, cluster layer failed to render on export image (#855)
* \[Style] Remove extra semicolon (#850)
* \[Docs] Update api-reference overview links
* \[Bug] Don't merge domain when update filter name (#841)
* \[Enhancement] React 17: replace componentWillReceiveProps and componentWillMount (#745)
* \[Bug] Fixed delete dataset action (#835)
* \[Chore] Github action to publish npm package (#825)
* \[Enhancement] Demo App Cloud provider refactor (#831)

## \[1.1.11] - Nov 13 2019

* \[Bug] Correctly save filterProps to field while merging filter from config (#829)
* \[Docs] fixing api reference broken link (#812)
* \[Bug] fix empty geometry causing trip layer detection to fail (#826)
* \[Docs] update a-add-data-to-the-map.md with embed geometries in CSV

## \[1.1.10] - Oct 30 2019

* \[Docs] Add instructions for image and weblink in tooltip (#797)
* \[Enhancement] Add Bug Report User Guides to demo app panel header (#787)
* \[Docs] Fix typos in add-data-workflow-user-guide (#807)
* \[Feat] add stdev and variance aggregators to aggregation layer (#809)
* \[Feat] Multiple datasets per filter (#773)
* \[Bug] Fixed loading urls with query params (#780)
* \[Jupyter] Publish keplergl jupyter 0.1.2 (#784)

## \[1.1.9] - Oct 11 2019

* \[Enhancement] improve Geojson processing performance and error handling (#781)
* \[Enhancement] add file format instruction to file upload (#770)
* \[Bug] Filter invalid H3 IDs (#775)
* \[Bug] fix readonly in addDataToMap (#783)
* \[Enhancement] Expose LayerHoverInfoFactory and CoordinateInfoFactory (#769)
* \[Bug] Fixed dropbox upload in Firefox. Passing explicit file name to upload function
* \[Enhancement] Demo app sample info (#758)
* \[Enhancement] Generate custom map style icon from style url (#762)
* \[Jupyter]\[bug] fix lab widget window responsiveness, add version to header (#771)
* \[Jupyter]\[docs] add installation instruction to jupyter widget user guide
* \[Docs] Update add data to map docs
* \[Jupyter] Publish keplergl-jupyter for Jupyter labs (#764)
* \[Jupyter]\[bug] fix flashing html export when open in window (#756)
* \[Enhancement] Add logo and GA to exported html (#757)
* \[Docs] update Trip Layer md

## \[1.1.8] - Sep 30 2019

* \[Bug] Fix saving animation speed (#752)
* \[Feat] Add Trip Layer - Final (#699)
* \[Feat] add custom color editor (#601)
* \[Chore] add coverall (#748)
* \[Docs] mapboxApiUrl usage examples (#737)
* \[Feat] Support Policy page (#724)

## \[1.1.7] - Sep 11 2019

* \[Enhancement] Create more factories from SourceDataCatalog, add onClickTitle (#720)
* \[Enhancement] Express example (#704)
* \[Bug] check new layers based on new dataset id (#721)
* \[Feat] Add Log and Sqrt scale (#670)
* \[Chore] Add a script to automatically edit kepler.gl version (#714)

## \[1.1.6] - Sep 5 2019

* \[Bug] Upgrade to deck 7.1.11 (#715)

## \[1.1.5] - Sep 4 2019

* \[Bug] Unlock luma.gl version (#713)
* \[Bug] fix heatmap getBounds (#711)
* \[Feat] HTML Export: provide read only mode (#709)

## \[1.1.4] - Sep 3 2019

* \[Bug] Lock deck.gl to version 7.1.5 (#688)
* \[Enhancement] add keepExistingConfig option to addDataToMap (#619)
* \[Bug] Fixed issue with geojson fields (#683)
* \[Enhancement] Switch from callback refs to createRef (#622)
* \[Bug] Fix uglify error compiling dom-to-image in prod (#682)
* \[Enhancement] pass set useDevicePixels to deck.gl to plot container (#663)
* \[jupyter] Upgrade to kepler.gl v1.1.3 (#660)
* \[Chore] use xvfb as a service in travis-ci (#669)

## \[1.1.3] - Aug 5 2019

* \[Enhancement] Use preserved state to apply keplerGlInit. when mint=false (#649)
* \[Enhancement] Replace react-data-grid with react-virtualized (#629)

## \[1.1.2] - Aug 1 2019

* \[Bug] Fix issue in Layer.registerVisConfig preventing custom boolean properties
* \[Enhancement] Simplify map layer visible logic in splitMaps and deck, mapbox overlay renders (#642)
* Netlify badge (#641)
* \[Enhancement] Add 3d building color editor (#633)
* \[Enhancement] Update mapbox-gl css version (#634)
* \[Bug] fix SolidPolygonLayer import causing 3d building layer crash (#625)
* \[Bug] Don't show null for labels if there is no data (#626)
* \[Bug] add deckGlProps to pass preserveDrawingBuffer to plot container (#624)
* \[Enhancement] DemoApp: explicitly pass window\.fetch to Dropbox to suppress warning (#621)
* \[Enhancement] Use theme in histogram plot color (#607)
* \[Enhancement] Bump supercluster version (#590)
* \[Feat] Add mapboxApiUrl to `KeplerGL` (#554)
* \[Docs] Update link to the GitHub repo (#589)
* Fixed python3 compatiability and wrong variable in string format (#587)
* \[Bug] Remove isMouseOver state from MapPopover (#577)
* \[Docs] fix: Correct Custom Theme Example Link (#578)
* \[Bug]\[jupyter] Replacing print statement with () to make it Python 3 compatible (#582)
* Update build command: remove yarn since netlify runs yarn by default (#585)
* \[Jupyter] cleanup examples (#574)
* \[Feat] Publish keplergl jupyter 0.1.0a5 (#572)
* \[Chore] Add issue template for kepler.gl Jupyter
* \[Bug] Solve issue #547 avoid crash application (#564)

## \[1.1.1] - Jun 24 2019

* \[Bug] Fix radius rendering when value = 0 (#551)
* \[Docs] Updating Layer User Guides (#373)
* \[Feat] Display mouse coordinate (#550)
* \[Docs] Replace CLA with DCO (162a9f7)
* \[Style] fix README typo (c1fafbf)
* \[Docs] Add jupyter widget user guide link o README (17d3ec8)
* \[Chore] Add jupyter widget issue templates (a40c1fe)
* \[Feat] Bump deck.gl to v7.1.5 (#568)
* \[Feat] Add ScenegraphLayer (#540)
* \[Feat] Add kepler.gl-jupyter python package (#543)

## \[1.1.0] - Jun 15 2019

* Upgrade to deck.gl 7.1 (#559)
* \[Docs] update user documentation with newer layers and features (#552)
* Upgrade to deck.gl 7 and luma.gl 7 (#544)
* \[Bug] Display color legend for stroke color scale (#546)
* \[Enhancement] Image export error handling (#538)
* \[Bug] Fix typo on layer-configurator.js (#549)

## \[1.0.0] - May 23 2019

* \[Enhancement] Detecting mapbox token validity (#513)
* \[Enhancement] Netlify webpack optimization (#525)
* \[Feat] More control over point label (#515)
* \[Enhancement] Applied changes for enable netlify deployment (#516)
* \[Enhancement] Refactored modal dialog to be more responsive (#501)
* \[Bug] fix side panel unnecessary rerender (#512)
* \[Feat] Upgrade deck.gl to 6.4 (#456)
* \[BUG] Fixed layer list sorting dnd effect (#509)
* \[Feat] add onViewStateChange callback to KeplerGl (#506)
* \[Enhancement] More granular speed control (#500)
* \[Docs] update all uber links to keplergl org (#502)

## \[1.0.0-2] - May 2 2019

* \[Bug] Fix missing default map styles after loading custom map style from saved json (#490)
* \[Bug] Fix `fix radius` in point layer unclickable (#491)
* \[Bug] fix image export doesnt get called when map rendered (#494)
* \[Enhancement] Merge export config and map into one interaction (#488)

## \[1.0.0-1] - Apr 23 2019

* \[Bug] Fix point layer brushing and highlight (#487)
* \[Feat] Add a light theme to KeplerGl Prop (#489)
* \[Bug] Fix browse for file upload (#486)
* \[Enhancement] Cleanup load map style tasks (#472)
* \[Enhancement] load svg icons from aws, add bundle analyzer, reduce bundle size -1mb (#479)
* \[Bug] upgrade kepler.gl version in examples
* \[Docs] Fixed link to addDataToMap (#459)
* \[Enhancement] expand bottom widget to full length if in read only mode(#465)

## \[1.0.0-0] - Apr 2 2019

* \[Enhancement] Replace react anything sortable with React-Sortable-Hoc
* \[Enhancement] Replaced DI object storage with an actual Map
* \[Feat] Able to overwrite custom theme
* \[Chore] Upgraded waypoint library to support react16
* \[Chore] Dropbox UI enhancements
* \[Bug] Fix points disappear while panning across 180th meridian
* \[Chore] Tweak save and export documentation
* \[Chore] Add oss header and middleware.js
* \[Chore] Added file header for user-guide.js
* \[Feat] Single map page export
* \[Chore] Upgraded libraries: react, styled-components

**BREAKING CHANGES**

* React 15 is no longer supported
* Style components v4+ is now required because is now a peer dependency

## \[0.2.4] - Mar 13 2019

* \[Enhancement] Slider: use clientX to calculate delta to support windows IE and Tableau kepler.gl (#431)
* \[Bug] Range slider: correctly setting ranch brush selection when mount (#433)
* \[Feat] Add getMapboxRef prop (#372)
* \[Enhancement] Automatically loading custom dependencies when inject custom component factor (#430)
* \[Bug] Range brush width change should not trigger onBrush callback (#432)
* \[Bug] fix processor export, support previous (#428)

## \[0.2.3] - Mar 3 2019

* \[Docs] Export processors and Add Docs (#421)
* \[Docs] Add docs for actions and updaters (#368)
* \[Bug] Fix image export component failed to render (#418)

## \[0.2.2] - Feb 26 2019

* (HEAD -> master, origin/master, origin/HEAD) \[Bug] Fixed web doc link (#369)
* \[Bug]: Fixed example dependencies (#362)
* \[Bug] Fix missing 3d building layer in image export (#361)
* \[Bug] fix 3d building layer missing mapbox token, fix image export (#360)
* \[Docs] Add API Docs (#279)
* \[Feature] UMD module in unpkg (#349)
* Disabled banner (#352)

## \[0.2.1] - Feb 6 2019

* (HEAD -> master, origin/master) \[Feature] Collapsible layer group (#350)
* \[Enhancement] Added default feature flags to disable dropbox (#338)
* \[Bug]: fix alias and module resolve in webpack.config.local (#348)
* \[Enhancement] Upgraded Webpack, Babel and Eslint (#342)
* \[Feature] Notification systems with new UI panel and helpers to generate messages (#333)
* GitHub browser history (#321)
* \[Bug] Fix Maximum call stack size exceeded when double click (#323)
* \[Docs] Export identity actions individually and add JSDocs (#290)
* \[Docs] Edit PR guidance in contribution guidelines (#320)
* \[Docs] Add Contribution Guidelines (#261)
* (overide-style) \[Enhancement] Upgrade type-analyzer to pass 0/1 as integer (#317)
* \[Typo] Misspellings in comments (#314)
* \[Housekeeping] Update Copyright header to 2019, Happy New Year (#316)
* Feat: Implemented Dropbox integration (#312)

## \[0.2.1-beta.1] - Dec 17 2018

* \[Feature] Added a Tiled 3D Building Deck.gl Layer (#270)
* \[Enhancement] Fossa Integration (#309)
* \[Enhancement] Change BottomWidget to pure functional component (#249)
* \[Docs]: updated docs for better readability(alignments) (#255)
* \[Enhancement] export processKeplerglJSON from processors (#299)
* \[website] BugFix: missing tracking payload (#311)
* \[Enhancement] Hexbin Layer: smaller radius step and dynamic hover (#310)
* \[Bug] remove unpm from yarn.lock (#303)
* \[Enhancement] use mapbox style url for default (published) uber map styles (#292)
* \[Feature] Load data and kepler.gl file using URLs (#260)

## \[0.2.1-beta.0] - Nov 16 2018

* \[Bug] Fixing global color issue #130 for the heat map (#277)
* \[Enhancement] More exports (#284)

## \[0.2.0] - Nov 16 2018

* \[Enhancement] Export side panel component factories (#282)
* \[Feature] Upgrade to deck.gl v6 (#272)
* \[Refactor] Small update of readability (#250)
* \[website] Click logo should go to kepler.gl website (#251)
* \[Enhancement] Add contribution guidelines on contributing.md file (#108)
* \[Enhancement] Scan through all text labels to get the entire character set (#245)

## \[0.1.6] - Oct 3 2018

* \[Enhancement] save and load text label config (#242)

## \[0.1.5] - Oct 2 2018

* \[Enhancement] Fix z-fighting issue between text label and scatter plot (#234)
* \[Bug] Sort color steps (#241)
* \[Bug] fix a bug where field is valid is always false (#240)

## \[0.1.4] - Sep 15 2018

* \[Enhancement] Null check for missing arc column (#235)

## \[0.1.3] - Sep 10 2018

* \[Enhancement] Add H3 layer (#217) (#198)
* \[Enhancement] Add text label in Point layer (#166)

## \[0.1.2] - Aug 24 2018

* \[Bug] Fix server render error, remove react-ace (#206)

## \[0.1.1] - Aug 24 2018

* \[Enhancement] Bump react-palm\@1.1.2 (#215)

## \[0.1.0] - Aug 21 2018

* Upgrade to Deck.gl v5.3.4 (#153)

## \[0.0.28] - Aug 8 2018

* Fix cluster layer label rendering

## \[0.0.27] - Aug 3 2018

* Fix unable to fetch external stylesheets when taking the screenshot (#187)
* \[Bug] Avoid repeatedly calling HIDE\_EXPORT\_DROPDOWN (#180)

## \[0.0.26] - Aug 3 2018

* \[Bug] fix mapStyles loaded as an empty object after load map from config (#169)

## \[0.0.25] - Jul 10 2018

* \[Bug] Create ellipsis when dataset name is a long name (#109)
* \[Enhancement] Save custom reducer initialState, add custom-reducer example (#159)

## \[0.0.24] - Jul 5 2018

* \[Bug] fix image export failing (#155)
* \[Enhancement] Add default map styles to mapStyle reducer initial state (#147)

## \[0.0.23] - Jun 28 2018

* \[Enhancement] Consider all mew layers when calculating the map bounds (#142)
* \[Bug] Fix icon layer instructions (#131)
* \[Website] add banner to demo app for survey (#117)

## \[0.0.22] - Jun 10 2018

* \[Bug] new filter shouldn't be enlarged if there is already an enlarged filter (#93)
* \[Enhancement] Enable ordinal aggregation in aggregation layer (hex, grid, cluster) (#29)

## \[0.0.21]\[0.0.20] - Jun 4 2018

* \[Bug] TimeRangeSlider should not cache props.onChange (#100)
