Storyteller's stream of upgrading an app to Meteor 3.0-alpha.16

Hello everyone!

Tomorrow at 6PM CEST I will be live streaming coding session where I take my personal website and start upgrading it to Meteor 3.0-alpha.16 and see how far I can get. So if you are interested in seeing the process and possible issues that you might face as well be sure to tune in tomorrow:

7 Likes

I am really curious to see what your approach is going to be around this topic which seems to be in progress for a couple of months: Fibers Public Roadmap - Meteor 3.0 · GitHub

1 Like

I’m going to take it as it comes. I think I won’t be able to do a full update due to all the packages I’m using, but I think I can get a decent way there. For me the main point is to discover if there is something that I haven’t been expecting till now and potentially fix few packages along the way.

1 Like

Hey, that is really nice! If you get stuck and or need some help, for example, need to bump the package version in the core, send me a list in slack or here.

If you have any other feedback around doing the migration is really nice to have something written so that we can help others that will do this migration

1 Like

Kudos for this really cool initiative!

Watching the development here, at one point you said something was compatible with Alpha 15 but not Alpha 16 (can’t remember what that was). I realized that I don’t really known what is changing from one alpha to another. I’m thinking it might be good to keep a history.md for these too. Is there a way to easily see what has changed, other than going through the commits.

If you have any other feedback around doing the migration is really nice to have something written so that we can help others that will do this migration

@grubba

Did the same yesterday with the react tutorial (step 13). Updating from 2.7.1 (yes it’s still at that version :thinking: ) to 2.13.3 was fine, except quave:testing was on 1.0.0 and not on 1.0.1. But upgrading to Alpha 16 led to package conflicts I couldn’t resolve yet:

