- Inject the polyfills after any
<base>
tags in the head.
- Fix invalid warning about missing polymer.html import from the linter.
- Update logging package to
<0.12.0
.
- Update observe to 0.13.1.
- Update analyzer to <0.26.0.
- Add support for the new
link[rel="x-dart-test"]
tags from thetest
package to the transformer. - The
Future
returned from the defaultmain
method inpackage:polymer/init.dart
now guarantees that it will not complete until all@initMethod
and@whenPolymerReady
functions have been executed. This is to support writing tests inside these methods using the newtest
package. - Fix the bootstrap file to return the original result of main.
- Use
polymer_interop
for everything polymer js related. Projects which only provide/use wrappers around js elements should be able to switch to using that package instead of this one.
- Update polymer js version to 0.5.5.
- Update pubspec from
html5lib
tohtml
.
- Switch
html5lib
package dependency tohtml
.
-
Added
@whenPolymerReady
annotation for functions. This will call the function oncePolymer.onReady
completes, reducing the boilerplate in entry points to the following:import 'package:polymer/polymer.dart'; export 'package:polymer/init.dart'; @whenPolymerReady void onReady() { /// Custom setup code here. }
- Switch to using
initWebComponents
internally which gives better guarantees around development time ordering of initializers. This should fix most issues related to element registration order.
- Update
args
constraint. - Pass
bindingStartDelimiters
to theImportInlinerTransformer
so it can handle bindings in urls appropriately, #35.
- Update
web_components
constraint.
- Fix static configuration for exported libraries.
- Increase upper bound of
smoke
package to<0.4.0
.
- Update the polyfill injector to work properly for entry points that live in sub-folders.
- Update analyzer and code_transformers versions and use new mock sdk from code_transformers.
-
initPolymer
now returns aFuture<Zone>
instead of aZone
. This will likely affect most polymer applications.Given a current program:
main() => initPolymer().run(realMain); realMain() => ...
This should be translated to:
main() => initPolymer().then((zone) => zone.run(realMain)); realMain() => ...
Or alternatively, you can use an @initMethod:
main() => initPolymer(); @initMethod realMain() => ...
-
Dropped support for the experimental bootstrap.
-
The
polymer
transformer is now integrated with theinitialize
transformer. This means you can now use@HtmlImport
on library directives. This allows producers of elements to declare their own html dependencies so consumers don't have to know about your html imports at all. See web_components 0.10.2 for more information on @HtmlImport. -
The
startPolymer
method no longer takes adeployMode
argument. This is meant as an internal-only method and should not affect apps. It also now returns aFuture
. -
The transformer has been heavily refactored and may behave slightly differently. Please file any bugs related to this at https://github.com/dart-lang/polymer-dart/issues/new.
- Fix for #23 (0.15.5+3 missed an invocation of the observe transformer).
- Pass more state to the observe transformer so it won't output log files in release mode.
- Update duplicate css file message.
- Changes order in which CustomTags are registered to guarantee that the order is deterministic and that within a library superclasses are registered before subclasses. This fixes 17.
- Fix template if when using template attribute 209.
- Renamed
injectBoundHTML
toinjectBoundHtml
and changed its signature to use named instead of positional optional arguments. Also added support for customNodeValidator
and/orTreeSanitizer
. The old version still exists for now with an@deprecated
annotation.
- Fix logic for detecting when the compiler is linting within an
auto-binding-dart
template element. This removes some false positive warnings.
- Narrow the constraint on observe to ensure that new features are reflected in polymer's version.
- Upgraded to polymer js version 0.5.1. Dart Note: Since dirty checking is only a development feature for Polymer Dart, we did not include the functionality to stop dirty checks in inactive windows.
polymer.js
is now the unminified version, andpolymer.min.js
is the minified version.- Fixed bug where polymer js was creating instances of extended elements in order to check if they had been registered. All dart custom elements now get registered with polymer js using the HTMLElement prototype.
- Increase code_transformers lower bound and use shared transformers from it.
- Fix double-registration bug when using exports 21439.
- Make sure that
dart_support.js
is always appended afterplatform.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:transformers: - 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 than0.2.3
. - Upgraded minimum version constraint on
args
to0.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:
transformers: - 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:
transformers: - polymer: ... inline_stylesheets: 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 tosource_span
'sSourceSpan
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
- workaround for bug 19653
- 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 enteredView in dart2js, by using custom_element >= 0.9.1+1