The Meteor Podcast

Meteor Monthly Wrap-Up #3: November 2020

Episode Summary

In this episode Matt and Filipe discuss the major items worked on in the past month: The 1.12 release, Meteor Cloud and Meteor 2.0 progress. Enjoy!

Episode Notes

In this episode Matt and Filipe discuss the major items worked on in the past month: The 1.12 release, Meteor Cloud and Meteor 2.0 progress. Please enjoy!

The most recent release was Meteor 1.12, which included TypeScript update to 4.1.2  (we were using TypeScript 3 before) with Decorators and Metadata Reflection.  Please see the our blog for full release notes! Thanks to everyone that worked on the 1.12 release! We encourage you to join us and contribute.

We also did an overview of Meteor 2.0 progress, which includes Treeshaking (beta 4) and Hot Module Replacement (beta 3). 

Next, we reviewed all the ways to save money on Galaxy Hosting: Annual prepayment and auto-scaling (available on Galaxy Professional plan). You can reach out to us at support@meteor.com if you'd like to learn more, set up prepayment on your account and save 20% off your annual hosting costs!

We did mention the State of Javascript report in the podcast. Quick update -- that survey has now closed. 

Happy holidays from the Meteor Software team! Thanks again for supporting the Meteor ecosystem. 

 

Episode Transcription

Matt (00:00):

Hello and welcome, everybody, to the Meteor Monthly Wrap Up. This is for November 2020. I'm here with my cohost Filipe Névola, and let's get right into it.

Matt (00:12):

So, in the past month, we've continued to make progress on Meteor 2.0 developments and our Meteor Cloud release. These are the two main things that we've been spending most of our time on, and we're excited to show you what that looks like and what that means for you in January of 2021.

Matt (00:27):

The big things that we've already likely mentioned before is the free deploy. So that's one of the things we're bringing back, and we are super excited about that. And the other thing is the Mongo DB shared hosting, and that will allow us to offer the free deploy to all of our users. And we're excited about that being the case.

Matt (00:45):

In the meantime, we've made significant progress and we've released Meteor 1.12. The main things to do with that is the TypeScript 4.1.2 update with decorators and metadata reflection. It is important to note that these are stage two features, so be aware of that. Breaking changes could be introduced before they reach stage three. So, Philippe, what does this mean? And why is this important?

Filipe Névola (01:09):

Hello. This is important because as we are allowing Meteor users to use these features that are on stage two, and if you know, like the TC-39 committee in the stage two features is to allow breaking chains, then maybe when these features go to stage three, they are going to have breaking chains.

Filipe Névola (01:29):

Of course, we are going to make sure we include in the release notes if that happens, but it's good to keep this in mind if you're going to use these in a big project, that maybe these features will change a little bit.

Filipe Névola (01:40):

But you should be free to use these features, and that's the big point of this release, to allow TypeScript users to have more freedom to configure the TypeScript project with Meteor. And we know TypeScript is growing a lot. A lot of developers are adopting TypeScript instead of JavaScript directly. And it's important for us as a framework to also support this use case.

Matt (02:05):

So that was a really important thing for us to get out. We're excited for that being out there. So, feel free to go and download that 1.12 version.

Matt (02:13):

Is there anything else on the Meteor 1.12 release that you want to let the community know about, Filipe Névola?

Filipe Névola (02:20):

Yes. The first part is, of course, the TypeScript. We were using TypeScript 3 before, and now we are using TypeScript 4, and that's pretty good because it's the latest version of TypeScript. Then you can use all the features.

Filipe Névola (02:33):

Initially, the idea was to release these with Meteor 2.0, but the community was asking to have this pretty soon, then it was better to have this release in the meantime. And we also had a lot of small fixings, small updates in the same release.

Filipe Névola (02:48):

There is one that could be really helpful, if you want to understand your dependencies, that we now extended the command Meteor list. This command is going to list all your dependencies, and then you can have these now in a JSON format with a lot of useful information. You should check the history, and then you can see how you can use the Meteor list command now. And it's more powerful for you to understand your project.

Filipe Névola (03:12):

We also fixed some bugs in the Cordova integration. We also fixed some bugs in many areas like Minimongo. We had a case where the new reference was throwing an exception. We also have a lot of fixes in the accounts, patches in general, the password, and the UI, and the UI on style. These patches are very important. Almost every project is using accounts, and then it's very important for us to fix these patches as soon as possible. We also have another way to declare script editing using the browser policy packaging.

