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

v6 Release Preparation #1632

Merged
merged 39 commits into from
Oct 7, 2023
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
2ab2ae8
Added infomation logging
JaffaKetchup Aug 30, 2023
09cb09c
Updated LICENSE
JaffaKetchup Aug 30, 2023
8675b7a
Removed unnecessary dedicated plugin import
JaffaKetchup Aug 30, 2023
c54e02e
Updated example app's page routes
JaffaKetchup Aug 30, 2023
c81176b
Improved screen point / `LatLng` example pages
JaffaKetchup Aug 30, 2023
ebb6e07
Updated CHANGELOG
JaffaKetchup Aug 30, 2023
0c0e8cc
Check for web platform before informing about 'flutter_map_cancellabl…
JaffaKetchup Aug 30, 2023
748e40d
Adjusted CHANGELOG
JaffaKetchup Sep 1, 2023
46cb337
Moved 'positioned_tap_detector_2.dart' to more appropriate directory
JaffaKetchup Sep 1, 2023
ba9b686
Updated changelog with #1636
JaffaKetchup Sep 1, 2023
2733362
Updated CHANGELOG
JaffaKetchup Sep 7, 2023
20d9821
Merge branch 'master' into release-prep
JaffaKetchup Sep 7, 2023
5d8926b
Removed unnecessary null check
JaffaKetchup Sep 7, 2023
1fecc97
Recreate 'example/windows/'
JaffaKetchup Sep 8, 2023
211aeea
Merge branch 'master' into release-prep
JaffaKetchup Sep 8, 2023
e8998ba
Added maintainer application link to CHANGELOG
JaffaKetchup Sep 8, 2023
8042710
Updated CHANGELOG
JaffaKetchup Sep 9, 2023
b369a78
Updated CHANGELOG
JaffaKetchup Sep 10, 2023
33f15b6
Added donation info
JaffaKetchup Sep 15, 2023
2d1a486
Updated CHANGELOG
JaffaKetchup Sep 25, 2023
46b31a0
Updated CHANGELOG
JaffaKetchup Sep 27, 2023
5852e33
Updated CHANGELOG
JaffaKetchup Sep 27, 2023
860fe86
Updated Discord invite link in issue template config
JaffaKetchup Sep 29, 2023
f441fdf
Improved Tile Builder example page
JaffaKetchup Sep 30, 2023
d6fccfd
Updated CHANGELOG
JaffaKetchup Oct 2, 2023
99187c0
Merge branch 'master' into release-prep
JaffaKetchup Oct 2, 2023
393d9d3
Fixed invalid imports
JaffaKetchup Oct 2, 2023
b7eaf04
Updated dependencies
JaffaKetchup Oct 3, 2023
40ea29f
Updated CHANGELOG
JaffaKetchup Oct 3, 2023
986f12c
Removed redundant & internal type conversions (part of #1678 by @bramp)
JaffaKetchup Oct 4, 2023
781f01b
Added logging for likely improper setup of retina mode
JaffaKetchup Oct 4, 2023
92ac66a
Merge branch 'master' into release-prep
JaffaKetchup Oct 5, 2023
9de3407
Fixed formatting
JaffaKetchup Oct 5, 2023
231071c
Updated CHANGELOG
JaffaKetchup Oct 6, 2023
c53a950
Updated CHANGELOG
JaffaKetchup Oct 6, 2023
03c3f26
Merge branch 'master' into release-prep
JaffaKetchup Oct 6, 2023
e8c2d50
Updated CHANGELOG
JaffaKetchup Oct 6, 2023
dfbe59c
Merge branch 'master' into release-prep
JaffaKetchup Oct 7, 2023
b98cdd2
Adjusted default `MapOptions.cameraConstraint` to prevent out-of-boun…
JaffaKetchup Oct 7, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 61 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,66 @@
# Changelog

## [5.0.0] - 2023/06/XX
## [6.0.0] - 2023/08/XX

**"Photography"**

Contains the following changes:

- Added new `MapCamera` object to reduce scope of `MapController` & re-implemented internal state management - [#1551](https://github.com/fleaflet/flutter_map/pull/1551) with [#1614](https://github.com/fleaflet/flutter_map/pull/1614)
- Added support for rotation on desktop with cursor and keyboard trigger - [#1592](https://github.com/fleaflet/flutter_map/pull/1592) for [#1568](https://github.com/fleaflet/flutter_map/issues/1568)
- Added support for cancelling in-loading tiles to `TileProvider`s & refactored methods - [#1622](https://github.com/fleaflet/flutter_map/pull/1622)
- Added new `FlutterMap.simple` constructor for super-fast set up - [#1615](https://github.com/fleaflet/flutter_map/pull/1615)
- Added support for allowing gestures to bubble down to all layers - [#1615](https://github.com/fleaflet/flutter_map/pull/1615)
- Added `minZoom` property to `CameraFit`s - [#1562](https://github.com/fleaflet/flutter_map/pull/1562)
- Added `InteractiveFlag.doubleTapDragZoom` - [#1603](https://github.com/fleaflet/flutter_map/pull/1603)
- Added new options for rotation support to bounds fitting - [#1550](https://github.com/fleaflet/flutter_map/pull/1550) for [#1342](https://github.com/fleaflet/flutter_map/issues/1342)
- Moved interaction configurations from `MapOptions` into `InteractiveOptions` (accessed from `MapOptions`) - [#1551](https://github.com/fleaflet/flutter_map/pull/1551)
- Replaced `MapOptions.` `center`, `bounds`, `zoom`, and `rotation` with `initialCenter`, `initialCameraFit`, `initialZoom`, and `initialRotation` - [#1551](https://github.com/fleaflet/flutter_map/pull/1551)
- Replaced `MapOptions.maxBounds` with `MapOptions.cameraConstraint` - [#1551](https://github.com/fleaflet/flutter_map/pull/1551)
- Replaced `TileLayer.backgroundColor` property with `MapOptions.backgroundColor` to simplify interaction when using multiple tile layers - [#1578](https://github.com/fleaflet/flutter_map/pull/1578) for [#1577](https://github.com/fleaflet/flutter_map/issues/1577) & [#1566](https://github.com/fleaflet/flutter_map/issues/1566)
- Replaced `FlutterMap.nonRotatedChildren` with an inverse purpose (usually internal) `MobileLayerTransformer` - [#1615](https://github.com/fleaflet/flutter_map/pull/1615)
- Refactored internal tile pruning logic - [#1596](https://github.com/fleaflet/flutter_map/pull/1596)
- Removed `CustomPoint` in favour of extension methods on `Point<T>` - [#1585](https://github.com/fleaflet/flutter_map/pull/1585) for [#1522](https://github.com/fleaflet/flutter_map/issues/1522)
- Removed dedicated plugins API import due to redundancy - [#1632](https://github.com/fleaflet/flutter_map/pull/1632)

Contains the following bug fixes:

- Handled exceptions correctly in default image provider if no `fallbackUrl` is defined - [#1555](https://github.com/fleaflet/flutter_map/pull/1555) for [#1554](https://github.com/fleaflet/flutter_map/issues/1554)
- Ignored gestures on closed `RichAnimationWidget` when using `FadeRAWA` - [#1591](https://github.com/fleaflet/flutter_map/pull/1591) for [#1589](https://github.com/fleaflet/flutter_map/issues/1589)
- Fixed some `Polygon` edge-cases - [#1598](https://github.com/fleaflet/flutter_map/pull/1598) & [#1599](https://github.com/fleaflet/flutter_map/pull/1599)
- Fixed `TileLayer.reset` failing to load new tiles - [#1620](https://github.com/fleaflet/flutter_map/pull/1620)
- Fixed incorrect `Marker` anchoring when counter-rotating - [#1623](https://github.com/fleaflet/flutter_map/pull/1623)
- Fixed `fitBounds` failing to load new tiles - [#1626](https://github.com/fleaflet/flutter_map/pull/1626)
- Fixed `maxNativeZoom` apparently failing to have any effect - [#1627](https://github.com/fleaflet/flutter_map/pull/1627)
- Fixed in-memory caching support for tiles loaded by `NetworkTileProvider` - [#1629](https://github.com/fleaflet/flutter_map/pull/1629)
- Fixed `hasGesture` being `false` after double tap zoom in `onPositionChanged` callback - [#1465](https://github.com/fleaflet/flutter_map/issues/1465)

Contains the following performance improvements:

- Created official plugin to reduce tile loading times when running on web, using [#1622](https://github.com/fleaflet/flutter_map/pull/1622)'s infrastructure - [flutter_map_cancellable_tile_provider](https://pub.dev/packages/flutter_map_cancellable_tile_provider)
- Improved `Marker` performance when using anchors - [#1558](https://github.com/fleaflet/flutter_map/pull/1558) for [#1552](https://github.com/fleaflet/flutter_map/issues/1552)
- Improved `Polygon` performance when using labels - [#1607](https://github.com/fleaflet/flutter_map/pull/1607)
- Improved internal code style and strictness - [#1594](https://github.com/fleaflet/flutter_map/pull/1594)
- Added logging to warn of potential performance issues and recommend workarounds (such as 'flutter_map_cancellable_tile_provider') - [#1632](https://github.com/fleaflet/flutter_map/pull/1632)

In other news:

- A massive performance improvement on the web can now be gained easily by using the new official [flutter_map_cancellable_tile_provider](https://pub.dev/packages/flutter_map_cancellable_tile_provider) plugin! Check it out for more information about what it can do for you, when to use it, and how it works.
- 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):

- @jjoelson
- @envomer
- @rorystephenson
- @Robbendebiene
- @ignatz
- @josxha
- ... and all the maintainers

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

## [5.0.0] - 2023/06/04

**"Dart The Third"**

Expand Down
5 changes: 3 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
# Contributing

'flutter_map' is only as big and useful as it is because of generous open-source contributors!
'flutter_map' is only as great as it is because of generous open-source contributors!

We're always happy to receive improvements and fixes, so please submit them whenever you can! A few key points are listed below.

> Many feature additions are more suitable for plugins, instead of being added to the core. This is aimed to reduce the future maintenance burden/cost on the maintainers.
If we deny your PR for this reason, please do consider publishing a plugin, and we'll be happy to add it to the [Plugins List](https://docs.fleaflet.dev/plugins/list)! See [Making A Plugin](https://docs.fleaflet.dev/plugins/making-a-plugin) for more information.

* If your PR will add a major or breaking change, please discuss it with us first, via the Issue Tracker
* Always link your PR to at least one issue, and as many as are resolved
* Create a draft PR as soon as work starts, and take it out of draft status when ready for review
* Avoid changing the package version or GitHub workflows
* Fix issues reported by the GitHub workflows (such as lints & formatting)
* Fix issues reported by the GitHub workflows (such as formatting) yourself
4 changes: 3 additions & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
Copyright (c) 2018-2023, the 'flutter_map' authors and maintainers, loosely based on the original works of 'leaflet.js' by Vladimir Agafonkin & CloudMade
BSD 3-Clause License

Copyright (c) 2018-2023, the 'flutter_map' authors and maintainers

All rights reserved.

Expand Down
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,8 @@

A versatile mapping package for Flutter. Simple and easy to learn, yet completely customizable and configurable, it's the best choice for mapping in your Flutter app.

[![Pub.dev](https://img.shields.io/pub/v/flutter_map.svg?label=Latest+Version)](https://pub.dev/packages/flutter_map) [![Checks & Tests](https://badgen.net/github/checks/fleaflet/flutter_map?label=Checks+%26+Tests&color=orange)](https://github.com/fleaflet/flutter_map/actions?query=branch%3Amaster) [![points](https://img.shields.io/pub/points/flutter_map?logo=flutter)](https://pub.dev/packages/flutter_map/score)
[![stars](https://badgen.net/github/stars/fleaflet/flutter_map?label=stars&color=green&icon=github)](https://github.com/fleaflet/flutter_map/stargazers) [![likes](https://img.shields.io/pub/likes/flutter_map?logo=flutter)](https://pub.dev/packages/flutter_map/score)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[![Open Issues](https://badgen.net/github/open-issues/fleaflet/flutter_map?label=Open+Issues&color=green)](https://GitHub.com/fleaflet/flutter_map/issues) [![Open PRs](https://badgen.net/github/open-prs/fleaflet/flutter_map?label=Open+PRs&color=green)](https://GitHub.com/fleaflet/flutter_map/pulls)
[![pub.dev](https://img.shields.io/pub/v/flutter_map.svg?label=Latest+Version)](https://pub.dev/packages/flutter_map) [![stars](https://badgen.net/github/stars/fleaflet/flutter_map?label=stars&color=green&icon=github)](https://github.com/fleaflet/flutter_map/stargazers) [![likes](https://img.shields.io/pub/likes/flutter_map?logo=flutter)](https://pub.dev/packages/flutter_map/score)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[![Open Issues](https://badgen.net/github/open-issues/fleaflet/flutter_map?label=Open+Issues&color=green)](https://GitHub.com/fleaflet/flutter_map/issues) [![Open PRs](https://badgen.net/github/open-prs/fleaflet/flutter_map?label=Open+PRs&color=green)](https://GitHub.com/fleaflet/flutter_map/pulls)

---

## [Documentation](https://docs.fleaflet.dev/)

Expand Down
13 changes: 7 additions & 6 deletions example/lib/main.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_map_example/pages/animated_map_controller.dart';
import 'package:flutter_map_example/pages/cancellable_tile_provider/cancellable_tile_provider.dart';
import 'package:flutter_map_example/pages/cancellable_tile_provider.dart';
import 'package:flutter_map_example/pages/circle.dart';
import 'package:flutter_map_example/pages/custom_crs/custom_crs.dart';
import 'package:flutter_map_example/pages/epsg3413_crs.dart';
Expand All @@ -18,7 +18,7 @@ import 'package:flutter_map_example/pages/offline_map.dart';
import 'package:flutter_map_example/pages/overlay_image.dart';
import 'package:flutter_map_example/pages/plugin_scalebar.dart';
import 'package:flutter_map_example/pages/plugin_zoombuttons.dart';
import 'package:flutter_map_example/pages/point_to_latlng.dart';
import 'package:flutter_map_example/pages/screen_point_to_latlng.dart';
import 'package:flutter_map_example/pages/polygon.dart';
import 'package:flutter_map_example/pages/polyline.dart';
import 'package:flutter_map_example/pages/reset_tile_layer.dart';
Expand Down Expand Up @@ -68,16 +68,17 @@ class MyApp extends StatelessWidget {
TileLoadingErrorHandle.route: (context) =>
const TileLoadingErrorHandle(),
TileBuilderPage.route: (context) => const TileBuilderPage(),
InteractiveTestPage.route: (context) => const InteractiveTestPage(),
InteractiveFlagsPage.route: (context) => const InteractiveFlagsPage(),
ManyMarkersPage.route: (context) => const ManyMarkersPage(),
StatefulMarkersPage.route: (context) => const StatefulMarkersPage(),
MapInsideListViewPage.route: (context) => const MapInsideListViewPage(),
ResetTileLayerPage.route: (context) => const ResetTileLayerPage(),
EPSG4326Page.route: (context) => const EPSG4326Page(),
EPSG3413Page.route: (context) => const EPSG3413Page(),
PointToLatLngPage.route: (context) => const PointToLatLngPage(),
LatLngScreenPointTestPage.route: (context) =>
const LatLngScreenPointTestPage(),
ScreenPointToLatLngPage.route: (context) =>
const ScreenPointToLatLngPage(),
LatLngToScreenPointPage.route: (context) =>
const LatLngToScreenPointPage(),
FallbackUrlNetworkPage.route: (context) =>
const FallbackUrlNetworkPage(),
SecondaryTapPage.route: (context) => const SecondaryTapPage(),
Expand Down
2 changes: 1 addition & 1 deletion example/lib/pages/animated_map_controller.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import 'package:flutter_map_example/widgets/drawer.dart';
import 'package:latlong2/latlong.dart';

class AnimatedMapControllerPage extends StatefulWidget {
static const String route = 'map_controller_animated';
static const String route = '/map_controller_animated';

const AnimatedMapControllerPage({Key? key}) : super(key: key);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_map/flutter_map.dart';
import 'package:flutter_map/plugin_api.dart';
import 'package:flutter_map_example/pages/cancellable_tile_provider/ctp_impl.dart';
import 'package:flutter_map_cancellable_tile_provider/flutter_map_cancellable_tile_provider.dart';
import 'package:flutter_map_example/widgets/drawer.dart';
import 'package:latlong2/latlong.dart';

Expand Down
115 changes: 0 additions & 115 deletions example/lib/pages/cancellable_tile_provider/ctp_impl.dart

This file was deleted.

2 changes: 1 addition & 1 deletion example/lib/pages/circle.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import 'package:flutter_map_example/widgets/drawer.dart';
import 'package:latlong2/latlong.dart';

class CirclePage extends StatelessWidget {
static const String route = 'circle';
static const String route = '/circle';

const CirclePage({Key? key}) : super(key: key);

Expand Down
4 changes: 2 additions & 2 deletions example/lib/pages/custom_crs/custom_crs.dart
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import 'dart:math';

import 'package:flutter/material.dart';
import 'package:flutter_map/plugin_api.dart';
import 'package:flutter_map/flutter_map.dart';
import 'package:flutter_map_example/widgets/drawer.dart';
import 'package:latlong2/latlong.dart';
import 'package:proj4dart/proj4dart.dart' as proj4;
import 'package:url_launcher/url_launcher.dart';

class CustomCrsPage extends StatefulWidget {
static const String route = 'custom_crs';
static const String route = '/crs_custom';

const CustomCrsPage({Key? key}) : super(key: key);

Expand Down
4 changes: 2 additions & 2 deletions example/lib/pages/epsg3413_crs.dart
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import 'dart:math';

import 'package:flutter/material.dart';
import 'package:flutter_map/plugin_api.dart';
import 'package:flutter_map/flutter_map.dart';
import 'package:flutter_map_example/widgets/drawer.dart';
import 'package:latlong2/latlong.dart';
import 'package:proj4dart/proj4dart.dart' as proj4;
import 'package:url_launcher/url_launcher.dart';

class EPSG3413Page extends StatefulWidget {
static const String route = 'EPSG3413 Page';
static const String route = '/crs_epsg3413';

const EPSG3413Page({Key? key}) : super(key: key);

Expand Down
2 changes: 1 addition & 1 deletion example/lib/pages/epsg4326_crs.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import 'package:flutter_map_example/widgets/drawer.dart';
import 'package:latlong2/latlong.dart';

class EPSG4326Page extends StatelessWidget {
static const String route = 'EPSG4326 Page';
static const String route = '/crs_epsg4326';

const EPSG4326Page({Key? key}) : super(key: key);

Expand Down
12 changes: 6 additions & 6 deletions example/lib/pages/interactive_test_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@ import 'package:flutter_map/flutter_map.dart';
import 'package:flutter_map_example/widgets/drawer.dart';
import 'package:latlong2/latlong.dart';

class InteractiveTestPage extends StatefulWidget {
static const String route = 'interactive_test_page';
class InteractiveFlagsPage extends StatefulWidget {
static const String route = '/interactive_flags_page';

const InteractiveTestPage({Key? key}) : super(key: key);
const InteractiveFlagsPage({Key? key}) : super(key: key);

@override
State createState() => _InteractiveTestPageState();
State createState() => _InteractiveFlagsPageState();
}

class _InteractiveTestPageState extends State<InteractiveTestPage> {
class _InteractiveFlagsPageState extends State<InteractiveFlagsPage> {
static const availableFlags = {
'Movement': {
InteractiveFlag.drag: 'Drag',
Expand All @@ -40,7 +40,7 @@ class _InteractiveTestPageState extends State<InteractiveTestPage> {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Interactive Flags')),
drawer: buildDrawer(context, InteractiveTestPage.route),
drawer: buildDrawer(context, InteractiveFlagsPage.route),
body: Padding(
padding: const EdgeInsets.all(8),
child: Column(
Expand Down
Loading