Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: Mapsui/Mapsui

5.0.2

09 Dec 17:01

Choose a tag to compare

Small release mostly to fix the 'minX can not be greater than maxX' error that could occur when a geometry was empty. This bug was already in v4. This now became apparent because in v5 MRect throws on invalid input instead of fixing it.

What's Changed

🐛 Fixes

  • Fix invalid extent returned by empty geometry to avoid "minX can not be greater than maxX" error by @pauldendulk in #3253

⚙️ Infrastructure

  • Pack only library projects in Release Nugets workflow to avoid Android AOT failures by @Copilot in #3252

☢️ Experimental

Full Changelog: 5.0.1...5.0.2

5.0.1

01 Dec 21:33

Choose a tag to compare

What's Changed

🐛 Fixes

🛠️ Maintenance

  • Add .github/copilot-instructions.md for GitHub Copilot guidance by @Copilot in #3247
  • Realize a number of maintenance tasks by @pauldendulk in #3249

⚙️ Infrastructure

🧪 Samples

📝 Documentation

  • Update WPF quickstart to CLI-first with complete code examples by @Copilot in #3234
  • Update documentation to use dotnet CLI for NuGet installation by @Copilot in #3235
  • Fix quickstart documentation errors found during isolated build testing by @Copilot in #3236
  • Split Avalonia quickstart into separate XAML and C# steps with full diff blocks by @Copilot in #3237

☢️ Experimental

  • Add the Mapsui.Experimental.Rendering.Skia project by @pauldendulk in #3227
  • Add experimental VectorTileRenderer, VectorTileFeature and VectorTileStyle by @pauldendulk in #3231
  • Pass the IFeature along in the experimental CustomPointStyleRenderer by @pauldendulk in #3248

Full Changelog: 5.0.0...5.0.1

5.0.0

03 Nov 13:58
9166c7c

Choose a tag to compare

Mapsui 5.0.0

The focus of Mapsui v5 was more shared code across all frameworks and platforms. This was necessary because over time we started to support more UI Frameworks - currently ten (like MAUI, Avalonia and Uno Platform) - which individually support multiple platforms (like Windows, Android, iOS, WASM). To keep this maintainable we try to contain the bulk of the code in cross-framework/platform projects. Some specific topics we worked on for this release:

  • Harmonize the pointer events (mouse and touch). We map the UI Framework pointer events to our shared code early on so that most of the related code is cross platform: https://mapsui.com/v5/touch-and-mouse-handling/
  • MapInfo can now be requested with a GetMapInfo method on all our pointer events' EventArgs. In v4 we only had an Info event which contained the MapInfo: MapInfo: https://mapsui.com/v5/mapinfo/
  • All data fetching is now done by a central DataFetcher, making it easier to control the number of requests going out.
  • Handling images (SVGs and bitmaps) was rewritten so that you can specify a path to the image so that you do not have to load it in user code. There are also various options that allow for more flexibility: https://mapsui.com/v5/imagesource/
  • The LayerCollection now supports a basic mechanism for layer grouping.
  • Simplify navigation at startup by postponing the navigation call until the MapControl is initialized. Because of this the Map.Home method could be removed.
  • Many more things, just scroll through the 562 PRs below 😄

Upgrading from v4 to v5

There were plenty of breaking changes. We created an incomplete upgrade guide. It might help to ask Copilot to upgrade with this page as input: https://mapsui.com/v5/v5.0-upgrade-guide/

You could also feed it pages about the new functionality:

The folder with html pages of our code samples may also help:
https://github.com/Mapsui/Mapsui/tree/main/Samples/Mapsui.Samples.Blazor/wwwroot/codesamples

The upgrade guide is not complete. If you find tough issues that should be in there please post it on this discussion: #3220

Our general documentation is here: https://mapsui.com/v5/
You could compare it with the v4 documentation over here: https://mapsui.com/v4/

What is next?

This is an organically growing project and we do not have a long term planning, but these are our intentions:

  • The first thing to work on: Improve rendering. Rewrite it to be more performant. Improve vector tile rendering. We will add a Mapsui.Experimental.Rendering.Skia NuGet that can be used alongside the stable v5 releases.
  • Shorter release cycles. This means we release when significant new functionality was added, and we won't postpone the release to add something else.
  • The most painful missing feature is world wrap-around. This will be added at some point but we can not promise this will be in v6.
  • In our roadmap we mention some other things that could be considered for v6: https://mapsui.com/v5/roadmap/#mapsui-6-options
  • Mapsui will continue to grow and improve. Mapsui has been around for quite a while and will continue for even longer. We are in a good position right now where we can support many UI frameworks with a maintainable code base. It will improve further, step by step.

