Stable Release v1.3.0
Big Changes
-
[New Feature]
::content
works standalone when styling (used to require something in front, like::host
) -
Attributes bound that are not in the
properties
block will not make a property (previously, a property would be made, but not kept up to date with the attribute changing)- See Kevin's Note: #3383 (comment)
-
[New Feature] Newlines now supported in computed bindings
- Example
<div hidden$="[[_someVeryLongFunctionName( someVeryLongArg, anotherCrazyLongArg)]]">
-
[New Feature] CSS Custom properties now work in
@keyframe
rules -
Polymer is now using ESLint
-
[New Feature] Allow
[attribute ~= "value"]
selectors -
Equalize styling specificity of CSS Custom Properties and
::host
rules -
Deduplicate
behaviors
(prevent weird behaviors when multiple behaviors try to override each other because they are duplicated). -
[New Feature] Bindings of style
{{ foo.bar-baz }}
now work -
CSS Variables with values that contain parens like
url()
now work -
[New Feature] Add support for dynamic functions in bindings
- computedBindings and observers will trigger when a function changes
- computedBindings on functions can be used to lazily trigger bindings on external changes, or encapsulate dependencies
- A good example is a
translate
function for i18n that depends on external translation tables - Example
<i18n-string>[[translate('hi!')]]</i18n-string> <script> Polymer({ is: 'i18n-string', properties: { translate: { type: Function, computed: '_computeTranslateFn(translationService)' }, translationService: { type: Function, value: function(str){ return str; } } }, _computeTranslateFn: function(ts) { return function(str) { return ts(str); } } }); </script>
In this example,
i18n-string
can wait fortranslationService
to be set before attempting translations, will update translations whentranslationService
is changed, and encapsulates the dependency ontranslationService
in the computedtranslate
function, removing it from the binding. -
Setting properties on un-upgraded elements is now supported.
- Properties will be pushed into the data binding system when the element upgrades.
Raw Notes
- [ci skip] Add instructions to pull request template (commit)
- [ci skip] markdown fail (commit)
- [ci skip] Add instructions to issue template (commit)
- Make sure to configure properties on polymer elements that do not have property effects. (commit)
- Fix lint errors. (commit)
- Add comment. Ensure Date deserializes to String for correctness. (commit)
- Serialize before deserialize when configuring attrs. Fixes #3433. (commit)
- Restrict early property set to properties that have accessors. This allows users to set properties in
created
which are listed inproperties
but which have no accessor. (commit) - fix crlf once and for all (commit)
- fix test linting from #3350 (commit)
- Use the new .github folder for issue and pull request templates (commit)
- [ci skip] Use https for jsbin (commit)
- [ci skip] Add issue and pr template (commit)
- Update to gulp-eslint v2 (commit)
- fix lint errors (commit)
- Minor fixes based on review. (commit)
- Undo fix on IE10 where the custom elements polyfill's mixin strategy makes this unfeasible. (commit)
- Update comments. (commit)
- Add test that late resolved functions don't warn (commit)
- Add support for properties defined in a behavior. (commit)
- Generalized approach supporting compute and observers (commit)
- Proper implementation (commit)
- Support dynamic functions for computed annotations. (commit)
- ordering issue for when assert is defined in native html imports (commit)
- Lint the tests (commit)
- Add support for one-of attribute selector while not breaking support for general sibling combinator. Fixes #3023. Fix taken from #3067. (commit)
- Fix bindings with special characters (commit)
- [ci skip] move linting into before_script stage (commit)
- Fix lint error and uncomment test. (commit)
- Add test for overriding property based :host selector from outside. (commit)
- Add comment and fix typo (commit)
- Ensure _propertySetter is installed first. Fixes #3063 (commit)
- Disable tap gesture when track gesture is firing for ancestor node (commit)
- Fix parsing of parenthesis in default of variable declaration (commit)
- Rename _mapRule to _mapRuleOntoParent (commit)
- Test with ESLint enabled (commit)
- Make behaviors array unique (commit)
- Use deserialize from the node. (commit)
- Actually execute case-map (commit)
- [ci skip] .eslintrc is deprecated, add .json suffix (commit)
- Make the test more look like a spec (commit)
- Configure attr's with property effects. More robust fix for #3288. (commit)
- Use ESLint for Polymer (commit)
- Add test suite for effects order (commit)
- Fix negation when a negated binding is changed (commit)
- Add unit test suite for CaseMap (commit)
- Fixes for IE style ordering issue. (commit)
- Fixes #3326. Changes inspired by #3276 and #3344 (commit)
- Fix for getters/setters for property become inaccessible when property set on element before it is ready (commit)
- Non-destructive
@keyframes
rule transformation. (commit) - Fix test regression from PR 3289 (commit)
- Move test and add to runner. (commit)
- make isDebouncerActive actually return a bool (commit)
- Lint the javascript code with eslint (commit)
- i suck at git (commit)
- Fix for scoping when class is not specified on element (null was prepended instead of empty string) (commit)
- Using constant rather than plain
:host
and::content
, also create regexp object only once (commit) - Eliminate the need to write
:host ::content
instead of just::content
, while keeping the same processing under the hood (commit) - Fix: There is no effect of kind 'computedAnnotation' (commit)
- fix test case in 5d17efc (commit)
- add test for 3326 (commit)
- [ci skip] update CHANGELOG (commit)
- Exclude attribute bindings from configuration. Fixes #3288. (commit)
- Doubled
Polymer.CaseMap.dashToCamelCase
performance with simplified and once compiled RegExp. 5 times fasterPolymer.CaseMap.camelToDashCase
using simplified replace part, simplified and once compiled RegExp. (commit) - Update PRIMER.md (commit)
- Unit tests (commit)
- Allow newlines in computed binding argument list (commit)
- Remove redundant assign to window.Polymer (commit)
- parentProps should not override argument based props (commit)