Graph API v2.2 which will reach the end of its 2-year lifetime on 27 March, 2017
Closed this issue · 11 comments
Hi guys,
I'm using facebook login in one of my apps (www.fulbacho.net) and a few days back I received the following alert:
fulbacho currently has access to Graph API v2.2 which will reach the end of its 2-year lifetime on 27 March, 2017. To ensure a smooth transition, please migrate all calls to Graph API v2.3 or higher.
To check if your app will be affected by this upgrade you can use the Version Upgrade Tool. This will show you which calls, if any, are affected by this change as well as any replacement calls in newer versions. If you do not see any calls, your app may not be affected by this change.
Based of what I can see, the API version is set in packages/facebook/facebook_client.js
Are there any plans to upgrade to a higher version?
What it's suppose to happen on 27 March, 2017?
Thanks!
Is it possible to upgrade the facebook-accounts package to the last Facebook Graph API version. Today v2.2 was deprecated and the login system is broken :(
Thanks!
Thanks for reporting this. This was already fixed this in the latest facebook-oauth
package with meteor/meteor@873f13d and released on the 13th of February in Meteor 1.4.3.
I will point out that, in order to remove the direct dependency on Blaze, the packages have been restructured a bit along with that update (which is when the API change was first detected), but it should take care of itself when you update Meteor with meteor update
. Just to be safe though, you'll want to read the History.md
entry for Meteor 1.4.3.
This repository itself actually is not the active "Accounts" package, which is still a part of the main Meteor repo. This branch was an attempt to extract the accounts packages. Further issues with the active accounts-*
packages should go on the main Meteor repo.
Thanks again for reporting this!
Hi @abernix , thanks for the quick reply.
My problem is that my app is running Meteor 1.2... upgrading to 1.4 will probably make my app to crash awfully.
I'll will give it a try in any case. Thanks!
Upgrading Meteor would be a highly suggested action in general since Meteor 1.2 is using Node 0.10.x which is no longer supported by the Node project or Meteor. 😄
For anyone else who hits this and finds a mandatory release upgrade to 1.4.3 on short notice to be a non-starter, this is the sequence of things we tried
-
upgrade to the new
accounts-facebook
package
This upgradedecmascript
to0.6.3
which broke the rest of the project since we're still on 1.4.2.3 meteor/meteor#8432 -
Attempt to pin
ecmascript@=0.6.1
so that the build tool would run
This caused the constraint solver to spin forever and finally die with a vague out of memory error
Same issue as described in meteor/meteor#7533 -
Give the constraint solver more memory
meteor/meteor#7533 (comment)
Spent 20 minutes (!!!), before yielding the following incompatible versions
* accounts-base@1.2.14 <- accounts-password 1.3.3
* accounts-base@1.2.14 <- service-configuration 1.0.11
* accounts-base@1.2.15 <- accounts-facebook 1.1.1
* accounts-base@1.2.14 <- accounts-oauth 1.1.15 <- accounts-facebook 1.1.1
* accounts-base@1.2.7 <- accounts-ui 1.1.9
* accounts-base@1.2.14 <- accounts-ui-unstyled 1.1.13 <- accounts-ui 1.1.9
-
At this point, we abandoned the forward
accounts-facebook
package upgrade and attempted to upgrade to the newest meteor release
Ran into this: meteor/meteor#8526 -
As a last resort, we override the existing legacy
facebook
package locally, applying a patch to talk to the newer facebook graph endpoint and handle the non-JSON response correctly (like the newaccounts-facebook
package does).
https://guide.meteor.com/writing-atmosphere-packages.html#overriding-atmosphere-packages
The last approach finally worked, though, needless to say, wasted an entire day of time.
To add a point to above:
if Meteor is truly backwards compatible, shouldn't this upgrade path be easier? I don't think and pre 1.4.3 users could upgrade without going through the shenanigans above?
Not to mention any legacy apps you have would have failed logging in today.
EDIT: I realize now that is was a backwards incompatible change by Facebook, but what was difficult was the lack of forwards compatibility
Sorry, when I suggested trying 1.4.3.3-beta.4
before, I was looking for your help confirming that the issue would be fixed by the next official release. I was not suggesting that you use the beta version in production, though I can appreciate you were willing to try whatever might work in this case.
If you can provide the contents of your .meteor/packages
and .meteor/versions
files from before the upgrade, that would help us make sure you'll be able to upgrade to 1.4.4 when it is officially released.
By the way, Meteor 1.4.3 pins the minor versions of all core packages (including ecmascript
and the accounts-*
packages—see the first bullet here for more explanation). These version constraints will be an important tool for preventing accidental upgrades in the future. However, this also means that upgrading Meteor will sometimes require that you upgrade your core packages, since the constraint solver has more constraints to satisfy, whereas Meteor 1.4-1.4.2 never forced any package upgrades.
If you can't upgrade your packages for some reason, you have two options:
- Ask for a new patch version of the relevant package to be released, if the changes you need are small enough to be backwards compatible. Meteor 1.4.3 will always allow you to upgrade to a different patch version of a core package.
- Clone the package into your local
packages
directory, and make whatever changes you have to, as you described above.
For those facing the same issue, I just created a repo with a patched version of the old facebook (accounts) package to handle facebook graph API v.2.8 for old meteor apps:
https://github.com/fede-rodes/facebook-accounts-patched
Let me know if you find any bugs :)
We're also going to release a new patch vesion of accounts-facebook
today.
For those on Meteor 1.4.2.x, we've just published accounts-facebook@1.0.12
with the back-ported fixes from meteor/meteor@873f13d and meteor/meteor@2c5dda1 which we released last month. You can add this to your project without updating to a newer version of Meteor (although we highly recommend you do that as well!) by running:
meteor add accounts-facebook@1.0.12
This will bring your Facebook API up to version 2.8 which is due to be supported until "at least October 2018" by Facebook and solve issues which may have began with the March 27th deprecation of the 2.2 API which was in use in older versions of the Meteor accounts-facebook
and facebook
packages.
(Those using the latest version of Meteor in the 1.4.3.x-series will already have this update with the inclusion of accounts-facebook@1.1.x
or facebook-oauth@1.3.0
, which were released with Meteor 1.4.3.1.)