Thanks!

  • Thanks to everyone who contributed. See our contributors here: https://github.com/Mapsui/Mapsui/graphs/contributors
  • Thanks to the v5's new contributors, mentioned at the bottom of this post.
  • Thanks to the projects that we depend on. To name a few: SkiaSharp, NTS, BruTile, Svg.Skia, VexTile.TileSource.Mvt.
  • Thanks to all the UI Frameworks that are the reason Mapsui exists at all.
  • Thanks to the many users that came up with bug reports and suggestions.
  • Thanks to our sponsors.

What's Changed from 5.0.0-rc.3 to 5.0.0

🐛 Fixes

📦 Updates

🧪 Samples

📝 Documentation

Full Changelog: 5.0.0-rc.3...5.0.0

What's Changed from 4.0.0 to 5.0.0

Read more

5.0.0-rc.3

20 Oct 17:25
119cf65

Choose a tag to compare

Breaking Change

  • We had to remove the net8.0-ios and net8.0-maccatalyst because it broke the build on the GitHub Windows agent because it is out of support.

What's Changed

🐛 Fixes

  • Fix ObservableMemoryLayer for removing items and assigning with populated ObservableCollection by @pauldendulk in #3165
  • Fix NRE in tile cache by @pauldendulk in #3185
  • Add option to inject a custom HttpClient into the TileLayer by @janusw in #3196
  • Fix possible fetch loop in RasterizingLayer depending on timing by @pauldendulk in #3190

🚀 Features

📦 Updates

🛠️ Maintenance

🧪 Samples

New Contributors

Full Changelog: 5.0.0-rc.2...5.0.0-rc.3

5.0.0-rc.2

03 Oct 14:52
12fe198

Choose a tag to compare

What's Changed

🐛 Fixes

🚀 Features

♻️ Refactor

  • Rewrite rotation algorithm to avoid possible extreme values for extent by @pauldendulk in #3155

📦 Updates

🛠️ Maintenance

⚙️ Infrastructure

🧪 Samples

📝 Documentation

Full Changelog: 5.0.0-rc.1...5.0.0-rc.2

5.0.0-rc.1

26 Sep 16:45
2d016c9

Choose a tag to compare

What's Changed

🚀 Features

♻️ Refactor

📦 Updates

🛠️ Maintenance

🧪 Samples

Full Changelog: 5.0.0-beta.24...5.0.0-rc.1

5.0.0-beta.24

19 Sep 14:51
768b03f

Choose a tag to compare

What's Changed

🐛 Fixes

♻️ Refactor

📦 Updates

🛠️ Maintenance

🧪 Samples

  • Move parts of the vector tile sample code to a new Mapsui.Experimental.VectorTiles project by @pauldendulk in #3124

📝 Documentation

Full Changelog: 5.0.0-beta.23...5.0.0-beta.24

6.0.0-beta.23

12 Sep 19:27
b907524

Choose a tag to compare

What's Changed

🐛 Fixes

📦 Updates

🧪 Samples

🔧 Infrastructure

  • Add .github/release.yml for automated release notes categorization by @Copilot in #3110

🚀 Features

Full Changelog: 5.0.0-beta.22...5.0.0-beta.23

5.0.0-beta.22

08 Sep 20:03
1901969

Choose a tag to compare

What's Changed

🐛Fixes

♻️Refactor

📦Updates

  • Update dotnet sdk to 9.0.304 by @pauldendulk in #3101
  • Update Mapsui.UI.Uno.WinUI to Uno 6.2 and adjust RenderControl to be condition compilation-free by @ramezgerges in #3092

🛠️Maintenance

🧪Samples

Full Changelog: 5.0.0-beta.21...5.0.0-beta.22

5.0.0-beta.21

01 Sep 13:24
f8d41ef

Choose a tag to compare

What's Changed

Fixes

  • Fix pinch zoom not taking the offset of the map into account on Uno by @pauldendulk in #3089
  • MapView: prevent PinClicked event from being triggered multiple times by @janusw in #3095

Features

Documentation

Maintenance

  • Fix compilation errors in Assert.That syntax conversion by @Copilot in #3084
  • Convert ClassicAssert to Assert.That syntax in Mapsui.Tests by @Copilot in #3083
  • Replace all ClassicAssert usages with modern Assert.That syntax by @Copilot in #3085

Refactoring

New Contributors

Full Changelog: 5.0.0-beta.20...5.0.0-beta.21