How to Determine the Available versions of Firebase - firebase

I would like to know how to get the latest version of Firebase. How would I select from latest, beta, or stable versions?
As of now, I believe the latest Firebase is version 3.5.1. I am not even sure.
Any help or suggestions is appreciated.

The latest Firebase releases, for all platforms, are listed in the release notes, which can be found here.
If you are using the NPM-distributed Firebase, you can run the following command to see the latest version:
npm view firebase version dist-tags
Which effects the following output:
version = '3.5.1'
dist-tags =
{ latest: '3.5.1',
'1.2.0-beta.1-0': '1.2.0-beta.1-0',
'1.2.0-beta.2': '1.2.0-beta.2',
'1.2.0-beta.3': '1.2.0-beta.3' }
Note that dist-tags includes the latest, stable release and some very old betas. As mentioned in the comments, the latest, stable release is the only Firebase release. If beta or next versions were to be released, they would typically be listed in the dist-tags.

Related

firebase_messaging dependecy consistency with the project

I have some questions and I would love to get answers because it's the first time that I develop using Flutter and Google services.
So I've been following a course on Udemy and it was created in 2020 but never updated and now after developping the half of the project I've faced a problem with Firebase Messaging, in the course the used version was 7.0.3 and now the latest version is 9.1.4 and a lot has changed.
I tried to install the 7.0.3 version but it didn't work !
Can you suggest any solution because as I said I'm a beginner and even by following some documentations, I find myself stuck and thanks in advance.
Looks like your dependencies are not compatible.
To solve this, you need to use compatible versions of firebase_core and firebase_messaging.
Your firebase_core version is 1.1.0 and the corresponding firebase_messagingversion is 9.1.3 as shown below, so you should use 9.1.3 to remove the error.
// pubspec.yaml of the firebase_messaging plugin
name: firebase_messaging
// ...
repository: https://github.com/FirebaseExtended/flutterfire/tree/master/packages/firebase_messaging/firebase_messaging
version: 9.1.3
// ...
dependencies:
firebase_core: ^1.1.0
//...
Source

Firestore is failed to build with Flutter for iOS

