Migrating to Meteor 1.5

This is the comment thread for the Migrating to Meteor 1.5 article in the Meteor Guide.

The comment thread for each article appears at the very bottom of the page. Use this thread to post:

  • Interesting articles related to the content
  • New ways to do things that aren’t covered in the Guide
  • Suggestions for Guide improvements

Or anything else related to this topic that people could find useful!


Honestly, migrating from Meteor 1.4 to Meteor 1.5 is so easy this article is almost unnecessary but worth having for consistency and conversation, nonetheless. :slight_smile:


I’m going to try to upgrade from meteor to 1.5, is this an advised path, or should I upgrade to 1.4 first?

If upgrading from earlier version (earlier than 1.4) to 1.5, is there anything else recommended not covered in your 1.5-migration document?

Also, if we are checking in our .meteor directory, are there instructions somewhere on how to easily roll back in case of issues with the 1.5 upgrade?

1 Like

Going straight from to 1.5 is fine, though I would recommend the “Migrating from 1.4” guide and “Migrating from 1.3” guides, which are linked in the “Migrating from a version older than 1.4?” section! :slight_smile:

And if something goes wrong in the upgrade, assuming you have .meteor in version control all you need to do is checkout the older version (e.g. git checkout <hash-from-before-upgrade>).

Does anyone know if Mandrill uses smtps? I can’t find anything in their docs.

smtps:// (which jumps staright to TLS/SSL mail transport) is supported by many major email service providers, though some providers (e.g. Mandrill) utilize STARTTLS which will start with a brief, insecure handshake which is then upgraded to SSL. No sensitive information is transmitted during the insecure handshake though.

It´s so easy and yet my application breaks. Business as usual :stuck_out_tongue:

Haven´t found the problem yet but I´m using a Collections-Object containing all my collections. Now out of the sudden my collections object is empty on the client side.

Is this a problem in development or in production? If you find anything helpful for adding to the Migration Guide, do let us know!

Do you have a repo or minimum reproduction we can look at?

1 Like

Hey we are having problems with Mailgun and 1.5.

Doesn’t matter which url we use. If we keep using non smtps MAIL_URL, it breaks with an error:
Error: Greeting never recieved

If we set it to smtps with port 465, it breaks with the next error:
Invalid non-string/buffer chunk

If we set it to smtps with port 587, it breaks with the next error:
Error: 140503038719808:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown

Anybody having the same issues?


Which version of the email package are you using? What version of Node are you deployed with?

Also, have you tried just setting:


…without the port number? (Default port is 25).

we updated email package to 1.2.3 and we are using node 4.

We are gonna try the last option without port


still having this error Invalid non-string/buffer chunk


It seems like a colleague solved it. Was an unrelated issue. Thanks a lot :smile:

1 Like

Is there a guide or documentation on the requirements to move to dynamic imports?
Do I have to refactor my code to use the blasted /imports directory?

Mostly I’d like to break the admin code out of the main bundle. I’m guessing that would work per-route using flow-router.


I’d like to do the same.

Yes. Everything else is eagerly loaded.

Why isn’t there a proper example app with all the finer details available to us in this? I don’t think the 1.4 fork todos example application suffices.

There are examples of structure and code in the Meteor Guide

I read it. It’s not enough (at least for me). I think a rich & full project, WITH dynamic import examples in plenty supply, is in order.

For example, I’d like to do the same thing as @techplex, separate my admin side from the end-user side as much as possible – just short of physically breaking them apart. I have the impression this can be accomplish with dynamic imports – I hope I’m not wrong.

Currently I cannot do anything at all, because I´m suddently running in this again:

=> Started proxy.
=> Started MongoDB.
throw error;

