Skip to content

Commit

Permalink
Prepare 0.20.0 release (#443)
Browse files Browse the repository at this point in the history
Co-authored-by: Joscha <[email protected]>
  • Loading branch information
kuhnroyal and josxha committed Jun 7, 2024
1 parent d5306f1 commit cdc68bf
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 66 deletions.
9 changes: 6 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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`.
Expand All @@ -20,15 +20,18 @@ 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

* Added support for Swift Package Manager usage on iOS.
* 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
Expand Down
75 changes: 22 additions & 53 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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`.
4 changes: 2 additions & 2 deletions example/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions maplibre_gl_platform_interface/LICENSE
Original file line number Diff line number Diff line change
@@ -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:
Expand Down
4 changes: 2 additions & 2 deletions maplibre_gl_platform_interface/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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

Expand Down
1 change: 1 addition & 0 deletions maplibre_gl_web/LICENSE
Original file line number Diff line number Diff line change
@@ -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:
Expand Down
6 changes: 3 additions & 3 deletions maplibre_gl_web/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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

Expand All @@ -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:
Expand Down
6 changes: 3 additions & 3 deletions pubspec.yaml
Original file line number Diff line number Diff line change
@@ -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

Expand All @@ -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
Expand Down

0 comments on commit cdc68bf

Please sign in to comment.