• Make sure that dart_support.js is always appended after platform.js, 21435.


  • Handle and warn about cases where a script file is included twice from the same entrypoint 21332.


  • Fix typo in error message polymer#42


  • Upgraded to polymer 0.4.2
  • No need to include dart_support.js in your entrypoints anymore.


  • Widen web_components version constraint.


  • Upgraded to polymer 0.4.1
  • Added Polymer.forceReady method. This forces a ready state regardless of whether or not there are still polymer-element declarations waiting for their class definitions to be loaded.
  • Added Polymer.waitingFor method. This returns a list of all polymer-element declarations that are still waiting for their class definitions to be loaded.
  • Add runtime checking of the waitingFor queue and print to the console if a deadlock situation is suspected to help diagnose the white screen of death.
  • Added injectBoundHTML instance method. This can be used to dynamically inject html that is bound to your current element into a target element.


  • Warn if the same css file is inlined more than once, 19996.

  • Don't start moving elements from head to body until we find the first import, 20826.

  • Add option to not inject platform.js in the build output 20865. To use, set inject_platform_js to false in the polymer transformer config section of your pubspec.yaml:

    - polymer:
        inject_platform_js: false


  • Fix findController function for js or dart wrapped elements. This fixes event bindings when using paper-dialog and probably some other cases, 20931.


  • Polymer will now create helpful index pages in all folders containing entry points and in their parent folders, in debug mode only 20963.


  • The build.dart file no longer requires a list of entry points, and you can replace the entire file with export 'package:polymer/default_build.dart'; 20396.
  • Inlined imports from the head of the document now get inserted inside a hidden div, similar to the js vulcanizer 20943.


  • Small style improvements on error/warnings page.


  • Upgraded to polymer 0.4.0 ([polymer-dev#d66a86e][d66a86e]).
  • The platform.js script is no longer required in Chrome or Dartium (version 36). You can now remove this from your projects for development, and it will be injected when running pub build or pub serve. If you would like the option to not inject platform.js at all in the built output (if you are deploying to chrome exclusively), please star this bug http://dartbug.com/20865.
  • Fixed invalid linter warning when using event handlers inside an auto-binding-dart template, 20913.


  • Upgraded error messages to have a unique and stable identifier. This requires a version of code_transformers newer than 0.2.3.
  • Upgraded minimum version constraint on args to 0.11.0.


  • Added a warning about flashes of unstyled content if we can detect a situation that would cause it 20751.


  • Update internal transformers to delete .concat.js and .map files when in release mode, saving about 1MB of space in the built output.


  • Bug fix for http://dartbug.com/18171. Elements that extend other elements but don't have a template will still inherit styles from those elements.
  • Bug fix for http://dartbug.com/20544. Better runtime logging when attributes are defined on an element but have no corresponding property on the class.


  • Update to match polymer 0.3.5 ([polymer-dev#5d00e4b][5d00e4b]). There was a breaking change in the web_components package where selecting non-rendered elements doesn‘t work, but it shouldn’t affect most people. See https://github.com/Polymer/ShadowDOM/issues/495.


  • Small bug fix for polymer:new_element


  • Fix for 20539. Log widget will now html escape messages.
  • Fix for 20538. Log widget will now surface lint logs from imported files.
  • Backward compatible change to prepare for upcoming change of the user agent in Dartium.
  • pub run polymer:new_element now supports specifying a base class. Note: only native DOM types and custom elements written in Dart can be extended. Elements adapted from Javascript (like core- and paper- elements) cannot be extended.
  • other bug fixes in polymer:new_entry.


  • New: When running in pub-serve, any warnings and errors detected by the polymer transformers will be displayed in the lower-right corner of your entrypoint page. You can opt-out by adding this option to your pubspec:

    - polymer:
        inject_build_logs_in_output: false
  • New: there are now two template generators in the polymer package! On any project that depends on polymer, you can create template files for a new custom element by invoking:

    pub run polymer:new_element element-name [-o output_dir]

    And, if you invoke:

    pub run polymer:new_entry web/index.html

    we will create a new entry-point file and add it to your pubspec for you.

  • Added the ability to override the stylesheet inlining behavior. There is now an option exposed in the pubspec.yaml called inline_stylesheets. There are two possible values, a boolean or a map. If only a boolean is supplied then that will set the global default behavior. If a map is supplied, then the keys should be file paths, and the value is a boolean. You can use the special key ‘default’ to set the default value.

    For example, the following would change the default to not inline any styles, except for the foo.css file in your web folder and the bar.css file under the foo packages lib directory:

    - polymer:
            default: false
            web/foo.css: true
            packages/foo/bar.css: true
  • Bug fix for http://dartbug.com/20286. Bindings in url attributes will no longer throw an error.


  • Widen the constraint on unittest.


  • Widen the constraint on analyzer.
  • Support for _src and similar attributes in polymer transformers.


  • Raise the lower bound on the source_maps constraint to exclude incompatible versions.


  • Widen the constraint on source_maps.


  • Fix a final use of getLocationMessage.


  • Widen the constraint on barback.


  • Switch from source_maps' Span class to source_span's SourceSpan class.


  • Updated to match polymer 0.3.4 (polymer-dev#6ad2d61), this includes the following changes:
    • added @ComputedProperty
    • @published can now be written using the readValue/writeValue helper methods to match the same timing semantics as Javscript properties.
    • underlying packages are also updated. Some noticeable changes are:
      • observe: path-observers syntax is slightly different
      • polymer_expressions: updating the value of an expression will issue a notification.
      • template_binding: better NodeBind interop support (for two-way bindings with JS polymer elements).
  • Several fixes for CSP, including a cherry-pick from polymer.js commit#3b690ad.
  • Fix for 17596
  • Fix for 19770


  • fixes web_components version in dependencies



  • update readme


  • bug fix: event listeners were not in the dirty-checking zone
  • bug fix: dispatch event in auto-binding


  • Added a workaround for bug in HTML imports (issue 19650).


  • breaking change: platform.js and dart_support.js must be specified in your entry points at the beginning of <head>.
  • breaking change: polymer.html is not required in entrypoints, but it is required from files that use <polymer-element>.
  • breaking change: enteredView/leftView were renamed to attached/detached. The old lifecycle methods will not be invoked.
  • breaking change: Event bindings with @ are no longer supported.
  • breaking change: @published by default is no longer reflected as an attribute by default. This might break if you try to use the attribute in places like CSS selectors. To make it reflected back to an attribute use @PublishedProperty(reflect: true).


  • Reduce the analyzer work by mocking a small subset of the core libraries.


  • Better error message on failures in pub-serve/pub-build when pubspec.yaml is missing or has a wrong configuration for the polymer transformers.


  • Interop with polymer-js elements now works.
  • Polymer polyfills are now consolidated in package:web_components, which is identical to platform.js from http://polymer-project.org.
  • The output of pub-build no longer uses mirrors. We replace all uses of mirrors with code generation.
  • breaking change: Declaring a polymer app requires an extra import to <link rel="import" href="packages/polymer/polymer.html">
  • breaking change: “noscript” polymer-elements are created by polymer.js, and therefore cannot be extended (subtyped) in Dart. They can still be used by Dart elements or applications, however.
  • New feature: @ObserveProperty('foo bar.baz') myMethod() {...} will cause myMethod to be called when “foo” or “bar.baz” changes.
  • Updated for 0.10.0-dev package:observe and package:template_binding changes.
  • breaking change: @initMethod and @CustomTag are only supported on public classes/methods.


  • Improvements on how to handle cross-package HTML imports.


  • Removes unused dependency on csslib.


  • Removes workaround now that mirrors implement a missing feature. Requires SDK >= 1.1.0-dev.5.0.


  • Fix rare canonicalization bug 15694


  • Fix type error in runner.dart 15649.


  • pub-build now runs the linter automatically


  • fix linter on SVG and MathML tags with XML namespaces


  • fix 15574, event bindings in dart2js, by working around issue 15573


  • fix enteredView in dart2js, by using custom_element >= 0.9.1+1