NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #2667 most downloaded on pub.dev
iOS implementation of the Flutter MapLibre plugin.
Last release 1 months ago
25 Aug 2026
Release timing varies
gaps range from 2 weeks to 4 months
Nearly every release is documented
notes for 11 of 11 stable releases
Nothing withdrawn
no release was ever pulled
1 years old
11 releases · first in 2025
One column per month.
Thanks for everyone who contributed in this release!
Thanks for everyone who contributed in this release!
FrameLayout and its native map state per map create/disposeStyleController now releases its native style reference whenMapLibreMap is disposed, instead of staying technicallyStyleController and several map query methodsupdateGeoJsonSource, removeLayer/removeSource/removeImage,getLayerIds, getAttributionsSync, featuresAtPoint/featuresInRect)Contributors: @josxha, @emanuelesenis, @BartoszStasiurka, @D3CK3R, @Mazen-Embaby, @teamacco, @lukeboyden
This release contains a couple of bug fixes and improvements. Thanks to @BartoszStasiurka for his contributions in this release!
This release contains a couple of bug fixes and improvements.
Thanks to @BartoszStasiurka for his contributions in this release!
maxZoom to 22 for RasterSource, RasterDemSource and VectorSource.DownloadProgressdeleteRegion() to OfflineManageronStyleLoaded() unreliable if style not loaded immediatelyfeaturesAtPoint causes ClassNotFoundException in release buildsjni to v1.0.0, jnigen to 0.16.0Full Changelog: v0.3.4+1...v0.3.5
Contributors: @BartoszStasiurka, @josxha
Web: fix addSource() with raster and raster-dem source throws exception.
addSource() with raster and raster-dem source throws exception.addImage() results in image with wrong pixel ratio.animateCamera() causes the zoom level to jumps to the target zoom level.onStyleLoaded() callback is not called when style loads immediately.Full Changelog: v0.3.4...v0.3.4+1
Contributors: @josxha
This feature release introduces a complete migration of the iOS platform to FFI and experimental support for Windows and macOS has been added using wi
This feature release introduces a complete migration of the iOS platform to FFI and experimental support for Windows and macOS has been added using with web view.
The package has also been restructured into a federated plugin with separate packages for each platform.
padding parameter to moveCamera() and animateCamera().padding parameter of fitBounds() doesn't account for device pixel ratio.setState() if widget is not mounted.listOfflineRegions() throws exception if region packs are not available yet.addImage()Full Changelog: v0.3.3+2...v0.3.4
Contributors: @josxha
Fix addLayer() throws double release error on Android
addLayer() throws double release error on Androidfilter cannot be parsed on Androidmaplibre_ios to fix pub.dev scoreFull Changelog: v0.3.3...v0.3.3+1
Contributors: @josxha
Android: fix can't parse numeric array in layer properties
metadata parameter to OfflineRegionFull Changelog: v0.3.3+1...v0.3.3+2
Contributors: @josxha
This release focuses on stability improvements along with a few small enhancements. Notably, it is now possible to render a Flutter widget or canvas d
This release focuses on stability improvements along with a few small enhancements. Notably, it is now possible to render a Flutter widget or canvas directly into an image and use it as a map marker without any delay. Many thanks to @markszente and @BartoszStasiurka for their contributions to this release.
I would also like to extend my sincere gratitude to Thilko M., @oboukili, @ton-An, @YumNumm, and @smallTrogdor for helping fund the development of this package throughout 2025. Your support is truly appreciated!
padding to fitBounds() on iOS.Widget or Canvas into an image and use it as marker on the map.sourceLayerId to style layers for vector sources.filter expressions to style layers.MapEventCameraIdle, MapEventStartMoveCamera events on iOS.queryLayers() throws exception on iOS when receiving numeric layer IDs.onCameraMoved() callback returning altitude instead of zoom level on iOS.Full Changelog: v0.3.2...v0.3.3
Contributors: @markszente, @BartoszStasiurka, @josxha
Maintenance release that optimizes the package on pub.dev and fixes a bug in release builds on Android.
Maintenance release that optimizes the package on pub.dev and fixes a bug in release builds on Android.
pub.dev by restructuring the repository.jni / jnigen to ^0.15.1.Full Changelog: v0.3.1...v0.3.2
Contributors: @josxha
This release brings a couple of new features and bug fixes. The android platform view creation has been migrated to Dart. Android is now completely fr
This release brings a couple of new features and bug fixes.
The android platform view creation has been migrated to Dart. Android is now completely free from method channels.
minZoom, maxZoom to layers.aboveLayerId and atIndex to addLayer().addImages() to StyleController to add multiple images at once.addImageFromAssets() to load an image from Flutter assets.addImageFromIconData to add an image from Flutter icons.allowInteraction parameter in WidgetLayer not working on web.maxBounds parameterlinePattern int array causing crash on iOS.Contributors: @kekland, @josxha
Full Changelog: v0.3.0...v0.3.1
This release introduces breaking changes. Head over to the migration guide to learn more on how to update your implementation.
In this release, I'm blazed to finally announce support for iOS. Similar to our other platforms, iOS uses FFI to natively interop between Dart and Swift/ObjC. Checkout the iOS documentation to get started.
A big thanks to @mhernz, @gabbopalma and @jt274 that helped with their awesome contributions in this release!
This release introduces breaking changes. Head over to the migration guide to learn more on how to update your implementation.
geotypes to geobase.screenPoint parameter to MapEventUserInput events to show the screen coordinates in logical pixels where the user interacted with the map.rotationDuration in MapCompass to nativeRotationDuration.MapController functions are now called synchronously, their *Sync() overloads have been removed.FeatureCollection. This allows users to add properties to their layers.setStyle(), to know when the map style has loaded, listen to onStyleLoaded().androidTranslucentTextureSurface and androidForegroundLoadColor to use a translucent map.MapScalebar.units to support imperial units in the scalebar.featuresAtPoint() and featuresInRect() to MapController.pigeon 26.0.0BearingRenderModedart:io import to fix pub.dev WASM compatibility detectionContributors: @mhernz, @jt274, @gabbopalma, @josxha
Full Changelog: v0.2.2...v0.3.0
Initial release
Initial release
Your coding agent can read these notes before it upgrades. Set up the MCP server →