Home Start Get started Build an element 1. Get set up 2. Add local DOM 3. Data binding & properties 4. React to input 5. Theming with custom properties Build an app 1. Get set up 2. Create a new page 3. Add some elements 4. Deploy Polymer Feature overview Quick tour Define elements Register an element Declare properties Instance methods Behaviors Local DOM & styling Local DOM Styling Events Handle and fire events Gesture events Data system Data system concepts Work with object and array data Observers and computed properties Data binding Helper elements Tools Tools overview Polymer CLI Document your elements Test your elements Optimize for production Publish an element Advanced tools Services What's new Release notes 1.0 Migration guide About Polymer 1.0 Resources Community Browser compatibility API Reference Polymer.Base array-selector custom-style dom-bind dom-if dom-repeat dom-template Polymer.Templatizer Global settings App Toolbox What's in the box? Using the Toolbox App templates Responsive app layout Routing Localization App storage Service worker Serve your app Case study Shop News Blog Community Home Start Get started Quick tour of Polymer Install Polymer 2.x Build an element 1. Get set up 2. Add local DOM 3. Data binding & properties 4. React to input 5. Theming with custom properties Build an app 1. Get set up 2. Create a new page 3. Add some elements 4. Deploy Polymer Feature overview About this release What's new in 2.0 Upgrade guide Hybrid elements Release notes Custom elements Custom element concepts Define an element Declare properties Shadow DOM & styling Shadow DOM concepts DOM templating Style shadow DOM Custom CSS properties Events Handle and fire events Gesture events Data system Data system concepts Work with object and array data Observers and computed properties Data binding Helper elements Browser support Overview Polyfills ES6 Tools Tools overview Polymer CLI CLI commands Create an element project Create an application project Document your elements Test your elements Web services polymer.json specification Node support Resources Glossary API Reference API Reference Global settings App Toolbox What's in the box? Using the Toolbox App templates Responsive app layout Routing Localization App storage Service worker Deploy Build for production Serve your app The PRPL pattern Case study Shop News Blog Community

We announce significant releases here on the blog, highlighting the major new features as well as breaking changes. As always, we'd love to get your feedback, issues, and PR's, so tweet us @polymer or contribute to the Github.

The primary goal of the upcoming Polymer 2.0 release is to take advantage of native, cross-browser support for Web Components. With this in mind, we're pleased to release Polymer 1.7, which introduces features allowing you to use 2.0-compatible syntax in 1.x elements.

Polymer 1.7

Polymer 1.7.0 provides forward compatibility features that let you build elements that run under both 1.0 and 2.0.

While you can use these features now, the team intends to release a tool to help automate these changes. If you have a large project, you might want to wait for the migration tool to be available.

The new syntax is not required for current Polymer 1.x elements, but using the new syntax will make it easier to port elements to 2.0, which requires it.

<slot> element

Elements can opt-in to using the new <slot> element and ::slotted() CSS selector from shadow DOM v1.

These replace the <content> element and ::content selector in shadow DOM v0. The v1 API is somewhat more restrictive, so you should read up on the details before making changes.

html selector in <style is="custom-style">, :host > * selector in elements

Polymer 2.0 removes support for the :root selector. In a custom-style element, you can use html where you used to use :root. Inside an element, you can use :host > *.

Polymer 1.7 adds support for using the html selector in a custom-style element, so you can use the 2.0-compatible syntax. (The :host > * syntax was already supported.)

For more details, read the full release notes here: Release 1.7.0