Adding Cloud Firestore & Firebase to Flutter project (Android) - android

This is going to be a fairly long question, so I'll include a TL;DR at the end.
For days now, I've been trying to find a way to make my setup work, but to no avail. Now to make it complete and of aid to others, I'll be recording my steps here:
Steps to reproduce
Create a new Flutter project (compiles and runs without any warnings)
Create a new Firebase console project
Follow these instructions to add Firebase to android (also included below in case of version changes).
Add Cloud Firestore to the project in the pubspec.yaml
Encounter this error:
What went wrong:
Execution failed for task ':cloud_firestore:compileDebugJavaWithJavac'.
Firebase instructions (as of now)
Install Google Repository (revision 58 currently) (not necessary anymore according to this issue, but done for verification).
Copy the package name found in android/app/src/main/AndroidManifest.xml. In my case this was com.omnisciamus.fire. Use it to create a new android app in the Firebase project along with a debug key.
Drop the created google-services.json in android/app
Modify the android/build.gradle and android/app/build.gradle. I've changed this to using the latest versions (modifications included below).
At this point I reran the compilation to see if any issues popped up already, and we have 3 of these warnings, which is most likely the google services plugin, not something I can change anything about:
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
Now we add the dependencies in the pubspec.yaml, also included below.
Now there are several possible versions we can use, but I first tried the latest versions (by including a ^ in front of the versions).
Gradles
Changes to the android/build.gradle:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.0' // upgraded from 3.0.1
classpath 'com.google.gms:google-services:3.2.0' // added & upgraded from 3.1.1
}
}
And then we have the android/app/build.gradle:
//bottom of file
apply plugin: 'com.google.gms.google-services'
Pubspec
The dependencies structure of my pubspec looks like this:
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.0
firebase_analytics: 0.3.0
cloud_firestore: 0.3.1
Setup details
For additional details I've included my flutter doctor -v output:
[√] Flutter (Channel beta, v0.1.5, on Microsoft Windows [Version 10.0.16299.309], locale en-GB)
• Flutter version 0.1.5 at C:\Developer\Flutter\flutter
• Framework revision 3ea4d06340 (5 weeks ago), 2018-02-22 11:12:39 -0800
• Engine revision ead227f118
• Dart version 2.0.0-dev.28.0.flutter-0b4f01f759
[√] Android toolchain - develop for Android devices (Android SDK 27.0.0)
• Android SDK at C:\Android
• Android NDK at C:\Android\ndk-bundle
• Platform android-P, build-tools 27.0.0
• ANDROID_HOME = C:\Android
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)
[√] Android Studio (version 3.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)
[√] IntelliJ IDEA Ultimate Edition (version 2017.3)
• Flutter plugin version 22.2.2
• Dart plugin version 173.4548.30
[√] VS Code (version 1.21.1)
• VS Code at C:\Program Files\Microsoft VS Code
• Dart Code extension version 2.10.0
[√] Connected devices (1 available)
• Android SDK built for x86 • emulator-5554 • android-x86 • Android 6.0 (API 23) (emulator)
• No issues found!
Debug key
As this may become a tutorial I'll include a simple command to obtain the debug key (on Windows):
cd %JAVA_HOME%\bin & keytool -exportcert -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
TL;DR
Cloud_firestore crashes with a version of 0.3.x, how do you fix this?

As I discussed this with a few co-developers, I discovered that one had found a working setup: changing the version of cloud_firestore to be below 0.3.0, 0.2.9 for instance. According to this recently published issue, the issue is that the 'stable' version of flutter doesn't have certain features that cloud_firestore uses, which causes the errors you see when compiling. I'll update the question in a while to reflect this answer if requested.

I solved my current Cloud_Firestore problems by:
Changing the flutter channel from beta to master. Just run in the terminal flutter channel master. As proposed here Cloud Firestore 0.3.2 - Execution failed for task ...
worked with flutter dependencies: cloud_firestore: "^0.4.0" even cloud_firestore: "^0.3.2".
Hope this would help. I spent hours trying to figure it out why I could not compile my flutter app with cloud_firestore. I knew that the issue was around the flutter SDK versions, but I did not wanted to go for alpha. But the solution turned out to be as simple as using the master channel. Although, not sure yet what other issues may arise in the near future. However now, I can happily start testing with cloud firestore. ;)