I want to add Firestore to Flutter app, and I have problems running it on iOS.
I already added this line to pubspec.yaml
cloud_firestore: ^0.6.3
Flutter is updated. Flutter doctor says that I have v0.3.1.
While compiling app for iOS simulator I got this build error
Xcode's output: ↳ /
Users/*********/.pub-cache/hosted/pub.dartlang.org/firebase_core-0.2.3/ios/Classes/FirebaseCorePlugin.m:7:9:
fatal error: 'Firebase/Firebase.h' file not found
#import <Firebase/Firebase.h>
^~~~~~~~~~~~~~~~~~~~~
1 error generated
I also run pod update to make sure that it is not issue with cocoapods.
UPDATE
After another research I found that deleting #use_frameworks! from Podfile in iOS folder let's project to compile. But what should be done in case when this can't be deleted?
The update to this gives me enough information to diagnose (hopefully). Flutter wasn't very good at supporting #use_frameworks & swift, but that was fixed fairly recently (mid-april 2018). However, it may not have made it to the beta channel yet at time of writing.
What was going on when #use_frameworks was set previously is that it wasn't linking everything into the right libraries, and a cocoapods bug was stopping it from finding certain files. The newest version of everything uses dynamic linking but has static_framework=true in the podfile for dependencies with static dependencies so that everything they need actually get linked into the right place.
This is fixed & tested on the master branch/channel, but should probably have made it to the dev branch/channel by now.
Here's the steps to makes sure your environment will support the fix, from this other github issue:
make sure you have Cocoapods 1.5.0 installed (pod --version should
say >= 1.5.0)
change any dependencies you have on the firebase_xxx, google_sign_in, or cloud_firestore plugins to the newest versions
(look for changelog entries referring to Cocoapods 1.5.0)
change your ios/Podfile to the newest version on Flutter master branch
(https://github.com/flutter/flutter/tree/master/packages/flutter_tools/templates/cocoapods)
delete ios/Podfile.lock and ios/Pods
switch to Flutter master (or dev) branch using flutter channel <branch>
flutter clean ; flutter run

How to check what is the latest version of an artifact available in nexus repository?

I have a java desktop app and a launcher that check if a newer version is available, or it will do that. But I can't figure out how to check out if an update (a newer version of the artifact) is available through the nexus api.
Also, I can't download the latest version. I tried the below url but I'm getting a 404.
This works: http://repository.sonatype.org/service/local/artifact/maven/redirect?r=central-proxy&g=io.github.bonigarcia&a=webdrivermanager&v=LATEST
This not: http://127.0.0.1:8081/service/local/artifact/maven/redirect?r=maven-group&g=io.github.bonigarcia&a=webdrivermanager&v=LATEST
This artifact is just an example, it exists on my repository
http://127.0.0.1:8081/repository/maven-group/io/github/bonigarcia/webdrivermanager/1.7.0/webdrivermanager-1.7.0.pom
I don't understand what is going on. What I'm missing?
Note: Nexus version 3.4.0-02 (I have to update yet)

Automatically update dependencies declared by local Meteor packages

It is rather tedious when trying to get dependencies of local Meteor packages up-to-date.
Currently, they are specified in package.js like and I have to check for latest version of each dependency used and update manually.
E.g.
api.use([
'alanning:roles#1.2.14',
'aldeed:simple-schema#1.5.3',
'aldeed:collection2#2.8.0',
'iron:router#1.0.12',
'useraccounts:iron-routing#1.12.4'
]);
Can meteor-tool do this or is there a better way to update packages' dependencies, especially useful when you have multiple local packages in a project.
There is no real value in bumping the dependency version in package.js, as I mentioned in my comment. It could lead to the counter effect and break version resolution.
The expectation is to mention the minimal compatible version (with the same major version number). When your local package is updated, its .versions file is updated as well, which may hint the build system which version of the dependency is the preferred one to use (the one that your package was built with).
The closest thing that I can give as an answer is this quote of David Greenspan* taken from the Meteor forums:
We have made some small improvements to meteor update over time, but
we don't have a way for a package to ask for one of its dependencies
to be upgraded more aggressively. meteor update with no arguments will
take patch updates to indirect dependencies, but not minor versions. I
recently improved the messages that meteor update prints, so in the
next release, it should tell you if an indirect dependency is not at
the latest version after it runs (rather than printing the very wrong
message "All packages are at their latest compatible versions").
If you bump the minor version of a package, I think the expectation at
the moment is that you will republish the packages that depend on it
if you want their users to get the new version (after running the
tests to make sure all is well).
So, when the author of a package you depend on releases a new:
patch version: no need for you to do anything. The new version should be used automatically.
minor version: check that everything works and release a new patch version, as to acknowledge the new version.
major version: things are expected to break. Make the required changes and release according to semver rules.
I would not count on things behaving as they do right now, as the packaging system undergoes pretty significant rework in order to be more compatible with NPM (including the ability to directly require NPM packages from Meteor apps and packages), expected to be included in v1.3.
* (actually, Sacha Greif posted the quote).
This is from the docs:
In general, you must specify a package's version (e.g.,
'accounts#1.0.0' to use version 1.0.0 or a higher compatible version
(ex: 1.0.1, 1.5.0, etc.) of the accounts package). If you are sourcing
core packages from a Meteor release with versionsFrom, you may leave
off version names for core packages. You may also specify constraints,
such as my:forms#=1.0.0 (this package demands my:forms at 1.0.0
exactly), or my:forms#1.0.0 || =2.0.1 (my:forms at 1.x.y, or exactly
2.0.1).
So the answer is, it will not update your package.js script but it will download the latest compatible versions, depend on your settings.

meteor version compatibility 1.1.0.3 vs 1.1.0.2

I got error message, running meteor 1.1.0.3
> ~/.meteor/meteor --version
Meteor 1.1.0.3
> ~/.meteor/meteor
Sorry, this project uses Meteor 1.1.0.2, which is not installed and could not be downloaded. Please check to make sure that you are online.
Shouldn't 1.1.0.3 be backward compatible? Can someone tell me how to get earlier version of Meteor
Meteor uses strict version requirements. So meteor-tool will try to download the exact version you specified in your project. If you are indeed not online and can't change that, or just want to start using the latest version that you seem to have installed, then just edit your .meteor/release file and manually change the meteor version to 1.1.0.3.

Resources