## [3.8.0](https://github.com/b-strauss/clulib/compare/3.7.0...3.8.0) (2018-04-23)
### Features
* feat(animation.rendering): waitForFrames, throttle ([ea7e144](https://github.com/b-strauss/clulib/commit/ea7e144))
## [3.7.0](https://github.com/b-strauss/clulib/compare/3.6.0...3.7.0) (2018-04-17)
### Features
* feat(math): rectangleIntersects ([2444212](https://github.com/b-strauss/clulib/commit/2444212))
## [3.6.0](https://github.com/b-strauss/clulib/compare/3.5.0...3.6.0) (2018-04-16)
### Features
* feat(dom): isElementVisible ([024ed9a](https://github.com/b-strauss/clulib/commit/024ed9a))
## [3.5.0](https://github.com/b-strauss/clulib/compare/3.4.1...3.5.0) (2018-03-04)
### Features
* feat(cm): ComponentManager.prototype.dispose ([2d5cb5e](https://github.com/b-strauss/clulib/commit/2d5cb5e))
## [3.4.1](https://github.com/b-strauss/clulib/compare/3.4.0...3.4.1) (2018-02-26)
### Bug Fixes
* remove(cm): deprecated annotations for addComponent and addComponentMap ([3c1d5e6](https://github.com/b-strauss/clulib/commit/3c1d5e6))
## [3.4.0](https://github.com/b-strauss/clulib/compare/3.3.0...3.4.0) (2018-02-15)
### Features
* feat(math): mapRange ([b435668](https://github.com/b-strauss/clulib/commit/b435668))
* feat(collections): objectToMap, mapToObject ([e9c3a42](https://github.com/b-strauss/clulib/commit/e9c3a42))
* feat(l10n): ResourceBundle ([fed6d09](https://github.com/b-strauss/clulib/commit/fed6d09))
* feat(l10n): ResourceManager ([8b82ffd](https://github.com/b-strauss/clulib/commit/8b82ffd))
* feat(animation): RenderLoop ([b26a769](https://github.com/b-strauss/clulib/commit/b26a769))
* feat(validation): validateAge, validateDate, validateFileSize, validateFileType, validateMaxStringLength, validateMinStringLength, validateMaxNumber, validateMinNumber, validateRegExp, validateValueRequired, validateEmail, validatePostcode ([43928eb](https://github.com/b-strauss/clulib/commit/43928eb))
## [3.3.0](https://github.com/b-strauss/clulib/compare/3.2.0...3.3.0) (2018-01-16)
### Features
* feat(net): httpRequest, httpGetText, httpGetJson ([237a15b](https://github.com/b-strauss/clulib/commit/237a15b))
## [3.2.0](https://github.com/b-strauss/clulib/compare/3.1.0...3.2.0) (2018-01-12)
### Features
* feature(functions): cacheAsyncValue ([b924995](https://github.com/b-strauss/clulib/commit/b924995))
## [3.1.0](https://github.com/b-strauss/clulib/compare/3.0.0...3.1.0) (2017-09-14)
### Features
* feature(cm): metadata getter for component metadata
Component metadata like `type` and `selector` can now be defined inside a static getter on the component.
This feature needs to be used in combination with the `addClass` and `addClasses` methods on the `ComponentManager`.
Example:
```Javascript
// inside 'ButtonComponent'
static get metadata () {
return {
type: 'default-button',
selector: 'button.default-button'
};
}
// adding the component
cm.addclass(ButtonComponent);
```
# [3.0.0](https://github.com/b-strauss/clulib/compare/2.0.0...3.0.0) (2017-08-27)
### BREAKING CHANGES
* feature(general): use goog.module for the whole codebase
The whole library now uses `goog.module` instead of `goog.provide`. This makes the code more concise, easier to understand, and resembles ES2015 modules more closely.
Most old `goog.require` namespaces have identical `goog.module` ids. Only the component manager code has been refactored into `clulib.cm`.
See the [closure wiki](https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide) for more infos on how to use `goog.module`.
`goog.module` code can still be used inside legacy `goog.provide` code.
* feature(general): use ES2015 classes for the whole codebase
All classes are now real ES2015 classes. The closure-compiler understands these, and can mix them with legacy `goog.inherits` classes.
Please note that the classes do not yet use getters/setters, as the closure-compiler currently doesn't understand `@template` types on getters/setters.
# [2.0.0](https://github.com/b-strauss/clulib/compare/1.3.0...2.0.0) (2017-07-30)
### BREAKING CHANGES
* update(project): rename lib into src ([7c7e14a](https://github.com/b-strauss/clulib/commit/7c7e14a))
All source files now reside under `./src`. Update your build script accordingly.
* remove: `clulib.async.forEach` and `clulib.async.forEachRight` ([94d45f3](https://github.com/b-strauss/clulib/commit/94d45f3))
Use `clulib.array.asyncForEach` and `clulib.array.asyncForEachRight` instead.
* remove: `clulib.sdks.loadFacebookSdk` and `clulib.sdks.loadGooglePlusSdk` ([3d21e3f](https://github.com/b-strauss/clulib/commit/3d21e3f))
There is no replacement for these functions.
* update: `clulib.cm.ComponentManager` to use `Map` instead ot the deprecated `goog.structs.Map` ([84c75b7](https://github.com/b-strauss/clulib/commit/84c75b7))
* `clulib.cm.ComponentManager.prototype.getRegistry` now returns a `Map`
* `clulib.cm.ComponentManager.prototype.addComponentMap` now accepts only an object of type `!Object`
### Bug Fixes
* fix(cm): node_tree superfluous require ([75af17a](https://github.com/b-strauss/clulib/commit/75af17a))
## [1.3.1](https://github.com/b-strauss/clulib/compare/1.3.0...1.3.1) (2017-07-25)
### Bug Fixes
* fix(cm): node_tree superfluous require ([75af17a](https://github.com/b-strauss/clulib/commit/75af17a))
# [1.3.0](https://github.com/b-strauss/clulib/compare/1.2.0...1.3.0) (2017-07-14)
### Bug Fixes
* fix: use strict equality check for all checks not comparing null ([0ba012a](https://github.com/b-strauss/clulib/commit/0ba012a))
* fix(async): `forEachRight` to not change the original array ([fc56665](https://github.com/b-strauss/clulib/commit/fc56665))
### Deprecations
* deprecate: `clulib.async.forEach` and `clulib.async.forEachRight` in favor of `clulib.array.asyncForEach` and `clulib.array.asyncForEachRight` ([8fc8ecc](https://github.com/b-strauss/clulib/commit/8fc8ecc))
* deprecate: `clulib.sdks.loadFacebookSdk` and `clulib.sdks.loadGooglePlusSdk` ([d12c232](https://github.com/b-strauss/clulib/commit/d12c232))
# [1.2.0](https://github.com/b-strauss/clulib/compare/1.1.2...1.2.0) (2017-02-26)
### Features
* feat(array): add `clulib.array.removeHoles` ([61a698a](https://github.com/b-strauss/clulib/commit/61a698a))
* feat(async): `clulib.async.forEach` + `clulib.async.forEachRight` ([a9fc7df](https://github.com/b-strauss/clulib/commit/a9fc7df))
* feat(dom): `clulib.dom.matches` + `clulib.dom.closest` ([f674dba](https://github.com/b-strauss/clulib/commit/f674dba))
### Bug Fixes
* fix(ui): ToggleButton setChecked not being callable if disabled ([1fd15cf](https://github.com/b-strauss/clulib/commit/1fd15cf))
### Misc
* docs(cm): clarify forbidden method calls on Component ([a617175](https://github.com/b-strauss/clulib/commit/a617175))
## [1.1.2](https://github.com/b-strauss/clulib/compare/1.1.1...1.1.2) (2017-02-10)
### Bug Fixes
* fix(cm): call addChild before decorate to prevent `goog.ui.Component`'s repositioning ([97d49e9](https://github.com/b-strauss/clulib/commit/97d49e9))
## [1.1.1](https://github.com/b-strauss/clulib/compare/1.1.0...1.1.1) (2017-02-09)
### Bug Fixes
* fix(cm): make private apis package private ([9232679](https://github.com/b-strauss/clulib/commit/9232679))
* fix `Element.prototype.closest` fallback calling `hasAttribute` on non Elements ([0f04bca](https://github.com/b-strauss/clulib/commit/0f04bca))
### Misc
* perf(cm): compiler optimizations ([e4ec400](https://github.com/b-strauss/clulib/commit/e4ec400))
* perf: more const usages ([aafd248](https://github.com/b-strauss/clulib/commit/aafd248))
# [1.1.0](https://github.com/b-strauss/clulib/compare/1.0.2...1.1.0) (2017-02-02)
### Features
* feature: add queryComponent/queryComponentAll on ComponentManager ([debdcca](https://github.com/b-strauss/clulib/commit/debdcca))
## [1.0.2](https://github.com/b-strauss/clulib/compare/1.0.1...1.0.2) (2017-01-25)
### Bug Fixes
* fix: more compiler warnings ([2baa8ec](https://github.com/b-strauss/clulib/commit/2baa8ec))
* fix: compiler warning ([ac58ea4](https://github.com/b-strauss/clulib/commit/ac58ea4))
### Misc
* refactor: rename completers ([d954782](https://github.com/b-strauss/clulib/commit/d954782))
* add changelog ([abd1b5c](https://github.com/b-strauss/clulib/commit/abd1b5c))
## [1.0.1](https://github.com/b-strauss/clulib/compare/1.0.0...1.0.1) (2017-01-22)
### Bug Fixes
* use es2015 default params ([128e9a9](https://github.com/b-strauss/clulib/commit/128e9a9))
# 1.0.0 (2017-01-14)
* initial release