| Index: third_party/pkg/angular/CHANGELOG.md
|
| diff --git a/third_party/pkg/angular/CHANGELOG.md b/third_party/pkg/angular/CHANGELOG.md
|
| index 4562060f7ab5bc33a51bfe5b50b8dfe1f3efbd5a..3e9d0746474a4e44289c827fec73261dc228ec4e 100644
|
| --- a/third_party/pkg/angular/CHANGELOG.md
|
| +++ b/third_party/pkg/angular/CHANGELOG.md
|
| @@ -1,3 +1,897 @@
|
| +<a name="v0.10.0"></a>
|
| +# v0.10.0 ostemad-teleportation (2014-04-17)
|
| +
|
| +*NOTE:* Contains significant BREAKING CHANGES!
|
| +
|
| +## Bug Fixes
|
| +
|
| +- **DateFilter:** cache DateFormat correctly
|
| + ([64cf96f1](https://github.com/angular/angular.dart/commit/64cf96f104f886036b6f25d0bda5d1307f50d1d1),
|
| + [#882](https://github.com/angular/angular.dart/issues/882))
|
| +- **NgA:** Do not cause a scope digest
|
| + ([de21f4de](https://github.com/angular/angular.dart/commit/de21f4de1f39a4745ad088805459848204457e23),
|
| + [#810](https://github.com/angular/angular.dart/issues/810))
|
| +- **NgControl:** Remove dead code
|
| + ([b30ebe0f](https://github.com/angular/angular.dart/commit/b30ebe0fbaef0e7aa39d52a0bc8bf9cc2174386b))
|
| +- **angular.core:** re-export required annotations
|
| + ([6a9ea37c](https://github.com/angular/angular.dart/commit/6a9ea37cfb444bdfb5e99af42a091c12d949b307))
|
| +- **animation:** temporary fix for Animation symbol conflict
|
| + ([82b4f3e1](https://github.com/angular/angular.dart/commit/82b4f3e12a6a5b1e079c40c8341467089ab8fdf0))
|
| +- **application_factory:** add missing @MirrorsUsed targets
|
| + ([b5e835a0](https://github.com/angular/angular.dart/commit/b5e835a0e3b4bfd8b8b44c260bb0466caa75ab93),
|
| + [#911](https://github.com/angular/angular.dart/issues/911))
|
| +- **bootstrap:** Rename bootstrapping methods
|
| + ([155582d1](https://github.com/angular/angular.dart/commit/155582d199e25aa69ff803b228c3c3c0e5b9ac70))
|
| +- **change-detection:** When two identical pure functions removed
|
| + ([84781ef3](https://github.com/angular/angular.dart/commit/84781ef3377b4cdb92a2cb3b98fb58468e34abc1),
|
| + [#787](https://github.com/angular/angular.dart/issues/787), [#788](https://github.com/angular/angular.dart/issues/788))
|
| +- **change-detection:** properly watch map['key'] constructs
|
| + ([03f0a4c7](https://github.com/angular/angular.dart/commit/03f0a4c72709d74c3b4d5f3fa168189efd7e5b97),
|
| + [#824](https://github.com/angular/angular.dart/issues/824))
|
| +- **cookies:** Make sure Cookies is injectable.
|
| + ([8952cbdd](https://github.com/angular/angular.dart/commit/8952cbdd70f32e8b920942476648b1a8f1473480),
|
| + [#856](https://github.com/angular/angular.dart/issues/856))
|
| +- **core:** ensure change detection doesn't trigger an infinite loop while not in debug mode
|
| + ([6ac105c9](https://github.com/angular/angular.dart/commit/6ac105c9bf662c8717dab811c6c41ded9eed05ea))
|
| +- **dirty-checking:**
|
| + - handle simultaneous mutations and ref changes
|
| + ([28a79bc2](https://github.com/angular/angular.dart/commit/28a79bc21ef3a4a7b0824249bfa31a668275c76e))
|
| + - fix removal of watch record on disconnected group.
|
| + ([d22899aa](https://github.com/angular/angular.dart/commit/d22899aa68f4da15673821cb16f04d4f8c7a4dee))
|
| +- **doc:** add angular.core.annotation lib to docs
|
| + ([ad2e6b0e](https://github.com/angular/angular.dart/commit/ad2e6b0e76357e3aeaee0cd1726247059acc1f49))
|
| +- **docs:** reenable broken doc generation
|
| + ([e925a143](https://github.com/angular/angular.dart/commit/e925a1430e9de53d710e175703c57aefd4dad700))
|
| +- **events:** make ShadowRootEventHandler play nice with static injection
|
| + ([d7683218](https://github.com/angular/angular.dart/commit/d76832181706a86dcef1e0c3b60749f82a2e0e27))
|
| +- **example:** Adjust MirrorsUsed to make the Todo example work thru dart2js
|
| + ([ee4a448b](https://github.com/angular/angular.dart/commit/ee4a448b9defd4c9fda1e86f3c9c37e5465f7e21))
|
| +- **export:** Add missing NgController to angualr.dart
|
| + ([7475ccc4](https://github.com/angular/angular.dart/commit/7475ccc44cec302a0bd0745e99ec491ff3289427))
|
| +- **filters:**
|
| + - handle the current locale correctly
|
| + ([212b6f79](https://github.com/angular/angular.dart/commit/212b6f79560cc24b4a210c6f44e73a8408690fa9),
|
| + [#865](https://github.com/angular/angular.dart/issues/865))
|
| + - pass filters to all evals
|
| + ([25dfd32f](https://github.com/angular/angular.dart/commit/25dfd32ff9e1523ee9220769871867111ed93c3b))
|
| +- **forms:** change valid_submit and invalid_submit to camelcase
|
| + ([e5baa502](https://github.com/angular/angular.dart/commit/e5baa50235aa3ec53f00f87b86dab78ef5882900),
|
| + [#793](https://github.com/angular/angular.dart/issues/793))
|
| +- **http:** fix header map type for http.call()
|
| + ([a6cc826a](https://github.com/angular/angular.dart/commit/a6cc826a1bbe580dd2774b6d53e246a838d3425d))
|
| +- **jasmine:** don't swallow exceptions in afterEach
|
| + ([ae15983d](https://github.com/angular/angular.dart/commit/ae15983d2134bf0fb1823f427654629f92c295d5))
|
| +- **mirror:** added missing mirrors declarations
|
| + ([0ebb49f8](https://github.com/angular/angular.dart/commit/0ebb49f84c12ec2c4b11f1cf75d230f601975ebc))
|
| +- **mock:** export test_injection from module
|
| + ([70546ca5](https://github.com/angular/angular.dart/commit/70546ca50dc5038ba911fcf972af90de492743d4))
|
| +- **mustache:** fix regression that fired an initial empty string
|
| + ([c71b8cfc](https://github.com/angular/angular.dart/commit/c71b8cfc935d1599b2c1c7cef5a08ff4caee7010),
|
| + [#734](https://github.com/angular/angular.dart/issues/734))
|
| +- **ng-model:** Do not use valueAsNumber to work around dartbug.com/15788
|
| + ([019209e7](https://github.com/angular/angular.dart/commit/019209e79ce0752351f2b8d74511fa39694d1e93),
|
| + [#694](https://github.com/angular/angular.dart/issues/694))
|
| +- **ng-repeat:** don't use iterable.length
|
| + ([cf2671ab](https://github.com/angular/angular.dart/commit/cf2671ab718d019a0eaa7d7e0483cae196aaa76c))
|
| +- **ng-view:** correct infinite loop in RouteProvider injection
|
| + ([be902f46](https://github.com/angular/angular.dart/commit/be902f46035b0ea9464eafd12eb4470316ec82fe))
|
| +- **ng_mustache:** actually assign to _hasObservers
|
| + ([61c953d9](https://github.com/angular/angular.dart/commit/61c953d9be3e2626e159cd08ac585a67f412a37e))
|
| +- **parser:** changes parser to throw an error when it encounters an unexpected token
|
| + ([7c26ab0d](https://github.com/angular/angular.dart/commit/7c26ab0dbce3b8ebbde26716e9dc1cfda1e38c71),
|
| + [#830](https://github.com/angular/angular.dart/issues/830), [#905](https://github.com/angular/angular.dart/issues/905))
|
| +- **profiler:** Fix API
|
| + ([f032b376](https://github.com/angular/angular.dart/commit/f032b376c77b9b054d4c2b2db7b29cb7f7c71102))
|
| +- **scope:** allow watching an empty string
|
| + ([bd0d4ffd](https://github.com/angular/angular.dart/commit/bd0d4ffdded131cd3040c6ddda32c46f6553b629))
|
| +- **startup:** Avoid creating rarely needed objects
|
| + ([29bda806](https://github.com/angular/angular.dart/commit/29bda8061aa5240f5445ac28a310990f4f3b80d0))
|
| +- **tagging-compiler:** support top level comments
|
| + ([dc75b016](https://github.com/angular/angular.dart/commit/dc75b0166cc93c08bf81fa364c247de3d97ad2c1))
|
| +- **test:** fixes for latest unittest lib
|
| + ([c8527208](https://github.com/angular/angular.dart/commit/c852720827584065fdc5d48d5dc6d0e23770ebc1),
|
| + [#811](https://github.com/angular/angular.dart/issues/811))
|
| +- **transformer:**
|
| + - Serializing execution of transformers
|
| + ([8b06e673](https://github.com/angular/angular.dart/commit/8b06e673d72d0e98d8a99ef159cc4ebc6fbf8c65),
|
| + [#889](https://github.com/angular/angular.dart/issues/889))
|
| + - crashes in metadata extraction while in pub serve
|
| + ([e35a5e17](https://github.com/angular/angular.dart/commit/e35a5e17e890d739ee546227fef98acbc66c1112),
|
| + [#888](https://github.com/angular/angular.dart/issues/888))
|
| + - Transformer needs html5lib 0.9.2
|
| + ([b52323e4](https://github.com/angular/angular.dart/commit/b52323e4e227d9de9a69134912845835733c20f7))
|
| +- **transformers:**
|
| + - fix accidental breakage due to library rename. Added tests.
|
| + ([88593eec](https://github.com/angular/angular.dart/commit/88593eec6499f93765980087fcdf59a242ec9334))
|
| + - fix breakage from commit 3fb218180b17bdc9808e575e3a9aaf9928fef28b
|
| + ([5caadbf1](https://github.com/angular/angular.dart/commit/5caadbf10304c46da552f4fa118351a3d2de4571))
|
| +- **watch_group:** remove debugging print statement
|
| + ([93c7b9af](https://github.com/angular/angular.dart/commit/93c7b9afbec1154e0869cb820210b401129ee4fe))
|
| +
|
| +
|
| +## Features
|
| +
|
| +- **AstParser:** Made the AST parser private to the scope
|
| + ([8944f0d9](https://github.com/angular/angular.dart/commit/8944f0d927a402f184160b6bfffdff664fb21ee4))
|
| +- **NgAnnotation:** Use `module` parameter to publish types.
|
| + ([5ec7e831](https://github.com/angular/angular.dart/commit/5ec7e831052ce1fe5af70dc970941a4a884a9e02),
|
| + [#779](https://github.com/angular/angular.dart/issues/779))
|
| +- **NgBaseCss:** Add NgBaseCss, which adds css files to all components
|
| + ([06fc28a3](https://github.com/angular/angular.dart/commit/06fc28a319b9c0334a977c4a177348c6f6a3d003))
|
| +- **Scope:**
|
| + - Allow turning emission of scope stats from console.
|
| + ([18ecd950](https://github.com/angular/angular.dart/commit/18ecd950cd815677cba35e26eb6069da19d73300),
|
| + [#836](https://github.com/angular/angular.dart/issues/836), [#857](https://github.com/angular/angular.dart/issues/857))
|
| + - Mirror Scope methods in ngScope.
|
| + ([277f2832](https://github.com/angular/angular.dart/commit/277f283258b7dcdb4994a1c78e6cee862386654d),
|
| + [#850](https://github.com/angular/angular.dart/issues/850), [#858](https://github.com/angular/angular.dart/issues/858))
|
| +- **deploy:** Move all reflection behind separate import
|
| + ([9bf04eba](https://github.com/angular/angular.dart/commit/9bf04eba808f7fc1f4e5285fad7feae360918718))
|
| +- **directives:** Add deprecated warning to applyAuthorStyle, resetStyleInheritance
|
| + ([779ccb80](https://github.com/angular/angular.dart/commit/779ccb800d6db85100418c3e4a89a6003048bcab),
|
| + [#838](https://github.com/angular/angular.dart/issues/838))
|
| +- **event_spec:** Add aaddTest to run an event test in an iit
|
| + ([a5999863](https://github.com/angular/angular.dart/commit/a5999863f85bf172c75bd8f213d640b55f4a5cb8))
|
| +- **expect:**
|
| + - toHaveText handles shadow DOM. Deprecates JQuery.textWithShadow
|
| + ([0384346d](https://github.com/angular/angular.dart/commit/0384346db3b715f6a67425d81825d2d20caae74f))
|
| + - Move JQuery.text to Expect.toHaveText() and element.text
|
| + ([dfe84d8f](https://github.com/angular/angular.dart/commit/dfe84d8f48e97db992d1b70382a2e531b91a1607))
|
| +- **http:** Allow overriding of recording URL.
|
| + ([6ecf1d54](https://github.com/angular/angular.dart/commit/6ecf1d54a2c294035427fd3f274e1fb8e098f45e),
|
| + [#872](https://github.com/angular/angular.dart/issues/872))
|
| +- **karma:** Allow Firefox to execute Karma tests
|
| + ([4a6234b3](https://github.com/angular/angular.dart/commit/4a6234b350c7c25f7de45fceb19bceb31573cb30))
|
| +- **metadata extractor:** Cache the fieldMetadataExtractor for greater performance
|
| + ([63c229c7](https://github.com/angular/angular.dart/commit/63c229c7f7dab901e650fb1c8b155d2bc006ca30))
|
| +- **ng-model:** support input type=date | datetime and all other date/time variants
|
| + ([90e0e076](https://github.com/angular/angular.dart/commit/90e0e0761d2ed59b6a70ba31f9ceb741593bcb26),
|
| + [#747](https://github.com/angular/angular.dart/issues/747))
|
| +- **ngElement:** add support for attributes
|
| + ([581861e5](https://github.com/angular/angular.dart/commit/581861e5f428b2fe43356be012e1fe35b9f7499a))
|
| +- **ngRepeat:** make use of the new change detection
|
| + ([09871cb2](https://github.com/angular/angular.dart/commit/09871cb29b5345d49929895b2a490360eee69244))
|
| +- **parser:** Add support for named arguments.
|
| + ([18ceb4df](https://github.com/angular/angular.dart/commit/18ceb4dfa751615cecc73ff38d7bb1744b914c0a),
|
| + [#762](https://github.com/angular/angular.dart/issues/762))
|
| +- **routing:** allow routing to view html
|
| + ([cdc89c43](https://github.com/angular/angular.dart/commit/cdc89c43664c5d451ae92c83dd86922ccefd807c),
|
| + [#425](https://github.com/angular/angular.dart/issues/425), [#908](https://github.com/angular/angular.dart/issues/908))
|
| +- **selector:** Collect bind- attributes. More tests. Cleanup
|
| + ([4707826b](https://github.com/angular/angular.dart/commit/4707826bd1dff114addb16372f58b7cfc19a8ffc))
|
| +- **template_cache_generator:** Support custom template path resolution
|
| + ([f5bf7eff](https://github.com/angular/angular.dart/commit/f5bf7effaacb9d2423e033a8d7ade122eef6910c),
|
| + [#923](https://github.com/angular/angular.dart/issues/923))
|
| +- **transformers:** Add angular transformers to pub for no-mirror code generation
|
| + ([3fb21818](https://github.com/angular/angular.dart/commit/3fb218180b17bdc9808e575e3a9aaf9928fef28b))
|
| +- **travis:**
|
| + - Firefox
|
| + ([23a3e35f](https://github.com/angular/angular.dart/commit/23a3e35f22489f66692d0559421f33cff0926ab7),
|
| + [#801](https://github.com/angular/angular.dart/issues/801))
|
| + - Only submit if all the builds complete
|
| + ([633d323d](https://github.com/angular/angular.dart/commit/633d323d672ee67ab2dbbd1dd6711a45aa86b0b5))
|
| +- **view factory:** Each css file has its own <style> tag
|
| + ([4c81989f](https://github.com/angular/angular.dart/commit/4c81989fb404279c516ef11a5dccf067831732e0))
|
| +
|
| +
|
| +## Performance Improvements
|
| +
|
| +- **DirtyCheckingChangeDetectorGroup:** Disable calls to _assertRecordsOk().
|
| + ([d6b9bb70](https://github.com/angular/angular.dart/commit/d6b9bb708af9b44b59e482d1a8588c29a2a3608f),
|
| + [#813](https://github.com/angular/angular.dart/issues/813))
|
| +- **compiler:** 45x speedup. Cache the attribute keys.
|
| + ([556ef5cf](https://github.com/angular/angular.dart/commit/556ef5cfea30f210e5d56b42a054f46bbfdcf640))
|
| +- **element_binder:** use every rather than reduce
|
| + ([27e2845d](https://github.com/angular/angular.dart/commit/27e2845d69597f2bfe4da7aa00cc8bc614e8ad19))
|
| +
|
| +
|
| +## Breaking Changes
|
| +
|
| +- **NgAnnotation:** due to [5ec7e831](https://github.com/angular/angular.dart/commit/5ec7e831052ce1fe5af70dc970941a4a884a9e02),
|
| + `publishTypes` parameter is removed.
|
| +
|
| + ```
|
| + @NgDirective(
|
| + publishTypes: [FooInt]
|
| + )
|
| + class Foo extends FooInt {
|
| + }
|
| + ```
|
| +
|
| + becomes
|
| +
|
| + ```
|
| + @NgDirective(
|
| + module: Foo.module,
|
| + visibility: NgDirective.LOCAL_VISIBILITY
|
| + )
|
| + class Foo extends FooInt {
|
| + module() => new Module()
|
| + ..factory(FooInt,
|
| + (i) => i.get(Foo),
|
| + visibility: NgDirective.LOCAL_VISIBILITY)
|
| + }
|
| + ```
|
| +
|
| + Closes #779
|
| +- **bootstrap:** due to [155582d1](https://github.com/angular/angular.dart/commit/155582d199e25aa69ff803b228c3c3c0e5b9ac70),
|
| +
|
| + - import:
|
| + - angular/angular_dynamic.dart -> angular/application_factory.dart
|
| + - angular/angular_static.dart -> angular/application_factory_static.dart
|
| +
|
| + - functions:
|
| + - dynamicApplication() -> applicationFactory()
|
| + - staticApplication() -> staticApplicationFactory()
|
| +- **forms:** due to [e5baa502](https://github.com/angular/angular.dart/commit/e5baa50235aa3ec53f00f87b86dab78ef5882900),
|
| + All form code that uses control.valid_submit and control.invalid_submit will throw an error. Instead use control.validSubmit
|
| + and control.invalidSubmit to checkthe submission validitity on a control.
|
| +
|
| + Closes #793
|
| +- **selector_spec:** due to [c03c538d](https://github.com/angular/angular.dart/commit/c03c538d31f01b7f543a03441fec613c2df2d641),
|
| + This relaxs the assumption that directives will be created in the same order everywhere.
|
| + For #801
|
| +- **nameing:** due to [f055ab6f](https://github.com/angular/angular.dart/commit/f055ab6f7c4fadfdbb6a46d8bc547b304586d95c)
|
| + Closes #902
|
| +
|
| + BREAKING CHANGE: These are the renames
|
| +
|
| + - Concepts:
|
| + ```
|
| + - Filter -> Formatter
|
| + ```
|
| +
|
| + - Importing:
|
| + ```
|
| + - angular/directive/ng_a.dart -> angular/directive/a_href.dart
|
| + - angular/filter/currency.dart -> angular/formatter/currency.dart
|
| + - angular/filter/date.dart -> angular/formatter/date.dart
|
| + - angular/filter/filter.dart -> angular/formatter/filter.dart
|
| + - angular/filter/json.dart -> angular/formatter/json.dart
|
| + - angular/filter/limit_to.dart -> angular/formatter/limit_to.dart
|
| + - angular/filter/lowercase.dart -> angular/formatter/lowercase.dart
|
| + - angular/filter/module.dart -> angular/formatter/module.dart
|
| + - angular/filter/number.dart -> angular/formatter/number.dart
|
| + - angular/filter/order_by.dart -> angular/formatter/order_by.dart
|
| + - angular/filter/stringify.dart -> angular/formatter/stringify.dart
|
| + - angular/filter/uppercase.dart -> angular/formatter/uppercase.dart
|
| + ```
|
| +
|
| + - Types:
|
| + ```
|
| + - NgA -> AHref
|
| + - NgAttachAware -> AttachAware
|
| + - NgDetachAware -> DetachAware
|
| + - NgShadowRootAware -> ShadowRootAware
|
| + - NgFilter -> Formatter
|
| + - NgInjectableService -> Injectable
|
| + - AbstractNgAnnotation -> Directive
|
| + - AbstractNgFieldAnnotation -> DirectiveAnnotation
|
| + - NgComponent -> Component
|
| + - NgController -> Controller
|
| + - NgDirective -> Decorator
|
| + - NgAnimate -> Animate
|
| + - NgZone -> VmTurnZone
|
| + - NgAnimationModule -> AnimationModule
|
| + - NgCoreModule -> CoreModule
|
| + - NgCoreDomModule -> CoreDomModule
|
| + - NgAnimationDirective -> NgAnimation
|
| + - NgAnimationChildrenDirective -> NgAnimationChildren
|
| + - FilterMap -> FormatterMap
|
| + - NgAttrMustacheDirective -> AttrMustache
|
| + - NgTextMustacheDirective -> TextMustache
|
| + ```
|
| +
|
| + - Constants
|
| + ```
|
| + - NgDirective.LOCAL_VISIBILITY -> Directive.LOCAL_VISIBILITY
|
| + - NgDirective.CHILDREN_VISIBILITY -> Directive.CHILDREN_VISIBILITY
|
| + - NgDirective.DIRECT_CHILDREN_VISIBILITY -> Directive.DIRECT_CHILDREN_VISIBILITY
|
| + ```
|
| +
|
| +<a name="v0.9.10"></a>
|
| +# v0.9.10 llama-magnetism (2014-03-20)
|
| +
|
| +## Bug Fixes
|
| +
|
| +- **Filter:** Add support for maps
|
| + ([b32beecf](https://github.com/angular/angular.dart/commit/b32beecfeeecf40a05320b29e19b1572442542cf))
|
| +- **Jasmine:** Execute AfterEach methods
|
| + ([71b2855c](https://github.com/angular/angular.dart/commit/71b2855ceab53ec1afa6b1b8950f3d12b58c4b2c))
|
| +- **NgModel:** ensure DOM value changes are only applied during scope.domWrite
|
| + ([419e9189](https://github.com/angular/angular.dart/commit/419e9189b482fc054146b51a44613ff543efb485))
|
| +- **NgModelValidators:** ensure all validators can properly toggle attribute values
|
| + ([98143034](https://github.com/angular/angular.dart/commit/98143034287f4a6adfd08f4064e4a751c569b108))
|
| +- **NodeAttrs:** lazy init of observer listeners
|
| + ([144eb4c7](https://github.com/angular/angular.dart/commit/144eb4c76598a73a251477efc91c1460f5052937))
|
| +- **animation:** correct broken build http://dartbug.com/17634
|
| + ([9891f333](https://github.com/angular/angular.dart/commit/9891f3339207e921a0a50cac3d855eb4606b41bb))
|
| +- **change_detection:**
|
| + - should properly support objects with equality
|
| + ([9b480dad](https://github.com/angular/angular.dart/commit/9b480dad5f9eaf86099c6c1760a837d1eb6d6442),
|
| + [#735](https://github.com/angular/angular.dart/issues/735), [#670](https://github.com/angular/angular.dart/issues/670))
|
| + - leaking watch records when removing deeply nested watch_groups
|
| + ([1ba5befb](https://github.com/angular/angular.dart/commit/1ba5befba3392769752c1d163de7c691234fca15),
|
| + [#700](https://github.com/angular/angular.dart/issues/700))
|
| + - don't call reactionFn on deleted scope
|
| + ([0aacdc4f](https://github.com/angular/angular.dart/commit/0aacdc4f73b79f874a78783308feea471279db0d))
|
| +- **compiler:** Remove the Block/BlockFactory typedefs
|
| + ([9b790f49](https://github.com/angular/angular.dart/commit/9b790f490b16c2834177df75f235da8d3347aa64))
|
| +- **component:** revert regression of injecting Element/Node into Component
|
| + ([d9fc724e](https://github.com/angular/angular.dart/commit/d9fc724e56e99b26192e41eaef46607760f4ac2a))
|
| +- **forms:**
|
| + - ensure models are validated when validator attributes change
|
| + ([0622f3a9](https://github.com/angular/angular.dart/commit/0622f3a969b99b06c5f07da10ceb756b720a3331))
|
| + - consider forms as pristine only when all the inner models are non-dirty
|
| + ([4458ce8e](https://github.com/angular/angular.dart/commit/4458ce8e0035f8250cc35ec02906f63ba33c8974))
|
| + - store models instead of controls within the collection of errors
|
| + ([2928ae71](https://github.com/angular/angular.dart/commit/2928ae71b694be5e2a47eaa2cdd1d602f8ae26e9))
|
| +- **i18n:** properly restore locale after test WARNING
|
| + ([f16536ee](https://github.com/angular/angular.dart/commit/f16536eed937bcdb5421ac61059ad40fe58ed2ef))
|
| +- **jasmine syntax:** Drop the wrapFn concept and let `_specs.dart` handle the sync wrapper
|
| + ([1e971e6b](https://github.com/angular/angular.dart/commit/1e971e6b7c65958bbf9a4779fbac944afaebb278))
|
| +- **jquery:** Deprecate renderedText() in favour of JQuery.textWithShadow()
|
| + ([364d9ff7](https://github.com/angular/angular.dart/commit/364d9ff712a635cd3b0d86bff9e663105ffce86b))
|
| +- **ng-class:** remove previously registered watch
|
| + ([8b54f5e6](https://github.com/angular/angular.dart/commit/8b54f5e6c8d99a4b9531edb78ec10e8177e53407),
|
| + [#725](https://github.com/angular/angular.dart/issues/725))
|
| +- **ng-repeat:** should correctly handle detached state
|
| + ([775bbce4](https://github.com/angular/angular.dart/commit/775bbce4060c3828c1cbaeffcb8fc4092f46868b),
|
| + [#697](https://github.com/angular/angular.dart/issues/697))
|
| +- **ng-style:** watch in RO mode
|
| + ([51ee3298](https://github.com/angular/angular.dart/commit/51ee32987464832ddca113528d899ea27f0b6f40),
|
| + [#721](https://github.com/angular/angular.dart/issues/721))
|
| +- **presubmit:**
|
| + - Set new token; correct env variable name
|
| + ([53aeb4aa](https://github.com/angular/angular.dart/commit/53aeb4aaea69bcd0ca21e6430b02a50de997f991))
|
| + - use https protocol for push
|
| + ([a2845a50](https://github.com/angular/angular.dart/commit/a2845a50e680555f4ef129247d1d2045233a5f0f))
|
| + - correct presubmit authentication
|
| + ([8b430d10](https://github.com/angular/angular.dart/commit/8b430d100c6c99267c3459310a762e6e831b4727))
|
| +- **scope:**
|
| + - allow concurrent fire/add/remove on listeners
|
| + ([e6689e37](https://github.com/angular/angular.dart/commit/e6689e37c800682a81d7690c3b05baf732c307c6))
|
| + - should allow removing listener during an event
|
| + ([4662d494](https://github.com/angular/angular.dart/commit/4662d49477fdf0b5ef01f8d4f8aed8b87d77ea66),
|
| + [#695](https://github.com/angular/angular.dart/issues/695))
|
| + - add scope id for easier debugging.
|
| + ([5a368087](https://github.com/angular/angular.dart/commit/5a36808736efae4760c8f9fdc5b291353ca9ec02))
|
| +- **tagging compiler:**
|
| + - a text child after a directive child
|
| + ([81030dde](https://github.com/angular/angular.dart/commit/81030dde483bf0b4bb943f31408733f3238286ee))
|
| + - ancestor injectables
|
| + ([81ad184d](https://github.com/angular/angular.dart/commit/81ad184d928625a97e15fd8baf3e6df21cf1efae))
|
| + - Sibling templates
|
| + ([167b4909](https://github.com/angular/angular.dart/commit/167b4909fca4c72a903ccc695043f6a13d1a4b98))
|
| + - Transclusions with an existing ElementBinder
|
| + ([0e4cb8ed](https://github.com/angular/angular.dart/commit/0e4cb8ed82f98e6a3e9dc2d131394a4d769cb0cc))
|
| + - Empty transclusions
|
| + ([b71a5009](https://github.com/angular/angular.dart/commit/b71a50092d6a529e21e06f4080bbe50873eac997))
|
| +- **zone:** Avoid silently ignoring uncaught exceptions by default.
|
| + ([7bb1944e](https://github.com/angular/angular.dart/commit/7bb1944e3726dea221e6ab33d4bc6f1de6a364c8),
|
| + [#710](https://github.com/angular/angular.dart/issues/710))
|
| +
|
| +## Features
|
| +
|
| +- **NgModel:** introduce parsers and formatters
|
| + ([bed9fe15](https://github.com/angular/angular.dart/commit/bed9fe15f8b89b296a9b519268bd3e3c326b6265))
|
| +- **Scope:** Improve ScopeStats reporting
|
| + ([1954e9e2](https://github.com/angular/angular.dart/commit/1954e9e293203466a50f3931126ebde0335b885d),
|
| + [#744](https://github.com/angular/angular.dart/issues/744))
|
| +- **compiler:**
|
| + - Make the TaggingCompiler the default compiler
|
| + ([3ed50b5e](https://github.com/angular/angular.dart/commit/3ed50b5ebdf8013a3f9d354846770c1e9f75497a))
|
| + - Tagging compiler
|
| + ([59516afb](https://github.com/angular/angular.dart/commit/59516afb37d1dd33dbdca9e705646dad1afafd1d))
|
| + - Initial TagggingCompiler implementation
|
| + ([80163401](https://github.com/angular/angular.dart/commit/80163401e1524c2b5c90a8c0d66b263370a6c402))
|
| + - ViewFactory now takes a list of ElementBinders
|
| + ([eb559ad0](https://github.com/angular/angular.dart/commit/eb559ad05ca33e6c985ceed492f20c9b2a88c5b9))
|
| + - Add an ElementBinder class and return it from Selector
|
| + ([41bc9a40](https://github.com/angular/angular.dart/commit/41bc9a40a17521285eb7d342a5590c2a7b09be93))
|
| +- **core_dom:** introduce NgElement
|
| + ([1afa0b61](https://github.com/angular/angular.dart/commit/1afa0b61da45038ea192f34208ffb9e2a6081fd9))
|
| +- **doc:**
|
| + - Animation library documentation updates and fixes.
|
| + ([613030a0](https://github.com/angular/angular.dart/commit/613030a04c584040a09cade196945fde9fa830cc),
|
| + [#760](https://github.com/angular/angular.dart/issues/760))
|
| + - Library description for angular.animate
|
| + ([0576f278](https://github.com/angular/angular.dart/commit/0576f27841c8842b0d84bfae8c4b202c39833beb))
|
| +- **element binder:**
|
| + - Make ElementBinder non-recursive and create an external tree
|
| + ([811b4607](https://github.com/angular/angular.dart/commit/811b46073af9fe2f7e353ce1b811898c1557bad8))
|
| + - ElementBinder.bind
|
| + ([b1a518bd](https://github.com/angular/angular.dart/commit/b1a518bd678ab4a4d53f8915a9e3c34c87c5d3c1))
|
| +- **filters:** revert filter being restricted to top level
|
| + ([66cda204](https://github.com/angular/angular.dart/commit/66cda2046ea84d29edd7a478509565989834e391))
|
| +- **forms:** append valid/invalid CSS classes for each validator on all controls
|
| + ([574065f5](https://github.com/angular/angular.dart/commit/574065f5b8183f4b6d9ac7b66a2ae501a21ee2ac))
|
| +- **jasmine:** beforeEachModule syntax and injectifying its
|
| + ([4019046f](https://github.com/angular/angular.dart/commit/4019046f4b56a629f6db71a6e1caff82b728940a),
|
| + [#727](https://github.com/angular/angular.dart/issues/727))
|
| +- **jquery:** Add shadowRoot() and use it in templateurl_spec
|
| + ([e1745c60](https://github.com/angular/angular.dart/commit/e1745c601a22030b4241a93589cb13a4935049d1))
|
| +- **mock zone:** isAsyncQueueEmpty
|
| + ([c834837d](https://github.com/angular/angular.dart/commit/c834837dcb5b9220b1570c7f96785d763a7b0968))
|
| +- **mustache:** Move unobserved mustache attributes to the flush phase
|
| + ([56647a36](https://github.com/angular/angular.dart/commit/56647a36d67fe3b4b28967a78b193e90e0a65152),
|
| + [#734](https://github.com/angular/angular.dart/issues/734))
|
| +- **selector:** DirectiveSelector is real now: matchElement, matchText
|
| + ([eb4422a9](https://github.com/angular/angular.dart/commit/eb4422a9a2d0d0dbdb2fb9d04fdcbcae99b65757))
|
| +- **spec:** Ignore ng-binding classes in html()
|
| + ([441daf79](https://github.com/angular/angular.dart/commit/441daf79a4e3fca8f42379022f078327d4e69e59))
|
| +- **tagging compiler:**
|
| + - Create fewer ElementBinder lists
|
| + ([7e185219](https://github.com/angular/angular.dart/commit/7e185219a9a477330ea8d2074bd9dad385bedd4b))
|
| + - Support comments
|
| + ([6fe02a07](https://github.com/angular/angular.dart/commit/6fe02a07431231a39c6e174327b36533b91f0073))
|
| +- **travis:** Seperate Chrome and Dartium into two different jobs.
|
| + ([7c5bdb01](https://github.com/angular/angular.dart/commit/7c5bdb01dae7933540679e070ace5dc9fe223cd2))
|
| +- **EventHandler** Add support for on-* style events
|
| + ([c28e6a02](https://github.com/angular/angular.dart/commit/c28e6a02d7ec3386c856bd6aa79f8ddee2ff09b9))
|
| +
|
| +<a name="v0.9.9"></a>
|
| +# v0.9.9 glutinous-waterfall (2014-03-10)
|
| +
|
| +
|
| +## Bug Fixes
|
| +
|
| +- **DateFilter:**
|
| + - should work on other locale
|
| + ([d7e77de9](https://github.com/angular/angular.dart/commit/d7e77de92fd61fabd7842eb0acb4d9236935dd76),
|
| + [#604](https://github.com/angular/angular.dart/issues/604))
|
| + - fix a wrong type
|
| + ([cec3edad](https://github.com/angular/angular.dart/commit/cec3edad1944a8411882b0a87ea6193c25513392),
|
| + [#579](https://github.com/angular/angular.dart/issues/579))
|
| +- **Directive:** remove publishAs from NgDirective to avoid confusion.
|
| + ([7ee587f6](https://github.com/angular/angular.dart/commit/7ee587f6f959d89cfdd87b0f615510405d693db9),
|
| + [#396](https://github.com/angular/angular.dart/issues/396))
|
| +- **MetadataExtractor:** ignore typedefs
|
| + ([37f1c321](https://github.com/angular/angular.dart/commit/37f1c32118383b250ba2db6f21adf1737beb2b0a),
|
| + [#524](https://github.com/angular/angular.dart/issues/524))
|
| +- **NgAttachAware:** revert to original behavior and define stronger test
|
| + ([500446d1](https://github.com/angular/angular.dart/commit/500446d1f6d548bbc007957017cf7cae74c7f30c))
|
| +- **NgAttrMustacheDirective:** support parsing of multiline attribute values
|
| + ([a37e1576](https://github.com/angular/angular.dart/commit/a37e15761b5bbad2f32308ccd0f765bd977fb0ca))
|
| +- **NgComponent:**
|
| + - Handle errors while loading CSS
|
| + ([b5aa130f](https://github.com/angular/angular.dart/commit/b5aa130f68c589e2e4a8c6fad1dbd69078608be1),
|
| + [#411](https://github.com/angular/angular.dart/issues/411))
|
| + - Drop cssUrls, leaving cssUrl only
|
| + ([92ed26fb](https://github.com/angular/angular.dart/commit/92ed26fb1a00a239c164428979a2f53226ae4b2c))
|
| + - attach method was called earlier rathe then later.
|
| + ([3c594130](https://github.com/angular/angular.dart/commit/3c594130589f43a6f82374a87bf498f2d5645ab5))
|
| +- **NgForm:**
|
| + - always return the first matching control when using map notation on a NgForm instance
|
| + ([95e66d6b](https://github.com/angular/angular.dart/commit/95e66d6bb28c3075952e31cdbce3c044ed00fc8f))
|
| + - use map notation for controls and dot notation for instance properties
|
| + ([0cc1217b](https://github.com/angular/angular.dart/commit/0cc1217b80ceb2b9dd383d0e51e128be40bec9d4))
|
| +- **NgModelValidators:** ensure that number input types render invalid when non-numeric characters are present
|
| + ([476a8dbf](https://github.com/angular/angular.dart/commit/476a8dbfac40f695a02e49a8e76590135e5867d2))
|
| +- **NodeCursor:** Removes nodeList() in favor of current
|
| + ([aaae1d60](https://github.com/angular/angular.dart/commit/aaae1d60832b331be62b0fd94c65935ce68b2856),
|
| + [#644](https://github.com/angular/angular.dart/issues/644))
|
| +- **WatchGroup:** don't call reaction functions on removed WatchGroups
|
| + ([a7cabe35](https://github.com/angular/angular.dart/commit/a7cabe35a0a8bd9288d517df3885245242da3676))
|
| +- **angular:** export GetterCache from dccd
|
| + ([c1655e8c](https://github.com/angular/angular.dart/commit/c1655e8c51b1133da70f04e7630e733557806a9e))
|
| +- **binding:** call attach when attribute is not specified
|
| + ([1cb8eb9f](https://github.com/angular/angular.dart/commit/1cb8eb9f135c55a75af2a0ada6401e5c8594b03b))
|
| +- **block_factory:**
|
| + - should not load template or call onShadowRoot when scope is destroyed
|
| + ([2e403504](https://github.com/angular/angular.dart/commit/2e403504845f2899dd8b80f424a68eeb1c0e3fe6))
|
| + - should not call attach when scope is destroyed
|
| + ([72708e33](https://github.com/angular/angular.dart/commit/72708e3337deb95a579cd8181a688e3e7859ebff))
|
| +- **bouncing_balls:** ball number can not go below 0
|
| + ([6de4f810](https://github.com/angular/angular.dart/commit/6de4f810f4bcdaf639739a97816cac8006eb5faf))
|
| +- **change-detection:**
|
| + - correctly process watch registration inside reaction FN.
|
| + ([d6bc9ab8](https://github.com/angular/angular.dart/commit/d6bc9ab871490148f937f0587f2e9d16beca62ee))
|
| + - Fix the handling of NaN & string values for maps
|
| + ([156d6386](https://github.com/angular/angular.dart/commit/156d6386f45c4f6c4672432de28b1245da1c1515))
|
| + - Fix for comparing string by value
|
| + ([11f1bd87](https://github.com/angular/angular.dart/commit/11f1bd872a474bd2b99f40027003c356abff6e21))
|
| + - reset next/prev on watchGroup.marker
|
| + ([4dfa2676](https://github.com/angular/angular.dart/commit/4dfa267698b56017fae4b491b855767f030f3598))
|
| + - delay processing watch registration inside reaction fn.
|
| + ([cd4e2e3d](https://github.com/angular/angular.dart/commit/cd4e2e3d2dbab33e31ce1cfc3273e37d55ac9008))
|
| + - remove memory leak, use iterator
|
| + ([75fbded7](https://github.com/angular/angular.dart/commit/75fbded7ad2691eb4391c56a595ab488842a85ed))
|
| + - remove memory leak
|
| + ([847af41f](https://github.com/angular/angular.dart/commit/847af41fd66d9016e32cf5b3d8f86e91bae7e6d9))
|
| + - corrected adding group to sibling which had children
|
| + ([8583d08b](https://github.com/angular/angular.dart/commit/8583d08baf60ed63940b3ff38967877327ccf03d))
|
| +- **change-detector:** handle double.NAN for collections (in JS)
|
| + ([07f9b240](https://github.com/angular/angular.dart/commit/07f9b240008a143964d29153589c078aa85ddd09))
|
| +- **compiler:**
|
| + - don't wait indefinitly for non-null value on =>!
|
| + ([5451d63d](https://github.com/angular/angular.dart/commit/5451d63d135b271a52af522343e67abfd30d7cb8))
|
| + - ensure parent controllers are exposed within the scope of their children
|
| + ([cad8cc4a](https://github.com/angular/angular.dart/commit/cad8cc4a64a223c677f420acb800da89b1d0061c),
|
| + [#602](https://github.com/angular/angular.dart/issues/602))
|
| + - support filters in attribute expressions
|
| + ([8f020f99](https://github.com/angular/angular.dart/commit/8f020f998e8a4b7d5b595e5c44086fa2628fe8b3),
|
| + [#571](https://github.com/angular/angular.dart/issues/571), [#580](https://github.com/angular/angular.dart/issues/580))
|
| +- **di:** Upgrade dependency of package di preventing problems with dart sdk 1.1 resolves #408
|
| + ([1f85a8ce](https://github.com/angular/angular.dart/commit/1f85a8cee164d85d6eed43e7604a0190d1542d84),
|
| + [#408](https://github.com/angular/angular.dart/issues/408), [#583](https://github.com/angular/angular.dart/issues/583))
|
| +- **dirty_checking_change_detector:** correctly truncate collection change record
|
| + ([c1937b4e](https://github.com/angular/angular.dart/commit/c1937b4eab87e227d2aa3b126740c93a6c75a353),
|
| + [#692](https://github.com/angular/angular.dart/issues/692))
|
| +- **doc:** Correct markdown for ElementProbe
|
| + ([5783de44](https://github.com/angular/angular.dart/commit/5783de448333cfd0d408c4c9663f1cc7e32a6350))
|
| + - Use a consistent name for the library
|
| + ([3f541fa4](https://github.com/angular/angular.dart/commit/3f541fa49a9543e8d3c7a6c416b04934c591bf74))
|
| +- **doc-gen:**
|
| + - add docviewer flags for generating the new angulardart docs
|
| + ([99d9f2ae](https://github.com/angular/angular.dart/commit/99d9f2ae843fbda320f87e505aecb8ba2f2db4ed))
|
| + - dartbug.com/16752
|
| + ([9a1ef31d](https://github.com/angular/angular.dart/commit/9a1ef31d66f151f22b79893e11251a6780605257))
|
| +- **dynamic_parser:** Handle reserved words correctly
|
| + ([271ecec0](https://github.com/angular/angular.dart/commit/271ecec05e21b1eddb7663dd8297ab4b9ead4d19),
|
| + [#614](https://github.com/angular/angular.dart/issues/614))
|
| +- **eval access:** Do not crash on null cached value
|
| + ([bbcbd3e7](https://github.com/angular/angular.dart/commit/bbcbd3e70f289c1fcc232a38ac89038f83342d3c),
|
| + [#424](https://github.com/angular/angular.dart/issues/424))
|
| +- **forms:**
|
| + - do not reset input fields on valid submission
|
| + ([24e9c3dd](https://github.com/angular/angular.dart/commit/24e9c3dd3f1cc46bdb8092f6deac0e4ad8732c1d))
|
| + - ensure fields, fieldsets & forms are marked as dirty when modified
|
| + ([ad60d55a](https://github.com/angular/angular.dart/commit/ad60d55a2f8cdd6c7f0a246efdc79a5af85a833e))
|
| + - treat <input> with no type as type="text"
|
| + ([8f0a8a7f](https://github.com/angular/angular.dart/commit/8f0a8a7fe87517a65b2c5ed2857c90ea87898a0b))
|
| +- **generator:**
|
| + - remove invalid sort on elements
|
| + ([e2a00abe](https://github.com/angular/angular.dart/commit/e2a00abe371bb2d9d3c1d3c19849e075a32e92e4),
|
| + [#554](https://github.com/angular/angular.dart/issues/554))
|
| + - write files in sorted order for predictable tests
|
| + ([79b7525a](https://github.com/angular/angular.dart/commit/79b7525a790ce73a50c2874e2f43110fbce61d16))
|
| + - Write URI in sorted order to prevent SHA churn
|
| + ([217839ef](https://github.com/angular/angular.dart/commit/217839ef3495506313a226681a6c10a52e71df0f))
|
| +- **http_spec:** implement lastModified getter
|
| + ([e719e75e](https://github.com/angular/angular.dart/commit/e719e75e15ca01048d1212ec403b8ee5ba3bfa74))
|
| +- **introspection:**
|
| + - Better error messages and checked mode support
|
| + ([9ad2a686](https://github.com/angular/angular.dart/commit/9ad2a686860b21e555587dd2986ca77b969919cc))
|
| + - Export all symbols. And a test.
|
| + ([691c4cab](https://github.com/angular/angular.dart/commit/691c4cab02115963fa974e55f5ee8f196c2aef13))
|
| + - warnings
|
| + ([70d83c53](https://github.com/angular/angular.dart/commit/70d83c53c350920fc27942a9c3b4c83dff5c10b5),
|
| + [#497](https://github.com/angular/angular.dart/issues/497))
|
| +- **ng-attr:** remove camel-cased dom attributes
|
| + ([b5e45117](https://github.com/angular/angular.dart/commit/b5e45117c17fdd07d5db659815eb49c2dca17b84),
|
| + [#567](https://github.com/angular/angular.dart/issues/567))
|
| +- **ng-class:** array syntax should not insert nulls
|
| + ([b982e326](https://github.com/angular/angular.dart/commit/b982e326cd7d3fbd4e53fbe7b65ba9adc0f5cf64),
|
| + [#513](https://github.com/angular/angular.dart/issues/513))
|
| +- **ng-event:** don't double digest
|
| + ([c38989a4](https://github.com/angular/angular.dart/commit/c38989a4496e47813d77e3d0cc4868691af7e166))
|
| +- **ng-pluralize:** use ${..} to interpolate
|
| + ([a630487d](https://github.com/angular/angular.dart/commit/a630487d302e396a920e02c8db5d256a81d3dd1a),
|
| + [#572](https://github.com/angular/angular.dart/issues/572))
|
| +- **ng-value:** Add ng-value support for checked/radio/option
|
| + ([8fc2c0f4](https://github.com/angular/angular.dart/commit/8fc2c0f49aabc53ee6240ad8063ecf6c9c8b8a1f))
|
| +- **ngControl:** unregister control from parent on detach
|
| + ([4c9b8044](https://github.com/angular/angular.dart/commit/4c9b804454e3e0f0cb680d9359834692fc9ec304),
|
| + [#684](https://github.com/angular/angular.dart/issues/684))
|
| +- **ngModel:**
|
| + - ensure checkboxes and radio buttons are flagged as dirty when changed
|
| + ([5766a6a1](https://github.com/angular/angular.dart/commit/5766a6a173dc1d65b9293fd5bd0bcbc21b0791ec),
|
| + [#569](https://github.com/angular/angular.dart/issues/569), [#585](https://github.com/angular/angular.dart/issues/585))
|
| + - process input type=number according to convention, using valueAsNumber
|
| + ([cf0160b8](https://github.com/angular/angular.dart/commit/cf0160b8c316a39ac9d0fcce843c6f764429a1d4),
|
| + [#574](https://github.com/angular/angular.dart/issues/574), [#577](https://github.com/angular/angular.dart/issues/577))
|
| + - ensure validation occurs when the model value changes upon digest
|
| + ([f34e0b31](https://github.com/angular/angular.dart/commit/f34e0b31a6f2f42457a6d1a1b5b5aaa7e2ef86fe))
|
| + - evaluate user input using onInput instead of onKeyDown
|
| + ([64442974](https://github.com/angular/angular.dart/commit/64442974157211b49bad6f28182a15aedd652efd))
|
| +- **ngShow:** Add/remove ng-hide class instead of ng-show class
|
| + ([0b88d2e8](https://github.com/angular/angular.dart/commit/0b88d2e8102db8b89f38b00c277b9023b260285e),
|
| + [#521](https://github.com/angular/angular.dart/issues/521))
|
| +- **package.json:** add repo, licenses and switch to devDependencies
|
| + ([d099db59](https://github.com/angular/angular.dart/commit/d099db5944e2287fbf97a13b1aa73f8082652e09),
|
| + [#544](https://github.com/angular/angular.dart/issues/544), [#545](https://github.com/angular/angular.dart/issues/545))
|
| +- **parser:**
|
| + - disallow filters in a chain and inside expressions
|
| + ([5bcea649](https://github.com/angular/angular.dart/commit/5bcea6492f6d0fd39ba316fa3b241c50bb94de8d))
|
| + - Correctly distinguish NoSuchMethodError
|
| + ([bde52abe](https://github.com/angular/angular.dart/commit/bde52abebd026d0226b90bd84380a24d7a8eab4e))
|
| +- **parser, scope:** Allow nulls in binary operations.
|
| + ([59811752](https://github.com/angular/angular.dart/commit/59811752f57a87fe8f6a6313fd8764f4d45b4c5c),
|
| + [#646](https://github.com/angular/angular.dart/issues/646))
|
| +- **parser_generator:** use parser getter/setter generator instead
|
| + ([42c8d8c8](https://github.com/angular/angular.dart/commit/42c8d8c89087932c1be19965b6b649075919287d))
|
| +- **readme:** Read the Travis badge
|
| + ([6fe5692b](https://github.com/angular/angular.dart/commit/6fe5692b58e71c86f2001659b9f8f78016d74ebf))
|
| +- **routing:** correctly scope routing to ng-app
|
| + ([3ab250a7](https://github.com/angular/angular.dart/commit/3ab250a706c84542c9e618d9e98eea81d99a5d22))
|
| +- **scope:**
|
| + - fix null comparisons
|
| + ([fb0fe0e3](https://github.com/angular/angular.dart/commit/fb0fe0e3f8adb24312646ee9bd01502be605ae7e),
|
| + [#646](https://github.com/angular/angular.dart/issues/646))
|
| + - incorrect stage message
|
| + ([2169a950](https://github.com/angular/angular.dart/commit/2169a950404bf8c68a9f2d239580a27caf1d9779))
|
| + - correctly setup NgZone onError handler with ExceptionHandler
|
| + ([e8bc580c](https://github.com/angular/angular.dart/commit/e8bc580cfb2d3995fd113916894b26e98d07b8d6))
|
| + - return null to supress an analyzer error
|
| + ([fad457e9](https://github.com/angular/angular.dart/commit/fad457e96f2c6ee17e6ce3c14a499e230e630ca5),
|
| + [#594](https://github.com/angular/angular.dart/issues/594))
|
| + - correctly handle canceled listeners bookkeeping
|
| + ([259ac5b1](https://github.com/angular/angular.dart/commit/259ac5b147652522a92b40a12298891dd491c9a7))
|
| + - should not trigger assertions on fork
|
| + ([484f03dc](https://github.com/angular/angular.dart/commit/484f03dcce7bdc20a101d795d85eee58484d02c9))
|
| + - skip scopes without event on broadcast
|
| + ([ae22a6f3](https://github.com/angular/angular.dart/commit/ae22a6f3f82e321a923a64a573b000485a3fd70e))
|
| + - createChild now requires context
|
| + ([6722e1a4](https://github.com/angular/angular.dart/commit/6722e1a45bb65a86211c2eb3cef2a264bc7e871e))
|
| + - improve error msg on unstable model
|
| + ([c9bf23a0](https://github.com/angular/angular.dart/commit/c9bf23a095cc1863b7075fa7bd2fd6bb6fbc9d38))
|
| + - allow sending emit/broadcast when no on()
|
| + ([d9dfe0f8](https://github.com/angular/angular.dart/commit/d9dfe0f830f2df3fb1e811d6891c684f5080ee7c))
|
| + - Use Iterable instead of List
|
| + ([951fa178](https://github.com/angular/angular.dart/commit/951fa1783afa65f410a2b82249850eed458ed294),
|
| + [#565](https://github.com/angular/angular.dart/issues/565))
|
| + - use correct filters when digesting scope tree
|
| + ([95f6503f](https://github.com/angular/angular.dart/commit/95f6503f1390159eeedfe6d14ea60ec0d70b9381))
|
| +- **select:** Corrected NPE if select multiple nested in ng-if
|
| + ([6228692b](https://github.com/angular/angular.dart/commit/6228692bbf0cc269999cb3cb77374bb815120a4b),
|
| + [#428](https://github.com/angular/angular.dart/issues/428))
|
| +- **selector:** Allow two directives with the same selector
|
| + ([467b935e](https://github.com/angular/angular.dart/commit/467b935ee93a87913cfc8a025973ffd00e31bf2d),
|
| + [#471](https://github.com/angular/angular.dart/issues/471), [#481](https://github.com/angular/angular.dart/issues/481))
|
| +- **template_cache_generator:** support traversal of partial files
|
| + ([f918d4dd](https://github.com/angular/angular.dart/commit/f918d4dd9ac7c777b0197a700fd6af58103e4129),
|
| + [#662](https://github.com/angular/angular.dart/issues/662))
|
| +- **watch_group:** prevent removed watches from firing
|
| + ([a558a26f](https://github.com/angular/angular.dart/commit/a558a26ffdafddec986f4fafab5bbe55ef6b0b48))
|
| +
|
| +
|
| +## Features
|
| +
|
| +- **Animation:** Animation for AngularDart.
|
| + ([5a36e773](https://github.com/angular/angular.dart/commit/5a36e773482bce7b4a797613516a56d1b628035b),
|
| + [#635](https://github.com/angular/angular.dart/issues/635))
|
| + - introduce ng-animate and ng-animate-children.
|
| + ([88d2af6f](https://github.com/angular/angular.dart/commit/88d2af6f81b11518cf359b85066a0f0677140b16),
|
| + [#661](https://github.com/angular/angular.dart/issues/661))
|
| +- **NgForm:** provide access to non-uniquely named control instances via form.controls
|
| + ([6099c037](https://github.com/angular/angular.dart/commit/6099c0373f3b59bbeea8c1dfd585bbb6a50a1833),
|
| + [#642](https://github.com/angular/angular.dart/issues/642))
|
| +- **NgModelValidator:**
|
| + - perform number validations on range input elements
|
| + ([710cd5b0](https://github.com/angular/angular.dart/commit/710cd5b0ff0a7b2dfe71536e3455523d3c939b5f),
|
| + [#682](https://github.com/angular/angular.dart/issues/682))
|
| + - provide support for min and max validations on number input fields
|
| + ([7dc55fbf](https://github.com/angular/angular.dart/commit/7dc55fbff47b99eb5e64cd63192a7a3e7b8eae88))
|
| +- **Scope:** Brand new scope implementation which takes advantage of the new change detection
|
| + ([390aea5e](https://github.com/angular/angular.dart/commit/390aea5ee4318855584911afb2ce4a2b86fc718c))
|
| +- **block:**
|
| + - Kill block events.
|
| + ([27308e9e](https://github.com/angular/angular.dart/commit/27308e9e334477370a3417535af92540bfa3d24f),
|
| + [#659](https://github.com/angular/angular.dart/issues/659))
|
| + - Chain ElementProbe parents; add to shadowRoot
|
| + ([b77534e4](https://github.com/angular/angular.dart/commit/b77534e4cc8ed1996bfd1d5cc27f07e81748fb95),
|
| + [#625](https://github.com/angular/angular.dart/issues/625), [#630](https://github.com/angular/angular.dart/issues/630))
|
| +- **blockhole:** Change blockhole to have the insert / remove / move methods.
|
| + ([c1e70ce8](https://github.com/angular/angular.dart/commit/c1e70ce8e0c8c510f0dee4de043e78f61c3e9c3d),
|
| + [#689](https://github.com/angular/angular.dart/issues/689))
|
| +- **change-detection:** Initial implementation of new change-detection algorithm.
|
| + ([d0b2dd95](https://github.com/angular/angular.dart/commit/d0b2dd957b02215671f9b2b8d8f30c05879ad8c5))
|
| +- **doc:** Documentation generation for NgAnimateModule.
|
| + ([a029ac5e](https://github.com/angular/angular.dart/commit/a029ac5edf7e1226dc2a04fc4d55e41bceb26d36))
|
| +- **doc-gen:** Use new docviewer for generating docs
|
| + ([67fcafff](https://github.com/angular/angular.dart/commit/67fcafff85d3ff1c32b610e247aa672d6eb91496))
|
| +- **forms:**
|
| + - use the ng-form attribute as the name of the inner form
|
| + ([8b989b6d](https://github.com/angular/angular.dart/commit/8b989b6d5866eea45a3e867e3b3a56ac114ff59e),
|
| + [#681](https://github.com/angular/angular.dart/issues/681))
|
| + - introduce the control.hasError helper method
|
| + ([7b75af44](https://github.com/angular/angular.dart/commit/7b75af44bc4a998c83bd0a5a0339984e74766f55))
|
| + - expose getters for submitted, valid_submit and invalid_submit
|
| + ([9daaa0fc](https://github.com/angular/angular.dart/commit/9daaa0fcd5898ead0a62e577001dd2568eb17dfb),
|
| + [#601](https://github.com/angular/angular.dart/issues/601))
|
| + - provide support for touch and untouched control flags
|
| + ([634c62b1](https://github.com/angular/angular.dart/commit/634c62b1d9d77e3d3413934b068c312afa637b43),
|
| + [#591](https://github.com/angular/angular.dart/issues/591))
|
| + - generate ng-submit-valid / ng-submit-invalid CSS classes upon form submission
|
| + ([4bf9447c](https://github.com/angular/angular.dart/commit/4bf9447cc64650d6c73b66c844fb5396b4a2ae27))
|
| + - provide support for reseting forms, fieldsets and models
|
| + ([c75202d5](https://github.com/angular/angular.dart/commit/c75202d5d7ecabd01366f2198e0c0c3b5c087e59))
|
| + - add a test for input type="search"
|
| + ([87a60d1f](https://github.com/angular/angular.dart/commit/87a60d1f43b8a4f4e7e31ca179e9de8cd2d94ce9))
|
| +- **ngModel:**
|
| + - Treat the values of number and range inputs as numbers
|
| + ([e703bd1b](https://github.com/angular/angular.dart/commit/e703bd1bc75f4d6420afad0bbb975b3e23672ff8),
|
| + [#527](https://github.com/angular/angular.dart/issues/527))
|
| + - support the input[type="search"] field
|
| + ([ff736d92](https://github.com/angular/angular.dart/commit/ff736d92a16bc06b848d0be4282dbf8f80b831c5),
|
| + [#466](https://github.com/angular/angular.dart/issues/466))
|
| +- **ngRepeat:** add track by support
|
| + ([07566457](https://github.com/angular/angular.dart/commit/07566457720c1fc9631808432a2cb39c2edeccb8),
|
| + [#277](https://github.com/angular/angular.dart/issues/277), [#507](https://github.com/angular/angular.dart/issues/507))
|
| +- **routing:** new DSL and deferred module loading
|
| + ([3db9ddd3](https://github.com/angular/angular.dart/commit/3db9ddd3d2ab9aa97dfe2d0bdd5631190f6c6a56))
|
| +- **sanitization:** make NodeValidator injectable
|
| + ([47ab48ad](https://github.com/angular/angular.dart/commit/47ab48adf5cbcba6e7a2c8607b1ce1be29014a83),
|
| + [#490](https://github.com/angular/angular.dart/issues/490), [#498](https://github.com/angular/angular.dart/issues/498))
|
| +- **scope:**
|
| + - add scope digest stat collection
|
| + ([c066923d](https://github.com/angular/angular.dart/commit/c066923d8be4198e0692b22c83b11aee81fed3ee),
|
| + [#609](https://github.com/angular/angular.dart/issues/609))
|
| + - add internal streams consistency checks
|
| + ([65213c30](https://github.com/angular/angular.dart/commit/65213c30e2e34ed39577f0785f3c80a297829c43))
|
| + - Experimental: Watch once, watch not null expressions
|
| + ([84762b10](https://github.com/angular/angular.dart/commit/84762b1028ef7e334519a5b322adf768dacd00c9))
|
| + - Allow expressions on non-scope context
|
| + ([e4dfb469](https://github.com/angular/angular.dart/commit/e4dfb469c5e322ad9b90bad0ec40ce54626a24c0))
|
| +- **scope2:** Basic implementation of Scope v2
|
| + ([3bde820e](https://github.com/angular/angular.dart/commit/3bde820e6cf0819d02434afb41479552487323e7))
|
| +- **scripts:** robust authors.sh
|
| + ([ffe43c6c](https://github.com/angular/angular.dart/commit/ffe43c6cceafcdd8c6ced170e99bbd7b50ec40fb),
|
| + [#586](https://github.com/angular/angular.dart/issues/586))
|
| +- **zone:** Allow escaping of auto-digest mechanism.
|
| + ([2df2660d](https://github.com/angular/angular.dart/commit/2df2660d876ee3cc60047eb806704edc99c41dbf),
|
| + [#557](https://github.com/angular/angular.dart/issues/557))
|
| +
|
| +
|
| +## Performance Improvements
|
| +
|
| +- **change-detection:** optimize DirtyCheckingChangeDetector.collectChanges()
|
| + ([4453e3e8](https://github.com/angular/angular.dart/commit/4453e3e8a5602e6095cecc899d8a32594ea48b4e),
|
| + [#693](https://github.com/angular/angular.dart/issues/693))
|
| +- **scope:**
|
| + - optim createChild() which always append at the end
|
| + ([78f0c826](https://github.com/angular/angular.dart/commit/78f0c82680123f146b4e430db46bb2f59b214be1),
|
| + [#626](https://github.com/angular/angular.dart/issues/626))
|
| + - misc optimizations
|
| + ([7f36a8e1](https://github.com/angular/angular.dart/commit/7f36a8e1557cd55e7379b1750fd4029e7eddd91b),
|
| + [#610](https://github.com/angular/angular.dart/issues/610))
|
| +
|
| +
|
| +## BREAKING CHANGES
|
| +
|
| +0.9.9 contains a major overhaul to the change-detection algorithm which is used behind the scenes
|
| +during scope digests. As a result, much of the scope API has changed to facilitate this new feature.
|
| +
|
| +The biggest change is how scope properties are assigned on the scope. With earlier versions of
|
| +AngularDart, the scope object itself was treated like a map and any property accessed using square
|
| +brackets would either set or get the associated value. With 0.9.9 this will not produce the same
|
| +effect. Instead all scope property getter and setter operations are to be facilitated within the
|
| +scope.context member. So in other words, all the scope property reading and writing that was done
|
| +in earlier versions is now done the same way, but on the `scope.context` member.
|
| +
|
| +```dart
|
| +// < 0.9.9
|
| +scope['prop'] = 'value'; //set
|
| +scope['prop']; //get
|
| +
|
| +// >= 0.9.9
|
| +scope.context['prop'] = 'value'; //set
|
| +scope.context['prop']; //get
|
| +```
|
| +
|
| +### Breaking Changes to the Scope API
|
| +
|
| +#### 1. scope.$watch() is now scope.watch()
|
| +```dart
|
| +//old code
|
| +scope.$watch('a.b.c', () {});
|
| +
|
| +//new code (no more $ prefixing)
|
| +scope.watch('a.b.c', (value, previous) {});
|
| +```
|
| +
|
| +#### 2. scope context changes
|
| +```dart
|
| +//old code
|
| +scope.$watch(() => o.foo; () {});
|
| +
|
| +//new code (notice the context property)
|
| +scope.watch('foo', (value, _) {}, context: o);
|
| +```
|
| +
|
| +#### 3. watch de-registration
|
| +```dart
|
| +//old code
|
| +var stopWatch = scope.$watch(...);
|
| +stopWatch();
|
| +
|
| +//new code
|
| +Watch watch = scope.watch(...);
|
| +watch.remove();
|
| +```
|
| +
|
| +#### 4. Replace scope-level digests
|
| +```dart
|
| +//old code
|
| +scope.$digest();
|
| +
|
| +//new code
|
| +scope.rootScope.apply();
|
| +
|
| +//Digest is now split between digest/flush so we need apply to call them both.
|
| +```
|
| +
|
| +#### 5. Changes to scope event listeners
|
| +```dart
|
| +//old code
|
| +scope.$on('foo', (e, data) {});
|
| +
|
| +//new code
|
| +scope.on('foo').listen((e) {var data = e.data;});
|
| +
|
| +
|
| +//old code
|
| +scope.$on('foo', (e, a, b, c) {});
|
| +
|
| +//new code
|
| +scope.on('foo').listen((e) {MyEvent data = e.data;});
|
| +
|
| +
|
| +//old code
|
| +scope.$emit('foo', [a]);
|
| +
|
| +//new code
|
| +scope.emit('foo', a);
|
| +
|
| +
|
| +//old code
|
| +scope.$emit('foo', [a, b ,c]);
|
| +
|
| +//new code
|
| +scope.emit('foo', new MyEvent(a, b, c));
|
| +```
|
| +
|
| +#### 6. Creating new scopes
|
| +```dart
|
| +//old code
|
| +scope.$new();
|
| +
|
| +//new code
|
| +scope.createChild(new PrototypeMap(scope.context)));
|
| +
|
| +//We have plans to allow any object to be the context.
|
| +//The PrototypeMap is a way to maintain consistent behavior.
|
| +```
|
| +
|
| +#### 7. EvalAsync
|
| +```dart
|
| +//old code
|
| +scope.$evalAsync(() => null);
|
| +
|
| +//new code
|
| +scope.runAsync(() => null);
|
| +
|
| +
|
| +//old code
|
| +scope.$evalAsync(
|
| + () => null,
|
| + outsideDigest: true);
|
| +
|
| +//new code
|
| +scope.domRead(() => null);
|
| +```
|
| +
|
| +#### 8. scope.$$verifyDigestWillRun() has been removed
|
| +There is currently no replacement. We feel that we have the zone under control and there is no need for this method any more.
|
| +
|
| +#### 9. scope.$disabled has been removed
|
| +There is currently no replacement.
|
| +
|
| +#### 10. Watching collections
|
| +```dart
|
| +//old code
|
| +scope.$watchSet(['ctrl.foo', 'ctrl.bar'], (values) {...});
|
| +
|
| +//new code
|
| +scope.watch('[ctrl.foo, ctrl.bar]', (vars, _) {
|
| + var ctrlFoo = vars[0];
|
| + var ctrlBar = vars[1];
|
| +});
|
| +```
|
| +
|
| +
|
| +
|
| <a name="v0.9.8"></a>
|
| # v0.9.8 cozy-porcupine (2014-02-19)
|
|
|
| @@ -113,7 +1007,7 @@
|
| ([79b7525a](https://github.com/angular/angular.dart/commit/79b7525a790ce73a50c2874e2f43110fbce61d16))
|
| - Write URI in sorted order to prevent SHA churn
|
| ([217839ef](https://github.com/angular/angular.dart/commit/217839ef3495506313a226681a6c10a52e71df0f))
|
| -- **input:** treat <input> with no type as type="text"
|
| +- **input:** treat `<input>` with no type as type="text"
|
| ([8f0a8a7f](https://github.com/angular/angular.dart/commit/8f0a8a7fe87517a65b2c5ed2857c90ea87898a0b))
|
| - **ng-class:** array syntax should not insert nulls
|
| ([b982e326](https://github.com/angular/angular.dart/commit/b982e326cd7d3fbd4e53fbe7b65ba9adc0f5cf64),
|
|
|