https://github.com/angular/angular

sort by:
Revision Author Date Message Commit Date
e6ee7c2 release: cut the v11.0.0-next.0 release 02 September 2020, 20:06:00 UTC
54687f7 release: cut the v10.1.0 release 02 September 2020, 20:02:58 UTC
59c234c build: add configuration for the caretaker command (#38601) Add configuration information for the new caretaker command PR Close #38601 01 September 2020, 20:05:32 UTC
a6f3cd9 feat(dev-infra): check services/status information of the repository for caretaker (#38601) The angular team relies on a number of services for hosting code, running CI, etc. This tool allows for checking the operational status of all services at once as well as the current state of the repository with respect to merge and triage ready issues and prs. PR Close #38601 01 September 2020, 20:05:30 UTC
d9fea85 fix(forms): ensure to emit `statusChanges` on subsequent value update/validations (#38354) This commit ensures that the `updateValueAndValidity` method takes the `asyncValidator` into consideration to emit on the `statusChanges` observables. This is necessary so that any subsequent changes are emitted properly to any subscribers. Closes #20424 Closes #14542 BREAKING CHANGE: Previously if FormControl, FormGroup and FormArray class instances had async validators defined at initialization time, the status change event was not emitted once async validator completed. After this change the status event is emitted into the `statusChanges` observable. If your code relies on the old behavior, you can filter/ignore this additional status change event. PR Close #38354 01 September 2020, 17:36:31 UTC
03dbcc7 build: update the package.json to 11.0.0-next.0 (#38667) Update package.json version to reflect master targetting the next major release train. 01 September 2020, 17:35:41 UTC
c142b07 build: upgrade cli command docs sources to 32391604b (#38652) Updating [angular#master](https://github.com/angular/angular/tree/master) from [cli-builds#master](https://github.com/angular/cli-builds/tree/master). ## Relevant changes in [commit range](https://github.com/angular/cli-builds/compare/ef770f1cb...32391604b): **Modified** - help/build.json - help/generate.json PR Close #38652 01 September 2020, 16:03:25 UTC
71acf9d docs: Restructure table of contents to provide a more streamlined experience. (#38353) PR Close #38353 31 August 2020, 23:16:54 UTC
f5a148b fix(compiler): incorrectly inferring namespace for HTML nodes inside SVG (#38477) The HTML parser gets an element's namespace either from the tag name (e.g. `<svg:rect>`) or from its parent element `<svg><rect></svg>`) which breaks down when an element is inside of an SVG `foreignElement`, because foreign elements allow nodes from a different namespace to be inserted into an SVG. These changes add another flag to the tag definitions which tells child nodes whether to try to inherit their namespaces from their parents. It also adds a definition for `foreignObject` with the new flag, allowing elements placed inside it to infer their namespaces instead. Fixes #37218. PR Close #38477 31 August 2020, 20:25:38 UTC
4f28192 refactor(dev-infra): use a mixin to require a `github-token` for an ng-dev command (#38630) Creates a mixin for requiring a github token to be provided to a command. This mixin allows for a centralized management of the requirement and handling of the github-token. PR Close #38630 31 August 2020, 19:32:27 UTC
0fc2bef docs(service-worker): add links to service worker communication guide (#36847) PR Close #36847 31 August 2020, 18:41:16 UTC
f5d1e9a docs(service-worker): add section to explain unrecoverable state (#36847) PR Close #36847 31 August 2020, 18:41:13 UTC
036a2fa feat(service-worker): add `UnrecoverableStateError` (#36847) In several occasions it has been observed when the browser has evicted eagerly cached assets from the cache and which can also not be found on the server anymore. This can lead to broken state where only parts of the application will load and others will fail. This commit fixes this issue by checking for the missing asset in the cache and on the server. If this condition is true, the broken client will be notified about the current state through the `UnrecoverableStateError`. Closes #36539 PR Close #36847 31 August 2020, 18:41:11 UTC
5be4edf fix(service-worker): fix condition to check for a cache-busted request (#36847) Previously, the condition to make the cache busted was executing although the network request was successful. However, this is not valid. The cache should only be marked as busted when the request failed. This commit fixes the invalid condition. PR Close #36847 31 August 2020, 18:41:09 UTC
38d6596 test(service-worker): add helper function remove individual cache (#36847) This commit adds a helper method to remove individual cached items. PR Close #36847 31 August 2020, 18:41:07 UTC
0a7a5e3 docs: Remove confusion between do/avoid templates (#38647) PR Close #38647 31 August 2020, 17:25:16 UTC
d5fabc3 refactor(forms): remove extra space in error message (#38637) Remove extra whitespace at package/forms/model.ts error messages PR Close #38637 31 August 2020, 16:31:55 UTC
ebc0e46 refactor(dev-infra): improve error message for unexpected version branches (#38622) Currently the merge script default branch configuration throws an error if an unexpected version branch is discovered. The error right now assumes to much knowledge of the logic and the document outlining the release trains conceptually. We change it to something more easy to understand that doesn't require full understanding of the versioning/labeling/branching document that has been created for the Angular organization. PR Close #38622 31 August 2020, 16:29:58 UTC
3487b54 feat(dev-infra): write outputs of command runs to ng-dev log file (#38599) Creates infrastructure to write outputs of command runs to ng-dev log file. Additionally, on commands which fail with an exit code greater than 1, an error log file is created with the posix timestamp of the commands run time as an identifier. PR Close #38599 31 August 2020, 15:47:15 UTC
52c7a4b docs: ng generate module command doc change (#38480) PR Close #38480 31 August 2020, 15:43:19 UTC
827ba05 docs: remove first person and space in CircleCI in the testing guide. (#38631) PR Close #38631 31 August 2020, 15:42:04 UTC
b2857b4 docs: remove double space in start-data. (#38642) PR Close #38642 31 August 2020, 15:41:30 UTC
5d5caf2 docs: fix broken markdown in start/start-data (#38644) PR Close #38644 31 August 2020, 15:40:57 UTC
c1bc070 refactor(dev-infra): remove `style` type from commit style guide (#38639) The `style` commit type is not part of the commit parser config, it should be removed from the documentation. PR Close #38639 31 August 2020, 15:40:14 UTC
930eeaf fix(bazel): fix integration test for bazel building (#38629) Update the API used to request a timestamp. The previous API we relied on for this test application, worldclockapi.com no longer serves times and simply 403s on all requests. This caused our test to timeout as the HTTP request did not handle a failure case. By moving to a new api, the HTTP request responds as expected and timeouts are corrected as there is not longer a pending microtask in the queue. PR Close #38629 28 August 2020, 18:16:40 UTC
2dd29fb build: update ng-dev merge config to reflect new label updates (#38620) Update the ng-dev merge configuration to reflect the new label updates PR Close #38620 28 August 2020, 15:03:21 UTC
9613660 ci: update angular robot to be based on new label updates (#38620) Update the angular robot configuration to reflect the new label updates PR Close #38620 28 August 2020, 15:03:19 UTC
c0523fc docs(forms): exclude internal-only methods and properties from docs (#38583) Prior to this commit, a lot of internal-only class properties and methods (such as `ngOnChanges`) of the Forms package directives were exposed on angular.io website. These fields are not expected to be called externally (they are used/invoked by framework only), since they are part of internal implementations of the following interfaces: * Angular lifecycle hook interfaces * ControlValueAccessor interface * Validator interface Having these internal-only fields in docs creates unnecessary noise on directive detail pages. This commit adds the `@nodoc` annotation to these properties and methods to keep fields in the golden files, but hide them in docs. PR Close #38583 27 August 2020, 23:39:38 UTC
de1cffb build: update the package.json to 10.2.0-next.0 When the rc was cut for 10.1.0-rc.0, the package.json for master should be updated to to the following next version, in this case 10.2.0-next.0. 27 August 2020, 22:59:52 UTC
31f4557 ci: update github robot to reflect new target labels (#38428) Updates the Github robot to reflect the updated target labels that are used as part of the canonical versioning and labeling for the Angular organization. PR Close #38428 27 August 2020, 21:52:44 UTC
7723bfd build: use new labeling and branching in merge script (#38428) We introduced a new shared configuration for merge script labels that follow the proposal of: https://docs.google.com/document/d/197kVillDwx-RZtSVOBtPb4BBIAw0E9RT3q3v6DZkykU These label semantics and the branching are set up for the Angular framework with this commit. The goal is that labeling and merging is consistent between all Angular projects and that clear rules are defined for branching. This was previously not the case. PR Close #38428 27 August 2020, 21:52:42 UTC
e8ea839 docs: update docs to reflect new PR targeting methods for release trains (#38401) As part of the migration to a common strategy/method for branching and releasing across the main angular repositories, updates need to be made to the documentation. These changes reflect the updates made and is based on the following document which describes the merging label expectations: https://docs.google.com/document/d/197kVillDwx-RZtSVOBtPb4BBIAw0E9RT3q3v6DZkykU PR Close #38401 27 August 2020, 21:52:04 UTC
90cec40 build: bump to lastest sha of angular/dev-infra's lock-closed action (#38615) Update to the latest lock-closed action to fix the link which is used. PR Close #38615 27 August 2020, 17:58:29 UTC
4036281 docs: Update contributor info for kyliau (#38125) Added twitter handle, website, and a short bio. PR Close #38125 27 August 2020, 17:39:30 UTC
164cd27 test(docs-infra): add commands to run the unit tests (#34537) This commit adds the necessary custom commands to run the tests in a node environment. PR Close #34537 27 August 2020, 16:05:59 UTC
fedcfec test(docs-infra): add missing tests for obserables and promises (#34537) This commit adds missing tests for obserables and promises which are both stand-alone mini-apps. PR Close #34537 27 August 2020, 16:05:56 UTC
618cb32 docs: add Sam Vloeberghs to GDE list (#37970) PR Close #37970 26 August 2020, 19:52:56 UTC
4aee008 docs: remove outdated CircleCI link from `DEVELOPER.md` (#38554) CircleCI updated their UI and now the URLs are different (and cannot be constructed based on the build number alone). This commit removes a reference of the obsolete URL pattern to avoid confusion. Example old URL: https://circleci.com/gh/angular/angular/<build-number>#artifacts Example new URL: https://app.circleci.com/pipelines/github/angular/angular/<build-number>/workflows/<workflow-id>/jobs/<job-id>/artifacts PR Close #38554 26 August 2020, 19:52:26 UTC
0681a20 fix(docs-infra): add guard to not render anchor link for private api (#38589) This commit adds a guard that prevents rendering anchor links for private api's. Closes #38564 PR Close #38589 26 August 2020, 19:51:04 UTC
fb06903 release: cut the v10.1.0-rc.0 release 26 August 2020, 18:57:57 UTC
ecc6fd0 docs: release notes for the v10.0.14 release 26 August 2020, 18:51:32 UTC
80cab26 docs: Minor fixes in NgModules section (#36177) Apply minor fixes to various guides of the NgModules section PR Close #36177 25 August 2020, 22:24:02 UTC
841dfa6 docs: typo fixes in the component testing scenarios guide (#38574) Fixed some typos and removed a warning about limitation of the `fakeAsync` that is already mentioned in a helpful alert PR Close #38574 25 August 2020, 22:16:53 UTC
f0af387 fix(localize): ensure required XLIFF parameters are serialized (#38575) When extracting i18n messages from source code, the XLIFF serializers were missing some required attributes on the `<file>` element. This commit re-introduces the `original` property to each of XLIFF 1.2 and 2.0 serializers. Also it adds in the required `id` property for the XLIFF 2.0 seralizer. Fixes #38570 PR Close #38575 25 August 2020, 22:14:19 UTC
14e90be fix(localize): render text of extracted placeholders (#38536) Formats like XLIFF allow the text of the original source to be included as metadata. This commit fixes the message extractor to also render this text when available. PR Close #38536 25 August 2020, 22:13:23 UTC
db3a21b refactor(localize): add placeholder locations in extracted messages (#38536) Some translation file formats would like to be able to render the text of placeholders taken from the original source files. This commit adds this information to the extracted messages so that it can be used in translation file serializers. PR Close #38536 25 August 2020, 22:13:20 UTC
b8351f3 refactor(localize): ensure that translate plugin exceptions are not swallowed (#38536) Previously, exceptions that were not `BabelParseError`s were just ignored. Such exceptions are most likely programming errors in the package. They are now re-thrown to ensure that the error is not hidden. PR Close #38536 25 August 2020, 22:13:17 UTC
81053d3 refactor(localize): run the translate plugin tests in mock FileSystems (#38536) This commit is a tidy up of the translate plugin unit tests, but also ensures that the tests are run in the context of a mock FileSystem. This ensures that the tests are resilient to future refactors of the plugins that will require a FileSystem to be initialized. PR Close #38536 25 August 2020, 22:13:15 UTC
bdba1a0 refactor(localize): include text in original location of extracted messages (#38536) When extracting messages, source-mapping information is used to find the original location of the message being extracted. This commit will now include the text from the original source in the message location so that it can be serialized into the translation file. PR Close #38536 25 August 2020, 22:13:12 UTC
23f855b refactor(localize): allow ParsedMessage to hold additional location data (#38536) In preparation for supporting `equiv-text` placeholder information in extracted translation files, this commit adds these optional properties to the `ParsedMessage` interface and updates `parseMessage()` to be able to store them. PR Close #38536 25 August 2020, 22:13:09 UTC
94a3e0e docs: add correct path for karma.conf.js file (#38571) In the latest Angular CLI versions, the `karma.conf.js` file resides in the root folder of the Angular CLI project. PR Close #38571 25 August 2020, 16:56:32 UTC
9cbde86 docs: fix typo in the testing component basics guide (#38573) The guide ends with a sentence that implies there are more tests following the end of the guide. PR Close #38573 25 August 2020, 16:55:59 UTC
18e474f fix(zone.js): zone.js toString patch should check typeof Promise is function (#38350) Close #38361 zone.js monkey patch toString, and check the instance is `Promise` or not by using `instanceof Promise`, sometimes when Promise is not available, the `instanceof` operation fails and throw `TypeError: Right-hand side of 'instanceof' is not an object` this PR check `typeof Promise` equals to function or not to prevent the error. PR Close #38350 25 August 2020, 16:51:50 UTC
cb3db0d release: clean up changelog 24 August 2020, 22:53:55 UTC
d36828a release: cut the v10.1.0-next.8 release 24 August 2020, 22:38:13 UTC
f18e2d5 docs: release notes for the v10.0.12 release 24 August 2020, 22:31:03 UTC
375f0a6 build: update tslint to 6.1.3 (#38076) This version supports TypeScript 4.0 PR Close #38076 24 August 2020, 20:07:05 UTC
281b647 refactor(compiler-cli): remove usage of `ts.updateIdentifier` (#38076) With Typescript 4, `ts.updateIdentifier` is no longer available. Calling `ts.updateIdentifier` used to return the same node when `typeArguments` was `undefined` because `node.typeArguments` was also `undefined`. Relevant TS code: ```js function updateIdentifier(node, typeArguments) { return node.typeArguments !== typeArguments ? updateNode(createIdentifier(ts.idText(node), typeArguments), node) : node; } ``` PR Close #38076 24 August 2020, 20:07:02 UTC
0fc44e0 feat(compiler-cli): add support for TypeScript 4.0 (#38076) With this change we add support for TypeScript 4.0 PR Close #38076 24 August 2020, 20:06:59 UTC
201a546 perf(forms): use internal `ngDevMode` flag to tree-shake error messages in prod builds (#37821) This commit adds a guard before throwing any forms errors. This will tree-shake error messages which cannot be minified. It should also help to reduce the bundle size of the `forms` package in production by ~20%. Closes #37697 PR Close #37821 24 August 2020, 16:26:28 UTC
6e643d9 docs(localize): fix angular.json syntax (#38553) In chapter internationalization (i18n) at section "Deploy multiple locales" the syntax for angular.json is wrong. This commit fixes the angular.json, when specifying the translation file and the baseHref for a locale. PR Close #38553 24 August 2020, 16:25:35 UTC
4985267 test(language-service): [Ivy] return cursor position in overwritten template (#38552) In many testing scenarios, there is a common pattern: 1. Overwrite template (inline or external) 2. Find cursor position 3. Call one of language service APIs 4. Inspect spans in result In order to faciliate this pattern, this commit refactors `MockHost.overwrite()` and `MockHost.overwriteInlineTemplate()` to allow a faux cursor symbol `¦` to be injected into the template, and the methods will automatically remove it before updating the script snapshot. Both methods will return the cursor position and the new text without the cursor symbol. This makes testing very convenient. Here's a typical example: ```ts const {position, text} = mockHost.overwrite('template.html', `{{ ti¦tle }}`); const quickInfo = ngLS.getQuickInfoAtPosition('template.html', position); const {start, length} = quickInfo!.textSpan; expect(text.substring(start, start + length)).toBe('title'); ``` PR Close #38552 24 August 2020, 16:25:04 UTC
b48cc6e feat(language-service): introduce hybrid visitor to locate AST node (#38540) This commit introduces two visitors, one for Template AST and the other for Expression AST to allow us to easily find the node that most closely corresponds to a given cursor position. This is crucial because many language service APIs take in a `position` parameter, and the information returned depends on how well we can find a good candidate node. In View Engine implementation of language service, the search for the node and the processing of information to return the result are strongly coupled. This makes the code hard to understand and hard to debug because the stack trace is often littered with layers of visitor calls. With this new feature, we could test the "searching" part separately and colocate all the logic (aka hacks) that's required to retrieve an accurate span for a given node. Right now, only the most "narrow" node is returned by the main exported function `findNodeAtPosition`. If needed, we could expose the entire AST path, or expose other methods to provide more context for a node. Note that due to limitations in the template AST interface, there are a few known cases where microsyntax spans are not recorded properly. This will be dealt with in a follow-up PR. PR Close #38540 24 August 2020, 16:24:18 UTC
874792d feat(compiler): support unary operators for more accurate type checking (#37918) Prior to this change, the unary + and - operators would be parsed as `x - 0` and `0 - x` respectively. The runtime semantics of these expressions are equivalent, however they may introduce inaccurate template type checking errors as the literal type is lost, for example: ```ts @Component({ template: `<button [disabled]="isAdjacent(-1)"></button>` }) export class Example { isAdjacent(direction: -1 | 1): boolean { return false; } } ``` would incorrectly report a type-check error: > error TS2345: Argument of type 'number' is not assignable to parameter of type '-1 | 1'. Additionally, the translated expression for the unary + operator would be considered as arithmetic expression with an incompatible left-hand side: > error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. To resolve this issues, the implicit transformation should be avoided. This commit adds a new unary AST node to represent these expressions, allowing for more accurate type-checking. Fixes #20845 Fixes #36178 PR Close #37918 21 August 2020, 19:25:53 UTC
e7da404 fix(compiler-cli): adding references to const enums in runtime code (#38542) We had a couple of places where we were assuming that if a particular symbol has a value, then it will exist at runtime. This is true in most cases, but it breaks down for `const` enums. Fixes #38513. PR Close #38542 21 August 2020, 19:23:21 UTC
2a643e1 docs: change function name from async -> waitForAsync (#38548) async function name was changed to waitForAsync but it was left in testing-utility-api file. PR Close #38548 21 August 2020, 19:17:51 UTC
364284b fix(dev-infra): ignore comments when validating commit messages (#38438) When creating a commit with the git cli, git pre-populates the editor used to enter the commit message with some comments (i.e. lines starting with `#`). These comments contain helpful instructions or information regarding the changes that are part of the commit. As happens with all commit message comments, they are removed by git and do not end up in the final commit message. However, the file that is passed to the `commit-msg` to be validated still contains these comments. This may affect the outcome of the commit message validation. In such cases, the author will not realize that the commit message is not in the desired format until the linting checks fail on CI (which validates the final commit messages and is not affected by this issue), usually several minutes later. Possible ways in which the commit message validation outcome can be affected: - The minimum body length check may pass incorrectly, even if there is no actual body, because the comments are counted as part of the body. - The maximum line length check may fail incorrectly due to a very long line in the comments. This commit fixes the problem by removing comment lines before validating a commit message. Fixes #37865 PR Close #38438 21 August 2020, 19:17:14 UTC
956b25a docs: apply code styling in template reference variables guide (#38522) PR Close #38522 20 August 2020, 20:01:33 UTC
8017ca4 fix(docs-infra): fix vertical alignment of external link icons (#38410) At some places external link icons appear as a subscript. For example https://github.com/angular/angular/blame/8366effeec8e74c1a11d2a6e1a48d42e849e4653/aio/content/guide/roadmap.md\#L37 this commit places external link icons in the middle to improve there positioning in a line. PR Close #38410 20 August 2020, 16:40:01 UTC
22f1ac3 docs: udpate the details (#37967) updating my twitter handle and bio as it is changed from Angular and Web Tech to Angular also the twitter handle is changed to SantoshYadavDev PR Close #37967 20 August 2020, 16:38:58 UTC
4ee5e73 build: upgrade cli command docs sources to ef770f1cb (#38546) Updating [angular#master](https://github.com/angular/angular/tree/master) from [cli-builds#master](https://github.com/angular/cli-builds/tree/master). ## Relevant changes in [commit range](https://github.com/angular/cli-builds/compare/b0b27361d...ef770f1cb): **Modified** - help/build.json - help/generate.json - help/test.json - help/xi18n.json PR Close #38546 20 August 2020, 16:32:11 UTC
6442875 docs(core): Fix typo in JSDoc for AbstractType<T> (#38541) PR Close #38541 20 August 2020, 16:30:17 UTC
8f24bc9 Revert "fix(router): support lazy loading for empty path named outlets (#38379)" This reverts commit 7ad32649c0d0004fcc3604c62cf0c1ae159a825b. 20 August 2020, 04:05:31 UTC
ac461e1 fix(localize): extract the correct message ids (#38498) Previously, if `useLegacyIds` was enabled, the message extractor was always rendering the legacy message ids in translation files even if an explicit "custom message id" had been provided in the original message. PR Close #38498 19 August 2020, 21:19:41 UTC
f245c6b fix(core): remove closing body tag from inert DOM builder (#38454) Fix a bug in the HTML sanitizer where an unclosed iframe tag would result in an escaped closing body tag as the output: _sanitizeHtml(document, '<iframe>') => '&lt;/body&gt;' This closing body tag comes from the DOMParserHelper where the HTML to be sanitized is wrapped with surrounding body tags. When an opening iframe tag is parsed by DOMParser, which DOMParserHelper uses, everything up until its matching closing tag is consumed as a text node. In the above example this includes the appended closing body tag. By removing the explicit closing body tag from the DOMParserHelper and relying on the body tag being closed implicitly at the end, the above example is sanitized as expected: _sanitizeHtml(document, '<iframe>') => '' PR Close #38454 19 August 2020, 21:18:44 UTC
68a9a01 fix(localize): parse all parts of a translation with nested HTML (#38452) Previously nested container placeholders (i.e. HTML elements) were not being fully parsed from translation files. This resulted in bad translation of messages that contain these placeholders. Note that this causes the canonical message ID to change for such messages. Currently all messages generated from templates use "legacy" message ids that are not affected by this change, so this fix should not be seen as a breaking change. Fixes #38422 PR Close #38452 19 August 2020, 21:16:41 UTC
8cd4099 fix(localize): include the last placeholder in parsed translation text (#38452) When creating a `ParsedTranslation` from a set of message parts and placeholder names a textual representation of the message is computed. Previously the last placeholder and text segment were missing from this computed message string. PR Close #38452 19 August 2020, 21:16:38 UTC
0b54c0c refactor(compiler-cli): add getTemplateOfComponent to TemplateTypeChecker (#38355) This commit adds a `getTemplateOfComponent` method to the `TemplateTypeChecker` API, which retrieves the actual nodes parsed and used by the compiler for template type-checking. This is advantageous for the language service, which may need to query other APIs in `TemplateTypeChecker` that require the same nodes used to bind the template while generating the TCB. Fixes #38352 PR Close #38355 19 August 2020, 21:07:03 UTC
1ec6099 docs: Typos fixes in the binding syntax guide (#38519) PR Close #38519 19 August 2020, 21:05:48 UTC
7ad3264 fix(router): support lazy loading for empty path named outlets (#38379) In general, the router only matches and loads a single Route config tree. However, named outlets with empty paths are a special case where the router can and should actually match two different `Route`s and ensure that the modules are loaded for each match. This change updates the "ApplyRedirects" stage to ensure that named outlets with empty paths finish loading their configs before proceeding to the next stage in the routing pipe. This is necessary because if the named outlet has `loadChildren` but the associated lazy config is not loaded before following stages attempt to match and activate relevant `Route`s, an error will occur. fixes #12842 PR Close #38379 19 August 2020, 18:36:06 UTC
9ad69c1 release: cut the zone.js-0.11.1 release (#38537) PR Close #38537 19 August 2020, 17:50:46 UTC
9af2de8 release: cut the v10.1.0-next.7 release 19 August 2020, 16:35:47 UTC
0270020 docs: release notes for the v10.0.11 release 19 August 2020, 16:16:16 UTC
6b662d1 fix(zone.js): zone.js package.json should not include files/directories field (#38528) Close #38526, #38516, #38513 After update to `APF`, the `directories` and `files` options are not compatible, so we need to remove those fileds to make sure everything work as expected. PR Close #38528 19 August 2020, 16:06:28 UTC
55fd725 docs: Fix typo in the inputs and outputs guide (#38524) PR Close #38524 19 August 2020, 15:27:44 UTC
f77fd5e feat(dev-infra): create a wizard for building commit messages (#38457) Creates a wizard to walk through creating a commit message in the correct template for commit messages in Angular repositories. PR Close #38457 19 August 2020, 00:01:14 UTC
63ba74f feat(dev-infra): tooling to check out pending PR (#38474) Creates a tool within ng-dev to checkout a pending PR from the upstream repository. This automates an action that many developers on the Angular team need to do periodically in the process of testing and reviewing incoming PRs. Example usage: ng-dev pr checkout <pr-number> PR Close #38474 18 August 2020, 23:22:47 UTC
aaa1d8e release: cut the zone.js-0.11.0 release (#38473) PR Close #38473 18 August 2020, 18:47:23 UTC
dbfb50e fix(router): ensure routerLinkActive updates when associated routerLinks change (#38511) This commit introduces a new subscription in the `routerLinkActive` directive which triggers an update when any of its associated routerLinks have changes. `RouterLinkActive` not only needs to know when links are added or removed, but it also needs to know about if a link it already knows about changes in some way. Quick note that `from...mergeAll` is used instead of just a simple `merge` (or `scheduled...mergeAll`) to avoid introducing new rxjs operators in order to keep bundle size down. Fixes #18469 PR Close #38511 18 August 2020, 17:21:49 UTC
bee44b3 Revert "fix(router): ensure routerLinkActive updates when associated routerLinks change (#38349)" (#38511) This reverts commit e0e5c9f195460c7626c30248e7a79de9a2ebe377. Failures in Google tests were detected. PR Close #38511 18 August 2020, 17:21:47 UTC
723a9ff docs(common): Wrong parameter description on TrackBy (#38495) Track By Function receive the T[index] data, not the node id. TrackByFunction reference description has the same issue. PR Close #38495 18 August 2020, 17:08:44 UTC
e472f5f refactor(ngcc): update yargs and typings for yargs (#38470) Updating yargs and typings for the updated yargs module. PR Close #38470 17 August 2020, 22:30:33 UTC
8373b72 refactor(localize): update yargs and typings for yargs (#38470) Updating yargs and typings for the updated yargs module. PR Close #38470 17 August 2020, 22:30:32 UTC
3015133 refactor(dev-infra): update yargs and typings for yargs (#38470) Updating yargs and typings for the updated yargs module. PR Close #38470 17 August 2020, 22:30:32 UTC
64cf087 release: cut the v10.1.0-next.6 release 17 August 2020, 20:23:09 UTC
fec9dcb docs: release notes for the v10.0.10 release 17 August 2020, 20:19:03 UTC
e0e5c9f fix(router): ensure routerLinkActive updates when associated routerLinks change (#38349) This commit introduces a new subscription in the `routerLinkActive` directive which triggers an update when any of its associated routerLinks have changes. `RouterLinkActive` not only needs to know when links are added or removed, but it also needs to know about if a link it already knows about changes in some way. Quick note that `from...mergeAll` is used instead of just a simple `merge` (or `scheduled...mergeAll`) to avoid introducing new rxjs operators in order to keep bundle size down. Fixes #18469 PR Close #38349 17 August 2020, 19:33:59 UTC
cfe424e refactor(language-service): [Ivy] remove temporary compiler (#38310) Now that Ivy compiler has a proper `TemplateTypeChecker` interface (see https://github.com/angular/angular/pull/38105) we no longer need to keep the temporary compiler implementation. The temporary compiler was created to enable testing infrastructure to be developed for the Ivy language service. This commit removes the whole `ivy/compiler` directory and moves two functions `createTypeCheckingProgramStrategy` and `getOrCreateTypeCheckScriptInfo` to the `LanguageService` class. Also re-enable the Ivy LS test since it's no longer blocking development. PR Close #38310 17 August 2020, 18:30:33 UTC
3b9c802 fix(ngcc): detect synthesized delegate constructors for downleveled ES2015 classes (#38463) Similarly to the change we landed in the `@angular/core` reflection capabilities, we need to make sure that ngcc can detect pass-through delegate constructors for classes using downleveled ES2015 output. More details can be found in the preceding commit, and in the issue outlining the problem: #38453. Fixes #38453. PR Close #38463 17 August 2020, 17:55:40 UTC
ca07da4 fix(core): detect DI parameters in JIT mode for downleveled ES2015 classes (#38463) In the Angular Package Format, we always shipped UMD bundles and previously even ES5 module output. With V10, we removed the ES5 module output but kept the UMD ES5 output. For this, we were able to remove our second TypeScript transpilation. Instead we started only building ES2015 output and then downleveled it to ES5 UMD for the NPM packages. This worked as expected but unveiled an issue in the `@angular/core` reflection capabilities. In JIT mode, Angular determines constructor parameters (for DI) using the `ReflectionCapabilities`. The reflection capabilities basically read runtime metadata of classes to determine the DI parameters. Such metadata can be either stored in static class properties like `ctorParameters` or within TypeScript's `design:params`. If Angular comes across a class that does not have any parameter metadata, it tries to detect if the given class is actually delegating to an inherited class. It does this naively in JIT by checking if the stringified class (function in ES5) matches a certain pattern. e.g. ```js function MatTable() { var _this = _super.apply(this, arguments) || this; ``` These patterns are reluctant to changes of the class output. If a class is not recognized properly, the DI parameters will be assumed empty and the class is **incorrectly** constructed without arguments. This actually happened as part of v10 now. Since we downlevel ES2015 to ES5 (instead of previously compiling sources directly to ES5), the class output changed slightly so that Angular no longer detects it. e.g. ```js var _this = _super.apply(this, __spread(arguments)) || this; ``` This happens because the ES2015 output will receive an auto-generated constructor if the class defines class properties. This constructor is then already containing an explicit `super` call. ```js export class MatTable extends CdkTable { constructor() { super(...arguments); this.disabled = true; } } ``` If we then downlevel this file to ES5 with `--downlevelIteration`, TypeScript adjusts the `super` call so that the spread operator is no longer used (not supported in ES5). The resulting super call is different to the super call that would have been emitted if we would directly transpile to ES5. Ultimately, Angular no longer detects such classes as having an delegate constructor -> and DI breaks. We fix this by expanding the rather naive RegExp patterns used for the reflection capabilities so that downleveled pass-through/delegate constructors are properly detected. There is a risk of a false-positive as we cannot detect whether `__spread` is actually the TypeScript spread helper, but given the reflection patterns already make lots of assumptions (e.g. that `super` is actually the superclass, we should be fine making this assumption too. The false-positive would not result in a broken app, but rather in unnecessary providers being injected (as a noop). Fixes #38453 PR Close #38463 17 August 2020, 17:55:37 UTC
back to top