Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v3.1.0 (bug fixes, performance improvements and new style properties) #13047

Merged
merged 25 commits into from
Jan 18, 2024

Conversation

stepankuzmin
Copy link
Contributor

@stepankuzmin stepankuzmin commented Jan 18, 2024

Features and improvements ✨

  • Improve performance for maps with many textures (such as styles with satellite imagery), fixing excessive memory usage. (h/t @tristan-morris) #12924
  • Add raster-elevation property for elevating raster layers to a constant height (e.g. clouds over globe).
  • Add raster-emissive-strength and fill-extrusion-emissive-strength properties for controlling 3D lighting on buildings and raster layers.
  • Add Map getConfigProperty method for getting current style config values.
  • Add config support in terrain options.
  • Improve performance for pitched views with many fill extrusions on higher zoom levels.
  • Allow turning off the terrain that is defined in the imports on the root-level Style by setting it to null.
  • Allow the partial terrain exaggeration update without specifying the source.
  • Respect style schema restrictions (minValue, maxValue, stepValue, values, type) when evaluating config options.

Bug fixes 🐞

  • Fix an issue where center: [0, 0] and zoom: 0 map options were ignored in favor of style settings.
  • Fix an issue with the camera not taking the short route when animating between locations across the anti-meridian.
  • Fix an issue where a style with imports sometimes loaded in incomplete state.
  • Fix an issue with rendering styles with nested imports.
  • Fix an issue with sources not reloading when changing language and worldview.
  • Fix an issue where updating a style fragment URL didn't work correctly.
  • Fix an issue when adding a layer with explicit slot not taking precedence over the before parameter for layer order.
  • Fix an issue where updating an image before initial image is loaded produced an error. (h/t @maciejmatu) #12928
  • Fix an issue with incorrect collisions for elevated symbols.
  • Fix an issue with "camera-projection": "orthographic" not working in styles with imports.
  • Fix an issue with tiles sometimes missing in terrain mode on views from a hill down on a valley.
  • Fix compact attribution style when using global CSS that sets box-sizing: border-box. (h/t @simondriesen) #12982
  • Remove redundant aria-label attribute in attribution control that fails accessibility conformance. (h/t @maggiewachs) #12981
  • Disable terrain and hillshade when browser fingerprinting protection (e.g. in private browsing mode) prevents it from rendering correctly.
  • Fix layer rendering when import requests are failing.
  • Fix map load event not firing for the sources whose tiles are 404s.
  • Require either url or tiles for tiled sources during validation.
  • Validate for empty layer and source IDs in runtime.

Changes since v3.1.0-beta.1

Features and improvements ✨

  • Allow turning off the terrain that is defined in the imports on the root-level Style by setting it to null.
  • Allow the partial terrain exaggeration update without specifying the source.
  • Respect style schema restrictions (minValue, maxValue, stepValue, values, type) when evaluating config options.

Bug fixes 🐞

  • Disable terrain and hillshade when browser fingerprinting protection (e.g. in private browsing mode) prevents it from rendering correctly.
  • Fix layer rendering when import requests are failing.
  • Fix map load event not firing for the sources whose tiles are 404s.
  • Require either url or tiles for tiled sources during validation.
  • Validate for empty layer and source IDs in runtime.

mourner and others added 25 commits January 18, 2024 17:51
…efines) (internal-1009)

* move linear to sRGB conversion to more specific shaders

* remove wireframe prelude from vertex shaders

* move constants from prelude to specific places

* move dither to fog prelude

* remove duplicate code in terrain prelude

* remove some legacy (WebGL1) shader branches

* texture2D/textureCube -> texture

* gl_FragColor -> explicitly defined glFragColor

* attribute -> in

* fragment varying -> in

* fixup shader attributes

* fixup

* vertex varying -> out

* remove legacy precision qualifiers

* fixup shaders minification

* fixup after merge

* fixup

* fixup
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.32 to 8.4.33.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](postcss/postcss@8.4.32...8.4.33)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [puppeteer-core](https://github.com/puppeteer/puppeteer) from 21.6.1 to 21.7.0.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Changelog](https://github.com/puppeteer/puppeteer/blob/main/release-please-config.json)
- [Commits](puppeteer/puppeteer@puppeteer-core-v21.6.1...puppeteer-core-v21.7.0)

---
updated-dependencies:
- dependency-name: puppeteer-core
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [cssnano](https://github.com/cssnano/cssnano) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@6.0.2...cssnano@6.0.3)

---
updated-dependencies:
- dependency-name: cssnano
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 47.0.2 to 48.0.2.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc)
- [Commits](gajus/eslint-plugin-jsdoc@v47.0.2...v48.0.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…Canvas2D operations used for image decoding (internal-975)

* [MAPS3D-1099] Workaround terrain spikes on Safari version above 17 and private mode

* Calculate disableDEMTilesWorkaround only when setting Terrain

* Check for OffscreenCanvas support

* Add warning

---------

Co-authored-by: Stepan Kuzmin <stepan.kuzmin@mapbox.com>
Co-authored-by: Volodymyr Agafonkin <agafonkin@gmail.com>
…ometimes contains non-existing version like 11.0.0
… a layer global value. Measure-light expressions are allowed if they are not data driven (internal-1045)
* symbol icon saturation

* render test

* raise test threshold
Bumps [tape](https://github.com/ljharb/tape) from 5.7.2 to 5.7.3.
- [Changelog](https://github.com/ljharb/tape/blob/master/CHANGELOG.md)
- [Commits](tape-testing/tape@v5.7.2...v5.7.3)

---
updated-dependencies:
- dependency-name: tape
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…n imports (internal-1038)

* Allow `null` in TerrainSpecification to override terrain in imports

* Add unit and render tests

* Don't propagate mock terrain to the stylesheet

* Fail if Style Spec property is marked as `required` and `optional` at the same time
…rnal-1048)

* type style configs

* pass both default and value to config evaluation for proper fallback

* fix unit tests

* fix render tests

* fix lint

* coerce config option values according to schema

* fix CompoundExpression to survive worker transfer

* add render tests for schema validation

* avoid in-place modification in setConfigProperty to fix transitions
* v3.1.0

---------

Co-authored-by: Volodymyr Agafonkin <agafonkin@gmail.com>
@stepankuzmin stepankuzmin requested a review from a team as a code owner January 18, 2024 16:16
@stepankuzmin stepankuzmin requested a review from mourner January 18, 2024 16:16
@stepankuzmin stepankuzmin merged commit d882740 into main Jan 18, 2024
28 checks passed
@stepankuzmin stepankuzmin deleted the v3-staging branch January 18, 2024 16:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants