Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Update dependency flutter_map to v8 #9

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

BeneHa
Copy link
Owner

@BeneHa BeneHa commented Feb 14, 2025

This PR contains the following updates:

Package Type Update Change
flutter_map dependencies major 5.0.0 -> 8.0.0

Release Notes

fleaflet/flutter_map (flutter_map)

v8.0.0

Compare Source

"Infinite Worlds

Contains the following user-affecting changes:

  • 🟢 Added unbounded horizontal scroll (with the default projection) and support for layers to cross anti-meridian - #​1948 (💰), #​1969, #​1978, #​2000, #​2018, #​2025 for #​1582
  • 🟢 Added animated keyboard controls for gestures - #​1987
  • 🟢 Added filterQuality parameter to (Base)OverlayImage - #​1989
  • 🟢 Exposed BaseOverlayImage for external implementation/extension - #​1990
  • 🟡 Changed the majority of references to Point to Offset, and method names accordingly - #​1996
  • 🟡 Added integer tileDimension & deprecated TileLayer.tileSize - #​1940

Contains the following user-affecting bug fixes:

  • Fixed polygon hit detection when map rotated - #​1942 for #​1934
  • Fixed polygon hit detection when polygon invalid - #​1964 for #​1933
  • Eagerly listen to TileLayer.reset stream internally to ensure handler is fired - #​1943 for #​1808
  • Fixed some tile loading/pruning state issues - #​2007 for partially #​1837
  • Use Client instead of BaseClient in network tile/image provider - #​2011 for #​2010
  • Avoid closing externally created http.Client in NetworkTileProvider - #​2012 for #​2009

Contains the following user-affecting performance improvements:

  • Fixed performance-related bug where Polyline.renderHashCode included hashCode unnecessarily causing internal draw batching to fail - #​1967
  • Fixed massive performance-related bug where the simplification cache for the Polyline/gonLayers was incorrectly used - #​1991
  • Perform bounding-box culling prior to aggressive culling for Polylines - #​1993

Many thanks to these contributors (in no particular order):

v7.0.2

Compare Source

Note that this version causes a technically breaking change by removing PolygonLayer.useDynamicUpdate & PolylineLayer.useDynamicUpdate, introduced in v7.0.1. However, the implementations for these was broken on introduction, and their intended purpose no longer exists. Therefore, these should not have been used in any capacity, and should not affect any projects.

Contains the following user-affecting bug fixes:

  • Fixed significant performance issues with PolygonLayer & PolylineLayer inadvertently introduced by v7.0.1 - #​1925 for #​1921
  • Fixed bug where the holes of a Polygon would only appear if their winding direction was opposite to the direction of the Polygon.points - #​1925 for #​1924
  • Relaxed constraint on 'package:logger' dependency - #​1922 for #​1916
  • Allowed re-assignment of a MapController to a FlutterMap multiple times - #​1915 for #​1892

v7.0.1

Compare Source

Contains the following user-affecting bug fixes:

  • Implemented internal efficient(-ish) change detection for PolygonLayer & PolylineLayer - #​1904
  • Fixed PolygonLayer.useAltRenderer renderer when Polygons have multiple holes - #​1906
  • Fixed overlapping Polygon cutting & color/translucency mixing - #​1901
  • Downgraded dependencies to support Flutter 3.19 - #​1897

Contains the following user-affecting performance improvements:

  • Improved speed of isPointInPolygon method up to 40% - #​1907

v7.0.0

"onTap-ish At Last!"

Contains the following user-affecting changes:

  • 🟢 Added interactivity & hit detection to Polyline(Layer), Polygon(Layer), and Circle(Layer) - #​1822 (for #​1740 and #​385), #​1728, #​1886
  • 🟢 Made FlutterMap.options an optional parameter - #​1816
  • 🟢 Added alternative (Canvas.drawVertices) render pathway for PolygonLayer - #​1800
  • 🟢 Added Scalebar layer - #​1821
  • 🟢 Added TileUpdateTransformers.debounce to debounce tile requests - #​1850 (replaces #​1840)
  • 🟢 Added static Marker.computePixelAlignment method to calculate absolute alignment - #​1847
  • 🟢 Added StrokePattern, which supports solid, dotted, and dashed styles for Polylines and the border of Polygons - #​1855 (replaces #​1845), #​1865, #​1871, #​1875, #​1876
  • 🔴 Deprecated MapOptions.applyPointerTranslucencyToLayers - #​1822 for #​1740

Contains the following user-affecting bug fixes:

  • Fixed NetworkTileProvider poor performance and ClientExceptions/SocketExceptions on disposal - #​1742 for #​1761, #​1703, #​1698
  • Fixed Polygon/PolylineLayer failing to move on changes - #​1825
  • Prevented fatal crash due to infinite loop/memory leak at high zoom levels over some types of Polygon - #​1854 for #​1829
  • Fixed PolylineLayer exception: "The west longitude can't be smaller than the east longitude" - #​1879
  • Fixed LatLngBounds.center to work across world bounds - #​1860