Filipe Névola (03:45):

Let me see. Also, we have a way to work around some limitations in the dynamic import. Now we can try to fetch the dynamic import in a different way if one way was failing. Like that's the way sometimes the ID of the patch is declared. You can read more in the history as well.

Filipe Névola (04:05):

We also update some dependencies, like the decimal dependency of Mungo decimal. And I think that's pretty much it. And we also did two PRs to modernize the standard minifier, and also the reload patch. And then we have all these chains. I'm not sure if the reload patch was included here, or it's going to be included in the 2.0, but these are PRs that are done and merged anyway.

Filipe Névola (04:31):

And then that's also nice if you use a patch, like a core patch, and you'll think this patch could be updated and maybe the dependencies, feel free to do this. And we are going to review these PRs as soon as possible. And usually the specs, they have a lot of tests, and then it's secure to do this change and you can make sure your chains are not breaking anything.

Filipe Névola (04:52):

And we are also going to double check your chains. Then it's a very nice way to contribute, trying to check a patch that you use a lot, and if this patch is part of the core, you feel free to try to update this patch, because JavaScript has evolved a lot since Meteor was first released, and then some patches could have a new version with more up to date features in JavaScript.

Matt (05:15):

Sounds good. So thank you again for anybody that contributed to that.

Matt (05:18):

The next big thing that we want to talk about that we've been spending a lot of time on is the Meteor 2.0 beta release, and that is out there currently. So please make sure to start using that and use it as much as possible. It is really helpful for us to get feedback on that, to make that move faster so that we can get those things like tree shaking out there faster and start using those significantly.

Matt (05:39):

So that officially, like I said before, Meteor 2.0 is going to be released alongside our Meteor Cloud release, which is coming in January. But I just want to flag that again, we've talked about it, but please start using that and let us know of any feedback.

Matt (05:54):

Is there anything else that is important on the Meteor 2.0 beta side, Filipe Névola?

Filipe Névola (05:58):

Yeah, just an update in the betas. Like in the beta three, we had Hot Module replacement working really well in many cases. And then in the beta four, we added Tree shaking and we know that has caused some bugs in some applications, not all, but in some applications that have different use cases, like importing a graphical file, for example. And then we are going to fix these of course, pretty soon. Then we should expect new betas in the next weeks.

Filipe Névola (06:26):

And as Matt said, the idea is to release together the Meteor 2.0 and also the Meteor Cloud release, but we need your feedback. I think for now we have three bugs on tree shaking that we are going to fix. And we also have performance regression on tree shaking. It was kind of expected, because when you try to analyze the code to be able to tree shake the code later, we need to do more work.

Filipe Névola (06:50):

Then we are open to ideas, but we are having some ideas on how to fix this regression. We are going to try to use wordpress from node JS, and then to try to paralyze the work a little bit. And we also have other ideas. If you want to really understand what's going on, you can always follow the GitHub, and you can also join our community Slack. Then we are always discussing how to implement things and asking for feedback.

Filipe Névola (07:16):

Because in some cases, the questions are more open questions. Then we prefer to discuss on Slack, and when we already have a better idea or a new answer, then we post on GitHub. Then we have the two different place to discuss the same thing, but in different levels. Then, if you really want to contribute to Meteor, you should be following GitHub, but also join the community Slack, because we have very useful discussions there. Almost every day, you have good new threads going on, then you should check it out.

Matt (07:46):

Indeed. And we'll link to all of that, of course. And if you don't know where to go, of course, please do continue to listen to these podcasts for updates, but we'll of course link to those as well.

Matt (07:55):

Other things that the community should know about if they don't already know. The new state of JavaScript report is out. And I believe they're still accepting survey responses when this is out. So if that's the case, I believe this will be out the week of December 15th, I believe. And hopefully the survey responses are still open. So if that's the case, please do go and fill out those surveys and make sure that Meteor goes to the top, so it gets closer to the top of the list and gets more popularity. It's really important for us, so do look out for that.

Matt (08:24):

The interesting to note as well, it's just kind of a fun fact. The survey system itself is built with Meteor and is deployed on Galaxy. So it's kind of a fun fact.

Matt (08:33):

To wrap up here, I was just going to talk about the Galaxy hosting side and what will become Meteor Cloud. And we get a lot of people reaching out to us and wondering how they can save money on their hosting costs. So I just wanted to go over that with the community here.

