https://github.com/angular/angular

sort by:
Revision Author Date Message Commit Date
f671dd5 fix(docs-infra): update (and unpin) dependency versions for preview server (#45390) Update the `Dockerfile` used to create the preview server to use the latest stable version of Debian (`bullseye`) and also update package versions to latest versions. Also, unpin the versions of installed packages (except for Node.js related ones) as pinning proved problematic due to many packages removing old versions from the official repositories. NOTE: This change will allow the preview server to be updated on the VM and take advantage of recent fixes, such as #45349. Currently, the update fails with the error: ``` E: Version '7.64.0-4+deb10u1' for 'curl' was not found The command '/bin/sh -c apt-get update -y && apt-get install -y curl=7.64.0-4+deb10u1' returned a non-zero code: 100 ``` PR Close #45390 24 March 2022, 17:53:58 UTC
f19b36f fix(zone.js): in TaskTrackingZoneSpec track a periodic task until it is cancelled (#45391) Before this change, the macrotask for `setInterval(callback, ms)` was no longer tracked by `TaskTrackingZoneSpec` after the `callback` was invoked for the first time. Now the periodic macrotask is tracked until it is cancelled, e.g. `clearInterval(id)`. BREAKING CHANGE: in TaskTrackingZoneSpec track a periodic task until it is cancelled The breaking change is scoped only to the plugin `zone.js/plugins/task-tracking`. If you used `TaskTrackingZoneSpec` and checked the pending macroTasks e.g. using `(this.ngZone as any)._inner ._parent._properties.TaskTrackingZone.getTasksFor('macroTask')`, then its behavior slightly changed for periodic macrotasks. For example, previously the `setInterval` macrotask was no longer tracked after its callback was executed for the first time. Now it's tracked until the task is explicitly cancelled, e.g with `clearInterval(id)`. fixes 45350 PR Close #45391 24 March 2022, 17:53:36 UTC
c7bcc1b fix(zone.js): check if `process` is defined when patching the `GlobalErrors.install` (#45392) Jasmine checks internally if `process` and `process.on` is defined. Otherwise, it installs the browser rejection handler through the `global.addEventListener`. This code may be run in the browser environment where `process` is not defined, and this will lead to a runtime exception since Webpack 5 removed automatic Node.js polyfills. PR Close #42260 PR Close #45392 24 March 2022, 17:52:34 UTC
dc72f30 fix(bazel): ng module compilation workers are subject to linker race-conditions (#45393) The Bazel NodeJS rules provide two ways of accessing node modules: * A linker which creates a `node_modules` directory in the execroot/or in the runfiles. * A patched module resolution where no node modules directory necessarily needs to exist. The first is the default in `rules_nodejs` and the second is technically the most idiomatic resolution mechanism in Bazel (as it matches with a runfile resolution library). The linker is prone to race conditions in persistent workers, or non-sandbox environments (like windows). This is because the linker for all workers will operate on a shared `execroot` directory and the same `node_modules` directory is modified all the time / potentially conflicting with other linker processes from other concurrently-running workers. We rely on the patched module resolution anyway, but just need to disable the unused linker to avoid issues like the following: ``` ---8<---8<--- Start of log, file at /private/var/tmp/_bazel_splaktar/280f06d55552a0d01f89f0955b5acd78/bazel-workers/worker-8-TypeScriptCompile.log ---8<---8<--- [link_node_modules.js] An error has been reported: [Error: ENOENT: no such file or directory, unlink 'node_modules'] { errno: -2, code: 'ENOENT', syscall: 'unlink', path: 'node_modules' } Error: ENOENT: no such file or directory, unlink 'node_modules' ---8<---8<--- End of log ---8<---8<--- INFO: Elapsed time: 12.796s, Critical Path: 5.39s INFO: 645 processes: 477 internal, 12 darwin-sandbox, 156 worker. ``` PR Close #45393 24 March 2022, 17:52:12 UTC
c9d566c feat(core): drop support for TypeScript 4.4 and 4.5 (#45394) Drops support for TypeScript older than 4.6 and removes some workarounds in the compiler. BREAKING CHANGE: TypeScript versions older than 4.6 are no longer supported. PR Close #45394 24 March 2022, 17:51:47 UTC
0dca774 build(docs-infra): upgrade cli command docs sources to c0a0bfb65 (#45408) 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/bff1908b4...c0a0bfb65): **Modified** - help/add.json PR Close #45408 24 March 2022, 17:50:19 UTC
fc97499 build(docs-infra): remove `defaultProject` workspace option (#45410) The `defaultProject` workspace option has been deprecated. The project to use will be determined from the current working directory. See: https://github.com/angular/angular-cli/pull/22852 PR Close #45410 24 March 2022, 17:49:57 UTC
5ff459e test: remove `defaultProject` workspace option (#45410) The `defaultProject` workspace option has been deprecated. The project to use will be determined from the current working directory. See: https://github.com/angular/angular-cli/pull/22852 PR Close #45410 24 March 2022, 17:49:57 UTC
85782e6 docs(router): Fix typo on segments (#45411) PR Close #45411 24 March 2022, 17:49:35 UTC
fe0e42a fix(forms): Make UntypedFormBuilder assignable to FormBuilder, and vice versa. (#45421) There was a subtle bug involving the opt-out class for FormBuilder, which I discovered during the ongoing migration. The types must be structurally the same, because people pass around FormBuilders, in addition to passing around the controls they produce. This PR ensures FormBuilder and UntypedFormBuilder are assignable to each other. PR Close #45421 24 March 2022, 17:49:10 UTC
38ad849 fix(docs-infra): prevent framing of AIO with X-Frame-Options (#45419) Prevent the docs site from being place in an iframe. PR Close #45419 23 March 2022, 19:20:49 UTC
8155428 perf(compiler-cli): ignore the module.id anti-pattern for NgModule ids (#45024) In early versions of Angular, it was sometimes necessary to provide a `moduleId` to `@Component` metadata, and the common pattern for doing this was to set `moduleId: module.id`. This relied on the bundler to fill in a value for `module.id`. However, due to the superficial similarity between `Component.moduleId` and `NgModule.id`, many users ended up setting `id: module.id` in their NgModules. This is an anti-pattern that has a few negative effects, including preventing the NgModule from tree-shaking properly. This commit changes the compiler to ignore `id: module.id` in NgModules, and instead provide a warning which suggests removing the line entirely. PR Close #45024 22 March 2022, 18:11:54 UTC
34c5b7a refactor(compiler-cli): support non-error diagnostics from traits (#45024) Previously, the `TraitCompiler` would naively consider a compilation as failed if either analysis or resolution produced any diagnostics. This commit adjusts the logic to only consider error diagnostics, which allows warnings to be produced from `DecoratorHandler`s. This is a precursor commit to introducing such a warning. As such, the logic here will be tested in the next commit. PR Close #45024 22 March 2022, 18:11:53 UTC
27b4af7 fix(compiler-cli): full side-effectful registration of NgModules with ids (#45024) Angular contains an NgModule registry, which allows a user to declare NgModules with string ids and retrieve them via those ids, using the `getNgModuleById` API. Previously, we attempted to structure this registration in a clever fashion to allow for tree-shaking of registered NgModules (that is, those with ids). This sort of worked due to the accidental alignment of behaviors from the different tree-shakers involved. However, this trick relies on the generation of `.ngfactory` files and how they're specifically processed in various bundling scenarios. We intend to remove `.ngfactory` files, hence we can no longer rely on them in this way. The correct solution here is to recognize that `@NgModule({id})` is inherently declaring a global side-effect, and such classes should not really be eligible for tree-shaking in the first place. This commit removes all the old registration machinery, and standardizes on generating a side- effectful call to `registerNgModuleType` for NgModules that have ids. There is some risk here that NgModules with unnecessary `id`s may not tree-shake as a result of this change, whereas they would have in previous circumstances. The fix here should be to remove the `id` if it's not needed. Specifying an `id` is a request that the NgModule be retained regardless of any other references, in case it is later looked up by string id. PR Close #45024 22 March 2022, 18:11:53 UTC
e57b410 refactor(compiler-cli): linker honors associated statements for a field (#45024) When `@angular/compiler` processes metadata and compiles a definition field, it might also choose to return statements that are associated with that definition, and should be included after the type being compiled. Currently, the linker ignores these statements, as there are none generated that are relevant in the linking operation. A challenge to supporting such associated statements is that the linker operates on "declare" expressions, and replaces those expressions with other expressions. It does not have the capability to append statements after the whole type. The linker actually faces this challenge with statements from the `ConstantPool` as well, and solves this problem by generating an IIFE expression that executes the statements and then returns the definition expression. Previously, an `EmitScope` processed the definition and converted it to an expression, as well as collected constant statements from a `ConstantPool`. A special `IifeEmitScope` implementation was used when emitting into a context where top-level constant statements couldn't be added at all, and uses the IIFE strategy in this case. This commit adds blanket support for associated statements to the linker using this IIFE strategy. The main `EmitScope` now uses the IIFE strategy to emit associated statements, and `IifeEmitScope` has been renamed to `LocalEmitScope`. Now, the `LocalEmitScope` represents constant statements as associated statements to the main `EmitScope` implementation, so they get included in the IIFE as well. Tests are adjusted/added to cover this new behavior. This is a refactoring commit because no live generated code is affected - there are no cases where associated statements are present in linked definitions today. PR Close #45024 22 March 2022, 18:11:53 UTC
72e7d09 refactor(compiler): change NgModule scoping emit flag to enum (#45024) The `compileNgModule` operation previously supported a flag `emitInline`, which controlled whether template scoping information for the NgModule was emitted directly into the compiled NgModule definition, or whether an associated statement was generated which patched the information onto the NgModule definition. Both options are useful in different contexts. This commit changes this flag to an enum (and renames it), which allows for a third option - do not emit any template scoping information. This option is added to better represent the actual behavior of the Angular Linker, which sometimes configures `compileNgModule` to use the side-effectful statement generation but which does not actually emit such associated statements. In other words, the linker effectively does not generate scoping information for NgModules at all (in some configurations) and this option more directly expresses that behavior. This is a refactoring as no generated code is changed as a result of introducing this flag, due to the linker's behavior of not emitting associated statements. PR Close #45024 22 March 2022, 18:11:53 UTC
9d8ff5d build: update dependency @types/chrome to ^0.0.180 (#45357) PR Close #45357 21 March 2022, 23:59:56 UTC
6507150 build(docs-infra): upgrade cli command docs sources to bff1908b4 (#45395) 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/a517160a2...bff1908b4): **Added** - help/cache.json **Modified** - help/add.json - help/analytics.json - help/build.json - help/config.json - help/deploy.json - help/doc.json - help/e2e.json - help/extract-i18n.json - help/generate.json - help/lint.json - help/new.json - help/run.json - help/serve.json - help/test.json - help/update.json - help/version.json ## Relevant changes in [commit range](https://github.com/angular/cli-builds/compare/207de70b7...bff1908b4) since PR #45385: **Added** - help/cache.json **Modified** - help/config.json ## Closes #45330 Closes #45346 Closes #45361 Closes #45385 PR Close #45395 21 March 2022, 23:58:00 UTC
15dbb4d docs(docs-infra): fix TypeScript casing (#45307) PR Close #45307 21 March 2022, 23:57:11 UTC
b716a81 docs: replace `defaultCollection` with `schematicCollections` (#45406) `defaultCollection` has deprecated in favor of `schematicCollections`. Related to https://github.com/angular/angular-cli/pull/22860 PR Close #45406 21 March 2022, 23:56:10 UTC
e80df0d build: update to bazel v5 for new runfiles API used in dev-infra (#45407) https://blog.bazel.build/2022/01/19/bazel-5.0.html#starlark-build-language PR Close #45407 21 March 2022, 23:55:36 UTC
fffa023 fix(compiler): scope css rules within `@layer` blocks (#45396) This commit starts scoping CSS rules nested within `@layer` blocks. Fixes #45389 PR Close #45396 21 March 2022, 21:51:45 UTC
aec9abd fix(docs-infra): don't wrap subcommands in code element (#45343) With this change we no longer wrap subcommands titles and sub navigation items in code element for nicer UI PR Close #45343 21 March 2022, 21:49:27 UTC
c26915c refactor(core): Make the typed forms migration apply to all usages of the symbols. (#45311) Previously, the migration only migrated constructor calls. Now, the migration will rewrite every usage, in all contexts. Both ways are technically correct, but migrating all symbols is likely to produce clearer and more readable results. PR Close #45311 21 March 2022, 21:40:59 UTC
79d334b feat(animations): provide warnings for non-animatable CSS properties (#45212) warn developers when they are trying to animate non-animatable CSS properties so that can more easily understand why something is not being animated as they would expect it to resolves #27577 PR Close #45212 21 March 2022, 21:33:19 UTC
a049840 build(docs-infra): move to circleci v2 api for aio-builds (#45349) Move to the CircleCI v2 api as the authentication fails for downloading artifacts using the v1 methods. CircleCI v2 api now requires authentication to occur view the headers instead of being done in a query parameter, all of the CircleCI interactions are now performed through one fetchFromCircleCi method which ensures the token is provided in the headers as expected. PR Close #45349 17 March 2022, 21:03:26 UTC
2a75754 fix(animations): apply default params when resolved value is null or undefined (#45339) The animations package supports adding default parameter values to an animation that will be used as a fallback if some parameters aren't defined. The problem is that they're applied using a spread expression which means that any own property of the animation parameters will override the defaults, even if it resolves to null or undefined. This can lead to obscure errors like "Cannot read property toString of undefined" for an animation that looks like `{params: {foo: undefined}}` with defaults `{foo: 123}`. I ran into this issue while debugging some test failures on Material. These changes address the issue by: 1. Applying the defaults if the resolved value is null or undefined. 2. Updating the validation function to use a null check instead of `hasOwnProperty`. PR Close #45339 17 March 2022, 21:02:37 UTC
59a5b54 docs: add how to access the resolved data (#45345) complete resolver example and add how to access the resolved data in component resolves angular#45313 PR Close #45345 16 March 2022, 22:05:24 UTC
9d5ad67 build: lock file maintenance (#45341) PR Close #45341 16 March 2022, 21:36:28 UTC
2b6749f release: cut the v14.0.0-next.7 release (#45368) 16 March 2022, 19:41:35 UTC
34c48a3 docs: release notes for the v13.3.0 release (#45366) 16 March 2022, 19:27:54 UTC
306fb5e docs: release notes for the v13.2.7 release (#45364) 16 March 2022, 18:35:43 UTC
3ad033c build: update github/codeql-action action to v1.1.5 (#45358) PR Close #45358 16 March 2022, 18:21:45 UTC
e47ba49 docs: add ngx-gantt to "EXPLORE ANGULAR RESOURCES" page (#45351) PR Close #45351 15 March 2022, 23:29:23 UTC
9db9091 fix(forms): improve error message for invalid value accessors (#45192) improve error message for invalid value accessors when accessor is not provided as array PR Close #45192 15 March 2022, 20:26:03 UTC
8a7e624 fix(docs-infra): fix tour of heroes global styles (#45329) fix button styles in src/styles.css that are missing from code snippets PR Close #45329 15 March 2022, 20:24:52 UTC
c12b327 docs: fix small English typo (#45340) PR Close #45340 14 March 2022, 20:10:19 UTC
c305112 docs: Fix typo in issue template (#45327) PR Close #45327 14 March 2022, 16:31:01 UTC
22d1dc0 build(bazel): add bazel build and test targets for aio build (#45022) First step towards a migration of aio to bazel. Not yet built by ci. PR Close #45022 14 March 2022, 16:25:34 UTC
0dbd50b build: update dependency eslint-plugin-jsdoc to v38 (#45332) PR Close #45332 14 March 2022, 16:23:42 UTC
7f043c9 build(docs-infra): upgrade cli command docs sources to a517160a2 (#45225) Updating [angular#master](https://github.com/angular/angular/tree/master) from [cli-builds#master](https://github.com/angular/cli-builds/tree/master). PR Close #45225 10 March 2022, 23:51:18 UTC
34218ec feat(docs-infra): remove hidden commands processor (#45225) Hidden commands are no longer included in help JSON output. PR Close #45225 10 March 2022, 23:51:18 UTC
8f06fa3 feat(docs-infra): update CLI templates to match changes with new parser and folder structure (#45225) The underlying parser that the CLI uses changed which caused minor changes in the generated JSON helps especially for subcommands. The folder structure of the Angular CLI repo also changed slightly. More context: https://github.com/angular/angular-cli/pull/22778 PR Close #45225 10 March 2022, 23:51:18 UTC
5f7c4f6 refactor(core): Switch over to new closure LOCALE vs getLocale() (#45302) This is a change requested via an LSC due to a deprecation. PR Close #45302 10 March 2022, 20:48:29 UTC
8848d2d docs: add manual changelog edits from `13.3.x` to main branch (#45323) Adds the manual changelog edits from the `13.3.x` branch to the main branch (where users primarily will look at). PR Close #45323 10 March 2022, 20:08:26 UTC
79580bb docs: release notes for the v13.3.0-rc.0 release (#45322) 10 March 2022, 19:31:59 UTC
a08ea3f refactor(router): Make a few adjustments to createUrlTree for clarity (#45306) * `tree` function now accepts the old root rather than the old `UrlTree`. The `urlTree` argument was only used to get the `root`. This change makes it more clear what that pararmeter is used for and what's actually being used * Move the `oldRoot` (previously `urlTree`) to be the first argument of `tree`. This change now mirrors the argument order for `replaceSegment` and can be read from left to right more easily "in this root, replace this old segment group with this new segment group". * Extract `newRoot` to a variable. This just makes it more clear what's going on at the end rather than combining a bunch of operations into one. These changes are being made so that hopefully a future refactor can be done which does not rely on the `urlTree` argument at all in the `createUrlTree` function. These refactorings will make it easier to see 1:1 functionlity in these various places. PR Close #45306 09 March 2022, 21:52:38 UTC
2e2c80a docs: update <div> to <p> in lifecycle-hooks.md (#45063) Changes <div> to <p> in description to match the elements in the screenshot. Update lifecycle-hooks.md Changes <div> to <p> in description to match the elements in the screenshot. PR Close #45063 09 March 2022, 21:52:15 UTC
c7cab69 docs(core): update triggerEventHandler samples (#45279) PR Close #45279 09 March 2022, 21:51:54 UTC
225e4f2 feat(core): triggerEventHandler accept optional eventObj (#45279) Close #44724 `DebugNode.triggerEventHandler()` should accept the `eventObj` as an optional parameter. So the user don't have to write code like ``` elem.triggerEventHandler('click', null); ``` PR Close #45279 09 March 2022, 21:51:54 UTC
89d71b5 docs: update CHANGELOG to fix broken markdown (#45305) PR Close #45305 09 March 2022, 21:51:26 UTC
a301b36 release: cut the v14.0.0-next.6 release (#45301) 09 March 2022, 17:04:59 UTC
51b67eb docs: release notes for the v13.2.6 release (#45300) 09 March 2022, 17:02:09 UTC
be220fa fix(language-service): Prioritize Angular-specific completions over DOM completions (#45293) When authoring Angular templates, developers are likely to be most interested in the current Directive/Component inputs and outputs, then potential attributes which would match other directives to the element, and lastly the plethora of DOM events and attributes. This change ensures that Angular-specific information appears above DOM information by prepending the first printable ASCII characters to the sort text. Fixes https://github.com/angular/vscode-ng-language-service/issues/1537 PR Close #45293 08 March 2022, 22:48:37 UTC
dc6094a ci: update payload size goldens to reflect zone.js update (#45289) ZoneJS has been updated as part of the lock file refresh by Renovate. The polyfills bundle reduced in size by around 4k which is due to some code simplication in ZoneJS being finally released. This is the commit responsible for the major reduction (also mentioning the reduction): https://github.com/angular/angular/commit/0f298a13dbd141e5440d1388b124d03384641efe PR Close #45289 08 March 2022, 21:15:14 UTC
6d240c4 build: lock file maintenance (#45289) Refreshes the lock file through Renovate. PR Close #45289 08 March 2022, 21:15:13 UTC
e78a928 refactor(migrations): update `isReferenceToImport` to not use `valueDeclaration` (#45292) valueDeclaration is only set when the Symbol type is a `Value`: * [setValueDeclaration](https://sourcegraph.com/github.com/microsoft/TypeScript@d8b21a8d6cef772fea5cf2a507b651c5d38194bd/-/blob/src/compiler/binder.ts?L321-322) * [Value union](https://sourcegraph.com/github.com/microsoft/TypeScript@d8b21a8d6cef772fea5cf2a507b651c5d38194bd/-/blob/src/compiler/types.ts?L4849:9#tab=references) This won't be the case if the symbol is an interface (notice that `Interface` is not in the union for `Value` above). For this reason, we can't rely on the `valueDeclaration` property of the symbol. Instead, it's more reliable to just compare the first items in the `declarations` list. PR Close #45292 08 March 2022, 21:13:24 UTC
ba0efd1 refactor: replace deprecated `HTMLDocument` with `Document` (#45282) `HTMLDocument` is deprecated in favor of `Document`. This change replaces the usages of `HTMLDocument`. See: https://github.com/microsoft/TypeScript/blob/20c93d3b1da44d8ee740b466a5cde7894e8b3260/lib/lib.dom.d.ts#L6370-L6376 PR Close #45282 08 March 2022, 21:12:14 UTC
6cec8aa refactor(core): Improve the efficiency of the Typed Forms migration. (#45288) Consider a file that imports `FormControl` and then never uses it. In that case, we don't need to add the import for `UntypedFormControl`. By examining constructor calls *first*, we can identify these cases and skip over them. This will reduce the memory footprint of the migration when run in tsunami, hopefully making OOM errors less likely. PR Close #45288 08 March 2022, 20:06:16 UTC
6eaaefd feat(core): drop support for Node.js 12 (#45286) Node.js v12 will become EOL on 2022-04-30. As a result, Angular CLI v14 will no longer support Node.js v12. BREAKING CHANGE: Support for Node.js v12 has been removed as it will become EOL on 2022-04-30. Please use Node.js v14.15 or later. PR Close #45286 08 March 2022, 20:05:03 UTC
f58b8a9 build: update all non-major dependencies (#45250) PR Close #45250 08 March 2022, 18:35:17 UTC
f25c8be build: update scorecard action dependencies (#45249) PR Close #45249 08 March 2022, 18:31:16 UTC
2ca4ef7 build: update actions/checkout action to v3 (#45248) PR Close #45248 08 March 2022, 18:28:31 UTC
9e56e40 fix(docs-infra): remove anchor tags from heritage docs (#45287) Remove anchor tags from heritage docs and let `autoLinkCode` insert them properly. PR Close #45287 08 March 2022, 18:26:49 UTC
4478dff docs(service-worker): improve description of `NoNewVersionDetectedEvent` (#45266) The `NoNewVersionDetectedEvent` does not imply that the latest version on the server is the same as the version the client is on (because a client could be on an older version). Update the description of the event to better describe what it actually means (i.e. that the SW didn't find a version it didn't already know about, but without implying anything about the version the current client is using). PR Close #45266 08 March 2022, 18:26:05 UTC
3ecf930 fix(service-worker): file system hash in batch of 500 elements (#45262) Add file system concurrency hash test Fixes #45133 PR Close #45262 08 March 2022, 18:23:38 UTC
2b7553d fix(compiler): compute correct offsets when interpolations have HTML entities (#44811) When parsing interpolations, the input string is _decoded_ from what was in the orginal template. This means that we cannot soley rely on the input string to compute source spans because it does not necessarily reflect the exact content of the original template. Specifically, when there is an HTML entity (i.e. `&nbsp;`), this will show up in its decoded form when processing the interpolation (' '). We need to compute offsets using the original _encoded_ string. Note that this problem only surfaces in the splitting of interpolations. The spans to this point have already been tracked accurately. For example, given the template `&nbsp;<div></div>`, the source span for the `div` is already correctly determined to be 6. Only when we encounter interpolations with many parts do we run into situations where we need to compute new spans for the individual parts of the interpolation. PR Close #44811 08 March 2022, 18:23:07 UTC
9fa6f5a fix(core): incorrectly inserting elements inside <template> element (#43429) Currently whenever we insert element we do it directly on the node using `appendChild` or `insertBefore`, however this doesn't work with `<template>` elements where the `template.content` has to be used. These changes add a few checks to call `appendChild` and `insertBefore` on the `content` of the template. Fixes #15557. PR Close #43429 08 March 2022, 18:22:18 UTC
a659d15 docs: Change tag name to TD from TR in context of colspan usage (#45257) PR Close #45257 07 March 2022, 23:41:35 UTC
0b31c8e docs: update `flush` description to include microtasks (#45237) PR Close #45237 07 March 2022, 23:41:07 UTC
1a5cd06 build: update dependency google-closure-compiler to v20220301 (#45260) PR Close #45260 07 March 2022, 22:30:45 UTC
68eda48 build: update dependency magic-string to v0.26.1 (#45247) PR Close #45247 07 March 2022, 22:29:45 UTC
d336ba9 fix(forms): Update the typed forms migration. (#45281) The typed forms migration was previously designed to add `<any>` type parameters to existing forms classes. However, due to some design changes, the new opt-out strategy requires untyped versions of the classes, as introduced in #45205 and #45268. This PR updates the migration to import these new classes (in an idempotent manner), and replace constructor calls with the new classes. It respects qualified imports as well. Finally, the code has been refactored to move as much common code as possible into `util.ts`. PR Close #45281 07 March 2022, 20:24:59 UTC
d87f66c test(compiler): fix deprecation warning (#45285) Jasmine logs a warning when there's a `describe` with no tests. These changes fix one such case in the compiler that happens when the tests are run against Windows. PR Close #45285 07 March 2022, 19:36:47 UTC
886cfe8 ci: components CI test should use local zone.js build (#45277) CI components test install the angular package from the local version, but still use the zone.js from npm, so this commit let components also install zone.js from local too. PR Close #45277 07 March 2022, 19:34:58 UTC
0bb55f8 build(docs-infra): upgrade cli command docs sources to 9aa2eb03f (#45275) 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/ac175ff10...9aa2eb03f): **Modified** - help/build.json - help/generate.json PR Close #45275 07 March 2022, 19:34:31 UTC
aa7b857 fix(forms): Property renaming safe code (#45271) This fixes property renaming related issues in advanced closure compiler optimizations. PR Close #45271 07 March 2022, 19:33:54 UTC
8c171da refactor(compiler): specify `@angular/core` as peer dependency (#45267) The compiler generates code for the Angular runtime in `@angular/core` which has to be the exact same version, as otherwise there may be version skew between what the compiler generates and what the runtime supports. This would result in hard to diagnose problems at runtime. By adding a peer dependency for `@angular/compiler` on `@angular/core` we can let the package manager report an error (NPM 7+) or warning (NPM 6, Yarn) during installation to signal that the set of packages is incompatible. PR Close #45267 07 March 2022, 19:32:21 UTC
94bba76 feat(core): support TypeScript 4.6 (#45190) Adds support for TypeScript 4.6. PR Close #45190 07 March 2022, 19:31:39 UTC
4332897 fix(forms): Add UntypedFormBuilder (#45268) This was intended to be part of #45205, but was left out. Adds a new class for use in migration. PR Close #45268 04 March 2022, 23:25:09 UTC
26ead25 refactor(router): Use helper function to throw NoMatch (#45244) This update matches the other locations where noMatch is thrown. PR Close #45244 04 March 2022, 23:24:13 UTC
bc89598 build: patch snapshot issue in dev-infra selecting the latest version tag (#45269) Local patch ahead of landing of https://github.com/angular/dev-infra/pull/449 PR Close #45269 04 March 2022, 23:23:39 UTC
9b1e9c0 release: cut the zone.js-0.11.5 release (#45256) PR Close #45256 03 March 2022, 23:49:46 UTC
bd04fbc feat(service-worker): emit a notification when the service worker is already up to date after check (#45216) When the service worker checks for an update and finds that the version on the server is the same as the version locally installed, it currently noops. This change introduces an event which it emits in this situation which notifies clients a check has occurred without error and no update was found. PR Close #45216 03 March 2022, 20:29:04 UTC
5e0e64f docs: change link for devtools to angular repo (#45207) PR Close #45207 03 March 2022, 20:28:25 UTC
2e105a1 docs: add Greek localization for Angular Docs (#45152) PR Close #45152 03 March 2022, 20:27:52 UTC
b437d12 fix(zone.js): defineProperties should also set symbol props (#45098) Close #44095 Fix `defineProperties` patch not set `symbol` props issue. Co-authored-by: varomodt<varomodt@users.noreply.github.com> Co-authored-by: AndrewKushnir<AndrewKushnir@users.noreply.github.com> PR Close #45098 03 March 2022, 20:22:05 UTC
5883e05 refactor(router): Remove special logic for hybrid apps (#45240) This commit removes special (undocumented) logic in the Router code that is meant to prevent duplicate navigations that result from location syncs in AngularJS/Angular hybrid applications. The duplicate navigations can occur when both the Router and the AngularJS sync code detect a location change via a popstate/hashchange event. When this happens, the Angular Router schedules a navigation to sync itself with the browser, but the hybrid listener may also schedule an additional navigation. There are a few reasons this logic should not be included in the Router: * This special logic is not tree shakeable so it introduces a bundle size cost for all applications, most of which don't need it. * There have been many updates to the routing pipeline to tolerate duplicate navigations. That is, duplicate navigations can happen and routing should still complete successfully. * https://github.com/angular/angular/commit/0e8548f667e5fdefa3ac7cdf1ba47e3e17011ffc * https://github.com/angular/angular/commit/9e039ca68bfae5328f3fc1f16fabd7673c466a25 * The logic is really in the wrong place: The hybrid sync code should be the location to handle this. If duplicate navigations are meant to be avoided, the hybrid sync code should have handling to _not_ trigger duplicate navs. * This logic _also_ used to exist because the mock location helper used for test incorrectly triggered popstate events during router navigations. In order to avoid unexpected behavior in tests, this logic needed to be added. This incorrect mocking may also have been put in place because the upgrade module _would_ see a location change event and trigger a duplicate navigation. The location mock has since been updated to match real browser behavior so this is no longer necessary. The upgrade module has also been updated to not trigger duplicate navigations. The following commits are related to this: * https://github.com/angular/angular/commit/202a1a56314af4ddb99c476f974536a10e390319 * https://github.com/angular/angular/commit/c6a93001eb74374b0fbc6aea1286fe1183d21382 Side note: The `setTimeout` in the location change listener is used to ensure the ordering of duplicate navigations was consistent. You can see that the logic being removed here expects the imperative navigation to precede the popstate/hashchange. With the removal of this code, the `setTimeout` no longer serves a purpose. However, it has been found that tests can rely on this behavior (incorrectly) because they expect the navigation to be complete but in reality, it hasn't even started because the test has not flushed the timeout. Removing the timeout would be a breaking change as a result. PR Close #45240 03 March 2022, 17:14:39 UTC
30c52ac build: add retry logic to postinstall script (#45252) Several people on the team (myself included) have had issues where the `webdriver-manager` step of the `postinstall` script fails on the first run, but work correctly on the second one. These changes attempt to simplify the workflow by retrying the script up to 3 times before giving up. PR Close #45252 03 March 2022, 17:13:25 UTC
6459b25 release: cut the v14.0.0-next.5 release (#45243) 02 March 2022, 18:51:46 UTC
3b85a12 docs: release notes for the v13.2.5 release (#45242) 02 March 2022, 18:27:13 UTC
69018c9 feat(core): allow for injector to be specified when creating an embedded view (#45156) Adds support for passing in an optional injector when creating an embedded view through `ViewContainerRef.createEmbeddedView` and `TemplateRef.createEmbeddedView`. The injector allows for the DI behavior to be customized within the specific template. This is a second stab at the changes in #44666. The difference this time is that the new injector acts as a node injector, rather than a module injector. Fixes #14935. PR Close #45156 02 March 2022, 16:38:00 UTC
05d50b8 perf(common): make `NgLocalization` token tree-shakable (#45118) This commit updates the `NgLocalization` token to become tree-shakable (vs using a direct reference to that token in the `providers` section of the `CommonModule`). The `NgLocalization` token is used for apps that use i18n and for other apps it would be excluded from the bundle. PR Close #45118 01 March 2022, 20:42:39 UTC
c8e4d62 refactor(forms): Split up `model.ts`. (#45217) model.ts is currently extremely large. This is the first step in an attempt to refactor it to be more easily navigable and reviewable. This commit breaks up `model.ts` into the following new files: * `model/abstract_model.ts`: The remainder of the model, including the `AbstractControl` base class and helper functions which are used throughout. * `model/form_control.ts`: `FormControl`, `FormControlOptions`, and helpers, plus the constructor and untyped friends. * `model/form_array.ts`: `FormArray` and untyped friends. * `model/form_group.ts`: `FormGroup` and untyped friends. This first phase is a purely mechanical code move. There is no new code at all, and no interfaces have been separated. PR Close #45217 01 March 2022, 19:49:31 UTC
c5df474 fix(core): remove individual commands for updating gold files (#45198) The documented command for updating the forms gold files was outdated and didn't work. Since this command list can easily become outdated, remove the individual commands in favor of the simpler global scripts. PR Close #45198 01 March 2022, 19:16:53 UTC
1b85811 refactor(zone.js): for legacy browser, still use hard coding eventNames (#40962) For legacy browsers, we still use the eventNames array to patch event instead of using `Object.getOwnPropertyNames()` to keep backward compatibility. PR Close #40962 01 March 2022, 18:41:15 UTC
0f298a1 refactor(zone.js): remove onProp eventNames array to reduce the bundle size (#40962) Zone.js supports the google closure compiler in the advance optimization mode, to prevent closure compiler modify the `onProperty` name such as `Element.prototype.onclick`, Zone.js implements the `onProperty` patch logic by declaring all the event names in the source code, this increases the bundle size and also require updating the event names array to keep the information updated. Now google closure compiler has the required event names defined in the built-in externs files, so zone.js can use more simple implementation and decrease the bundle size of zone.js (about 4k). PR Close #40962 01 March 2022, 18:41:15 UTC
c967976 refactor(router): take only the first emitted value of every resolver to make it consistent with guards (#44573) The router used to wait for the resolvers to complete and take the last value. The changes here take only the first emitted value of every resolver and proceed the navigation. This matches how other guards work in the `Router` code. Resolves https://github.com/angular/angular/issues/44643 BREAKING CHANGE: Previously, resolvers were waiting to be completed before proceeding with the navigation and the Router would take the last value emitted from the resolver. The router now takes only the first emitted value by the resolvers and then proceeds with navigation. This is now consistent with `Observables` returned by other guards: only the first value is used. PR Close #44573 01 March 2022, 17:12:37 UTC
bd12f9e refactor(forms): Move `getRawValue` into the `AbstractControl` hierarchy. (#45200) Currently, there is a freestanding `getRawValue` function which examines the type of the control. This is an issue for refactoring `model.ts` because it creates unnecessary dependencies between the `AbstractControl` classes. It is cleaner to simply add this method to the model hierarchy and call it directly, and will ease upcoming refactoring. PR Close #45200 01 March 2022, 01:07:12 UTC
4b936a1 Revert "feat(core): allow for injector to be specified when creating an embedded view (#45156)" (#45220) This reverts commit 94c949a60ad0de1f5385ec97f2c1933cb1d55f22. PR Close #45220 01 March 2022, 01:04:57 UTC
back to top