For the Firebase plugins to work with Swift you need to use newer versions: But I am having android problems as well. I also tried switching flutter channel from beta to dev.
dependencies:
flutter:
sdk: flutter
cloud_firestore: "^0.4.0"
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.0
dev_dependencies:
flutter_test:
sdk: flutter
image_picker: 0.4.1
#google_sign_in: '>=2.1.0 '
google_sign_in: '3.0.0'
#firebase_analytics: '>=0.2.3'
firebase_auth: '>=0.4.5'
#firebase_auth: '>=0.5.3' #not working on android
#firebase_database: '>=0.3.5' #works on android
firebase_database: '0.4.2' #works on android
#firebase_storage: '>=0.1.4' #not Working on android
#firebase_storage: '0.2.0' #not working on android

I also had similar issues while using firebase in flutter. I solved it by using this dependencies in my android/build.gradle file and remove any other existing dependencies.
classpath 'com.android.tools.build:gradle:3.1.2'
classpath 'com.google.gms:google-services:3.2.1'
and used this version for firestore and google in pubspec.yaml
cloud_firestore: 0.7.3
And if you have version related issues with any other firebase product then refer this link

Related

Firebase_core depends on firebase_core_web and firebase_core_web requires flutter_web_plugins Error when trying to get dependencies of the project

So I wanted to continue working on a project I started around 5 months ago. When I left it (the last time a worked on it was like 2 months ago) I was able to run it both in my Android Emulator and in my Chrome browser.
To quickly explain the app, it was a simple login with Google that allowed the user to saw some images once he logged in. I used the following dependencies to achieve this:
firebase_auth: ^3.1.1
firebase_core: ^1.3.0
Keep in mind that those versions were the latest (stable) when I was developing this.
I tried upgrading them to the latest version but I also did not work...
When I installed the project on a new computer I got, I was obviously asked to get the dependencies. However, to my surprise, I got the following error:
Running "flutter pub get" in project...
Because firebase_core >=1.10.0 depends on firebase_core_web ^1.2.0 and firebase_core >=1.2.0 <1.10.0 depends on firebase_core_web ^1.1.0, firebase_core >=1.2.0 requires firebase_core_web ^1.1.0.
And because every version of firebase_core_web depends on flutter_web_plugins any from sdk, firebase_core >=1.2.0 requires flutter_web_plugins any from sdk.
So, because flutter_web_plugins from sdk doesn't exist (could not find package flutter_web_plugins in the Flutter SDK) and project depends on firebase_core ^1.3.0, version solving failed.
pub get failed (server unavailable) -- attempting retry 1 in 1 second...
I also ran Flutter doctor to see if anything was not properly set up, but I got the following output:
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 2.5.3, on Microsoft Windows [Version 10.0.22000.258], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[√] Chrome - develop for the web
[√] Android Studio (version 2020.3)
[√] VS Code (version 1.62.1)
[√] Connected device (2 available)
• No issues found!
I would really like to continue working on this project, but I am not able to get the dependencies because of the error shown above.
I appreciate your help!
In pubspec.yaml add firebase_core:any. Delete pubspec.lock. run flutter pub get. Then flutter run should work good.
I was able to fix this by downgrading Flutter to a previous version.
It seems that the issue was associated with the dependencies I mentioned above not being supported by the version I had. (I downgraded to Flutter 2.2.3 and I was able to run the app like before).
Thanks for the help!

Flutter issues with Android Firebase dependencies after Dependency Upgrades

