Skip to content

v1.0.0 - Svelte 5 Rewrite and Other Upgrades

Latest
Compare
Choose a tag to compare
@dimfeld dimfeld released this 20 Mar 19:35

1.0 of svelte-maplibre is released! This rewrites a lot of the internal functionality to work with Svelte 5 runes, and contains many other enhancements for better feature support and performance. Most users of the package won't need to change their code much, if at all, to upgrade.

Major Changes

  • #262 547e5e1 Thanks @dimfeld! - Set loaded = true on style.load instead of load.

    This greatly improves responsiveness of setting up the initial sources and layers.
    The MapLibre component also no longer gates rendering its children snippet on loaded.
    The Layer and various source-based components included with this library will wait for it, but if you have a custom component you may need to wait for loaded yourself using a pattern like this:

    const { map, loaded } = $derived(getMapContext())
    
    $effect(() => {
        if(map && loaded) {
            map.addSource(...);
        }
    })
  • #214 eadb5a4 Thanks @dimfeld! - Update to deck.gl v9

  • #214 0485a6a Thanks @dimfeld! - Remove map attribute from events. It was already present as target

  • #214 0485a6a Thanks @dimfeld! - Upgrade internal code to Svelte 5 runes

  • #214 0485a6a Thanks @dimfeld! - Internal: Change context structure used to pass info down the component hierarchy

  • #214 0485a6a Thanks @dimfeld! - Use undefined instead of null in many places. This improves ergonomics with Svelte component props.

  • 77c50dd Thanks @dimfeld! - Update dependency spec for compatibility with maplibgre-gl 5

Minor Changes

  • #214 0485a6a Thanks @dimfeld! - Add generics for Features on many components to permit better type safety

  • #214 0485a6a Thanks @dimfeld! - Only add event handlers to the map when something is actually listening

  • #244 49af3f3 Thanks @Tintow! - Exposed the bearingSnap property in the maps props to allow control over the default automatic snap-to-north

  • #246 2db55af Thanks @dimfeld! - Add canOpen property to a Popup which allows per-feature control over whether to show a popup or not

  • #262 547e5e1 Thanks @dimfeld! - Add BackgroundLayer component

  • #262 547e5e1 Thanks @dimfeld! - Add projection support

  • #262 547e5e1 Thanks @dimfeld! - Add anchor property to markers

  • #245 c1e8a00 Thanks @dimfeld! - Allow Popups to inherit lngLat from a parent Marker

  • fbadf74 Thanks @dimfeld! - Pass bound bounds prop out of component in same format it was passed in

Patch Changes