- Switch to ESM module (#2281)
- Remap event types (#2207)
- Restore fog, light and terrain types on MapProps (#2206)
- Make source prop of Layer optional (#2200)
- Fix maplibre-gl peerDependencies typo (#2197)
- Add ref forwarding to Marker and Popup (#2191)
- Split exports into separate endpoints (#2178)
- Make mapbox-gl an optional dependency (#2175)
- Remove defaultProps and displayName (#2173)
v7 is a complete rewrite of the library. It addresses many long-standing issues in v5 and v6 limited by legacy architecture decisions. The most notable results of this redesign are:
- Performance: minimize the overhead of React, offer the same fast and smooth interaction as the native library
- Lightweight: the ESM build size is reduced from 219k to 57k
- Predictability: Components behave the same as their mapbox counterparts. Props are mapped 1:1 from the native options wherever appropriate. Almost all imperative APIs (
flyTo
,fitBounds
etc.) can now be called directly without breaking the React binding. - Compatibility: first and third-party plugins! Directly use mapbox-gl-draw, mapbox-gl-geocoder, to name a few.
- TypeScript compliant: the code base is now entirely written in TypeScript, and all types can be imported.
Visit the upgrade guide if you are trying to upgrade from v5 and v6.
- Add mapLib API (#1703)
- Support inline styling for all components (#1702)
- Refactor Mapbox class (#1701)
- Improve typing (#1695)
- [v7] Fix popup className update in mapbox v1/maplibre (#1694)
- [v7] Fix double controls in strict mode (#1678)
- [v7] Fix AttributionControl prop typo (#1679)
- [v7] Handle unmount order (#1676)
- [v7] Fix synchronization during transition (#1675)
- [v7] Update MapRef (#1674)
- [v7] Bug fixes (#1673)
- [v7] Fix resize synchronization (#1670)
- [v7] Add fog, light, terrain props (#1669)
- [v7] support global settings with MapProps (#1668)
- [v7] Clean up typings and expose more utility types (#1667)
- Drop flow types support (#1666)
- Update
@types/mapbox-gl
dependency
- [v7] utility hooks (#1663)
- [v7] Add Layer and Source (#1657)
- [v7] Control components (#1656)
- [v7] Marker and Popup (#1655)
- [v7] Map component (#1652)
- Typescript dev setup