i recently decided to upgrade my Flutter dependencies and pubspec.yaml all to newest versions according to pub.dev.
As i mainly tested with iOS i just realised pretty late, that my android build did not work any longer. The Error Message unfortunately was very low on direct information.
Gradle sync failed: Could not resolve all dependencies for configuration ':app:debugRuntimeClasspath'.
Problems reading data from Binary store in /private/var/folders/mw/s9362rr10qv43x_yh6qgm17w0000gn/T/gradle8805841490318013448.bin offset 286370 exists? true
Consult IDE log for more details (Help | Show Log) (25 s 303 ms)
I however decided to also provide my android studio an update to 4.1 and upgraded also the gradle dependencies.
dependencies {
classpath 'com.android.tools.build:gradle:4.1.2' // 3.5.1
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.4' // 4.3.3
}
The new attempt in android studio was providing a more relatable error in reference to Firebase
Gradle sync failed: Problems reading data from Binary store in /private/var/folders/mw/s9362rr10qv43x_yh6qgm17w0000gn/T/gradle1329056569736096566.bin offset 296201 exists? true
Corrupt serialized resolution result. Cannot find selected module (224) for constraint platform-runtime -> com.google.firebase:firebase-iid:21.0.1
Consult IDE log for more details (Help | Show Log) (10 m 18 s 294 ms)
My Flutter Doctor -v gives me confidence that everything is fine. (the Plugin Errors are an existing and known issue by the Flutter team with Android Studio 4.1 and not related)
[✓] Flutter (Channel stable, 1.22.6, on macOS 11.1 20C69 darwin-x64, locale de-DE)
• Flutter version 1.22.6 at /Users/kaibaier/development/flutter
• Framework revision 9b2d32b605 (5 days ago), 2021-01-22 14:36:39 -0800
• Engine revision 2f0af37152
• Dart version 2.10.5
• Pub download mirror https://pub.flutter-io.cn
• Flutter download mirror https://storage.flutter-io.cn
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
• Android SDK at /Users/kaibaier/Library/Android/sdk
• Platform android-30, build-tools 30.0.2
• ANDROID_HOME = /Users/kaibaier/Library/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 12.4)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 12.4, Build version 12D4e
• CocoaPods version 1.9.3
[!] Android Studio (version 4.1)
• Android Studio at /Applications/Android Studio.app/Contents
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
[✓] VS Code (version 1.52.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.18.1
[✓] Connected device (1 available)
• Redmi Note 8 (mobile) • 18d3ce30 • android-arm64 • Android 10 (API 29)
For the sake of completion i also add the pubspec.yaml dependencieswith the previous used Version. You will notice the big Version jump in Firebase and Google Maps
dependencies:
flutter:
sdk: flutter
permission_handler: ^5.0.1+1
cupertino_icons: ^1.0.0 #^0.1.3
firebase_core: ^0.7.0 # ^0.5.0
firebase_auth: ^0.20.0+1 # ^0.18.0+1
firebase_storage: ^7.0.0 # ^4.0.0
cloud_firestore: ^0.16.0 #^0.14.0+2
provider: ^4.3.3 #^4.3.2
flutter_spinkit: ^4.1.2+1
flutter_vector_icons: ^0.2.1
intl: ^0.16.1
image_cropper: ^1.3.1
image_picker: ^0.6.7+21 #^0.6.7+11
searchable_dropdown: ^1.1.3
flutter_colorpicker: ^0.3.5 #^0.3.4
flutter_masked_text: ^0.8.0
shared_preferences: ^0.5.12+4 #^0.5.8
path_provider: ^1.6.27 #^1.6.11
location: ^3.2.4 #^3.0.2
table_calendar: ^2.3.3 #^2.2.3
url_launcher: ^5.7.10 #^5.6.0
google_maps_flutter: ^1.1.1 #^0.5.32
flutter_google_places: ^0.2.6
http: ^0.12.2 #^0.12.1
uuid: ^2.2.2 #^2.0.4
flutter_appcenter_bundle: ^3.2.0+2
preload_page_view: ^0.1.4
device_preview: ^0.5.5 #^0.4.8
wakelock: ^0.2.1+1 #^0.1.4+2
Any help / ideas or thoughts are very welcome :)
UPDATE:
After trying to run the Test again on my android phone i run into another related error.
Note: /Users/kaibaier/development/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-0.7.0/android/src/main/java/io/flutter/plugins/firebase/core/FlutterFirebaseCorePlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDebugResources'.
> Problems reading data from Binary store in /private/var/folders/mw/s9362rr10qv43x_yh6qgm17w0000gn/T/gradle3299415366350440389.bin offset 0 exists? true
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
UPDATE #2:
I also posted the issue over here in GitHub
https://github.com/FirebaseExtended/flutterfire/issues/4848
UPDATE #3:
Ok i was able to figure out that this file: /private/var/folders/mw/s9362rr10qv43x_yh6qgm17w0000gn/T/gradle3299415366350440389.bin
only exists during a build phase. After the error is thrown, it is directly gone again.
Update #4:
I rolled back to the old firebase dependencies for now. Just upgraded the firebase storage. All runs smoothly after some pod and Grasflecks clean.
My issue still exists, as I hope to get back to the new versions of firebase dependencies . But for now I can build again .
I had exactly the same issue after a firebase upgrade. Along with pubspec.yaml There is another (somewhat hidden) dependency you need to upgrade in app/build.gradle. I changed mine from 17.x to this and all builds and runs.
implementation 'com.google.firebase:firebase-analytics:18.0.2'

