{"push_id":841196292,"size":9,"distinct_size":4,"ref":"refs/heads/presubmit-vsavkin-pr-4913","head":"5a54e123f10f70add508b253dc836abb9f4b8277","before":"484c4d570bfd856ec2d7a68d0160b60e3609507c","commits":[{"sha":"3118d5cebbe1529fa2bdfa470bf27ee74f827d76","author":{"email":"cc459ba71aed2f3f39a0b1a98b6f7026f2923b0d@gmail.com","name":"Tobias Bosch"},"message":"fix(compiler): support events on a template element that are consumed via a direct expression\n\nCloses #4883","distinct":false,"url":"https://api.github.com/repos/angular/angular/commits/3118d5cebbe1529fa2bdfa470bf27ee74f827d76"},{"sha":"485c85bfe7cbed35f503fff0ef3040356dd3b167","author":{"email":"867f7294b87f46e0540a2961e4bbea5d69aa94e6@gmail.com","name":"Jeremy Attali"},"message":"fix(core): Fix typo\n\narithemtic should be arithmetic.\n\nCloses #4803","distinct":false,"url":"https://api.github.com/repos/angular/angular/commits/485c85bfe7cbed35f503fff0ef3040356dd3b167"},{"sha":"d29a9a99aa2f9054f2d57b962b6f5b0c4f658205","author":{"email":"a2e9c52be66b7ab84c9b100cd348991dbb73b3e7@gmail.com","name":"mikael"},"message":"fix(forms): handle control change in NgFormControl\n\nwhen a new Control instance is bound to the directive, use the new instance, not the old one","distinct":false,"url":"https://api.github.com/repos/angular/angular/commits/d29a9a99aa2f9054f2d57b962b6f5b0c4f658205"},{"sha":"608cdc40773989f392b2a56c13b90957f5a40250","author":{"email":"9efe82c926224afe96853467a8120a167773640f@gmail.com","name":"vsavkin"},"message":"cleanup(forms): clean up NgFormControl\n\nCloses #4912","distinct":false,"url":"https://api.github.com/repos/angular/angular/commits/608cdc40773989f392b2a56c13b90957f5a40250"},{"sha":"04b4035ecde068f4187d7a7ffe1fa2a4d6cc722a","author":{"email":"88fa846e5f8aa198848be76e1abdcb7d7a42d292@suumit.com","name":"Victor Berchet"},"message":"refactor(AppViewListener): prefix listener with on for consistency\n\nCloses #3925","distinct":false,"url":"https://api.github.com/repos/angular/angular/commits/04b4035ecde068f4187d7a7ffe1fa2a4d6cc722a"},{"sha":"c9fba3fa1f96a762d9ac43dfba0b40c9f9c4ed71","author":{"email":"8a188bc70ec74a57337c4c143a6bfa23cb34533d@google.com","name":"Ted Sander"},"message":"feat(validators): Add a pending state to AbstractControl\n\nAdd a pending state to AbstractControl and a function to set that state on\nthemselves and their parents. This will be used for both individual async\nvalidators and when the imperitive mode is used. [Design Doc](https://docs.google.com/document/d/1EnJ3-_iFpVKFz1ifN1LkXSGQ7h3A72OQGry2g8eo7IA/edit?pli=1#heading=h.j53rt81eegm4)","distinct":true,"url":"https://api.github.com/repos/angular/angular/commits/c9fba3fa1f96a762d9ac43dfba0b40c9f9c4ed71"},{"sha":"28d88c5b128c494e3df2d4825ab039ac4ef68e79","author":{"email":"8a188bc70ec74a57337c4c143a6bfa23cb34533d@google.com","name":"Ted Sander"},"message":"feat(validators): Allow errors at both the group/array level or their children\n\nAllow ControlGroups and ControlArrays to contain errors from their level, and\nerrors from their children. [Design Doc](https://docs.google.com/document/d/1EnJ3-_iFpVKFz1ifN1LkXSGQ7h3A72OQGry2g8eo7IA/edit?pli=1#heading=h.j53rt81eegm4)\n\nBREAKING CHANGE: errors format has changed from validators. Now errors from\na control or an array's children are prefixed with 'controls' while errors\nfrom the object itself are left at the root level.\nExample:\nGiven a Control group as follows:\nvar group = new ControlGroup({\n  login: new Control(\"\", required),\n  password: new Control(\"\", required),\n  passwordConfirm: new Control(\"\", required)\n});\n\nBefore:\ngroup.errors\n\n{\n  login: {required: true},\n  password: {required: true},\n  passwordConfirm: {required: true},\n}\n\nAfter:\ngroup.errors\n\n{\n  controls: {\n    login: {required: true},\n    password: {required: true},\n    passwordConfirm: {required: true},\n  }\n}","distinct":true,"url":"https://api.github.com/repos/angular/angular/commits/28d88c5b128c494e3df2d4825ab039ac4ef68e79"},{"sha":"28db8646901e0aedcd8892e45ed00de86627fb78","author":{"email":"9efe82c926224afe96853467a8120a167773640f@gmail.com","name":"vsavkin"},"message":"cleanup(forms): add missing tests","distinct":true,"url":"https://api.github.com/repos/angular/angular/commits/28db8646901e0aedcd8892e45ed00de86627fb78"},{"sha":"5a54e123f10f70add508b253dc836abb9f4b8277","author":{"email":"2984a72f1f9142510f37e2315f21dfe7f43ae8f1@gmail.com","name":"Victor Savkin"},"message":"Merge 28db8646901e0aedcd8892e45ed00de86627fb78 into 04b4035ecde068f4187d7a7ffe1fa2a4d6cc722a","distinct":true,"url":"https://api.github.com/repos/angular/angular/commits/5a54e123f10f70add508b253dc836abb9f4b8277"}]}