Terminal log
   While selecting package versions:
   error: Conflict: Constraint meteor@1.10.3 is not satisfied by meteor 2.0.0-alpha300.16.
   Constraints on package "meteor":
   * meteor@~2.0.0-alpha300.16 <- top level
   * meteor@2.0.0-alpha300.16 <- meteor-base 1.5.2-alpha300.16
   * meteor@2.0.0-alpha300.16 <- core-runtime 1.0.0-alpha300.16 <- meteor 2.0.0-alpha300.16 <- accounts-base 3.0.0-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- core-runtime 1.0.0-alpha300.16 <- meteor 2.0.0-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- webapp 2.0.0-alpha300.16 <- accounts-oauth 1.4.3-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- webapp 2.0.0-alpha300.16 <- meteor-base 1.5.2-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- babel-compiler 7.11.0-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ecmascript-runtime 0.8.2-alpha300.16 <- babel-compiler 7.11.0-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ecmascript-runtime 0.8.2-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ecmascript-runtime-client 0.12.2-alpha300.16 <- ecmascript-runtime 0.8.2-alpha300.16 <- babel-compiler 7.11.0-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ecmascript-runtime-client 0.12.2-alpha300.16 <- ecmascript-runtime 0.8.2-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ecmascript-runtime-client 0.12.2-alpha300.16 <- hot-module-replacement 0.5.4-alpha300.16
   * meteor@2.0.0-alpha300.16 <- modules 0.19.1-alpha300.16 <- babel-runtime 1.5.2-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- modules 0.19.1-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- modules-runtime 0.13.2-alpha300.16 <- modules 0.19.1-alpha300.16 <- babel-runtime 1.5.2-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- modules-runtime 0.13.2-alpha300.16 <- modules 0.19.1-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- promise 1.0.0-alpha300.16 <- dynamic-import 0.7.4-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- promise 1.0.0-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- modern-browsers 0.1.10-alpha300.16 <- babel-compiler 7.11.0-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ecmascript-runtime-server 0.11.1-alpha300.16 <- ecmascript-runtime 0.8.2-alpha300.16 <- babel-compiler 7.11.0-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ecmascript-runtime-server 0.11.1-alpha300.16 <- ecmascript-runtime 0.8.2-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- react-fast-refresh 0.2.8-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- babel-runtime 1.5.2-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- dynamic-import 0.7.4-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- fetch 0.1.4-alpha300.16 <- dynamic-import 0.7.4-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- inter-process-messaging 0.1.2-alpha300.16 <- autoupdate 2.0.0-alpha300.16 <- hot-code-push 1.0.5-alpha300.16 <- hot-module-replacement 0.5.4-alpha300.16
   * meteor@2.0.0-alpha300.16 <- inter-process-messaging 0.1.2-alpha300.16 <- dynamic-import 0.7.4-alpha300.16 <- ecmascript 0.16.8-alpha300.16
   * meteor@2.0.0-alpha300.16 <- logging 1.3.3-alpha300.16 <- email 3.0.0-alpha300.16 <- accounts-password 3.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- logging 1.3.3-alpha300.16 <- mongo 2.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ejson 1.1.4-alpha300.16 <- accounts-base 3.0.0-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ejson 1.1.4-alpha300.16 <- accounts-password 3.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- underscore 1.0.14-alpha300.16 <- boilerplate-generator 2.0.0-alpha300.16 <- webapp 2.0.0-alpha300.16 <- accounts-oauth 1.4.3-alpha300.16 <-
   accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- underscore 1.0.14-alpha300.16 <- boilerplate-generator 2.0.0-alpha300.16 <- webapp 2.0.0-alpha300.16 <- meteor-base 1.5.2-alpha300.16
   * meteor@2.0.0-alpha300.16 <- underscore 1.0.14-alpha300.16 <- http 1.0.1 <- meteortesting:mocha 2.1.0
   * meteor@2.0.0-alpha300.16 <- underscore 1.0.14-alpha300.16 <- mongo 2.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- routepolicy 1.1.2-alpha300.16 <- ddp-server 3.0.0-alpha300.16 <- ddp 1.4.2-alpha300.16 <- accounts-base 3.0.0-alpha300.16 <- accounts-github
   1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- routepolicy 1.1.2-alpha300.16 <- ddp-server 3.0.0-alpha300.16 <- ddp 1.4.2-alpha300.16 <- accounts-password 3.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- routepolicy 1.1.2-alpha300.16 <- webapp 2.0.0-alpha300.16 <- meteor-base 1.5.2-alpha300.16
   * meteor@2.0.0-alpha300.16 <- boilerplate-generator 2.0.0-alpha300.16 <- webapp 2.0.0-alpha300.16 <- accounts-oauth 1.4.3-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- boilerplate-generator 2.0.0-alpha300.16 <- webapp 2.0.0-alpha300.16 <- meteor-base 1.5.2-alpha300.16
   * meteor@2.0.0-alpha300.16 <- webapp-hashing 1.1.2-alpha300.16 <- webapp 2.0.0-alpha300.16 <- accounts-oauth 1.4.3-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- webapp-hashing 1.1.2-alpha300.16 <- webapp 2.0.0-alpha300.16 <- meteor-base 1.5.2-alpha300.16
   * meteor@2.0.0-alpha300.16 <- callback-hook 1.6.0-alpha300.16 <- accounts-base 3.0.0-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- callback-hook 1.6.0-alpha300.16 <- mongo 2.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ddp 1.4.2-alpha300.16 <- accounts-base 3.0.0-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ddp 1.4.2-alpha300.16 <- accounts-password 3.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ddp-client 3.0.0-alpha300.16 <- ddp 1.4.2-alpha300.16 <- accounts-base 3.0.0-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ddp-client 3.0.0-alpha300.16 <- ddp 1.4.2-alpha300.16 <- accounts-password 3.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- check 1.3.3-alpha300.16 <- accounts-base 3.0.0-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- check 1.3.3-alpha300.16 <- accounts-password 3.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- random 1.2.2-alpha300.16 <- accounts-base 3.0.0-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- random 1.2.2-alpha300.16 <- accounts-password 3.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- tracker 1.3.3-alpha300.16 <- accounts-base 3.0.0-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- tracker 1.3.3-alpha300.16 <- mongo 2.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- retry 1.1.1-alpha300.16 <- autoupdate 2.0.0-alpha300.16 <- hot-code-push 1.0.5-alpha300.16 <- hot-module-replacement 0.5.4-alpha300.16
   * meteor@2.0.0-alpha300.16 <- id-map 1.2.0-alpha300.16 <- binary-heap 1.0.12-alpha300.16 <- mongo 2.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ddp-common 1.4.1-alpha300.16 <- ddp-client 3.0.0-alpha300.16 <- ddp 1.4.2-alpha300.16 <- accounts-base 3.0.0-alpha300.16 <- accounts-github
   1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ddp-common 1.4.1-alpha300.16 <- ddp-client 3.0.0-alpha300.16 <- ddp 1.4.2-alpha300.16 <- accounts-password 3.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- reload 1.3.2-alpha300.16 <- autoupdate 2.0.0-alpha300.16 <- hot-code-push 1.0.5-alpha300.16 <- hot-module-replacement 0.5.4-alpha300.16
   * meteor@2.0.0-alpha300.16 <- reload 1.3.2-alpha300.16 <- hot-code-push 1.0.5-alpha300.16 <- hot-module-replacement 0.5.4-alpha300.16
   * meteor@2.0.0-alpha300.16 <- socket-stream-client 0.5.2-alpha300.16 <- ddp-client 3.0.0-alpha300.16 <- ddp 1.4.2-alpha300.16 <- accounts-base 3.0.0-alpha300.16 <- accounts-github
   1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- socket-stream-client 0.5.2-alpha300.16 <- ddp-client 3.0.0-alpha300.16 <- ddp 1.4.2-alpha300.16 <- accounts-password 3.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- diff-sequence 1.1.3-alpha300.16 <- ddp-client 3.0.0-alpha300.16 <- ddp 1.4.2-alpha300.16 <- accounts-base 3.0.0-alpha300.16 <- accounts-github
   1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- diff-sequence 1.1.3-alpha300.16 <- ddp-client 3.0.0-alpha300.16 <- ddp 1.4.2-alpha300.16 <- accounts-password 3.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- diff-sequence 1.1.3-alpha300.16 <- minimongo 2.0.0-alpha300.16 <- mongo 2.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- diff-sequence 1.1.3-alpha300.16 <- mongo 2.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ddp-server 3.0.0-alpha300.16 <- ddp 1.4.2-alpha300.16 <- accounts-base 3.0.0-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ddp-server 3.0.0-alpha300.16 <- ddp 1.4.2-alpha300.16 <- accounts-password 3.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- facts-base 1.0.2-alpha300.16 <- ddp-server 3.0.0-alpha300.16 <- ddp 1.4.2-alpha300.16 <- accounts-base 3.0.0-alpha300.16 <- accounts-github
   1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- facts-base 1.0.2-alpha300.16 <- ddp-server 3.0.0-alpha300.16 <- ddp 1.4.2-alpha300.16 <- accounts-password 3.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- facts-base 1.0.2-alpha300.16 <- mongo 2.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- es5-shim 4.8.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- hot-code-push 1.0.5-alpha300.16 <- hot-module-replacement 0.5.4-alpha300.16
   * meteor@2.0.0-alpha300.16 <- autoupdate 2.0.0-alpha300.16 <- hot-code-push 1.0.5-alpha300.16 <- hot-module-replacement 0.5.4-alpha300.16
   * meteor@2.0.0-alpha300.16 <- mobile-experience 1.1.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- launch-screen 1.3.1-alpha300.16 <- mobile-experience 1.1.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- mobile-status-bar 1.1.1-alpha300.16 <- mobile-experience 1.1.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- mongo 2.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- npm-mongo 4.16.1-alpha300.16 <- mongo 2.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- allow-deny 2.0.0-alpha300.16 <- mongo 2.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- minimongo 2.0.0-alpha300.16 <- allow-deny 2.0.0-alpha300.16 <- mongo 2.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- minimongo 2.0.0-alpha300.16 <- mongo 2.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- geojson-utils 1.0.12-alpha300.16 <- minimongo 2.0.0-alpha300.16 <- allow-deny 2.0.0-alpha300.16 <- mongo 2.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- geojson-utils 1.0.12-alpha300.16 <- minimongo 2.0.0-alpha300.16 <- mongo 2.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ordered-dict 1.2.0-alpha300.16 <- minimongo 2.0.0-alpha300.16 <- allow-deny 2.0.0-alpha300.16 <- mongo 2.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ordered-dict 1.2.0-alpha300.16 <- minimongo 2.0.0-alpha300.16 <- mongo 2.0.0-alpha300.16
   * meteor@2.0.0-alpha300.13 <- mongo-dev-server 1.1.1-alpha.12 <- mongo 2.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- binary-heap 1.0.12-alpha300.16 <- mongo 2.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- reactive-var 1.0.13-alpha300.16
   * meteor@2.0.0-alpha300.16 <- standard-minifier-css 1.9.3-alpha300.16
   * meteor@2.0.0-alpha300.16 <- minifier-css 2.0.0-alpha300.16 <- standard-minifier-css 1.9.3-alpha300.16
   * meteor@2.0.0-alpha300.16 <- standard-minifier-js 3.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- minifier-js 3.0.0-alpha300.16 <- standard-minifier-js 3.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- typescript 4.9.5-alpha300.16
   * meteor@2.0.0-alpha300.16 <- shell-server 0.6.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- hot-module-replacement 0.5.4-alpha300.16
   * meteor@2.0.0-alpha300.16 <- modules-runtime-hot 0.14.3-alpha300.16 <- hot-module-replacement 0.5.4-alpha300.16
   * meteor@2.0.0-alpha300.16 <- static-html 1.3.3-alpha300.16
   * meteor@2.0.0-alpha300.16 <- caching-compiler 2.0.0-alpha300.16 <- caching-html-compiler 2.0.0-alpha300.16 <- static-html 1.3.3-alpha300.16
   * meteor@2.0.0-alpha300.16 <- accounts-password 3.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- accounts-base 3.0.0-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- ddp-rate-limiter 1.2.1-alpha300.16 <- accounts-base 3.0.0-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- rate-limit 1.1.2-alpha300.16 <- ddp-rate-limiter 1.2.1-alpha300.16 <- accounts-base 3.0.0-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- localstorage 1.2.1-alpha300.16 <- accounts-base 3.0.0-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- sha 1.0.10-alpha300.16 <- accounts-password 3.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- email 3.0.0-alpha300.16 <- accounts-password 3.0.0-alpha300.16
   * meteor@2.0.0-alpha300.16 <- dev-error-overlay 0.1.3-alpha300.16
   * meteor@2.0.0-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- accounts-oauth 1.4.3-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- service-configuration 1.3.2-alpha300.16
   * meteor@2.0.0-alpha300.16 <- oauth 3.0.0-alpha300.16 <- accounts-oauth 1.4.3-alpha300.16 <- accounts-github 1.5.1-alpha300.16
   * meteor@1.10.3 <- github-oauth 1.4.1 <- accounts-github 1.5.1-alpha300.16
   * meteor@2.0.0-alpha300.16 <- oauth2 1.3.3-alpha300.16 <- github-oauth 1.4.1 <- accounts-github 1.5.1-alpha300.16

Conflict: Constraint oauth@2.1.3 is not satisfied by oauth 3.0.0-alpha300.16.
Constraints on package “oauth”:

  • oauth@~3.0.0-alpha300.16 ← top level
  • oauth@3.0.0-alpha300.16 ← accounts-oauth 1.4.3-alpha300.16 ← accounts-github 1.5.1-alpha300.16
  • oauth@2.1.3 ← github-oauth 1.4.1 ← accounts-github 1.5.1-alpha300.16
  • oauth@3.0.0-alpha300.16 ← oauth2 1.3.3-alpha300.16 ← github-oauth 1.4.1 ← accounts-github 1.5.1-alpha300.16

=> Your application has errors. Waiting for file change.

1 Like

This should be solved in the next alpha! @storyteller in yesterday stream has shown me this and we collected the missing packages that was necessary to be updated.

In stream he also showed how to solve those issues locally.

4 Likes

GitHub makes this very easy using releases and show all involved commits since the last change, which is kind of a history.

However, in the Meteor repo are only tags and they do not contain this history.

1 Like

Tx a lot. It actually worked. Went to Tags and used Compare for the last two versions.