# 2.0.0-alpha.21 (2015-04-27) ## Features - **dart/transform:** Dedup getters, setters, & methods ([15376a6d](https://github.com/angular/angular/commit/15376a6d243740c73cf90f55525d1710cdd156f5)) - **facade:** add isType method ([e617ca63](https://github.com/angular/angular/commit/e617ca6323902bd98c0f1eb990b82f6b8d3c98e3)) - **parser:** support === and !== operators ([afe0e454](https://github.com/angular/angular/commit/afe0e454537f9252f9cf313647e649cfa464f96f), [#1496](https://github.com/angular/angular/issues/1496), [#1500](https://github.com/angular/angular/issues/1500)) - **router:** add initial implementation ([1b2754da](https://github.com/angular/angular/commit/1b2754dacdd15e8fea429d56cdacb28eae76d2b1)) - **view:** reimplemented property setters using change detection ([8ccafb05](https://github.com/angular/angular/commit/8ccafb0524e3ac4c51af34ef88e0fe27482336a6)) ## Performance Improvements - **benchmarks:** - benchmark that measure cost of dynamic components ([427f0d02](https://github.com/angular/angular/commit/427f0d021c51ea6923edd07574a4cc74a1ef84e6)) - benchmark measuring cost of decorators (fixes #1479) ([9fc9d535](https://github.com/angular/angular/commit/9fc9d535667c620017367877dbc2a3bc56d358b7)) ## Other (malformed commit messages) - **other:** - feat: alllow specifying directives as bindings ([4bab25b3](https://github.com/angular/angular/commit/4bab25b3666f4247434ad5cb871906fb063fef51), [#1498](https://github.com/angular/angular/issues/1498)) - fix: export ShadowDom strategies ([6896305e](https://github.com/angular/angular/commit/6896305e34082c246769829e4258631c1d2363d1), [#1510](https://github.com/angular/angular/issues/1510), [#1511](https://github.com/angular/angular/issues/1511))