Contains the following user-affecting performance improvements:

  • Added Polyline and Polygon simplification, and enhanced Polyline culling algorithm to work within the same Polyline - #​1704, #​1795, #​1805, #​1812
  • Cached projection of Polygon points & improved CRS internals - #​1801
  • Fixed PolygonLayer bundled drawing system - #​1800
  • Other miscellaneous generic performance enhancements across the board, and addition of stress tests to example application

Contains the following important internal changes (does not include changes to the example app, meta changes to the repo/org configuration, or minor changes):

  • Merged MapInternalController & MapControllerImpl, and removed "FlutterMap" prefix from some members - #​1738
  • Made LatLngBounds mutable - #​1834

Many thanks to these contributors (in no particular order):

v6.2.1

If possible, prefer to update directly to v7. This version is provided only to enable Flutter 3.22 compatibility without requiring a breaking change.

v6.2.0 was retracted from pub.dev due to a mistake in the release preparation. For more information, see this comment. v6.2.1 is the replacement without the issues.

Contains the following user-affecting changes:

  • Added support for Flutter 2.22 - #​1883

v6.1.0

Contains the following user-affecting changes:

  • 🟢 Added option to draw labels on top of all Polygons in a layer - #​1707
  • (Released 'flutter_map_cancellable_tile_provider' v2.0.0)

Contains the following user-affecting bug fixes:

  • Removed flutter_map text attribution when RichAttributionWidget.showFlutterMapAttribution is false - #​1712
  • Repaired TileLayer.tileBounds - #​1713 for #​1710
  • Added doubleTapDragZoom and scrollWheelZoom to InteractiveFlag.all - #​1726 for #​1725
  • Repaired correct movement for CircleLayer when panning - #​1735
  • Improved value distribution for MapPosition.hashCode - #​1747

Contains the following user-affecting performance improvements:

  • Optimized Bounds - #​1706
  • Avoided creating a new list on every frame unnecessarily - #​1708
  • Cull Polygon labels seperately (more strongly), and cache the TextPainter - #​1716
  • Avoided caching a single commonly-used multiplication - #​1743

Many thanks to these contributors (in no particular order):

And an additional special thanks to @​ignatz for investing so much of their time into this project recently - we appreciate it!

In other news:

  • A warm welcome to @​josxha, who's recently joined the maintainer team
  • We've also made some widespread minor improvmenents to the example application
  • Check out the new Showcase page on our docs for some awesome projects
  • We're working on some very exciting reworked features and performance improvements for v7 - keep an ear out by joining our Discord server

v6.0.1

Compare Source

Contains the following user-affecting bug fixes:

  • Fixed CircleMarker's incorrect appearance and size - #​1692 for #​1688
  • Fixed LateInitializationError when specifying initialCameraFit - #​1691 for #​1684
  • Fixed incorrect behaviour issues caused by the adjusted default MapOptions.cameraConstraint - #​1700 for #​1682 & #​1699
  • Fixed bug where not providing either wmsOptions nor urlTemplate caused a null exception in getTileUrl and when retinaMode is true - #​1701
  • Re-exported 'positioned_tap_detector_2' library (with TapPosition) - #​1694 for #​1693

Many thanks to these contributors (in no particular order):

v6.0.0

Compare Source

"Photography"

Contains the following user-affecting changes:

  • 🟢 Added new MapCamera object to reduce scope of MapController & re-implemented internal state management - #​1551 with #​1614
  • 🟢 Added support for rotation on desktop with cursor/pointer and keyboard trigger - #​1592 & #​1642 for #​1568
  • 🟢 Added support for cancelling in-loading tiles to TileProviders & refactored methods - #​1622
  • 🟢 Added support for allowing gestures to bubble down to all layers - #​1615
  • 🟢 Added minZoom property to CameraFits - #​1562
  • 🟢 Added InteractiveFlag.doubleTapDragZoom - #​1603
  • 🟢 Added in-memory caching support for tiles loaded by NetworkTileProvider, to reduce tile loading times and reduce unnecessary tile server requests - #​1629
  • 🟢 Added new options for rotation support to bounds fitting - #​1550 for #​1342
  • 🟢 Added new '{d}' 'dimension' placeholder to TileLayer.urlTemplate (via TileProvider.generateReplacementMap) to be filled with TileLayer.tileSize - #​1665 for #​1664
  • 🟡 Replaced interaction configurations from MapOptions with InteractionOptions (accessed from MapOptions) - #​1551
  • 🟡 Replaced MapOptions. center, bounds, zoom, and rotation with initialCenter, initialCameraFit, initialZoom, and initialRotation - #​1551
  • 🟡 Replaced MapOptions.maxBounds with MapOptions.cameraConstraint - #​1551
  • 🟡 Replaced TileLayer.backgroundColor property with MapOptions.backgroundColor to simplify interaction when using multiple tile layers - #​1578 & #​1647 for #​1577 & #​1566
  • 🟡 Replaced FlutterMap.nonRotatedChildren with an inverse purpose (usually internal) MobileLayerTransformer - #​1615
  • 🟡 Replaced Marker.anchor with Marker.alignment that uses built-in Alignment object - #​1659
  • 🟡 Replaced Marker.builder with non-builder Marker.child - #​1659
  • 🟡 Changed TileLayer.retinaMode behaviour - #​1673 for #​1670
  • 🟡 Changed some default arguments, including TileLayer.panBuffer and MapOptions.cameraConstraint - multiple PRs
  • 🔴 Removed CustomPoint in favour of extension methods on Point<T> - #​1585 for #​1522
  • 🔴 Removed MoveAndRotateResult in favour of a Record in format of ({bool moveSuccess, bool rotateSuccess}) - #​1636
  • 🔴 Removed Anchor, AnchorPos, and all anchor related terminology - #​1659
  • 🔴 Removed dedicated plugins API import - #​1632

Contains the following user-affecting bug fixes:

  • Handled exceptions correctly in default image provider if no fallbackUrl is defined - #​1555 for #​1554
  • Ignored gestures on closed RichAnimationWidget when using FadeRAWA - #​1591 for #​1589
  • Avoided setting 'User-Agent' header in TileProvider when running on the web, to avoid polluting the debug console with error messages - #​1677 for #​1654
  • Fixed some Polygon edge-cases - #​1598 & #​1599
  • Fixed TileLayer.reset failing to load new tiles - #​1620 for #​1619
  • Fixed incorrect Marker anchoring when counter-rotating - #​1623 for #​1500
  • Fixed fitBounds failing to load new tiles - #​1626 for #​1563
  • Fixed maxNativeZoom apparently failing to have any effect - #​1627 for #​1625
  • Fixed hasGesture being false after double tap zoom in onPositionChanged callback - #​1465 for #​1630
  • Fixed failure to attempt tile requests with fallbackUrl when an exception is thrown whilst decodeing instead of during the network request - #​1648 for #​1649
  • Fixed potential issues with building RichAttributionWidget - #​1661
  • Fixed TileLayer.fallbackUrl not being attempted when FlutterMapNetworkImageProvider failed to decode a non-image - part of #​1662 for #​1667
  • Fixed "PositionedTapDetector2" not correctly transforming global coords to local coords when the FlutterMap widget was Transformed - #​1676 for #​1675

Contains the following user-affecting performance improvements:

  • Created official plugin to reduce tile loading times when running on web, using #​1622's infrastructure - flutter_map_cancellable_tile_provider
  • Improved Polygon performance when using labels, by increasing batching ability and label location calculations - #​1607 & #​1641
  • Improved CircleMarker performance, by using a single CustomPainter instance and more efficient draw calls - #​1679
  • Improved internal code style and strictness - #​1594
  • Added logging to warn of potential performance issues and recommend workarounds (such as 'flutter_map_cancellable_tile_provider') - #​1632

In other news:

  • There's many new performance and cost-reducing improvments available (some may need some manual work to enable): please see the Highlights section on the Migrating To v6 docs page!
  • We now accept one-time donations! We're extremely grateful for anything you can spare. We'll donate 15% of what we receive to the OpenStreetMap Foundation, as a thanks for their excellent work. For more info, please see Support Us.
  • We're looking for sponsors and OSS projects that use FM significantly, and want to be advertised! For more info, please see Showcase.
  • We're on the hunt for maintainers to join the team! For more information, please see the application form.
  • OpenStreetMap Operations has warned us that users should move away from using subdomains with their tile servers, so please do! Appropriate warnings will now be logged in console should you fail to do this.

Many thanks to these contributors (in no particular order):

And an additional special thanks to @​rorystephenson for investing so much of their time into this project recently - we appreciate it!


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@BeneHa
Copy link
Owner Author

BeneHa commented Feb 14, 2025

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: pubspec.lock
Command failed: flutter pub upgrade flutter_map
Because flutter_map_animations 0.4.1 depends on flutter_map ^5.0.0 and test depends on flutter_map 8.0.0, flutter_map_animations 0.4.1 is forbidden.
So, because test depends on flutter_map_animations 0.4.1, version solving failed.


You can try one of the following suggestions to make the pubspec resolve:
* Try upgrading your constraint on flutter_map_animations: flutter pub add flutter_map_animations:^0.9.0
* Consider downgrading your constraint on flutter_map: flutter pub add flutter_map:^5.0.0
Failed to update packages.

@BeneHa
Copy link
Owner Author

BeneHa commented Feb 14, 2025

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant