maplibre / maplibre-gl-js

MapLibre GL JS - Interactive vector tile maps in the browser
https://maplibre.org/maplibre-gl-js/docs/
Other
6.01k stars 661 forks source link

Breaking changes MapLibre GL JS v5 #3834

Open sbachinin opened 4 months ago

sbachinin commented 4 months ago

This issue is to track breaking changes for MapLibre GL JS v5

sbachinin commented 4 months ago

This is likely to produce breaking changes: https://github.com/maplibre/maplibre-gl-js/issues/3736:

HarelM commented 4 months ago

The following issue will also create breaking change to the output of geometry-type:

This issue has a part in the style-spec repo as well.

wipfli commented 3 months ago

I am happy with breaking changes in the API of MapLibre GL JS, but we should not do breaking changes in the style spec, see https://github.com/maplibre/maplibre-style-spec/pull/519#issuecomment-2017725720. In my opinion, geometry-type should keep the same behavior as it did so far.

HarelM commented 3 months ago

I respect your opinion, but I don't agree in this specific case, see my comment in the link you sent. TL;DR: more in the area of bug fix and not a style spec change.

birkskyum commented 3 months ago

Depending on when this release is to come out ( looking at our majors, it's statistically likely to be +6 months from now ), it might be relevant to discuss a WebGL1 sunset again. We had some push back in the v3 release May 2023, but there are some indicators that it might be less problematic going forward, especially when looking at Apple ecosystems support.

There are examples of projects in our ecosystem that have moved to WebGL2-only support (looking at you deck.gl), and keeping WebGL1 support going forward will thus both not be compatible with said libraries, and more concerning it will be at the increasing high cost of locking the renderer to a legacy graphics pipeline.

Despite some users relying on it, MapLibre Native already did sunset OpenGL2 (~webgl1) in favor of OpenGL3+ (webgl2) to do the Modularization Refactor, which was crucial for the long-term viability of that renderer, and it would be necessary to do something similar here as well.

HarelM commented 3 months ago

Is there a way you can think of to allow moving the webgl1 code into a plugin somehow leaving the main version using only webgl2 but allowing this plugin to try and "help" in case someone needs webgl1?

HarelM commented 3 months ago

Another candidate for v5 breaking changes:

wipfli commented 3 months ago

Let's discuss phasing out webgl1 in a separate thread here: #3947

HarelM commented 2 months ago

As part of this issue:

I found out that freeze elevation is not the default when doing easeTo when terrain is on.

~I think it should be, so that it is consistent with pan movement.~ ~This is a breaking change, so I'm writing it here.~ The UX is worse if freeze elevation is on by default and the current fix seems to solve the issue well. No need for a breaking change.

birkskyum commented 2 months ago

v5 breaking change:

birkskyum commented 1 month ago

The arial font - I'd love to see it gone from the default, because it's always a problem to source it. Causing headache this moment that it's e.g. not present in openmaptiles/font

Related to:

wipfli commented 1 month ago

I think we should have a discussion in the next monthly meeting how we want to handle breaking style changes. API changes are something different.