Matt (08:47):

One way to do that. If you're looking to go into 2021 as cost efficient as possible, and you know how much approximate usage you're going to need for the year, or just actually on a month to month basis, but obviously this is going to be for the year.

Matt (09:00):

One way to save 20% of hosting costs is to prepay for the year on Galaxy hosting. And I think it's been something that we haven't really exposed as much as we should have and not many people know about it. And if you are interested in prepaying and getting 20% off hosting costs, reach out to us at support@meteor.com and we'll be happy to help you. It's a super easy process and we're happy to work with you on it.

Matt (09:21):

We sent out a newsletter recently about that, and we got a lot of responses. So it showed that I think we weren't doing a very good job of communicating that that was an option. So if you wanted to do that, please do let us know and we're happy to help out.

Matt (09:32):

And we will continue to work with customers to figure out ways of making hosting costs as low as possible for you. It's a really important thing for us, and that will be evident with our Meteor Cloud release to have that free deploy as part of that. So we're excited about that, but in the meantime, a prepayment for 20% off is a really good way of doing that.

Matt (09:52):

And the other way that you may not know about is the auto-scaling functionality, and being able to spin up and spin down container sizes and the number of containers used in your hosting account. And that is an available resource feature on our Galaxy professional plan.

Matt (10:07):

So please do check that out, and it does allow you to save money if you're not using the app on a weekly basis, or if there's any fluctuations in your usage, that's a good way to save money as well. And also, it's nice to have that peace of mind to know that you're never going to run out of space if you need that. So it's a good option.

Matt (10:23):

Filipe Névola, is there anything else on that side that you wanted to add to? Anything else that I may have misspoke on?

Filipe Névola (10:27):

No, it's correct. And like out scaling is very useful, and if you never check the section in your app, go to settings and then you can check the trigger sections. Out scaling is implemented using triggers, and it's very nice because we don't control how you scale up and down. We gave you full power, then you can select exactly as you want. If the CPU hits a threshold, then you can scale up, and you can do a lot of crazy conditions trying to do different actions based on the time and the day of the week.

Filipe Névola (11:00):

And you have many clients that are using these. I think all our big clients are using this all the time, because it's very effective to save money, because you can reduce your app as much as possible during the night for the most of the apps. And that's very powerful, a very powerful way to save a lot of money. Then if you never check this trigger section, go there. Even if you think you don't need it, go there, see the options, see the conditions that you can create, and that can be helpful for you.

Filipe Névola (11:28):

One feature that's also allowed with triggers is to kill a container, that can be counter-intuitive to why do I want to kill my containers? But in some cases, maybe you have a problem in your application or a leak or something that you don't want to fix right now. Then we also have this nice way where you can kill containers.

Filipe Névola (11:48):

And in some case, if you have a specific use case that can consume a lot of a specific container, maybe you don't want this to be the case for 10 minutes, and then you can just kill containers if this case is happening for a long time, because that can affect other clients that are connected to the same container. Then that's an very nice way to also work around your app without changing any code, and that has been very helpful for many clients as well.

Matt (12:15):

And of course, if you have any questions about that, we're always happy to help. The forums in the Slack community are a great resource, but support@meteor.com is really meant for Galaxy specific questions, so please don't hesitate to reach out. If you're just unsure of how to set up the configurations or what it's best in your use case, we are happy to help, so please do reach out to us in that case.

Matt (12:34):

All right. Well, I think that was everything that I wanted to cover. And I know that November has been a really busy month for us. We're really excited about what comes next into the new year. And especially of course, with the Meteor Cloud, we want to have this podcast for full transparency in what we're working on the most. And to be quite honest with you, Meteor 2.0 and Meteor Cloud, those two projects have taken up a lot of our time, and Filipe Névola and the dev team are really working hard and we're making some serious progress.

Matt (13:00):

So that will be coming in January of 2021. So keep an eye out. I'm sure if you're missing it, then we aren't doing our jobs well, I think, but anyways, keep an eye out for that and we are excited to show you.

Matt (13:11):

And again, if you have any feedback for the podcast, please do send that along to me. My inbox, my personal one is matthew@meteor.com, but the podcast related one is thepodcast@meteor.com.

Matt (13:22):

Philippe, anything else that you wanted to cover?

Filipe Névola (13:23):

No. Thank you guys.

Matt (13:25):

All right. Thanks so much. Talk to you soon.