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

8.0.0 Release and upcoming breaking changes #610

Closed
4 tasks done
kristfal opened this issue Jan 10, 2020 · 20 comments
Closed
4 tasks done

8.0.0 Release and upcoming breaking changes #610

kristfal opened this issue Jan 10, 2020 · 20 comments
Labels
Discussion General discussions, asking for input from users
Milestone

Comments

@kristfal
Copy link
Member

kristfal commented Jan 10, 2020

Here is a list of proposed breaking changes that I'd like to get into an 8.0.0 release. Feel free to add your thoughts and other breaking changes you'd like included in the next major release.

1) Make all Geoutils private

Reason: Geoutils started out as internal tools for transformations, but were exported to simplify development of the examples. Geoutils are quite specific and do not provide good enough general utility. We see this as users are asking for extensions and/or changes to these utils. Our goal is not to maintain generic geoutils, and as such we should point our users towards turf.js and make these utils private.

Consequence: Those who are using geoutils needs to find equivalent utils from turf.js. Examples needs to be updated to only use turf.js. At the same run, we should update all turf.js deps, as some are using old references.

2) Migrate iOS SDK to install via Cocoapods

Reason: React Native has embraced Cocoapods. Our current download process is suboptimal and suffers outage issues at times, so it makes much more sense for us to use pods now. This also allows RNMGL to coexist with mapbox-navigation-sdk and lays the groundwork for development of a RN Navigation SDK.

Consequence: Install instructions needs to be updated. Users with embedded installs need remove these SDKs manually. Unknown how this will work with Carthage users. Anyone not using Cocoapods yet will need to start using it.

3) Migrate to Android X

Reason: React Native has moved to AndroidX. We should follow so our users doesn't need to use a forward Jetifier.

4) Refactor Images
Reason: Images introduced in 7.0 deprecating SymbolLayer#images. We'll now remove and exctract images related code to its own Images component

Consequence: No SymbolLayer#images any more.

Consequence: Support for RN < 0.60 will be dropped.

@cjduncana
Copy link

Hello there 👋

I just started adding this tool to my company's project. Is there an estimated date for production release?

@kristfal
Copy link
Member Author

Hey,

no eta on the entire thing, but the cocoa pods change is landing today. In general you should have no issues going from 7.2.0 (coming today) to 8.X as long as you are on RN60+, use jetifier on Android and don’t use geoutils.

@mfazekas
Copy link
Contributor

mfazekas commented Feb 6, 2020

If time allows I'd also remote images attribute from ShapeSource (which we've deprecated in 7.0) and make Images a real component backed by it's own native component not a hack of ShapeSource, extracting image handling part from RCTMGLShapeSource

@mfazekas
Copy link
Contributor

AndroidX and Images are merged to master.

@StasDoskalenko
Copy link

Hey! Any plans to support MGLOpenGLStyleLayer? Thank you!

@mfazekas
Copy link
Contributor

mfazekas commented Mar 2, 2020

Hey! Any plans to support MGLOpenGLStyleLayer? Thank you!

Nope. Of course if there is a PR we're happy to merge. See #67

@mfazekas
Copy link
Contributor

mfazekas commented Mar 3, 2020

I'd also like to change VectorSource and ShapeSource #onPress from:

onPress(e) {
    const feature = e.nativeEvent.payload;
    ...
}

to

onPress({features, coordinates, point}) {
    ...
}

This allows all the features to be passed (in case there was multiple features found at the point of press) also we can pass more info like screen and lat lng coordinates of tap.

See #700

@lukemcgregor
Copy link

Is there any way to use jest with maps, before this release? It looks like the docs on the frontpage apply to 8.

@mfazekas
Copy link
Contributor

mfazekas commented Mar 9, 2020

I thinks most of what we wanted from 8.0 is there. I think we could do a beta or event rc build

@kristfal if you agree can you do a release?!

@systemlevel
Copy link
Contributor

We'd love to test version 8. What's the status of being able to use version 8 without use_frameworks currently?

https://github.com/react-native-mapbox-gl/maps/issues/635#issuecomment-578391216

Hoping there's a static framework option for those of us with use_frameworks incompatibilities.

@mfazekas
Copy link
Contributor

mfazekas commented Mar 9, 2020

@systemlevel AFAIK there was no effort to allow it to be used without use_frameworks!.

@mfazekas
Copy link
Contributor

mfazekas commented Mar 9, 2020

I've released 8.0.0-beta to npm

@mfazekas
Copy link
Contributor

@systemlevel there is a PR #714 which offers a workaround for use_frameworks! please test

@ansarikhurshid786
Copy link
Contributor

will latest version support react-native v0.59.10 or not?

@mfazekas
Copy link
Contributor

mfazekas commented Mar 12, 2020

@ansarikhurshid786 8.0.0 is AndroidX so RN 0.60+, but you might get it running using jetifier in reverse mode.

See https://github.com/mikehardy/jetifier#to-reverse-jetify--convert-node_modules-dependencies-to-support-libraries

@ansarikhurshid786
Copy link
Contributor

Thanks, i will check with jetifier.

@ansarikhurshid786
Copy link
Contributor

I am getting error :
Unable to find a matching configuration of project :@react-native-mapbox-gl_maps:

can you please help me

@bertday
Copy link
Contributor

bertday commented Mar 18, 2020

Hi all, first off thank you so much for you hard work on this awesome project! Looking forward to using Mapbox GL + React Native 🤓

I just wanted to leave a quick comment that I followed the Installation + Getting Started steps and ran into a few issues getting the sample code to run.

  1. I think cd ios && pod install might be missing from the install step.
  2. The app was crashing for me on start, which I fixed by following the instructions at Allow to be consumed without use_frameworks! #714. However, I wouldn't have known to add that line to my Podfile.

Sorry if these are already known issues with the documentation - but just wanted to give my feedback as a newcomer.

Thanks you!

@mfazekas
Copy link
Contributor

@rbrtmrtn those should be covered in installation guide and ios sections

see https://github.com/react-native-mapbox-gl/maps/#installation-guides
https://github.com/react-native-mapbox-gl/maps/blob/master/ios/install.md

@bertday
Copy link
Contributor

bertday commented Mar 18, 2020

Sorry @mfazekas, I must have read through too fast 😄 Thank you!

@ferdicus ferdicus unpinned this issue Apr 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Discussion General discussions, asking for input from users
Projects
None yet
Development

No branches or pull requests

9 participants