Upgrading Meteor 2.16 Application to Meteor 3.x - Impact on Client Side, Sessions, and Testing

Hello,

We are currently working with a large Meteor 2.16 application and are planning to upgrade to Meteor 3.x. However, we are concerned about the potential impact this upgrade may have on the client side, particularly regarding sessions and other client-side functionality after the final deployment. Does anyone have experience with this upgrade and can provide insights into what we should expect? Specifically, we are wondering if there will be any changes to how sessions are handled or any other significant client-side behavior that could affect our users.

Additionally, we are seeking advice on unit and integration testing after the upgrade. Are there any special considerations we should be aware of, and how might the upgrade impact our testing processes or the overall behavior of the app post-upgrade?

Any guidance would be greatly appreciated!

Thanks in advance!

Those who upgraded posted their experiences, challenges, and questions here

we are wondering if there will be any changes to how sessions are handled or any other significant client-side behavior that could affect our users.

You’re asking about the migration from the perspective of the app users, which remains unchanged.

For users of a Meteor app, client-side behaviors have stayed consistent between Meteor 2 and 3. During the Meteor 3 upgrade process, we ensured that all session-related and client-side flows function exactly as they did in Meteor 2, supported by extensive test coverage to confirm this.

If you’d like to validate that behavior is fully preserved for your app’s users, I recommend you using end-to-end (E2E) tests, such as with Playwright. These tests simulate user interactions and will surface any issues introduced by the upgrade. Start by documenting your app’s use cases in Meteor 2.16 and verify that the same tests pass after upgrading to Meteor 3. This approach is useful for catching regressions specific to your app, which can help us address any potential core issues.

Are there any special considerations we should be aware of, and how might the upgrade impact our testing processes or the overall behavior of the app post-upgrade?

For unit and integration testing, Meteor 3 supports Tinytest, and commonly used community packages like meteor-mocha have been updated for compatibility. These tools will continue to work as expected. Integration tests will also help ensure the upgrade doesn’t break existing behavior.

Good test coverage is key to maintaining your app’s stability and ensuring the same experience for your users. It also provides valuable insight into any issues that might arise, helping us address potential regressions in the core if any.


As a side note, considering the app developer perspective, I encourage you to start the migration. We’ve provided detailed documentation outlining the major changes and breaking changes introduced in Meteor 3:

Additionally, check out @rjdavid’s suggestion to explore the forum category for migration stories and tips. Articles like the one by @jkuester offer further insights into the migration process:

If you find any issues during the migration, feel free to use the forums for help or report core-related problems if your tests reveal discrepancies between versions 2.16 and 3.

1 Like

@nachocodoner Thanks a lot for your answers, they were really helpful

1 Like