Skip to content

Conversation

@gabbopalma
Copy link
Collaborator

@gabbopalma gabbopalma commented Jan 6, 2026

Release v0.25.0 🎉

🎯 Overview

This release includes the critical migration to modern JS interop with WASM compatibility, major dependency updates, new features, bug fixes, and a complete refactoring of the example application.


🌟 Highlights

🚀 WASM Compatibility

  • Web platform now fully WASM compatible through migration to modern dart:js_interop
  • Required for Flutter 3.38.4+ compatibility
  • Future-proof architecture for upcoming Flutter WASM targets

📱 Major Native SDK Update

  • MapLibre Android SDK upgraded to v12.3.0 (from v11.13.5)
  • Brings synchronous GeoJSON updates, MLT-format support, and stability improvements

🎨 Enhanced User Experience

  • Complete example app redesign with responsive layouts
  • New logo customization features
  • Improved annotation management
  • Tricky bug and issues finally fixed

✨ Features & Enhancements

New Features

  • Logo Customization: Add logo customization options including visibility and position settings (b4fb174)

    • Control MapLibre logo visibility
    • Configure logo positioning on the map
  • Web Platform Features: New methods implemented on web (feat(web): migrate legacy JS interop + web improvements + WASM compatibility #687)

    • getStyle() - returns map style as JSON string
    • getSourceIds() - returns list of source IDs from current style
    • Improved getLayers() with safe null handling
  • iOS Attribution Support: Source attribution now properly displayed on iOS

    • Parses HTML attribution strings from source properties
    • Creates native iOS attribution dialogs with clickable links
    • Links open in Safari when tapped

Refactoring

  • Example App Overhaul: Complete refactor of the example app and pages with new UI (ac877a4)

    • Implemented responsive UI design (50-60% screen height for maps)
    • Removed fixed width constraints for better responsiveness
    • Fixed minor bugs throughout the example app
    • Added MapLibre logo configuration options
    • Improved user experience and code organization
    • Better button and control layouts across different screen sizes
  • Camera Target Bounds: Refactored cameraTargetBounds implementation on both Android and iOS (#8bcd74a)

    • Unified behavior across platforms
    • Improved camera constraint handling
  • Web Image Upload: Refactored image upload on web (9ce52a6)

    • All images now converted to RGBA format for consistency
    • Prevents format-related errors

🐛 Bug Fixes

iOS Fixes

  • iOS Zoom Preferences: Fixed min/max zoom preference on iOS (5230fab)

    • Corrects zoom level constraints on iOS platform
  • iOS Feature Query: Return all targets when supplying empty layers list on iOS (Return all targets when supplying empty layers list on iOS #680)

    • Fixes bug in queryRenderedFeatures with empty layer arrays
    • Aligns iOS behavior with Android implementation
  • iOS LayerPropertyConverter: Enhanced to handle null values and improve expression parsing (98660dc)

    • Better handling of null values in layer properties
    • Improved expression parsing for complex layer configurations

Web Fixes

  • Nullable JSAny Handling: Fixed setPaintProperty and setLayoutProperty to handle nullable JSAny values correctly (12dfad2)
    • Properly handles null values in property updates
    • Improved jsify function to create JS arrays correctly

Cross-Platform Fixes

  • Layer Properties: Fixed lineDasharray and patterns reset to null in layer_properties.dart (2b550ed)

    • Properly handles null values for dash arrays and patterns
  • Pattern Images: Fixed setLayerProperties and pattern images on web and Android (9ce52a6)

    • Pattern images now correctly converted to RGBA format on web
    • Fixed mismatched image size error when loading pattern images
    • Ensures consistent image format across all platforms
  • Controller Disposing: Improved MapLibreMapController disposing to prevent memory leaks

    • Better cleanup of resources
    • Prevents crashes on controller disposal
    • Removed unnecessary disposing in example app (f989797)
    • Improved example app stability

🔧 Improvements

Core Updates


🌐 Web Platform: JS Interop Migration & WASM Compatibility

Modern JS Interop Migration (#687)

This is a required update for Flutter 3.38.4+ compatibility and enables WASM support.

What Changed

  • Migrated from deprecated dart:js_util to modern dart:js_interop API
  • All JS interop classes updated to @staticInterop + extension methods pattern
  • Converted allowInterop() callbacks to .toJS
  • Updated property access from getProperty()/setProperty() to native JS property access
  • Replaced jsify()/dartify() utilities to work with JSAny/JSObject types
  • Fixed primitive type conversions: JSString.toDart, JSNumber.toDartDouble, JSArray.toDart
  • Converted static methods to top-level functions (e.g., LngLat.convert()lngLatConvert())

Why This Matters

  • WASM Ready: Fully compatible with Flutter's WASM compilation target
  • Future-Proof: Required for Flutter 3.38.4+ (deprecated APIs removed)
  • Type Safety: Enhanced type safety for JS ↔ Dart conversions
  • Performance: Better performance with modern interop

Impact on Users

  • ℹ️ No public API changes - this is an internal implementation update
  • ℹ️ Existing code continues to work without modifications
  • ℹ️ Web platform now supports WASM compilation

🔍 Migration Notes

For Most Users

No migration needed! Update your dependency and rebuild:

dependencies:
  maplibre_gl: ^0.25.0

📝 Related Issues & PRs

PRs

Issues

srmncnk and others added 26 commits December 15, 2025 22:57
This PR fixes a bug on iOS when calling queryRenderedFeatures.

If you supply an empy array list, none of the targets are returned,
which is contrary to what happens on Android.

Co-authored-by: Simon Irmančnik <simon@naviter.com>
…aplibre_gl_example/android (#689)

Bumps com.android.application from 8.12.0 to 8.13.2.


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.android.application&package-manager=gradle&previous-version=8.12.0&new-version=8.13.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabriel <56477412+gabbopalma@users.noreply.github.com>
…in /maplibre_gl/android (#690)

Bumps
[org.maplibre.gl:android-sdk](https://github.com/maplibre/maplibre-native)
from 11.13.5 to 12.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/maplibre/maplibre-native/releases">org.maplibre.gl:android-sdk's
releases</a>.</em></p>
<blockquote>
<h2>android-v12.3.0</h2>
<h3>✨ Features and improvements</h3>
<ul>
<li>Implemented synchronous update for GeoJSON source (<a
href="https://redirect.github.com/maplibre/maplibre-native/pull/3968">#3968</a>).</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Cancel pending style request when loading style JSON (<a
href="https://redirect.github.com/maplibre/maplibre-native/pull/3989">#3989</a>).</li>
</ul>
<h2>android-v12.3.0-pre0</h2>
<ul>
<li>Disable icon scaling with offsets <a
href="https://redirect.github.com/maplibre/maplibre-native/pull/3928">#3928</a>.</li>
<li>Modify the transform implementation to allow for concurrent
animations <a
href="https://redirect.github.com/maplibre/maplibre-native/pull/3487">#3487</a>.</li>
</ul>
<h2>android-v12.2.2</h2>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Fix crash due to pure virtual function call v2 (<a
href="https://redirect.github.com/maplibre/maplibre-native/pull/3996">#3996</a>).</li>
</ul>
<h2>android-v12.2.1</h2>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Fix crash due to pure virtual function call (<a
href="https://redirect.github.com/maplibre/maplibre-native/pull/3979">#3979</a>).</li>
</ul>
<h2>android-v12.2.0</h2>
<h3>✨ Features and improvements</h3>
<ul>
<li>Allow setting frustum offset to not render edges of the screen (<a
href="https://redirect.github.com/maplibre/maplibre-native/pull/3676">#3676</a>).</li>
</ul>
<h3>🐞 Bug fixes</h3>
<ul>
<li>Fix LineBucket::addGeometry() empty coordinates. (<a
href="https://redirect.github.com/maplibre/maplibre-native/pull/2959">#2959</a>).</li>
<li>Use deprecated readParcelable on Tiramisu to avoid crash (<a
href="https://redirect.github.com/maplibre/maplibre-native/pull/3950">#3950</a>).</li>
<li>Handle <code>BufferResource::version</code> overflow (<a
href="https://redirect.github.com/maplibre/maplibre-native/pull/3962">#3962</a>).</li>
</ul>
<h2>android-v12.1.3</h2>
<ul>
<li>Disable <code>UnsatisfiedLinkError</code> during local tests (<a
href="https://redirect.github.com/maplibre/maplibre-native/pull/3942">#3942</a>)</li>
</ul>
<h2>android-v12.1.2</h2>
<ul>
<li>Update to latest MLT submodule (<a
href="https://redirect.github.com/maplibre/maplibre-native/pull/3945">#3945</a>).</li>
</ul>
<h2>android-v12.1.1</h2>
<ul>
<li>Update to latest MLT submodule (<a
href="https://redirect.github.com/maplibre/maplibre-native/pull/3945">#3945</a>).</li>
</ul>
<h2>android-v12.1.1-pre1</h2>
<p>No release notes provided.</p>
<h2>android-v12.1.0</h2>
<h3>✨ Features and improvements</h3>
<ul>
<li>Add support for parsing MLT-format vector tile sources (<a
href="https://redirect.github.com/maplibre/maplibre-native/pull/3246">#3246</a>).</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/maplibre/maplibre-native/commit/44dd3c7a0aad3c022b2c9dba87bfa537dc39a1f5"><code>44dd3c7</code></a>
Release MapLibre Android 12.3.0 (<a
href="https://redirect.github.com/maplibre/maplibre-native/issues/4000">#4000</a>)</li>
<li><a
href="https://github.com/maplibre/maplibre-native/commit/a8eb09fa4f7ff5247500e6cdb09b1bc9d15563f9"><code>a8eb09f</code></a>
Get rid of retired runner in rust-ci workflow (<a
href="https://redirect.github.com/maplibre/maplibre-native/issues/4003">#4003</a>)</li>
<li><a
href="https://github.com/maplibre/maplibre-native/commit/52b8911e0e9c89fe99b497436d3f48118cb7777a"><code>52b8911</code></a>
Fix pure virtual function call v2 (<a
href="https://redirect.github.com/maplibre/maplibre-native/issues/3996">#3996</a>)</li>
<li><a
href="https://github.com/maplibre/maplibre-native/commit/a1f3370704e0a95ed766dbba9b1637b9cf49f364"><code>a1f3370</code></a>
Split out backend specific files to .cmake files (<a
href="https://redirect.github.com/maplibre/maplibre-native/issues/3995">#3995</a>)</li>
<li><a
href="https://github.com/maplibre/maplibre-native/commit/4cfde5dd129d440bcd8b5b767db3d59b3f862b5f"><code>4cfde5d</code></a>
Update funding-manifest-urls URL to remove www prefix (<a
href="https://redirect.github.com/maplibre/maplibre-native/issues/3997">#3997</a>)</li>
<li><a
href="https://github.com/maplibre/maplibre-native/commit/1f320fd0895afe3c56a577f803b87351208a9a3f"><code>1f320fd</code></a>
Cancel pending style request when loading style JSON (<a
href="https://redirect.github.com/maplibre/maplibre-native/issues/3989">#3989</a>)</li>
<li><a
href="https://github.com/maplibre/maplibre-native/commit/421eab6dfbf19afd6d959a99c20b252573cae6bb"><code>421eab6</code></a>
Add funding manifest URL for MapLibre (<a
href="https://redirect.github.com/maplibre/maplibre-native/issues/3992">#3992</a>)</li>
<li><a
href="https://github.com/maplibre/maplibre-native/commit/e823254c5323e46eb6b6af3a6679f5bea578a114"><code>e823254</code></a>
Update licenses (<a
href="https://redirect.github.com/maplibre/maplibre-native/issues/3991">#3991</a>)</li>
<li><a
href="https://github.com/maplibre/maplibre-native/commit/85f014650cd2b3d80535a6df79ed9fc414dce3d7"><code>85f0146</code></a>
Sponsor update (<a
href="https://redirect.github.com/maplibre/maplibre-native/issues/3987">#3987</a>)</li>
<li><a
href="https://github.com/maplibre/maplibre-native/commit/29d70ef0bb6335f5a3b216b0e7caca13c8738903"><code>29d70ef</code></a>
Implemented synchronous update for GeoJSON source (<a
href="https://redirect.github.com/maplibre/maplibre-native/issues/3968">#3968</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/maplibre/maplibre-native/compare/android-v11.13.5...android-v12.3.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.maplibre.gl:android-sdk&package-manager=gradle&previous-version=11.13.5&new-version=12.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabriel <56477412+gabbopalma@users.noreply.github.com>
Co-authored-by: Gabriel Palmisano <gabrielpalmisano63@gmail.com>
Bumps
[actions/upload-artifact](https://github.com/actions/upload-artifact)
from 4 to 6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/upload-artifact/releases">actions/upload-artifact's
releases</a>.</em></p>
<blockquote>
<h2>v6.0.0</h2>
<h2>v6 - What's new</h2>
<blockquote>
<p>[!IMPORTANT]
actions/upload-artifact@v6 now runs on Node.js 24 (<code>runs.using:
node24</code>) and requires a minimum Actions Runner version of 2.327.1.
If you are using self-hosted runners, ensure they are updated before
upgrading.</p>
</blockquote>
<h3>Node.js 24</h3>
<p>This release updates the runtime to Node.js 24. v5 had preliminary
support for Node.js 24, however this action was by default still running
on Node.js 20. Now this action by default will run on Node.js 24.</p>
<h2>What's Changed</h2>
<ul>
<li>Upload Artifact Node 24 support by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/719">actions/upload-artifact#719</a></li>
<li>fix: update <code>@​actions/artifact</code> for Node.js 24 punycode
deprecation by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/744">actions/upload-artifact#744</a></li>
<li>prepare release v6.0.0 for Node.js 24 support by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/745">actions/upload-artifact#745</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/upload-artifact/compare/v5.0.0...v6.0.0">https://github.com/actions/upload-artifact/compare/v5.0.0...v6.0.0</a></p>
<h2>v5.0.0</h2>
<h2>What's Changed</h2>
<p><strong>BREAKING CHANGE:</strong> this update supports Node
<code>v24.x</code>. This is not a breaking change per-se but we're
treating it as such.</p>
<ul>
<li>Update README.md by <a
href="https://github.com/GhadimiR"><code>@​GhadimiR</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/681">actions/upload-artifact#681</a></li>
<li>Update README.md by <a
href="https://github.com/nebuk89"><code>@​nebuk89</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/712">actions/upload-artifact#712</a></li>
<li>Readme: spell out the first use of GHES by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/upload-artifact/pull/727">actions/upload-artifact#727</a></li>
<li>Update GHES guidance to include reference to Node 20 version by <a
href="https://github.com/patrikpolyak"><code>@​patrikpolyak</code></a>
in <a
href="https://redirect.github.com/actions/upload-artifact/pull/725">actions/upload-artifact#725</a></li>
<li>Bump <code>@actions/artifact</code> to <code>v4.0.0</code></li>
<li>Prepare <code>v5.0.0</code> by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/upload-artifact/pull/734">actions/upload-artifact#734</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/GhadimiR"><code>@​GhadimiR</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/681">actions/upload-artifact#681</a></li>
<li><a href="https://github.com/nebuk89"><code>@​nebuk89</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/712">actions/upload-artifact#712</a></li>
<li><a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/727">actions/upload-artifact#727</a></li>
<li><a
href="https://github.com/patrikpolyak"><code>@​patrikpolyak</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/725">actions/upload-artifact#725</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/upload-artifact/compare/v4...v5.0.0">https://github.com/actions/upload-artifact/compare/v4...v5.0.0</a></p>
<h2>v4.6.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Update to use artifact 2.3.2 package &amp; prepare for new
upload-artifact release by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/685">actions/upload-artifact#685</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/685">actions/upload-artifact#685</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/upload-artifact/compare/v4...v4.6.2">https://github.com/actions/upload-artifact/compare/v4...v4.6.2</a></p>
<h2>v4.6.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Update to use artifact 2.2.2 package by <a
href="https://github.com/yacaovsnc"><code>@​yacaovsnc</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/673">actions/upload-artifact#673</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/upload-artifact/commit/b7c566a772e6b6bfb58ed0dc250532a479d7789f"><code>b7c566a</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/745">#745</a>
from actions/upload-artifact-v6-release</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/e516bc8500aaf3d07d591fcd4ae6ab5f9c391d5b"><code>e516bc8</code></a>
docs: correct description of Node.js 24 support in README</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/ddc45ed9bca9b38dbd643978d88e3981cdc91415"><code>ddc45ed</code></a>
docs: update README to correct action name for Node.js 24 support</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/615b319bd27bb32c3d64dca6b6ed6974d5fbe653"><code>615b319</code></a>
chore: release v6.0.0 for Node.js 24 support</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/017748b48f8610ca8e6af1222f4a618e84a9c703"><code>017748b</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/744">#744</a>
from actions/fix-storage-blob</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/38d4c7997f5510fcc41fc4aae2a6b97becdbe7fc"><code>38d4c79</code></a>
chore: rebuild dist</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/7d27270e0cfd253e666c44abac0711308d2d042f"><code>7d27270</code></a>
chore: add missing license cache files for <code>@​actions/core</code>,
<code>@​actions/io</code>, and mi...</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/5f643d3c9475505ccaf26d686ffbfb71a8387261"><code>5f643d3</code></a>
chore: update license files for <code>@​actions/artifact</code><a
href="https://github.com/5"><code>@​5</code></a>.0.1 dependencies</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/1df1684032c88614064493e1a0478fcb3583e1d0"><code>1df1684</code></a>
chore: update package-lock.json with <code>@​actions/artifact</code><a
href="https://github.com/5"><code>@​5</code></a>.0.1</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/b5b1a918401ee270935b6b1d857ae66c85f3be6f"><code>b5b1a91</code></a>
fix: update <code>@​actions/artifact</code> to ^5.0.0 for Node.js 24
punycode fix</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/upload-artifact/compare/v4...v6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/upload-artifact&package-manager=github_actions&previous-version=4&new-version=6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabriel <56477412+gabbopalma@users.noreply.github.com>
…1 in /maplibre_gl/android in the gradle-plugin group (#674)

Bumps the gradle-plugin group in /maplibre_gl/android with 1 update:
com.android.tools.build:gradle.

Updates `com.android.tools.build:gradle` from 8.13.0 to 8.13.1


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.android.tools.build:gradle&package-manager=gradle&previous-version=8.13.0&new-version=8.13.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to
6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v6.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update README to include Node.js 24 support details and requirements
by <a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li>
<li>Persist creds to a separate file by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li>
<li>v6-beta by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2298">actions/checkout#2298</a></li>
<li>update readme/changelog for v6 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2311">actions/checkout#2311</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v5.0.0...v6.0.0">https://github.com/actions/checkout/compare/v5.0.0...v6.0.0</a></p>
<h2>v6-beta</h2>
<h2>What's Changed</h2>
<p>Updated persist-credentials to store the credentials under
<code>$RUNNER_TEMP</code> instead of directly in the local git
config.</p>
<p>This requires a minimum Actions Runner version of <a
href="https://github.com/actions/runner/releases/tag/v2.329.0">v2.329.0</a>
to access the persisted credentials for <a
href="https://docs.github.com/en/actions/tutorials/use-containerized-services/create-a-docker-container-action">Docker
container action</a> scenarios.</p>
<h2>v5.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Port v6 cleanup to v5 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v5...v5.0.1">https://github.com/actions/checkout/compare/v5...v5.0.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>V6.0.0</h2>
<ul>
<li>Persist creds to a separate file by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li>
<li>Update README to include Node.js 24 support details and requirements
by <a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li>
</ul>
<h2>V5.0.1</h2>
<ul>
<li>Port v6 cleanup to v5 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li>
</ul>
<h2>V5.0.0</h2>
<ul>
<li>Update actions checkout to use node 24 by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li>
</ul>
<h2>V4.3.1</h2>
<ul>
<li>Port v6 cleanup to v4 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2305">actions/checkout#2305</a></li>
</ul>
<h2>V4.3.0</h2>
<ul>
<li>docs: update README.md by <a
href="https://github.com/motss"><code>@​motss</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li>
<li>Add internal repos for checking out multiple repositories by <a
href="https://github.com/mouismail"><code>@​mouismail</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li>
<li>Documentation update - add recommended permissions to Readme by <a
href="https://github.com/benwells"><code>@​benwells</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li>
<li>Adjust positioning of user email note and permissions heading by <a
href="https://github.com/joshmgross"><code>@​joshmgross</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2044">actions/checkout#2044</a></li>
<li>Update README.md by <a
href="https://github.com/nebuk89"><code>@​nebuk89</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li>
<li>Update CODEOWNERS for actions by <a
href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2224">actions/checkout#2224</a></li>
<li>Update package dependencies by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li>
</ul>
<h2>v4.2.2</h2>
<ul>
<li><code>url-helper.ts</code> now leverages well-known environment
variables by <a href="https://github.com/jww3"><code>@​jww3</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1941">actions/checkout#1941</a></li>
<li>Expand unit test coverage for <code>isGhes</code> by <a
href="https://github.com/jww3"><code>@​jww3</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1946">actions/checkout#1946</a></li>
</ul>
<h2>v4.2.1</h2>
<ul>
<li>Check out other refs/* by commit if provided, fall back to ref by <a
href="https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1924">actions/checkout#1924</a></li>
</ul>
<h2>v4.2.0</h2>
<ul>
<li>Add Ref and Commit outputs by <a
href="https://github.com/lucacome"><code>@​lucacome</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1180">actions/checkout#1180</a></li>
<li>Dependency updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>- <a
href="https://redirect.github.com/actions/checkout/pull/1777">actions/checkout#1777</a>,
<a
href="https://redirect.github.com/actions/checkout/pull/1872">actions/checkout#1872</a></li>
</ul>
<h2>v4.1.7</h2>
<ul>
<li>Bump the minor-npm-dependencies group across 1 directory with 4
updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1739">actions/checkout#1739</a></li>
<li>Bump actions/checkout from 3 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1697">actions/checkout#1697</a></li>
<li>Check out other refs/* by commit by <a
href="https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1774">actions/checkout#1774</a></li>
<li>Pin actions/checkout's own workflows to a known, good, stable
version. by <a href="https://github.com/jww3"><code>@​jww3</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1776">actions/checkout#1776</a></li>
</ul>
<h2>v4.1.6</h2>
<ul>
<li>Check platform to set archive extension appropriately by <a
href="https://github.com/cory-miller"><code>@​cory-miller</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1732">actions/checkout#1732</a></li>
</ul>
<h2>v4.1.5</h2>
<ul>
<li>Update NPM dependencies by <a
href="https://github.com/cory-miller"><code>@​cory-miller</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1703">actions/checkout#1703</a></li>
<li>Bump github/codeql-action from 2 to 3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1694">actions/checkout#1694</a></li>
<li>Bump actions/setup-node from 1 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1696">actions/checkout#1696</a></li>
<li>Bump actions/upload-artifact from 2 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1695">actions/checkout#1695</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/checkout/commit/1af3b93b6815bc44a9784bd300feb67ff0d1eeb3"><code>1af3b93</code></a>
update readme/changelog for v6 (<a
href="https://redirect.github.com/actions/checkout/issues/2311">#2311</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/71cf2267d89c5cb81562390fa70a37fa40b1305e"><code>71cf226</code></a>
v6-beta (<a
href="https://redirect.github.com/actions/checkout/issues/2298">#2298</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/069c6959146423d11cd0184e6accf28f9d45f06e"><code>069c695</code></a>
Persist creds to a separate file (<a
href="https://redirect.github.com/actions/checkout/issues/2286">#2286</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493"><code>ff7abcd</code></a>
Update README to include Node.js 24 support details and requirements (<a
href="https://redirect.github.com/actions/checkout/issues/2248">#2248</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/checkout/compare/v5...v6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=5&new-version=6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabriel <56477412+gabbopalma@users.noreply.github.com>
… /maplibre_gl/android (#676)

Bumps [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp)
from 4.12.0 to 5.3.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/square/okhttp/blob/master/CHANGELOG.md">com.squareup.okhttp3:okhttp's
changelog</a>.</em></p>
<blockquote>
<h2>Version 5.3.2</h2>
<p><em>2025-11-18</em></p>
<ul>
<li>
<p>Fix: Don't delay triggering timeouts. In Okio 3.16.0 we introduced a
regression that caused
timeouts to fire later than they were supposed to.</p>
</li>
<li>
<p>Upgrade: [Okio 3.16.4][okio_3_16_4].</p>
</li>
</ul>
<h2>Version 5.3.1</h2>
<p><em>2025-11-16</em></p>
<p>This release is the same as 5.3.0. Okio 3.16.3 didn't have a
necessary fix!</p>
<ul>
<li>Upgrade: [Okio 3.16.3][okio_3_16_3].</li>
</ul>
<h2>Version 5.3.0</h2>
<p><em>2025-10-30</em></p>
<ul>
<li>
<p>New: Add tags to <code>Call</code>, including computable tags. Use
this to attach application-specific
metadata to a <code>Call</code> in an <code>EventListener</code> or
<code>Interceptor</code>. The tag can be read in any other
<code>EventListener</code> or <code>Interceptor</code>.</p>
<pre lang="kotlin"><code> override fun intercept(chain:
Interceptor.Chain): Response {
    chain.call().tag(MyAnalyticsTag::class) {
      MyAnalyticsTag(...)
    }
<pre><code>return chain.proceed(chain.request())
</code></pre>
<p>}
</code></pre></p>
</li>
<li>
<p>New: Support request bodies on HTTP/1.1 connection upgrades.</p>
</li>
<li>
<p>New: <code>EventListener.plus()</code> makes it easier to observe
events in multiple listeners.</p>
</li>
<li>
<p>Fix: Don't spam logs with <em>‘Method isLoggable in android.util.Log
not mocked.’</em> when using
OkHttp in Robolectric and Paparazzi tests.</p>
</li>
<li>
<p>Upgrade: [Kotlin 2.2.21][kotlin_2_2_21].</p>
</li>
<li>
<p>Upgrade: [Okio 3.16.2][okio_3_16_2].</p>
</li>
<li>
<p>Upgrade: [ZSTD-KMP 0.4.0][zstd_kmp_0_4_0]. This update fixes a bug
that caused APKs to fail
[16 KB ELF alignment checks][elf_alignment].</p>
</li>
</ul>
<h2>Version 5.2.3</h2>
<p><em>2025-11-18</em></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/square/okhttp/commit/75b9c267744cdd2e8b222d247052748ff0954304"><code>75b9c26</code></a>
Prepare for release 5.3.2.</li>
<li><a
href="https://github.com/square/okhttp/commit/ab48e5d86d0c0b16b3679b9b9522acf65db73da4"><code>ab48e5d</code></a>
Okio 3.16.4 (<a
href="https://redirect.github.com/square/okhttp/issues/9200">#9200</a>)</li>
<li><a
href="https://github.com/square/okhttp/commit/a9a4638b3d38b83782a959514b4183ddea0f071f"><code>a9a4638</code></a>
Prepare next development version.</li>
<li><a
href="https://github.com/square/okhttp/commit/ef72228d270c21962ab632b4c5a0dfd7ab4fd661"><code>ef72228</code></a>
Prepare for release 5.3.1.</li>
<li><a
href="https://github.com/square/okhttp/commit/674716746bb4efce30501b711ea3ec188c0d670d"><code>6747167</code></a>
Update com.squareup.okio to v3.16.3 (<a
href="https://redirect.github.com/square/okhttp/issues/9197">#9197</a>)</li>
<li><a
href="https://github.com/square/okhttp/commit/0960b47ec28a02e893499d2a7e53bf462a62875e"><code>0960b47</code></a>
Prepare for release 5.3.0.</li>
<li><a
href="https://github.com/square/okhttp/commit/bfb24eb90b3be7fb73541ea02ce8d5dfc4021709"><code>bfb24eb</code></a>
Support Request Bodies on HTTP1.1 Connection Upgrades (<a
href="https://redirect.github.com/square/okhttp/issues/9159">#9159</a>)</li>
<li><a
href="https://github.com/square/okhttp/commit/cf4a86439568e640c39da5e4e73af6565a5510b1"><code>cf4a864</code></a>
Update Gradle to v9.2.0 (<a
href="https://redirect.github.com/square/okhttp/issues/9171">#9171</a>)</li>
<li><a
href="https://github.com/square/okhttp/commit/4e7dbec1ea6c9cf8d80422ac9d44b9b185c749a3"><code>4e7dbec</code></a>
Update dependency com.puppycrawl.tools:checkstyle to v12.1.1 (<a
href="https://redirect.github.com/square/okhttp/issues/9169">#9169</a>)</li>
<li><a
href="https://github.com/square/okhttp/commit/0470853d724ec9e3c68a6ef83a4d1a60a73ef289"><code>0470853</code></a>
Add tags to calls, including computable tags (<a
href="https://redirect.github.com/square/okhttp/issues/9168">#9168</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/square/okhttp/compare/parent-4.12.0...parent-5.3.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.squareup.okhttp3:okhttp&package-manager=gradle&previous-version=4.12.0&new-version=5.3.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabriel <56477412+gabbopalma@users.noreply.github.com>
…0 to 2.2.20 in /maplibre_gl/android in the kotlin group (#634)

Bumps the kotlin group in /maplibre_gl/android with 1 update:
[org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin).

Updates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.1.0 to 2.2.20
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/JetBrains/kotlin/releases">org.jetbrains.kotlin:kotlin-gradle-plugin's
releases</a>.</em></p>
<blockquote>
<h2>Kotlin 2.2.20</h2>
<h2>Changelog</h2>
<h3>Analysis API</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78187"><code>KT-78187</code></a>
Synthetic properties not to be shown as callables</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-72525"><code>KT-72525</code></a>
K2. red code and KIWA on new-lines in guarded when conditions (with
parentheses)</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-74246"><code>KT-74246</code></a>
KaVisibilityChecker.isVisible is inefficient with multiple calls on the
same use-site</li>
</ul>
<h3>Analysis API. Code Compilation</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78382"><code>KT-78382</code></a>
K2 IR lowering error when interface extends interface</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-73201"><code>KT-73201</code></a>
K2 IDE: Error while evaluating expressions with local classes</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78164"><code>KT-78164</code></a>
Evaluator: '<code>@JvmName</code>' annotations are not recognized in
other modules</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-76457"><code>KT-76457</code></a>
K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a
JVM counterpart” on evaluating inline fun from common module inside
jvm</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-73084"><code>KT-73084</code></a>
K2 evaluator cannot resolve local variables standing at the closing
brace</li>
</ul>
<h3>Analysis API. FIR</h3>
<h4>Performance Improvements</h4>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-76490"><code>KT-76490</code></a>
Do not load ast during the contracts phase if no contracts present</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78132"><code>KT-78132</code></a>
Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization
for already resolved declarations</li>
</ul>
<h4>Fixes</h4>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-72227"><code>KT-72227</code></a>
SOE from recursive value class</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-68977"><code>KT-68977</code></a>
K2 IDE: Reference to companion object through typealias in a function
call does not work</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-72357"><code>KT-72357</code></a>
Implement partial body resolution</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-76932"><code>KT-76932</code></a>
Support context parameters on dangling modifier list</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-72407"><code>KT-72407</code></a>
FirImplementationByDelegationWithDifferentGenericSignatureChecker:
FirLazyExpression should be calculated before accessing</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-77602"><code>KT-77602</code></a>
K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on
incorrect context()-call</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-77629"><code>KT-77629</code></a>
K2: NPE:
&quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution&quot;</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-76855"><code>KT-76855</code></a>
Analysis API: <code>KaType.asPsiType</code> returns <code>null</code>
for a local inner class in dependent analysis tests</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-72718"><code>KT-72718</code></a>
ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is
smart-casted</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-76811"><code>KT-76811</code></a>
Analysis API: <code>resolveToFirSymbol</code> finds a
<code>FirPropertySymbol</code> for a <code>KtScript</code> in dependent
analysis</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-73586"><code>KT-73586</code></a>
[Analysis API] Add <code>lazyResolveToPhase(STATUS)</code> before
accessing modifiers of members</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-71135"><code>KT-71135</code></a>
AA: exception from sealed inheritors checker when
<code>analyzeCopy</code></li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-75534"><code>KT-75534</code></a>
K2 AA: &quot;Containing declaration should present for nested
declaration class KtNamedFunction&quot; with dangling annotation on
top-level anonymous function</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-75687"><code>KT-75687</code></a>
K2: local variable doesn't get to the do-while scope</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-56543"><code>KT-56543</code></a>
LL FIR: rework lazy transformers so transformers modify only
declarations they suppose to</li>
</ul>
<h3>Analysis API. Infrastructure</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-76809"><code>KT-76809</code></a>
Analysis API: Dependent analysis tests frequently work with the original
element instead of the copied element</li>
</ul>
<h3>Analysis API. Light Classes</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78835"><code>KT-78835</code></a>
Find usages of a light constructor from a class with an empty body finds
usages of class as well</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78878"><code>KT-78878</code></a>
K2. Method shown as unavailable in Java when
<code>@JvmExposeBoxed</code> is applied (redundantly) at both class and
method level in Kotlin</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md">org.jetbrains.kotlin:kotlin-gradle-plugin's
changelog</a>.</em></p>
<blockquote>
<h2>2.2.20</h2>
<h3>Analysis API</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78187"><code>KT-78187</code></a>
Synthetic properties not to be shown as callables</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-72525"><code>KT-72525</code></a>
K2. red code and KIWA on new-lines in guarded when conditions (with
parentheses)</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-74246"><code>KT-74246</code></a>
KaVisibilityChecker.isVisible is inefficient with multiple calls on the
same use-site</li>
</ul>
<h3>Analysis API. Code Compilation</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78382"><code>KT-78382</code></a>
K2 IR lowering error when interface extends interface</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-73201"><code>KT-73201</code></a>
K2 IDE: Error while evaluating expressions with local classes</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78164"><code>KT-78164</code></a>
Evaluator: '<code>@JvmName</code>' annotations are not recognized in
other modules</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-76457"><code>KT-76457</code></a>
K2 IDE / KMP Debugger: KISEWA “Cannot compile a common source without a
JVM counterpart” on evaluating inline fun from common module inside
jvm</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-73084"><code>KT-73084</code></a>
K2 evaluator cannot resolve local variables standing at the closing
brace</li>
</ul>
<h3>Analysis API. FIR</h3>
<h4>Performance Improvements</h4>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-76490"><code>KT-76490</code></a>
Do not load ast during the contracts phase if no contracts present</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78132"><code>KT-78132</code></a>
Do not check FirElementBuilder#tryGetFirWithoutBodyResolve optimization
for already resolved declarations</li>
</ul>
<h4>Fixes</h4>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-72227"><code>KT-72227</code></a>
SOE from recursive value class</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-68977"><code>KT-68977</code></a>
K2 IDE: Reference to companion object through typealias in a function
call does not work</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-72357"><code>KT-72357</code></a>
Implement partial body resolution</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-76932"><code>KT-76932</code></a>
Support context parameters on dangling modifier list</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-72407"><code>KT-72407</code></a>
FirImplementationByDelegationWithDifferentGenericSignatureChecker:
FirLazyExpression should be calculated before accessing</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-77602"><code>KT-77602</code></a>
K2 / Analysis API: KAEWA “No fir element was found for KtParameter” on
incorrect context()-call</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-77629"><code>KT-77629</code></a>
K2: NPE:
&quot;org.jetbrains.kotlin.fir.java.declarations.FirJavaTypeParameter.performFirstRoundOfBoundsResolution&quot;</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-76855"><code>KT-76855</code></a>
Analysis API: <code>KaType.asPsiType</code> returns <code>null</code>
for a local inner class in dependent analysis tests</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-72718"><code>KT-72718</code></a>
ImplicitReceiverValue.createSnapshot creates invalid FIR if receiver is
smart-casted</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-76811"><code>KT-76811</code></a>
Analysis API: <code>resolveToFirSymbol</code> finds a
<code>FirPropertySymbol</code> for a <code>KtScript</code> in dependent
analysis</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-73586"><code>KT-73586</code></a>
[Analysis API] Add <code>lazyResolveToPhase(STATUS)</code> before
accessing modifiers of members</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-71135"><code>KT-71135</code></a>
AA: exception from sealed inheritors checker when
<code>analyzeCopy</code></li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-75534"><code>KT-75534</code></a>
K2 AA: &quot;Containing declaration should present for nested
declaration class KtNamedFunction&quot; with dangling annotation on
top-level anonymous function</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-75687"><code>KT-75687</code></a>
K2: local variable doesn't get to the do-while scope</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-56543"><code>KT-56543</code></a>
LL FIR: rework lazy transformers so transformers modify only
declarations they suppose to</li>
</ul>
<h3>Analysis API. Infrastructure</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-76809"><code>KT-76809</code></a>
Analysis API: Dependent analysis tests frequently work with the original
element instead of the copied element</li>
</ul>
<h3>Analysis API. Light Classes</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78835"><code>KT-78835</code></a>
Find usages of a light constructor from a class with an empty body finds
usages of class as well</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78878"><code>KT-78878</code></a>
K2. Method shown as unavailable in Java when
<code>@JvmExposeBoxed</code> is applied (redundantly) at both class and
method level in Kotlin</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78065"><code>KT-78065</code></a>
Support &quot;Expose boxed inline value classes&quot; in Light
Classes</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/JetBrains/kotlin/commit/693c44ee79f62895a9b92bdd60fdd7a9bc29a975"><code>693c44e</code></a>
Add ChangeLog for 2.2.20-RC2</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/5b7c7af7e4222d35d55736cb0c2542de7308816b"><code>5b7c7af</code></a>
[Gradle] Fail the build if AGP has already configured Kotlin in the
project</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/1756c321a61597d20fd566f15bdf27009c91a082"><code>1756c32</code></a>
Add permissions for GRADLE_RO_DEP_CACHE to security policy</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/05dcf52971cb9f741dfccfd22a04f4ac62c0da84"><code>05dcf52</code></a>
[Native Macos] update llvm with fixes for xcode26 ^KT-79571 fixed</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/0b2dd955a2ec9abbadfc2f175ca84644d01d681b"><code>0b2dd95</code></a>
[Wasm] Do not backport devServer, because it is mutable collection</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/6b0a1e4fc5332919e7573740157acf79af9fa596"><code>6b0a1e4</code></a>
[IR] Use sanitized names when calculating scopes for lambdas</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/64daa7eba04438faab64b17ca4bf409c62dba694"><code>64daa7e</code></a>
[FIR2IR] Properly handle generics with nullable types in delegate body
genera...</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/9237f28465bc235509d59af365cbf543b44aed32"><code>9237f28</code></a>
[Test] Reproduce KT-79816</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/e86b28e4b21ab234fff6d584484e79ac4240a76a"><code>e86b28e</code></a>
[Gradle] Add <a
href="https://github.com/ExperimentalKotlinGradlePluginApi"><code>@​ExperimentalKotlinGradlePluginApi</code></a>
to exportKdoc</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/0f5c8a7e298863f23360be4e24ce16b8aba4f9d4"><code>0f5c8a7</code></a>
Add ChangeLog for 2.2.20-RC</li>
<li>Additional commits viewable in <a
href="https://github.com/JetBrains/kotlin/compare/v2.1.0...v2.2.20">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.jetbrains.kotlin:kotlin-gradle-plugin&package-manager=gradle&previous-version=2.1.0&new-version=2.2.20)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabriel <56477412+gabbopalma@users.noreply.github.com>
…n /maplibre_gl_example/android (#665)

Bumps
[org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) from
2.1.0 to 2.2.21.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/JetBrains/kotlin/releases">org.jetbrains.kotlin.android's
releases</a>.</em></p>
<blockquote>
<h2>Kotlin 2.2.21</h2>
<h2>Changelog</h2>
<h3>Backend. Wasm</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81372"><code>KT-81372</code></a>
K/Wasm: JsException: Exception was thrown while running JavaScript code
on Safari 18.2/18.3</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80018"><code>KT-80018</code></a>
K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside
Safari, WebKit)</li>
</ul>
<h3>Compiler</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81191"><code>KT-81191</code></a>
K2: &quot;null cannot be cast to non-null type
ConeTypeParameterLookupTag&quot; with invalid code</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80936"><code>KT-80936</code></a>
NON_PUBLIC_CALL_FROM_PUBLIC_INLINE : <code>@PublishedApi</code> doesn't
work for fun interfaces</li>
</ul>
<h3>JavaScript</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-79926"><code>KT-79926</code></a>
Wrong export of interfaces with companions with ES Modules</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81424"><code>KT-81424</code></a>
Kotlin/JS: Cannot Get / in a simple running application</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80873"><code>KT-80873</code></a>
KJS: Stdlib requires ES2020-compatible JS engine due to BigInt type
literal</li>
</ul>
<h3>Native</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-79384"><code>KT-79384</code></a>
K/N: Application Not Responding: Thread Deadlock</li>
</ul>
<h3>Tools. Gradle</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-79047"><code>KT-79047</code></a>
Gradle compileKotlin fails with configuration cache</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81148"><code>KT-81148</code></a>
Publishing helpers in KGP are incompatible with Isolated Projects</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80950"><code>KT-80950</code></a>
KGP breaks configuration cache when signing plugin with GnuPG is
applied</li>
</ul>
<h3>Tools. Gradle. Multiplatform</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-61127"><code>KT-61127</code></a>
Remove scoped resolvable and intransitive DependenciesMetadata
configurations used in the pre-IdeMultiplatformImport IDE import</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81249"><code>KT-81249</code></a>
Kotlin 2.2.20 broke KMP implementation of Parcelize</li>
</ul>
<h3>Tools. Gradle. Native</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81510"><code>KT-81510</code></a>
<code>commonizeCInterop</code> exception with
'kotlinNativeBundleConfiguration' not found</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81134"><code>KT-81134</code></a>
Native: Gradle configuration failure likely related to Klibs
cross-compilation</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-77732"><code>KT-77732</code></a>
<code>commonizeCInterop</code> failed with &quot;Unresolved classifier:
platform/posix/size_t&quot;</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80675"><code>KT-80675</code></a>
Commonized cinterops between &quot;test&quot; compilations produce an
import failure</li>
</ul>
<h3>Tools. Maven</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81218"><code>KT-81218</code></a>
Kotlin Maven Plugin 2.2.20: Java classes not resolved with enabled
incremental compilation without daemon</li>
</ul>
<h3>Tools. Wasm</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80582"><code>KT-80582</code></a>
Multiple reloads when using webpack dev server after 2.2.20-Beta2</li>
</ul>
<h2>Kotlin 2.2.21-RC2</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md">org.jetbrains.kotlin.android's
changelog</a>.</em></p>
<blockquote>
<h2>2.2.21</h2>
<h3>Backend. Wasm</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81372"><code>KT-81372</code></a>
K/Wasm: JsException: Exception was thrown while running JavaScript code
on Safari 18.2/18.3</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80018"><code>KT-80018</code></a>
K/Wasm: exceptions don't work properly in JavaScriptCore (vm inside
Safari, WebKit)</li>
</ul>
<h3>Compiler</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81191"><code>KT-81191</code></a>
K2: &quot;null cannot be cast to non-null type
ConeTypeParameterLookupTag&quot; with invalid code</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80936"><code>KT-80936</code></a>
NON_PUBLIC_CALL_FROM_PUBLIC_INLINE : <code>@PublishedApi</code> doesn't
work for fun interfaces</li>
</ul>
<h3>JavaScript</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-79926"><code>KT-79926</code></a>
Wrong export of interfaces with companions with ES Modules</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81424"><code>KT-81424</code></a>
Kotlin/JS: Cannot Get / in a simple running application</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80873"><code>KT-80873</code></a>
KJS: Stdlib requires ES2020-compatible JS engine due to BigInt type
literal</li>
</ul>
<h3>Native</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-79384"><code>KT-79384</code></a>
K/N: Application Not Responding: Thread Deadlock</li>
</ul>
<h3>Tools. Gradle</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-79047"><code>KT-79047</code></a>
Gradle compileKotlin fails with configuration cache</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81148"><code>KT-81148</code></a>
Publishing helpers in KGP are incompatible with Isolated Projects</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80950"><code>KT-80950</code></a>
KGP breaks configuration cache when signing plugin with GnuPG is
applied</li>
</ul>
<h3>Tools. Gradle. Multiplatform</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-61127"><code>KT-61127</code></a>
Remove scoped resolvable and intransitive DependenciesMetadata
configurations used in the pre-IdeMultiplatformImport IDE import</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81249"><code>KT-81249</code></a>
Kotlin 2.2.20 broke KMP implementation of Parcelize</li>
</ul>
<h3>Tools. Gradle. Native</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81510"><code>KT-81510</code></a>
<code>commonizeCInterop</code> exception with
'kotlinNativeBundleConfiguration' not found</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81134"><code>KT-81134</code></a>
Native: Gradle configuration failure likely related to Klibs
cross-compilation</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-77732"><code>KT-77732</code></a>
<code>commonizeCInterop</code> failed with &quot;Unresolved classifier:
platform/posix/size_t&quot;</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80675"><code>KT-80675</code></a>
Commonized cinterops between &quot;test&quot; compilations produce an
import failure</li>
</ul>
<h3>Tools. Maven</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81218"><code>KT-81218</code></a>
Kotlin Maven Plugin 2.2.20: Java classes not resolved with enabled
incremental compilation without daemon</li>
</ul>
<h3>Tools. Wasm</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80582"><code>KT-80582</code></a>
Multiple reloads when using webpack dev server after 2.2.20-Beta2</li>
</ul>
<h2>2.2.20</h2>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/JetBrains/kotlin/commit/2146684dcba708e5a304758b41a9e4ec9c7eff71"><code>2146684</code></a>
Add ChangeLog for 2.2.21-RC2</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/d8cf44a2d13645af6c01a30bf3c8b8d3ebfcc1e3"><code>d8cf44a</code></a>
[KGP][IT] Require Xcode 26 for
shouldDownloadLightNativeBundleWithMaven</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/bd2b4265ef331e69c054c1bc062a51c30b1eaa0d"><code>bd2b426</code></a>
[Gradle] Only register commonizeCInterop if there are native
targets</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/f66516ec54a615931dceb9a8dc53cdda0c65d8ea"><code>f66516e</code></a>
[Gradle] Added tests for accessing target's publishable property</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/7aad8e5ca9f78b4a33ea9cdf01d3cb952dbcbcfd"><code>7aad8e5</code></a>
[Gradle] Workaround for not completable Future with cross
compilation</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/d0617749adb544555154881fc639aae56c11720d"><code>d061774</code></a>
[Wasm, JS] Add statics field to DevServer data constructor for data
class</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/060989636b290f2d187c2a16b91537d0754c2e1c"><code>0609896</code></a>
Add ChangeLog for 2.2.21-RC</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/4f2bc0c4657778abcfcd7eb004c6c5fca7b62fbf"><code>4f2bc0c</code></a>
[Gradle] Dont add parcelize plugin to JVM compilations</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/948802f1778a01ee7d51548fe167e25a3a237b2e"><code>948802f</code></a>
[K/N][tests] Fixed lldb tests to work with Xcode 26</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/a32c8f3ca2c2567900959a62bf654d27db187f5a"><code>a32c8f3</code></a>
[stdlib] Add <code>os.arch</code> as an input property to prevent build
cache reuse acro...</li>
<li>Additional commits viewable in <a
href="https://github.com/JetBrains/kotlin/compare/v2.1.0...v2.2.21">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.jetbrains.kotlin.android&package-manager=gradle&previous-version=2.1.0&new-version=2.2.21)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabriel <56477412+gabbopalma@users.noreply.github.com>
This PR separates `AnnotationManager` initialization logic into a
separate `initialize()` method which can be awaited. This way annotation
managers can be predictably initialized.

Previous initialization logic possibly led to situations where the
manager was used before its initialization finished. It is practically
impossible to avoid it because you cannot know if and when does the
initialization finish. This was especially the case when creating custom
`AnnotationManager` instances on the fly.

This changes how annotation managers are used and users are now required
to call `initialize()` before using the manager, so this is a breaking
change.

Also map style loaded callback is now only called after all the managers
finished loading, which adds some possibly unnecessary load time, but
prevents some nasty errors.

### Alternatives?

I'm open to different solutions - normally I'm opposed to initialization
methods which have to be called manually, but here it seemed like to
most straightforward solution. It is a bit clunky with the
`_initilizing` and `_initialized` flags, I'll admit that.

---------

Co-authored-by: Gabriel <56477412+gabbopalma@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Gabriel Palmisano <gabrielpalmisano63@gmail.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to
6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v6.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update README to include Node.js 24 support details and requirements
by <a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li>
<li>Persist creds to a separate file by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li>
<li>v6-beta by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2298">actions/checkout#2298</a></li>
<li>update readme/changelog for v6 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2311">actions/checkout#2311</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v5.0.0...v6.0.0">https://github.com/actions/checkout/compare/v5.0.0...v6.0.0</a></p>
<h2>v6-beta</h2>
<h2>What's Changed</h2>
<p>Updated persist-credentials to store the credentials under
<code>$RUNNER_TEMP</code> instead of directly in the local git
config.</p>
<p>This requires a minimum Actions Runner version of <a
href="https://github.com/actions/runner/releases/tag/v2.329.0">v2.329.0</a>
to access the persisted credentials for <a
href="https://docs.github.com/en/actions/tutorials/use-containerized-services/create-a-docker-container-action">Docker
container action</a> scenarios.</p>
<h2>v5.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Port v6 cleanup to v5 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v5...v5.0.1">https://github.com/actions/checkout/compare/v5...v5.0.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v6.0.0</h2>
<ul>
<li>Persist creds to a separate file by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li>
<li>Update README to include Node.js 24 support details and requirements
by <a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li>
</ul>
<h2>v5.0.1</h2>
<ul>
<li>Port v6 cleanup to v5 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li>
</ul>
<h2>v5.0.0</h2>
<ul>
<li>Update actions checkout to use node 24 by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li>
</ul>
<h2>v4.3.1</h2>
<ul>
<li>Port v6 cleanup to v4 by <a
href="https://github.com/ericsciple"><code>@​ericsciple</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2305">actions/checkout#2305</a></li>
</ul>
<h2>v4.3.0</h2>
<ul>
<li>docs: update README.md by <a
href="https://github.com/motss"><code>@​motss</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li>
<li>Add internal repos for checking out multiple repositories by <a
href="https://github.com/mouismail"><code>@​mouismail</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li>
<li>Documentation update - add recommended permissions to Readme by <a
href="https://github.com/benwells"><code>@​benwells</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li>
<li>Adjust positioning of user email note and permissions heading by <a
href="https://github.com/joshmgross"><code>@​joshmgross</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2044">actions/checkout#2044</a></li>
<li>Update README.md by <a
href="https://github.com/nebuk89"><code>@​nebuk89</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li>
<li>Update CODEOWNERS for actions by <a
href="https://github.com/TingluoHuang"><code>@​TingluoHuang</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/2224">actions/checkout#2224</a></li>
<li>Update package dependencies by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li>
</ul>
<h2>v4.2.2</h2>
<ul>
<li><code>url-helper.ts</code> now leverages well-known environment
variables by <a href="https://github.com/jww3"><code>@​jww3</code></a>
in <a
href="https://redirect.github.com/actions/checkout/pull/1941">actions/checkout#1941</a></li>
<li>Expand unit test coverage for <code>isGhes</code> by <a
href="https://github.com/jww3"><code>@​jww3</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1946">actions/checkout#1946</a></li>
</ul>
<h2>v4.2.1</h2>
<ul>
<li>Check out other refs/* by commit if provided, fall back to ref by <a
href="https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1924">actions/checkout#1924</a></li>
</ul>
<h2>v4.2.0</h2>
<ul>
<li>Add Ref and Commit outputs by <a
href="https://github.com/lucacome"><code>@​lucacome</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1180">actions/checkout#1180</a></li>
<li>Dependency updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>- <a
href="https://redirect.github.com/actions/checkout/pull/1777">actions/checkout#1777</a>,
<a
href="https://redirect.github.com/actions/checkout/pull/1872">actions/checkout#1872</a></li>
</ul>
<h2>v4.1.7</h2>
<ul>
<li>Bump the minor-npm-dependencies group across 1 directory with 4
updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1739">actions/checkout#1739</a></li>
<li>Bump actions/checkout from 3 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1697">actions/checkout#1697</a></li>
<li>Check out other refs/* by commit by <a
href="https://github.com/orhantoy"><code>@​orhantoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1774">actions/checkout#1774</a></li>
<li>Pin actions/checkout's own workflows to a known, good, stable
version. by <a href="https://github.com/jww3"><code>@​jww3</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1776">actions/checkout#1776</a></li>
</ul>
<h2>v4.1.6</h2>
<ul>
<li>Check platform to set archive extension appropriately by <a
href="https://github.com/cory-miller"><code>@​cory-miller</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1732">actions/checkout#1732</a></li>
</ul>
<h2>v4.1.5</h2>
<ul>
<li>Update NPM dependencies by <a
href="https://github.com/cory-miller"><code>@​cory-miller</code></a> in
<a
href="https://redirect.github.com/actions/checkout/pull/1703">actions/checkout#1703</a></li>
<li>Bump github/codeql-action from 2 to 3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1694">actions/checkout#1694</a></li>
<li>Bump actions/setup-node from 1 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1696">actions/checkout#1696</a></li>
<li>Bump actions/upload-artifact from 2 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/1695">actions/checkout#1695</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/checkout/commit/8e8c483db84b4bee98b60c0593521ed34d9990e8"><code>8e8c483</code></a>
Clarify v6 README (<a
href="https://redirect.github.com/actions/checkout/issues/2328">#2328</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/033fa0dc0b82693d8986f1016a0ec2c5e7d9cbb1"><code>033fa0d</code></a>
Add worktree support for persist-credentials includeIf (<a
href="https://redirect.github.com/actions/checkout/issues/2327">#2327</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/c2d88d3ecc89a9ef08eebf45d9637801dcee7eb5"><code>c2d88d3</code></a>
Update all references from v5 and v4 to v6 (<a
href="https://redirect.github.com/actions/checkout/issues/2314">#2314</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/1af3b93b6815bc44a9784bd300feb67ff0d1eeb3"><code>1af3b93</code></a>
update readme/changelog for v6 (<a
href="https://redirect.github.com/actions/checkout/issues/2311">#2311</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/71cf2267d89c5cb81562390fa70a37fa40b1305e"><code>71cf226</code></a>
v6-beta (<a
href="https://redirect.github.com/actions/checkout/issues/2298">#2298</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/069c6959146423d11cd0184e6accf28f9d45f06e"><code>069c695</code></a>
Persist creds to a separate file (<a
href="https://redirect.github.com/actions/checkout/issues/2286">#2286</a>)</li>
<li><a
href="https://github.com/actions/checkout/commit/ff7abcd0c3c05ccf6adc123a8cd1fd4fb30fb493"><code>ff7abcd</code></a>
Update README to include Node.js 24 support details and requirements (<a
href="https://redirect.github.com/actions/checkout/issues/2248">#2248</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/checkout/compare/v5...v6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=5&new-version=6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabriel <56477412+gabbopalma@users.noreply.github.com>
Bumps
[actions/upload-artifact](https://github.com/actions/upload-artifact)
from 4 to 6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/upload-artifact/releases">actions/upload-artifact's
releases</a>.</em></p>
<blockquote>
<h2>v6.0.0</h2>
<h2>v6 - What's new</h2>
<blockquote>
<p>[!IMPORTANT]
actions/upload-artifact@v6 now runs on Node.js 24 (<code>runs.using:
node24</code>) and requires a minimum Actions Runner version of 2.327.1.
If you are using self-hosted runners, ensure they are updated before
upgrading.</p>
</blockquote>
<h3>Node.js 24</h3>
<p>This release updates the runtime to Node.js 24. v5 had preliminary
support for Node.js 24, however this action was by default still running
on Node.js 20. Now this action by default will run on Node.js 24.</p>
<h2>What's Changed</h2>
<ul>
<li>Upload Artifact Node 24 support by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/719">actions/upload-artifact#719</a></li>
<li>fix: update <code>@​actions/artifact</code> for Node.js 24 punycode
deprecation by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/744">actions/upload-artifact#744</a></li>
<li>prepare release v6.0.0 for Node.js 24 support by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/745">actions/upload-artifact#745</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/upload-artifact/compare/v5.0.0...v6.0.0">https://github.com/actions/upload-artifact/compare/v5.0.0...v6.0.0</a></p>
<h2>v5.0.0</h2>
<h2>What's Changed</h2>
<p><strong>BREAKING CHANGE:</strong> this update supports Node
<code>v24.x</code>. This is not a breaking change per-se but we're
treating it as such.</p>
<ul>
<li>Update README.md by <a
href="https://github.com/GhadimiR"><code>@​GhadimiR</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/681">actions/upload-artifact#681</a></li>
<li>Update README.md by <a
href="https://github.com/nebuk89"><code>@​nebuk89</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/712">actions/upload-artifact#712</a></li>
<li>Readme: spell out the first use of GHES by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/upload-artifact/pull/727">actions/upload-artifact#727</a></li>
<li>Update GHES guidance to include reference to Node 20 version by <a
href="https://github.com/patrikpolyak"><code>@​patrikpolyak</code></a>
in <a
href="https://redirect.github.com/actions/upload-artifact/pull/725">actions/upload-artifact#725</a></li>
<li>Bump <code>@actions/artifact</code> to <code>v4.0.0</code></li>
<li>Prepare <code>v5.0.0</code> by <a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a> in
<a
href="https://redirect.github.com/actions/upload-artifact/pull/734">actions/upload-artifact#734</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/GhadimiR"><code>@​GhadimiR</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/681">actions/upload-artifact#681</a></li>
<li><a href="https://github.com/nebuk89"><code>@​nebuk89</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/712">actions/upload-artifact#712</a></li>
<li><a
href="https://github.com/danwkennedy"><code>@​danwkennedy</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/727">actions/upload-artifact#727</a></li>
<li><a
href="https://github.com/patrikpolyak"><code>@​patrikpolyak</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/725">actions/upload-artifact#725</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/upload-artifact/compare/v4...v5.0.0">https://github.com/actions/upload-artifact/compare/v4...v5.0.0</a></p>
<h2>v4.6.2</h2>
<h2>What's Changed</h2>
<ul>
<li>Update to use artifact 2.3.2 package &amp; prepare for new
upload-artifact release by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/685">actions/upload-artifact#685</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/upload-artifact/pull/685">actions/upload-artifact#685</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/upload-artifact/compare/v4...v4.6.2">https://github.com/actions/upload-artifact/compare/v4...v4.6.2</a></p>
<h2>v4.6.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Update to use artifact 2.2.2 package by <a
href="https://github.com/yacaovsnc"><code>@​yacaovsnc</code></a> in <a
href="https://redirect.github.com/actions/upload-artifact/pull/673">actions/upload-artifact#673</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actions/upload-artifact/commit/b7c566a772e6b6bfb58ed0dc250532a479d7789f"><code>b7c566a</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/745">#745</a>
from actions/upload-artifact-v6-release</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/e516bc8500aaf3d07d591fcd4ae6ab5f9c391d5b"><code>e516bc8</code></a>
docs: correct description of Node.js 24 support in README</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/ddc45ed9bca9b38dbd643978d88e3981cdc91415"><code>ddc45ed</code></a>
docs: update README to correct action name for Node.js 24 support</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/615b319bd27bb32c3d64dca6b6ed6974d5fbe653"><code>615b319</code></a>
chore: release v6.0.0 for Node.js 24 support</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/017748b48f8610ca8e6af1222f4a618e84a9c703"><code>017748b</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/upload-artifact/issues/744">#744</a>
from actions/fix-storage-blob</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/38d4c7997f5510fcc41fc4aae2a6b97becdbe7fc"><code>38d4c79</code></a>
chore: rebuild dist</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/7d27270e0cfd253e666c44abac0711308d2d042f"><code>7d27270</code></a>
chore: add missing license cache files for <code>@​actions/core</code>,
<code>@​actions/io</code>, and mi...</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/5f643d3c9475505ccaf26d686ffbfb71a8387261"><code>5f643d3</code></a>
chore: update license files for <code>@​actions/artifact</code><a
href="https://github.com/5"><code>@​5</code></a>.0.1 dependencies</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/1df1684032c88614064493e1a0478fcb3583e1d0"><code>1df1684</code></a>
chore: update package-lock.json with <code>@​actions/artifact</code><a
href="https://github.com/5"><code>@​5</code></a>.0.1</li>
<li><a
href="https://github.com/actions/upload-artifact/commit/b5b1a918401ee270935b6b1d857ae66c85f3be6f"><code>b5b1a91</code></a>
fix: update <code>@​actions/artifact</code> to ^5.0.0 for Node.js 24
punycode fix</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/upload-artifact/compare/v4...v6">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/upload-artifact&package-manager=github_actions&previous-version=4&new-version=6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabriel <56477412+gabbopalma@users.noreply.github.com>
…2 in /maplibre_gl/android in the gradle-plugin group (#695)

Bumps the gradle-plugin group in /maplibre_gl/android with 1 update:
com.android.tools.build:gradle.

Updates `com.android.tools.build:gradle` from 8.13.0 to 8.13.2


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.android.tools.build:gradle&package-manager=gradle&previous-version=8.13.0&new-version=8.13.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabriel <56477412+gabbopalma@users.noreply.github.com>
…aplibre_gl_example/android (#696)

Bumps com.android.application from 8.12.0 to 8.13.2.


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.android.application&package-manager=gradle&previous-version=8.12.0&new-version=8.13.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabriel <56477412+gabbopalma@users.noreply.github.com>
…0 to 2.3.0 in /maplibre_gl/android in the kotlin group (#697)

Bumps the kotlin group in /maplibre_gl/android with 1 update:
[org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin).

Updates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.1.0 to 2.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/JetBrains/kotlin/releases">org.jetbrains.kotlin:kotlin-gradle-plugin's
releases</a>.</em></p>
<blockquote>
<h2>Kotlin 2.3.0</h2>
<h2>Changelog</h2>
<h3>Analysis API</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80082"><code>KT-80082</code></a>
K2. False positive &quot;Cannot resolve method&quot; for self-bounded
generic with wildcard return type in Java interop</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80303"><code>KT-80303</code></a>
Move <code>:native:analysis-api-klib-reader</code> to
<code>:libraries:tools</code></li>
</ul>
<h3>Analysis API. Code Compilation</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-70860"><code>KT-70860</code></a>
K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to
java.lang.Void” on evaluating not-null variable on the line with
assigning null to that var</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78554"><code>KT-78554</code></a>
K2 IDE / Kotlin Debugger: ISE “No override for FUN
IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class
instance during evaluation</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-73201"><code>KT-73201</code></a>
K2 IDE: Error while evaluating expressions with local classes</li>
</ul>
<h3>Analysis API. FIR</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81378"><code>KT-81378</code></a>
Expected expression 'FirFunctionCallImpl' to be resolved caused by
<code>suspend {}</code></li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80473"><code>KT-80473</code></a>
Add events for tracking LL activities</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-46375"><code>KT-46375</code></a>
Analysis API: Support cross-file class redeclaration checks using
indices</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80471"><code>KT-80471</code></a>
Analysis API: Deduplicate equivalent call candidates in
<code>resolveToCallCandidates</code></li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-79653"><code>KT-79653</code></a>
[Analysis API] ContextCollector: BODY context of enum classes doesn't
contain enum entries</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-75858"><code>KT-75858</code></a>
K2 AA: False positive 'property must be initialized' on incremental
analysis with 'field' usage and semicolon in setter</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80231"><code>KT-80231</code></a>
AnnotationArgumentsStateKeepers doesn't restore the initial annotation
in some cases</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80233"><code>KT-80233</code></a>
Pull mutation out of AnnotationArgumentsStateKeepers</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-71466"><code>KT-71466</code></a>
<code>LLFirBuiltinsSessionFactory</code> uses
<code>createCompositeSymbolProvider</code></li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-76432"><code>KT-76432</code></a>
JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with
ConeKotlinType but was FirUserTypeRefImpl</li>
</ul>
<h3>Analysis API. Infrastructure</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80717"><code>KT-80717</code></a>
Support IntelliJ Bazel build in the Kotlin Coop development mode</li>
</ul>
<h3>Analysis API. Light Classes</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80656"><code>KT-80656</code></a>
Duplicate no-args constructor in PSI</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-60490"><code>KT-60490</code></a>
Symbol Light Classes: Property accessors from a delegated interface
don't present in the delegating class</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-79689"><code>KT-79689</code></a>
SymbolLightClassForClassLike.toString() causes PSI tree loading</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80690"><code>KT-80690</code></a>
Private interface functions are not present in light classes</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80256"><code>KT-80256</code></a>
K2: Certain actions in JPA code causes infinite PIEAE: &quot;Element
class CompositeElement of type REFERENCE_EXPRESSION (class
KtNameReferenceExpressionElementType)&quot;</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-79012"><code>KT-79012</code></a>
Add a high-level overview of light classes</li>
</ul>
<h3>Analysis API. Providers and Caches</h3>
<h4>Fixes</h4>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81476"><code>KT-81476</code></a>
Analysis API: <code>AlreadyDisposedException</code> from low-memory
cache cleanup</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80911"><code>KT-80911</code></a>
Analysis API: Execute session invalidation in a non-cancelable
section</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81242"><code>KT-81242</code></a>
Analysis API: Add UUID/lifetime properties to LL FIR session structure
logging</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80622"><code>KT-80622</code></a>
Analysis API: Visualise LL FIR session structure &amp; weight</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80904"><code>KT-80904</code></a>
Analysis API: &quot;Invalid dangling file module&quot; exception during
session invalidation</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78882"><code>KT-78882</code></a>
K2 AA: Calling containingSymbol on getProgressionLastElement causes
exception</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md">org.jetbrains.kotlin:kotlin-gradle-plugin's
changelog</a>.</em></p>
<blockquote>
<h2>2.3.0</h2>
<h3>Analysis API</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80082"><code>KT-80082</code></a>
K2. False positive &quot;Cannot resolve method&quot; for self-bounded
generic with wildcard return type in Java interop</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80303"><code>KT-80303</code></a>
Move <code>:native:analysis-api-klib-reader</code> to
<code>:libraries:tools</code></li>
</ul>
<h3>Analysis API. Code Compilation</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-70860"><code>KT-70860</code></a>
K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to
java.lang.Void” on evaluating not-null variable on the line with
assigning null to that var</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78554"><code>KT-78554</code></a>
K2 IDE / Kotlin Debugger: ISE “No override for FUN
IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class
instance during evaluation</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-73201"><code>KT-73201</code></a>
K2 IDE: Error while evaluating expressions with local classes</li>
</ul>
<h3>Analysis API. FIR</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81378"><code>KT-81378</code></a>
Expected expression 'FirFunctionCallImpl' to be resolved caused by
<code>suspend {}</code></li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80473"><code>KT-80473</code></a>
Add events for tracking LL activities</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-46375"><code>KT-46375</code></a>
Analysis API: Support cross-file class redeclaration checks using
indices</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80471"><code>KT-80471</code></a>
Analysis API: Deduplicate equivalent call candidates in
<code>resolveToCallCandidates</code></li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-79653"><code>KT-79653</code></a>
[Analysis API] ContextCollector: BODY context of enum classes doesn't
contain enum entries</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-75858"><code>KT-75858</code></a>
K2 AA: False positive 'property must be initialized' on incremental
analysis with 'field' usage and semicolon in setter</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80231"><code>KT-80231</code></a>
AnnotationArgumentsStateKeepers doesn't restore the initial annotation
in some cases</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80233"><code>KT-80233</code></a>
Pull mutation out of AnnotationArgumentsStateKeepers</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-71466"><code>KT-71466</code></a>
<code>LLFirBuiltinsSessionFactory</code> uses
<code>createCompositeSymbolProvider</code></li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-76432"><code>KT-76432</code></a>
JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with
ConeKotlinType but was FirUserTypeRefImpl</li>
</ul>
<h3>Analysis API. Infrastructure</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80717"><code>KT-80717</code></a>
Support IntelliJ Bazel build in the Kotlin Coop development mode</li>
</ul>
<h3>Analysis API. Light Classes</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80656"><code>KT-80656</code></a>
Duplicate no-args constructor in PSI</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-60490"><code>KT-60490</code></a>
Symbol Light Classes: Property accessors from a delegated interface
don't present in the delegating class</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-79689"><code>KT-79689</code></a>
SymbolLightClassForClassLike.toString() causes PSI tree loading</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80690"><code>KT-80690</code></a>
Private interface functions are not present in light classes</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80256"><code>KT-80256</code></a>
K2: Certain actions in JPA code causes infinite PIEAE: &quot;Element
class CompositeElement of type REFERENCE_EXPRESSION (class
KtNameReferenceExpressionElementType)&quot;</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-79012"><code>KT-79012</code></a>
Add a high-level overview of light classes</li>
</ul>
<h3>Analysis API. Providers and Caches</h3>
<h4>Fixes</h4>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81476"><code>KT-81476</code></a>
Analysis API: <code>AlreadyDisposedException</code> from low-memory
cache cleanup</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80911"><code>KT-80911</code></a>
Analysis API: Execute session invalidation in a non-cancelable
section</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81242"><code>KT-81242</code></a>
Analysis API: Add UUID/lifetime properties to LL FIR session structure
logging</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80622"><code>KT-80622</code></a>
Analysis API: Visualise LL FIR session structure &amp; weight</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80904"><code>KT-80904</code></a>
Analysis API: &quot;Invalid dangling file module&quot; exception during
session invalidation</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78882"><code>KT-78882</code></a>
K2 AA: Calling containingSymbol on getProgressionLastElement causes
exception</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-58325"><code>KT-58325</code></a>
Analysis API: Combine
<code>LLKotlinStubBasedLibrarySymbolProvider</code>s in session
dependencies (optimization)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66"><code>f95cb2f</code></a>
Add ChangeLog for 2.3.0-RC3</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c"><code>9d65a2e</code></a>
KT-82901: Fix issue with converting Long.MIN_VALUE to Duration</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc"><code>35a9a82</code></a>
FE: Postpone DiscriminateSuspendInOverloadResolution</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614"><code>e0b7eea</code></a>
FE: Add tests for KT-82869</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b"><code>e66298c</code></a>
Add ChangeLog for 2.3.0-RC2</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108"><code>e490802</code></a>
[K/JS] Introduce a compiler argument to enable export of suspend
functions</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f"><code>585094b</code></a>
FIR2IR: Avoid generation of incorrect suspend adapter for custom
implementation</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722"><code>c69adc7</code></a>
FIR2IR: Rename and clarify contracts for suspicious utility
function</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c"><code>b4bb8bf</code></a>
FIR2IR: Pass original expected type to
applySuspendConversionIfNeeded</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058"><code>4718830</code></a>
FIR2IR: Add tests for KT-82590</li>
<li>Additional commits viewable in <a
href="https://github.com/JetBrains/kotlin/compare/v2.1.0...v2.3.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.jetbrains.kotlin:kotlin-gradle-plugin&package-manager=gradle&previous-version=2.1.0&new-version=2.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
… /maplibre_gl_example/android (#698)

Bumps
[org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) from
2.1.0 to 2.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/JetBrains/kotlin/releases">org.jetbrains.kotlin.android's
releases</a>.</em></p>
<blockquote>
<h2>Kotlin 2.3.0</h2>
<h2>Changelog</h2>
<h3>Analysis API</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80082"><code>KT-80082</code></a>
K2. False positive &quot;Cannot resolve method&quot; for self-bounded
generic with wildcard return type in Java interop</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80303"><code>KT-80303</code></a>
Move <code>:native:analysis-api-klib-reader</code> to
<code>:libraries:tools</code></li>
</ul>
<h3>Analysis API. Code Compilation</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-70860"><code>KT-70860</code></a>
K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to
java.lang.Void” on evaluating not-null variable on the line with
assigning null to that var</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78554"><code>KT-78554</code></a>
K2 IDE / Kotlin Debugger: ISE “No override for FUN
IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class
instance during evaluation</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-73201"><code>KT-73201</code></a>
K2 IDE: Error while evaluating expressions with local classes</li>
</ul>
<h3>Analysis API. FIR</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81378"><code>KT-81378</code></a>
Expected expression 'FirFunctionCallImpl' to be resolved caused by
<code>suspend {}</code></li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80473"><code>KT-80473</code></a>
Add events for tracking LL activities</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-46375"><code>KT-46375</code></a>
Analysis API: Support cross-file class redeclaration checks using
indices</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80471"><code>KT-80471</code></a>
Analysis API: Deduplicate equivalent call candidates in
<code>resolveToCallCandidates</code></li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-79653"><code>KT-79653</code></a>
[Analysis API] ContextCollector: BODY context of enum classes doesn't
contain enum entries</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-75858"><code>KT-75858</code></a>
K2 AA: False positive 'property must be initialized' on incremental
analysis with 'field' usage and semicolon in setter</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80231"><code>KT-80231</code></a>
AnnotationArgumentsStateKeepers doesn't restore the initial annotation
in some cases</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80233"><code>KT-80233</code></a>
Pull mutation out of AnnotationArgumentsStateKeepers</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-71466"><code>KT-71466</code></a>
<code>LLFirBuiltinsSessionFactory</code> uses
<code>createCompositeSymbolProvider</code></li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-76432"><code>KT-76432</code></a>
JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with
ConeKotlinType but was FirUserTypeRefImpl</li>
</ul>
<h3>Analysis API. Infrastructure</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80717"><code>KT-80717</code></a>
Support IntelliJ Bazel build in the Kotlin Coop development mode</li>
</ul>
<h3>Analysis API. Light Classes</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80656"><code>KT-80656</code></a>
Duplicate no-args constructor in PSI</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-60490"><code>KT-60490</code></a>
Symbol Light Classes: Property accessors from a delegated interface
don't present in the delegating class</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-79689"><code>KT-79689</code></a>
SymbolLightClassForClassLike.toString() causes PSI tree loading</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80690"><code>KT-80690</code></a>
Private interface functions are not present in light classes</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80256"><code>KT-80256</code></a>
K2: Certain actions in JPA code causes infinite PIEAE: &quot;Element
class CompositeElement of type REFERENCE_EXPRESSION (class
KtNameReferenceExpressionElementType)&quot;</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-79012"><code>KT-79012</code></a>
Add a high-level overview of light classes</li>
</ul>
<h3>Analysis API. Providers and Caches</h3>
<h4>Fixes</h4>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81476"><code>KT-81476</code></a>
Analysis API: <code>AlreadyDisposedException</code> from low-memory
cache cleanup</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80911"><code>KT-80911</code></a>
Analysis API: Execute session invalidation in a non-cancelable
section</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81242"><code>KT-81242</code></a>
Analysis API: Add UUID/lifetime properties to LL FIR session structure
logging</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80622"><code>KT-80622</code></a>
Analysis API: Visualise LL FIR session structure &amp; weight</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80904"><code>KT-80904</code></a>
Analysis API: &quot;Invalid dangling file module&quot; exception during
session invalidation</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78882"><code>KT-78882</code></a>
K2 AA: Calling containingSymbol on getProgressionLastElement causes
exception</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md">org.jetbrains.kotlin.android's
changelog</a>.</em></p>
<blockquote>
<h2>2.3.0</h2>
<h3>Analysis API</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80082"><code>KT-80082</code></a>
K2. False positive &quot;Cannot resolve method&quot; for self-bounded
generic with wildcard return type in Java interop</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80303"><code>KT-80303</code></a>
Move <code>:native:analysis-api-klib-reader</code> to
<code>:libraries:tools</code></li>
</ul>
<h3>Analysis API. Code Compilation</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-70860"><code>KT-70860</code></a>
K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to
java.lang.Void” on evaluating not-null variable on the line with
assigning null to that var</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78554"><code>KT-78554</code></a>
K2 IDE / Kotlin Debugger: ISE “No override for FUN
IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class
instance during evaluation</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-73201"><code>KT-73201</code></a>
K2 IDE: Error while evaluating expressions with local classes</li>
</ul>
<h3>Analysis API. FIR</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81378"><code>KT-81378</code></a>
Expected expression 'FirFunctionCallImpl' to be resolved caused by
<code>suspend {}</code></li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80473"><code>KT-80473</code></a>
Add events for tracking LL activities</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-46375"><code>KT-46375</code></a>
Analysis API: Support cross-file class redeclaration checks using
indices</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80471"><code>KT-80471</code></a>
Analysis API: Deduplicate equivalent call candidates in
<code>resolveToCallCandidates</code></li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-79653"><code>KT-79653</code></a>
[Analysis API] ContextCollector: BODY context of enum classes doesn't
contain enum entries</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-75858"><code>KT-75858</code></a>
K2 AA: False positive 'property must be initialized' on incremental
analysis with 'field' usage and semicolon in setter</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80231"><code>KT-80231</code></a>
AnnotationArgumentsStateKeepers doesn't restore the initial annotation
in some cases</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80233"><code>KT-80233</code></a>
Pull mutation out of AnnotationArgumentsStateKeepers</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-71466"><code>KT-71466</code></a>
<code>LLFirBuiltinsSessionFactory</code> uses
<code>createCompositeSymbolProvider</code></li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-76432"><code>KT-76432</code></a>
JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with
ConeKotlinType but was FirUserTypeRefImpl</li>
</ul>
<h3>Analysis API. Infrastructure</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80717"><code>KT-80717</code></a>
Support IntelliJ Bazel build in the Kotlin Coop development mode</li>
</ul>
<h3>Analysis API. Light Classes</h3>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80656"><code>KT-80656</code></a>
Duplicate no-args constructor in PSI</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-60490"><code>KT-60490</code></a>
Symbol Light Classes: Property accessors from a delegated interface
don't present in the delegating class</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-79689"><code>KT-79689</code></a>
SymbolLightClassForClassLike.toString() causes PSI tree loading</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80690"><code>KT-80690</code></a>
Private interface functions are not present in light classes</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80256"><code>KT-80256</code></a>
K2: Certain actions in JPA code causes infinite PIEAE: &quot;Element
class CompositeElement of type REFERENCE_EXPRESSION (class
KtNameReferenceExpressionElementType)&quot;</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-79012"><code>KT-79012</code></a>
Add a high-level overview of light classes</li>
</ul>
<h3>Analysis API. Providers and Caches</h3>
<h4>Fixes</h4>
<ul>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81476"><code>KT-81476</code></a>
Analysis API: <code>AlreadyDisposedException</code> from low-memory
cache cleanup</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80911"><code>KT-80911</code></a>
Analysis API: Execute session invalidation in a non-cancelable
section</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-81242"><code>KT-81242</code></a>
Analysis API: Add UUID/lifetime properties to LL FIR session structure
logging</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80622"><code>KT-80622</code></a>
Analysis API: Visualise LL FIR session structure &amp; weight</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-80904"><code>KT-80904</code></a>
Analysis API: &quot;Invalid dangling file module&quot; exception during
session invalidation</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-78882"><code>KT-78882</code></a>
K2 AA: Calling containingSymbol on getProgressionLastElement causes
exception</li>
<li><a
href="https://youtrack.jetbrains.com/issue/KT-58325"><code>KT-58325</code></a>
Analysis API: Combine
<code>LLKotlinStubBasedLibrarySymbolProvider</code>s in session
dependencies (optimization)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66"><code>f95cb2f</code></a>
Add ChangeLog for 2.3.0-RC3</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c"><code>9d65a2e</code></a>
KT-82901: Fix issue with converting Long.MIN_VALUE to Duration</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc"><code>35a9a82</code></a>
FE: Postpone DiscriminateSuspendInOverloadResolution</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614"><code>e0b7eea</code></a>
FE: Add tests for KT-82869</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b"><code>e66298c</code></a>
Add ChangeLog for 2.3.0-RC2</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108"><code>e490802</code></a>
[K/JS] Introduce a compiler argument to enable export of suspend
functions</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f"><code>585094b</code></a>
FIR2IR: Avoid generation of incorrect suspend adapter for custom
implementation</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722"><code>c69adc7</code></a>
FIR2IR: Rename and clarify contracts for suspicious utility
function</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c"><code>b4bb8bf</code></a>
FIR2IR: Pass original expected type to
applySuspendConversionIfNeeded</li>
<li><a
href="https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058"><code>4718830</code></a>
FIR2IR: Add tests for KT-82590</li>
<li>Additional commits viewable in <a
href="https://github.com/JetBrains/kotlin/compare/v2.1.0...v2.3.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.jetbrains.kotlin.android&package-manager=gradle&previous-version=2.1.0&new-version=2.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabriel <56477412+gabbopalma@users.noreply.github.com>
… /maplibre_gl/android (#700)

Bumps [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp)
from 4.12.0 to 5.3.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/square/okhttp/blob/master/CHANGELOG.md">com.squareup.okhttp3:okhttp's
changelog</a>.</em></p>
<blockquote>
<h2>Version 5.3.2</h2>
<p><em>2025-11-18</em></p>
<ul>
<li>
<p>Fix: Don't delay triggering timeouts. In Okio 3.16.0 we introduced a
regression that caused
timeouts to fire later than they were supposed to.</p>
</li>
<li>
<p>Upgrade: [Okio 3.16.4][okio_3_16_4].</p>
</li>
</ul>
<h2>Version 5.3.1</h2>
<p><em>2025-11-16</em></p>
<p>This release is the same as 5.3.0. Okio 3.16.3 didn't have a
necessary fix!</p>
<ul>
<li>Upgrade: [Okio 3.16.3][okio_3_16_3].</li>
</ul>
<h2>Version 5.3.0</h2>
<p><em>2025-10-30</em></p>
<ul>
<li>
<p>New: Add tags to <code>Call</code>, including computable tags. Use
this to attach application-specific
metadata to a <code>Call</code> in an <code>EventListener</code> or
<code>Interceptor</code>. The tag can be read in any other
<code>EventListener</code> or <code>Interceptor</code>.</p>
<pre lang="kotlin"><code> override fun intercept(chain:
Interceptor.Chain): Response {
    chain.call().tag(MyAnalyticsTag::class) {
      MyAnalyticsTag(...)
    }
<pre><code>return chain.proceed(chain.request())
</code></pre>
<p>}
</code></pre></p>
</li>
<li>
<p>New: Support request bodies on HTTP/1.1 connection upgrades.</p>
</li>
<li>
<p>New: <code>EventListener.plus()</code> makes it easier to observe
events in multiple listeners.</p>
</li>
<li>
<p>Fix: Don't spam logs with <em>‘Method isLoggable in android.util.Log
not mocked.’</em> when using
OkHttp in Robolectric and Paparazzi tests.</p>
</li>
<li>
<p>Upgrade: [Kotlin 2.2.21][kotlin_2_2_21].</p>
</li>
<li>
<p>Upgrade: [Okio 3.16.2][okio_3_16_2].</p>
</li>
<li>
<p>Upgrade: [ZSTD-KMP 0.4.0][zstd_kmp_0_4_0]. This update fixes a bug
that caused APKs to fail
[16 KB ELF alignment checks][elf_alignment].</p>
</li>
</ul>
<h2>Version 5.2.3</h2>
<p><em>2025-11-18</em></p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/square/okhttp/commit/75b9c267744cdd2e8b222d247052748ff0954304"><code>75b9c26</code></a>
Prepare for release 5.3.2.</li>
<li><a
href="https://github.com/square/okhttp/commit/ab48e5d86d0c0b16b3679b9b9522acf65db73da4"><code>ab48e5d</code></a>
Okio 3.16.4 (<a
href="https://redirect.github.com/square/okhttp/issues/9200">#9200</a>)</li>
<li><a
href="https://github.com/square/okhttp/commit/a9a4638b3d38b83782a959514b4183ddea0f071f"><code>a9a4638</code></a>
Prepare next development version.</li>
<li><a
href="https://github.com/square/okhttp/commit/ef72228d270c21962ab632b4c5a0dfd7ab4fd661"><code>ef72228</code></a>
Prepare for release 5.3.1.</li>
<li><a
href="https://github.com/square/okhttp/commit/674716746bb4efce30501b711ea3ec188c0d670d"><code>6747167</code></a>
Update com.squareup.okio to v3.16.3 (<a
href="https://redirect.github.com/square/okhttp/issues/9197">#9197</a>)</li>
<li><a
href="https://github.com/square/okhttp/commit/0960b47ec28a02e893499d2a7e53bf462a62875e"><code>0960b47</code></a>
Prepare for release 5.3.0.</li>
<li><a
href="https://github.com/square/okhttp/commit/bfb24eb90b3be7fb73541ea02ce8d5dfc4021709"><code>bfb24eb</code></a>
Support Request Bodies on HTTP1.1 Connection Upgrades (<a
href="https://redirect.github.com/square/okhttp/issues/9159">#9159</a>)</li>
<li><a
href="https://github.com/square/okhttp/commit/cf4a86439568e640c39da5e4e73af6565a5510b1"><code>cf4a864</code></a>
Update Gradle to v9.2.0 (<a
href="https://redirect.github.com/square/okhttp/issues/9171">#9171</a>)</li>
<li><a
href="https://github.com/square/okhttp/commit/4e7dbec1ea6c9cf8d80422ac9d44b9b185c749a3"><code>4e7dbec</code></a>
Update dependency com.puppycrawl.tools:checkstyle to v12.1.1 (<a
href="https://redirect.github.com/square/okhttp/issues/9169">#9169</a>)</li>
<li><a
href="https://github.com/square/okhttp/commit/0470853d724ec9e3c68a6ef83a4d1a60a73ef289"><code>0470853</code></a>
Add tags to calls, including computable tags (<a
href="https://redirect.github.com/square/okhttp/issues/9168">#9168</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/square/okhttp/compare/parent-4.12.0...parent-5.3.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.squareup.okhttp3:okhttp&package-manager=gradle&previous-version=4.12.0&new-version=5.3.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabriel <56477412+gabbopalma@users.noreply.github.com>
…fixed minor bugs. Added MapLibre logo options.
… JSAny values. Improve jsify function to create JS arrays correctly
…sposing. Fixed lineDasharray and patterns reset to null in layer_properties.dart
…oid. Refactor upload images on web, now all are converted to RGBA format.
Copilot AI review requested due to automatic review settings January 6, 2026 23:01
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

First stable release (v1.0.0) of the Flutter MapLibre GL package, featuring critical WASM compatibility through modern JS interop migration, major Android SDK update (v11→v12), complete example app redesign, logo customization, and numerous bug fixes across all platforms.

Key Changes

  • Migration to modern dart:js_interop for WASM support (Flutter 3.38.4+ compatible)
  • MapLibre Android SDK upgraded to v12.3.0
  • Complete example app refactoring with responsive UI and shared widgets
  • Logo customization features (visibility and position control)
  • Pattern property handling improvements for Android and web
  • Layer property null handling enhancements

Reviewed changes

Copilot reviewed 94 out of 97 changed files in this pull request and generated no comments.

Show a summary per file
File Description
scripts/templates/layer_properties.dart.template Added skipNulls parameter to toJson() for optional null inclusion
scripts/templates/LayerPropertyConverter.java.template Pattern property handling for string vs expression values
scripts/lib/generate.dart Added isPatternProperty flag detection
maplibre_gl_web/lib/src/utils.dart Fixed JS array creation in jsify()
maplibre_gl_web/lib/src/ui/map.dart Nullable JSAny handling for paint/layout properties
maplibre_gl_web/lib/src/maplibre_web_gl_platform.dart WASM-compatible camera options, RGBA image conversion, improved error handling
maplibre_gl_web/lib/src/interop/* Updated interop signatures for nullable JSAny
maplibre_gl_web/lib/src/convert.dart Logo position handling
maplibre_gl_platform_interface/lib/src/ui.dart New LogoViewPosition enum
maplibre_gl_example/pubspec.yaml Updated asset paths for pattern images
maplibre_gl_example/lib/translucent_full_map.dart Updated imports and camera position
maplibre_gl_example/lib/shared/* New shared widgets and utilities
maplibre_gl_example/lib/examples/* Reorganized examples by category
maplibre_gl_example/lib/main.dart Grouped examples by category with Material 3 UI
maplibre_gl_example/android/settings.gradle Android/Kotlin version updates
maplibre_gl/lib/maplibre_gl.dart Exported LogoViewPosition

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@gabbopalma gabbopalma added this to the 1.0.0 milestone Jan 6, 2026
@gabbopalma gabbopalma added enhancement New feature or request next version This feature will added in the next version labels Jan 6, 2026
@gabbopalma gabbopalma self-assigned this Jan 6, 2026
Copy link
Collaborator

@josxha josxha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @gabbopalma, it's nice that you put in effort in maintaining maplibre_gl. I just wonder how it comes that you want to release the previously tagged v0.25.0 release as v1.0.0? Over the last year, the package had four breaking releases. Do you plan to keep the API stable for a longer time from now on?

This major version marks the maturity and stability of the Flutter MapLibre GL package.

How do you measure maturity and stability here? There are newer bug reports that haven't been addressed yet and are releated to stablity and outdated implementations.

We now follow standard semantic versioning.

The package already followed semver with its pre v1 releases, hasn't it?

BREAKING: Modern JS Interop Migration

No public API changes - this is an internal implementation update

You mention that this change is breaking but contains no public API changes. Are there any other migration steps users have to do that makes this change breaking?

Pushing out a version 1.0.0 feels a bit rushed to me. There is always be a breaking change at some point in the future, question how early or far in the future. I am a bit worried that if you are going for a v1.0.0 release now, that it could have implications later on.

@gabbopalma
Copy link
Collaborator Author

Hi @josxha, thanks for sharing your point of view.

I agree that we’re not at full stability yet, especially when looking at the remaining technical debt. That said, most of the currently open issues have already been addressed in practice but were never properly closed, and only a few genuinely tricky bugs are still outstanding. Overall, the number of issues that really affect production is quite small, and the package already behaves well in real-world usage.

The main reason for moving from 0.x.x to 1.x.x wasn’t to claim “perfect stability,” but to align with semver and move out of the long pre-v1 phase. Staying on 0.x can make the package look more experimental than it actually is, which I don’t think reflects its current maturity.

You mention that this change is breaking but contains no public API changes.

That was my mistake, sorry about that. Edited.

Originally, I wanted to start a discussion on Slack before releasing 1.0.0 to check alignment, but yesterday it got a bit late and your comment arrived first. I wanted to create a poll so we can decide together on the best path forward.

That said, going back to the originally planned 0.25.0 release is absolutely fine for me as well. Thanks for raising the point and making me think it through more carefully.

In any case, I don’t see 1.0.0 as a statement of “full stability,” but rather as a signal of production readiness and ongoing commitment, while we continue improving and reducing technical debt over time.

@gabbopalma
Copy link
Collaborator Author

gabbopalma commented Jan 7, 2026

On further reflection, I agree that keeping version 0.25.0 is the right choice, as you recommended.

I would like to reserve version 1.0.0 for a structural update, specifically to try to introduce Pigeon and modernize our communication with the native platform. This will allow us to reorganize the code base and refine the APIs, significantly reducing technical debt before moving on to version V1.

So, as far as I'm concerned, we can proceed with version 0.25.0.

@gabbopalma gabbopalma changed the title Release 1.0.0 Release 0.25.0 Jan 7, 2026
@gabbopalma gabbopalma merged commit b65b3f0 into main Jan 7, 2026
17 checks passed
@gabbopalma gabbopalma deleted the release-0.25.0 branch January 7, 2026 20:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request next version This feature will added in the next version

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants