From cdc68bfa0a53ce499a8c2fa1f2b76ad1dc563f2b Mon Sep 17 00:00:00 2001 From: Peter Leibiger Date: Fri, 7 Jun 2024 12:31:36 +0200 Subject: [PATCH] Prepare 0.20.0 release (#443) Co-authored-by: Joscha <34318751+josxha@users.noreply.github.com> --- CHANGELOG.md | 9 ++- RELEASE.md | 75 ++++++--------------- example/pubspec.yaml | 4 +- maplibre_gl_platform_interface/LICENSE | 1 + maplibre_gl_platform_interface/pubspec.yaml | 4 +- maplibre_gl_web/LICENSE | 1 + maplibre_gl_web/pubspec.yaml | 6 +- pubspec.yaml | 6 +- 8 files changed, 40 insertions(+), 66 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a92546099..36392ce4b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## UNRELEASED +## 0.20.0 A lot of files/classes have been renamed and moved around in this release. If you notice any build errors, please make sure to run `flutter clean`. @@ -20,8 +20,8 @@ If you notice any build errors, please make sure to run `flutter clean`. for more information. * Renamed the method channel to `plugins.flutter.io/maplibre_gl_*` in all packages. -* Renamed `Maplibre` to `MapLibre` to be in line with maplibre-native - (affects for example the classes MaplibreMap and MaplibreMapController). +* Renamed "Maplibre" to "MapLibre" to be in line with maplibre-native + (affects for example the classes `MaplibreMap` and `MaplibreMapController`). ### Changes @@ -29,6 +29,9 @@ If you notice any build errors, please make sure to run `flutter clean`. * Migrated main iOS plugin class from Objective-C to Swift. * Renamed iOS plugin classes from `Mapbox` to `MapLibre`. +**Full Changelog**: +[v0.19.0+2...v0.20.0](https://github.com/maplibre/flutter-maplibre-gl/compare/v0.19.0+2...v0.20.0) + ## 0.19.0 This is the first version where all packages are published on pub.dev. Please diff --git a/RELEASE.md b/RELEASE.md index 00734fa79..babae10f1 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,20 +1,13 @@ -# Release Process -This document describes the steps needed to make a release: -## **On the main branch:** +# Release Process -1. Update the top-level `CHANGELOG.md` with the commits/PRs since the previous - release (the changelogs for the other two packages link there). Ideally at - least PRs with breaking changes should already have modified the changelog to - list their breaking change. +This document describes the steps needed to make a release. +All packages are versioned and released together. -2. Update the library version in `pubspec.yaml` for each supported library: - - `maplibre_gl_platform_interface` - - `maplibre_gl_web` - - `flutter-maplibre-gl` +## Preparing a release -### Version numbering +### Define the release version number As long as we are on major version 0 (i.e. version number 0.xx.xx), we increase the minor component (e.g. from 0.16.0 to 0.17.0) for every breaking/significant @@ -23,52 +16,28 @@ release. We may want to make releases where we only increase the patch version (the final digits) for small bug-fix-releases or similar. -## Only on the GitHub release branch - -1. After performing the above changes on the main branch (new changelog and - versions), create a new git release branch from the main branch, named - like `git-release-x.y.z`. - -2. On that branch: - - a. In `flutter-maplibre-gl` and `maplibre_gl_web` in their respective - pubspec.yaml file, change the `ref` value for the maplibre git dependencies - from `main` to `git-release-x.y.z` (the new git release branch). - - b. In the example app's pubspec.yaml: change the git refs - for `maplibre_gl_platform_interface` and `maplibre_gl_platform_interface` to - the new git release branch and comment out the `dependency_overrides`. Then - the example app will use the packages from this git release branch, instead - of their local copies. This way, inter-package dependencies can be tested and - users can see how to correctly use the release in their app. - -4. Then, create a GitHub release (`x.y.z`) with a new git tag (`x.y.z`) from - this git release branch (This can be done from the GitHub web interface). - -## Only on the pub release branch +### Update the version number -1. After performing the above changes on the git release branch, create a new - pub release branch from the git release branch, named - like `pub-release-x.y.z`. +Update the library version in `pubspec.yaml` for each library: + - `maplibre_gl_platform_interface` + - `maplibre_gl_web` + - `maplibre_gl` (root directory) -2. On that branch: +Ensure that also the dependent sub-packages are updated to the new version. - a. In `flutter-maplibre-gl` and `maplibre_gl_web` in their pubspec.yaml files - change the maplibre git dependencies to hosted dependencies (regular pub.dev - dependencies) with the same version number. +### Update the changelog - b. In the example apps's pubspec.yaml file, change - the `maplibre_gl_platform_interface` and `maplibre_gl_platform_interface` - dependencies to use the hosted versions from pub.dev as well. +Update the `maplibre_gl` (root directory) `CHANGELOG.md` with the commits/PRs since the previous +release (the changelogs for the other two packages link there). Ideally at +least PRs with breaking changes should already have modified the changelog to +list their breaking change. -### Publishing order to pub.dev +### Create a PR -Then the 3 plugins can be published from this pub release branch in this order ( -because of the inter-package dependencies): +Commit all changes and create a PR targeting the main branch. -1. `maplibre_gl_platform_interface` -2. `maplibre_gl_web` -3. `flutter-maplibre-gl` +## Creating a release -(For the first two, of course only publish the contents of the relevant -subfolder with the same name) +After the release PR has been merged, the release can be created +by creating & pushing a tag on the main branch in the format `vVERSION`, +for example `v0.20.0`. \ No newline at end of file diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 9cc1af292..5c99092b1 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -12,8 +12,8 @@ environment: dependencies: flutter: sdk: flutter - - maplibre_gl: ^0.19.0 + maplibre_gl: + path: .. location: ^5.0.3 path_provider: ^2.0.15 http: ^1.1.0 diff --git a/maplibre_gl_platform_interface/LICENSE b/maplibre_gl_platform_interface/LICENSE index 41129b1fb..e0fb92ca1 100644 --- a/maplibre_gl_platform_interface/LICENSE +++ b/maplibre_gl_platform_interface/LICENSE @@ -1,3 +1,4 @@ +flutter-maplibre-gl Copyright (c) 2023, MapLibre contributors. flutter-maplibre-gl Copyright (c) 2021, m0nac0. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/maplibre_gl_platform_interface/pubspec.yaml b/maplibre_gl_platform_interface/pubspec.yaml index b74d604aa..e2b3c4444 100644 --- a/maplibre_gl_platform_interface/pubspec.yaml +++ b/maplibre_gl_platform_interface/pubspec.yaml @@ -1,6 +1,6 @@ name: maplibre_gl_platform_interface -description: A common platform interface for the maplibre_gl plugin. -version: 0.19.0+2 +description: A common platform interface for the maplibre_gl plugin. This package is only intended to be used by the maplibre_gl package. +version: 0.20.0 repository: https://github.com/maplibre/flutter-maplibre-gl issue_tracker: https://github.com/maplibre/flutter-maplibre-gl/issues diff --git a/maplibre_gl_web/LICENSE b/maplibre_gl_web/LICENSE index 41129b1fb..e0fb92ca1 100644 --- a/maplibre_gl_web/LICENSE +++ b/maplibre_gl_web/LICENSE @@ -1,3 +1,4 @@ +flutter-maplibre-gl Copyright (c) 2023, MapLibre contributors. flutter-maplibre-gl Copyright (c) 2021, m0nac0. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/maplibre_gl_web/pubspec.yaml b/maplibre_gl_web/pubspec.yaml index 67293c970..57a9b300b 100644 --- a/maplibre_gl_web/pubspec.yaml +++ b/maplibre_gl_web/pubspec.yaml @@ -1,6 +1,6 @@ name: maplibre_gl_web -description: Web platform implementation of maplibre_gl -version: 0.19.0+2 +description: Web platform implementation of maplibre_gl. This package is only intended to be used by the maplibre_gl package. +version: 0.20.0 repository: https://github.com/maplibre/flutter-maplibre-gl issue_tracker: https://github.com/maplibre/flutter-maplibre-gl/issues @@ -22,7 +22,7 @@ dependencies: flutter_web_plugins: sdk: flutter meta: ^1.3.0 - maplibre_gl_platform_interface: ^0.19.0+2 + maplibre_gl_platform_interface: ^0.20.0 image: ^4.0.17 dev_dependencies: diff --git a/pubspec.yaml b/pubspec.yaml index 210c0d345..c1d1a0634 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: maplibre_gl description: A Flutter plugin for integrating MapLibre Maps inside a Flutter application on Android, iOS and web platforms. -version: 0.19.0+2 +version: 0.20.0 repository: https://github.com/maplibre/flutter-maplibre-gl issue_tracker: https://github.com/maplibre/flutter-maplibre-gl/issues @@ -11,8 +11,8 @@ environment: dependencies: flutter: sdk: flutter - maplibre_gl_platform_interface: ^0.19.0+2 - maplibre_gl_web: ^0.19.0+2 + maplibre_gl_platform_interface: ^0.20.0 + maplibre_gl_web: ^0.20.0 dev_dependencies: very_good_analysis: ^5.0.0