 Good afternoon. Earlier this year, we released Polymer 1.0. It was the biggest update in the history of the Polymer library. It comes with a number of massive performance improvements, but that's at the cost of we had to rewrite a couple of the fundamental components of Polymer, the Shadow DOM polyfill and the data binding system. So that means if you've got a 0.5 app, there are some changes you need to make to make it compatible with 1.0. Fortunately, we've got resources for you. Two I want to highlight today, the first, the Polymer Migration Guide. It's available on the Polymer dock site. It's incredibly comprehensive, super detailed. It will tell you everything you need to know to migrate your app from 0.5 to 1.0. The second is a tool called Polyup. Polyup is a Node.js binary that will read your code, parse it, and transform it from 0.5 to 1.0 idioms. We've got an interactive Azure type web version, so you can go paste your code in, type it in, see what Polyup will do, and of course, an NPM version. You can install it, upgrade your code on disk. I want to emphasize Polyup doesn't do everything. Specifically, it's best with declarative code and with your JavaScript. If you're interacting with your custom elements in a few ways, there are times when Polyup can't reason about what you're doing, and you'll need to make manual changes. There's a guide in the Polyup GitHub repo that walks you through the common things you need to look for. So what will it do? Polyup will upgrade your imports, your styling, your template if, template repeat, auto binding templates, filters, simple expressions, complex expressions, expressions of every kind, your attributes, host attributes, listeners, property declarations, computed properties, most uses of official elements, and much more. And if it doesn't do it today, file a bug, send a PR. So probably at least a couple of people in the audience are thinking, what's going on? This is weird, right? JavaScript libraries do not often release tools that will update you to the latest version. Maybe it's that Polyup has a bunch of black magic in it. It was very hard to write and took an incredibly long time. But the answer is actually more interesting. It's actually because Polymer, like the web, is declarative. And declarative code is very direct about what it's doing. HTML looks like the DOM that gets produced. CSS is just a very direct mapping of, match this, do that. And Polymer, with its templates, expresses your data dependencies and your imports very directly. And that means that it's easy to read for you, for your, for humans, for your fellow engineers, and also for machines. And when it's easy for machines to read about and reason your code, that makes it easier to transform. Imperative code is harder. It's a sequence of instructions that interacts with state and you have to carry a lot of information about what's going on to successfully and confidently transform imperative code. And that means that Polyup is actually really simple. If you read the code, it's very directly doing the transformations that are documented. But even bigger than that is that all of this means that we, the Polymer team, have got your back. Because Polymer is built on the idea that the future of the web platform is really awesome. You've been hearing about all sorts of emerging standards. You just heard about CSS animations, web animations, sorry, and CSS custom properties. But so we, these are future standards. And Polymer is predicated on the idea of taking that future and bringing it to the present so you can use it today. But as time travel movies teach us, when you take something from the future and bring it to the present, you then change the future. You learn from those things that you brought back. And then so in the same way, we might, from your feedback, from our experience implementing these things, some of these specs might change along the way to being implemented in every browser. But that's fine, especially for declarative specs like CSS custom properties. We can provide tools that will migrate your code to this new and better future, not just us. There are wonderful tools for reading, parsing, source code, and transforming it, especially declarative source code. And so if you have a super popular set of elements that you find that you need to make a breaking change to, that's fine. Very short amount of code later, and you've got a tool that will upgrade your users to your latest versions as well. And that means that we can all build the future without leaving each other behind. That's me, I'm Rick Tick. You can find me on Slack, GitHub, occasionally Twitter, and I'll also be around the code labs just after this. Thanks very much.