Flutter run release fails: Minimum supported Gradle version is 5.6.4. Current version is 5.6.2

When trying to run my app with flutter run --release it throws an error:
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\Users\Chris\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\device_info-0.4.2+1\android\build.gradle' line: 22
* What went wrong:
A problem occurred evaluating root project 'device_info'.
> Failed to apply plugin [id 'com.android.internal.version-check']
> Minimum supported Gradle version is 5.6.4. Current version is 5.6.2. If using the gradle wrapper, try editing the distributionUrl in C:\Users\Chris\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\device_info-0.4.2+1\android\gradle\wrapper\gradle-wrapper.properties to gradle-5.6.4-all.zip
If I remove this device_info plugin, I get the same error just pointing to Gradle current version to be 4.10.2 due to another plugin flutter_plugin_android_lifecycle.
I don't understand. I tried updating my gradle-wrapper.properties to
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip
Previously it was set to 5.6.2, but this changed nothing. Also tried with 4.10.2, but it equally just get's ignored.
I updated the gradle version in my build.gradle to
buildscript {
ext.kotlin_version = '1.3.61'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
I created a new flutter project, just copied my pages and the pubspec... I tried in console, I tried with android studio. flutter clean, flutter build appBundle, deleting gradle versions, I tried everything I could think of or that I have read somewhere...
Nothing could help to get rid of this error, gradle insists that its current version is 5.6.2.
A new "virgin" flutter project however, I can run in release mode, without problems.
It appears these plugins will download their own gradle version. I could see it in Android Studio how an old gradle version is downloaded in contrary to the actual gradle version stated in my settings. Either way after 3 days with this, I'm running out of options and ideas.
Does anyone know how to solve this or to narrow the problem down? I also would be glad for an explanation on what's going on here.
My flutter doctor output:
[√] Flutter (Channel master, v1.17.1-pre.23, on Microsoft Windows [Version 10.0.18362.720], locale de-DE)
• Flutter version 1.17.1-pre.23 at C:\flutter
• Framework revision a2e6c30b44 (12 hours ago), 2020-04-03 20:26:01 -0700
• Engine revision 09bc1fc45e
• Dart version 2.8.0 (build 2.8.0-dev.19.0 e736495eb7)
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at C:\Users\Chris\AppData\Local\Android\sdk
• Platform android-R, build-tools 29.0.3
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
• All Android licenses accepted.
[√] Android Studio (version 3.6)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 45.0.1
• Dart plugin version 192.7761
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
[√] VS Code (version 1.43.2)
• VS Code at C:\Users\Chris\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.9.0
[√] Connected device (1 available)
• Lenovo A6020l36 • 32aac289 • android-arm64 • Android 5.1.1 (API 22)
• No issues found!
I found the problem.
It was a totally different plugin unique_identifier 0.0.3 that caused the error. After removing it, the app compiles dine again.
If you have a similar case: I had to test for every single package installed until I found it.

flutter: build fails after adding firebase_admob

I'm trying to add firebase_admob to my firebase app and getting the error below.
Could not determine the dependencies of task
':firebase_core:compileDebugAidl'.
The library com.google.android.gms:play-services-measurement-base is being requested by various other libraries at [[17.0.0,17.0.0]], but
resolves to 16.5.0. Disable the plugin and check your dependencies
tree using ./gradlew :app:dependencies.
I tried adding com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true to the gradle build file. Then this error goes away but the flutter app crashes when trying to launch in emulator.
below are my dependencies
random_string: 0.0.2
firebase_auth: ^0.14.0+5
firebase_database: ^3.0.7
google_sign_in: ^4.0.7
flutter_facebook_login: 2.0.1
provider: 3.0.0
rxdart: ^0.22.2
flutter_svg: ^0.14.0
collection: ^1.14.11
audioplayers: ^0.13.2
firebase_admob: ^0.9.0+7
Flutter version
Flutter 1.9.1+hotfix.2 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 2d2a1ffec9 (6 days ago) • 2019-09-06 18:39:49 -0700
Engine • revision b863200c37
Tools • Dart 2.5.0
Appreciate any help to fix this issue.
My guess is that two different plugins are referencing two different versions of the underlying Firebase gradle artifacts for Android.
The error message is giving you good advice about how to check the exact problem:
./gradlew :app:dependencies
Try running that command from the android subfolder of your Flutter project and see what it says.

Flutter build_runner package will not update

I have a weird Flutter 'get packages' issue:
Setup:
The project I am working on, up to this point has been using a rather basic, home-brewed model system. We have some functions to consume data, and without much validation, assign it to object keys inside immutable objects. It is rather crude, and we want to standardize on something more widely used, and hopefully robust.
Some recent research has pointed us to the built_value package, because it seems to offer not only a more standard way of defining models, but also can cut down on boiler plate that we have been writing over and over. We found some instructions online for adding this to our project. Essentially, we have to add two dependencies and two dev_dependencies. Here is what the basis pubspec.yaml looks like:
name: projectname
description: my project rocks!
version: 1.0.0
environment:
sdk: ">=2.0.0-dev.68.0 <3.0.0"
dependencies:
flutter:
sdk: 'flutter'
...
built_collection: '^4.1.0'
built_value: '^6.3.0'
dev_dependencies:
flutter_test:
sdk: flutter
build_runner: '^1.2.1'
built_value_generator: '^6.3.0'
And this is what flutter doctor says:
[√] Flutter (Channel stable, v1.0.0, on Microsoft Windows [Version
10.0.17134.523], locale en-US)
• Flutter version 1.0.0 at c:\flutter\flutter
• Framework revision 5391447fae (9 weeks ago), 2018-11-29 19:41:26 -0800
• Engine revision 7375a0f414
• Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)
[√] Android toolchain - develop for Android devices (Android SDK 28.0.3)
• Android SDK at C:\Users\MYUSER\AppData\Local\Android\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
• All Android licenses accepted.
[√] Android Studio (version 3.3)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 32.0.1
• Dart plugin version 182.5124
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
[√] Connected device (1 available)
• MY PHONE
• No issues found!
Issue:
On the surface, it looks like everything is ok. But then, in Intellij (where all this above was copied from), I use the flutter 'Packages get' command (even using the commandline version inside the project dir, I get the same results):
Running "flutter packages get" in projectname...
The current Dart SDK version is 2.1.0-dev.9.4.flutter-f9ebf21297.
Because build_runner >=1.2.0 depends on build_daemon >=0.2.0 which requires SDK version >=2.1.0 <3.0.0, build_runner >=1.2.0 is forbidden.
So, because projectnamedepends on build_runner ^1.2.1, version solving failed.
pub get failed (1)
Process finished with exit code 1
Now, the interesting part is that I have it set to use the 'stable' branch of flutter, which is currently at version "2.1.0-dev.9.4.flutter-f9ebf21297" which flutter doctor is registering as version "2.1.0". However, when trying to do the packages get command flutter seems to think that "2.1.0-dev.9.4.flutter-f9ebf21297" is not ">=2.1.0 <3.0.0".
All of the versions for the packages are the latest versions, according to their git repos. Flutter is up to date with the latest stable branch (I have redone this twice now to make sure). Flutter doctor command seems to think that everything is correct... and yet I cannot complete the 'packages get' command because build_daemon (a dep of build_runner) requires ">=2.1.0 <3.0.0" and the flutter script is not recognizing that version "2.1.0-dev.9.4.flutter-f9ebf21297" >= "2.1.0", which by it's own admission in flutter doctor, it is.
Request:
I have been racking my brain for solutions. I have tried switching to the master branch for flutter manually, but when I run it from Intellij, it switches right back to stable. I have tried a complete reinstall of flutter, and that did not help. I have been fighting with these things for a while now, thinking that I am doing something wrong, and have not made any headway. I have read every piece of documentation I can find on the topic, and nothing seems to indicate that anyone other than me is having this issue. So I am at a loss.
I am reaching out to the community, in an attempt to get this working. I feel like I am missing something glaringly obvious here, and I think having your eyes look at this in addition to mine, will help solve the issue. What do you suggest I do to resolve this issue?
Thanks in advance,
Loushou
Based on the release notes, this should be fixed on the later versions. The current version is build_runner: ^2.1.5 and this supports the null safety feature.
I suggest for this kind of situation to always check if the latest version of a plugin is available and use it. Most of the time the bugs/errors from the previous versions was being addressed on the succeeding versions.

Categories

Resources