SyntaxError: Unexpected string
at Object.parse (native)
at C:\tools\fs\optimistic.js:204:17
at wrap.makeCacheKey.len2 (C:\tools\fs\optimistic.js:22:15)
at Entry.reallyRecompute (C:\Users\MyPC\AppData\Local.meteor\packages\meteor-tool\1.5.0\mt-os.windows.x86_32\dev_bundle\lib\node_modules\optimism\lib\entry.js:215:26)
at Entry.recomputeIfDirty (C:\Users\MyPC\AppData\Local.meteor\packages\meteor-tool\1.5.0\mt-os.windows.x86_32\dev_bundle\lib\node_modules\optimism\lib\entry.js:179:17)
at Entry.recompute (C:\Users\MyPC\AppData\Local.meteor\packages\meteor-tool\1.5.0\mt-os.windows.x86_32\dev_bundle\lib\node_modules\optimism\lib\entry.js:46:20)
at optimistic (C:\Users\MyPC\AppData\Local.meteor\packages\meteor-tool\1.5.0\mt-os.windows.x86_32\dev_bundle\lib\node_modules\optimism\lib\index.js:50:18)
at walk (C:\tools\isobuild\meteor-npm.js:149:19)
at C:\tools\isobuild\meteor-npm.js:211:10
at Entry.reallyRecompute (C:\Users\MyPC\AppData\Local.meteor\packages\meteor-tool\1.5.0\mt-os.windows.x86_32\dev_bundle\lib\node_modules\optimism\lib\entry.js:215:26)
at Entry.recomputeIfDirty (C:\Users\MyPC\AppData\Local.meteor\packages\meteor-tool\1.5.0\mt-os.windows.x86_32\dev_bundle\lib\node_modules\optimism\lib\entry.js:179:17)
at Entry.recompute (C:\Users\MyPC\AppData\Local.meteor\packages\meteor-tool\1.5.0\mt-os.windows.x86_32\dev_bundle\lib\node_modules\optimism\lib\entry.js:46:20)
at Object.optimistic [as getProdPackageNames] (C:\Users\MyPC\AppData\Local.meteor\packages\meteor-tool\1.5.0\mt-os.windows.x86_32\dev_bundle\lib\node_modules\optimism\lib\index.js:50:18)
at NodeModulesDirectory.getProdPackagePredicate (C:\tools\isobuild\bundler.js:440:40)
at C:\tools\isobuild\bundler.js:2200:15
at Function.
.forEach (C:\Users\MyPC\AppData\Local.meteor\packages\meteor-tool\1.5.0\mt-os.windows.x86_32\dev_bundle\lib\node_modules\underscore\underscore.js:87:22)
at JsImage.write (C:\tools\isobuild\bundler.js:2175:7)
at ServerTarget.write (C:\tools\isobuild\bundler.js:2444:13)
at C:\tools\isobuild\bundler.js:2563:30
at C:\tools\isobuild\bundler.js:2696:9
at Array.forEach (native)
at C:\tools\isobuild\bundler.js:2686:26
at C:\tools\isobuild\bundler.js:3027:22
at C:\tools\utils\buildmessage.js:271:13
at [object Object].
.extend.withValue (C:\tools\utils\fiber-helpers.js:89:14)
at C:\tools\utils\buildmessage.js:264:29
at [object Object].
.extend.withValue (C:\tools\utils\fiber-helpers.js:89:14)
at C:\tools\utils\buildmessage.js:262:18
at [object Object].
.extend.withValue (C:\tools\utils\fiber-helpers.js:89:14)
at C:\tools\utils\buildmessage.js:253:23
at [object Object]..extend.withValue (C:\tools\utils\fiber-helpers.js:89:14)
at Object.capture (C:\tools\utils\buildmessage.js:252:19)
at bundle (C:\tools\isobuild\bundler.js:2860:31)
at C:\tools\isobuild\bundler.js:2807:32
at Object.withCache (C:\tools\fs\files.js:1652:12)
at Object.exports.bundle (C:\tools\isobuild\bundler.js:2807:16)
at C:\tools\runners\run-app.js:588:36
at Function.run (C:\tools\tool-env\profile.js:490:12)
at bundleApp (C:\tools\runners\run-app.js:587:34)
at [object Object].
.extend.runOnce (C:\tools\runners\run-app.js:631:35)
at [object Object].
.extend._fiber (C:\tools\runners\run-app.js:890:28)
at C:\tools\runners\run-app.js:417:12

Process finished with exit code 1

Clearing the Temp folder and resetting the project like crazy, it comes, it goes and I haven´t found the cause…