https://github.com/angular/angular

sort by:
Revision Author Date Message Commit Date
e162fa3 test(core): add more tests for the standalone injector (#45687) This commit reorganizes the tests around the EnvironmentInjector and its use for standalone injectors, and adds a number of new test cases. PR Close #45687 20 April 2022, 23:01:56 UTC
3616d7e refactor(core): implement standalone injectors (#45687) This commit implements the `StandaloneFeature` which provides for the creation of standalone injectors, for those components which need them. The feature-based implementation ensures the machinery for standalone injectors is properly tree-shakable. PR Close #45687 20 April 2022, 23:01:56 UTC
9f79513 refactor(core): support standalone components in importProvidersFrom (#45687) This commit refactors `importProvidersFrom` to support pulling providers from the dependencies of a standalone component, in addition to NgModules. Tests will be added in a future commit when standalone components can be created without calling private APIs. PR Close #45687 20 April 2022, 23:01:55 UTC
5a10fc4 feat(core): implement standalone directives, components, and pipes (#45687) This commit exposes the `standalone` flag on `@Directive`, `@Component`, and `@Pipe`, effectively making standalone components a part of Angular's public API. As part of this operation, it also implements JIT compilation for standalone types. Standalone types are Angular-decorated types which act as their own "declarations", where they would otherwise be declared in an NgModule. Marking an Angular type as standalone means that it can be used directly in other standalone components and in NgModules, without needing an associated NgModule to depend on it. In the case of a standalone component, template dependencies which would otherwise be specified by an NgModule are instead specified directly on the component itself, via the `imports` field. Other standalone types can be imported, as well as NgModules. PR Close #45687 20 April 2022, 23:01:55 UTC
bb6e11c refactor(compiler-cli): reorganize importProvidersFrom to avoid cycles (#45687) This commit extracts the `importProvidersFrom` function and associated machinery into a separate file, as opposed to being colocated with `R3Injector`. Separating these functions will mitigate potential future circular dependencies as `importProvidersFrom` starts being used in different parts of the codebase. PR Close #45687 20 April 2022, 23:01:55 UTC
dea8c86 feat(router): add ariaCurrentWhenActive input to RouterLinkActive directive (#45167) add the ariaCurrentWhenActive input to the RouterLinkActive directive so that users can easily set the aria-current property to their active router links resolves #35051 PR Close #45167 20 April 2022, 22:14:01 UTC
d8226de release: cut the v14.0.0-next.14 release (#45704) PR Close #45704 20 April 2022, 21:47:03 UTC
f14763e docs: release notes for the v13.3.4 release (#45703) PR Close #45703 20 April 2022, 21:41:58 UTC
1d2f5c1 refactor(router): deprecate no longer needed resolver fields (#45597) DEPRECATED: The `resolver` argument of the `RouterOutletContract.activateWith` function and the `resolver` field of the `OutletContext` class are deprecated. Passing component factory resolvers are no longer needed. The `ComponentFactoryResolver`-related symbols were deprecated in `@angular/core` package since v13. PR Close #45597 20 April 2022, 19:57:37 UTC
f4fd1a8 feat(router): Add `EnvironmentInjector` to `RouterOutlet.activateWith` (#45597) The current API for `activateWith` uses the deprecated `ComponentFactoryResolver`. The replacement for this is to use `EnvironmentInjector`. That is, instead of ``` const factory = componentFactoryResolver.resolveComponentFactory(component); location.createComponent(factory, location.length, injector); ``` the replacement would be ``` location.createComponent( component, {index: location.length, injector, environmentInjector}); ``` PR Close #45597 20 April 2022, 19:57:37 UTC
4e0957a feat(router): Add ability to specify providers on a Route (#45673) Currently, the only way to specify new providers for a `Route` and the children is to create a new `NgModule` with those providers and use the `loadChildren` feature. This is pretty confusing and a wholly indirect way of accomplishing this task. With this commit, developers will be able to specify a list of providers directly on the `Route` itself. These providers will apply the that route and its children. This feature was inspired by the upcoming standalone components feature. This ties in there because, as mentioned before, the prior art for lazy loading configs was to load an `NgModule`. This loaded module contained new route configs _and_ could specify new providers. Separating those two concepts, there should be a way to load _just_ some new routes, but there should also be a way to specify new providers as well (something you could do in the `NgModule` world and now will be able to do in the world without any `NgModule` through this feature). PR Close #45673 20 April 2022, 18:32:07 UTC
ba45428 ci: update payload size golden file (#45699) This commit updates the payload size for the Forms-related test app. The CI started to fail after merging https://github.com/angular/angular/commit/ff3f5a8d12e3243620e311b690a050e26493e539. The payload size increase is most likely accumulated. PR Close #45699 20 April 2022, 17:29:38 UTC
ff3f5a8 fix(forms): Fix a typing bug in FormBuilder. (#45684) Previously, the following code would fail to compile: ``` let form: FormGroup<{email: FormControl<string | null>}>; form = fb.group({ email: ['', Validators.required] }); ``` This is because the compiler was unable to properly infer the inner type of `ControlConfig` arrays in some cases. The same issue applies to `FormArray` as well under certain circumstances. This change cleans up the `FormBuilder` type signatures to always use the explicit Element type, and to catch `ControlConfig` types that might fall through. PR Close #45684 20 April 2022, 16:15:46 UTC
788f587 fix(docs-infra): avoid internal symbols from being referenced during auto-linking (#45689) This commit adds extra logic to avoid internal and privately exported symbols from being referenced during auto-linking. Currently such symbols can be used for linking, thus resulting in a non-existing link and causing the linking process to fail. PR Close #45689 20 April 2022, 16:11:22 UTC
47e5b05 test(http): Add + to encoding test (#45111) Changes the existing test for query parameter encoding to include the + symbol and its expected encoding to %2B. PR Close #45111 20 April 2022, 16:00:19 UTC
76a9a24 fix(http): encode + signs in query params as %2B (angular#11058) (#45111) Servers always decode + as a space, which is undesirable when one actually wants to query for a plus. BREAKING CHANGE: Queries including + will now actually query for + instead of space. Most workarounds involving custom codecs will be unaffected. Possible server-side workarounds will need to be undone. Fixes angular#11058 PR Close #45111 20 April 2022, 16:00:19 UTC
b8d3389 test(compiler-cli): tests for standalone components/directives/pipes (#45672) This commit bundles tests for standalone components that are possible after previous implementation commits. Most new tests are compliance tests, but a test is also included to validate that the template type-checking system can work with standalone components as well. PR Close #45672 20 April 2022, 12:45:57 UTC
d3c0fa3 refactor(compiler-cli): propagate standalone flag in .d.ts metadata (#45672) This commit adds a type field to .d.ts metadata for directives, components, and pipes which carries a boolean literal indicating whether the given type is standalone or not. For backwards compatibility, this flag defaults to `false`. Tests are added to validate that standalone types coming from .d.ts files can be correctly imported into new standalone components. PR Close #45672 20 April 2022, 12:45:57 UTC
80d2cda test: set skipLibCheck on ngcc integration test (#45672) The ngcc integration test is in an awkward state: it's attempting to test that the current ngcc can process @angular/core at v12. We need to make a forwards-incompatible change to the typings of @angular/core, which means that the compiled typings from the current ngcc won't be compatible with core as of v12. To get around this and allow the integration test to have some value, we're disabling library checking for the time being. PR Close #45672 20 April 2022, 12:45:57 UTC
99b3af4 refactor(compiler-cli): emit isStandalone flag in partial declarations (#45672) This commit propagates the `isStandalone` flag for a component, directive, or pipe during partial compilation of a standalone declaration. This flag allows the linker to properly process a standalone declaration that it encounters. PR Close #45672 20 April 2022, 12:45:57 UTC
1244a14 refactor(compiler-cli): move standalone scope computation out of handler (#45672) Standalone component scopes were first implemented in the `ComponentDecoratorHandler` itself, due to an assumption that "standalone" allowed for a localized analysis of the component's dependencies. However, this is not strictly true. Other compiler machinery also needs to understand component scopes, including standalone component scopes. A good example is the template type-checking engine, which uses a `ComponentScopeReader` to build full metadata objects (that is, metadata that considers the entire inheritance chain) for type-checking purposes. Therefore, the `ComponentScopeReader` should be able to give the scope for a standalone component. To achieve this, a new `StandaloneComponentScopeReader` is implemented, and the return type of `ComponentScopeReader.getScopeForComponent` is expanded to express standalone scopes. This cleanly integrates the "standalone" concept into the existing machinery. PR Close #45672 20 April 2022, 12:45:56 UTC
d8086a1 refactor(compiler-cli): emit StandaloneFeature for standalone components (#45672) This commit adds an emit for standalone components of the `StandaloneFeature`, which will support creation of standalone injectors and any other mechanisms necessary for standalone component functionality at runtime. Using a feature allows for standalone functionality to be tree-shaken in applications that aren't using them. PR Close #45672 20 April 2022, 12:45:56 UTC
f9f8ef9 refactor(compiler-cli): emit NgModule dependencies of standalone components (#45672) This commit expands on the unified dependency tracking in the previous commit and adds tracking of NgModule dependencies. These are not used for standard components, but are emitted for standalone components to allow the runtime to roll up providers from those NgModules into standalone injectors. PR Close #45672 20 April 2022, 12:45:56 UTC
9b35787 refactor(compiler-cli): unify tracked template scope dependencies (#45672) Previously, the compiler tracked directives and pipes in template scopes separately. This commit refactors the scope system to unify them into a single data structure, disambiguated by a `kind` field. PR Close #45672 20 April 2022, 12:45:56 UTC
1527e8f refactor(core): change component emit to 'dependencies' (#45672) Previously, the compiler would represent template dependencies of a component in its component definition through separate fields (`directives`, `pipes`). This commit refactors the compiler/runtime interface to use a single field (`dependencies`). The runtime component definition object still has separate `directiveDefs` and `pipeDefs`, which are calculated from the `dependencies` when the definition is evaluated. This change is also reflected in partially compiled declarations. To ensure compatibility with partially compiled code already on NPM, the linker will still honor the old form of declaration (with separate fields). PR Close #45672 20 April 2022, 12:45:56 UTC
046dad1 fix(compiler-cli): fix issue with incremental tracking of APIs for pipes (#45672) `PipeSymbol` contains logic to detect changes in the public API surface of pipes, which includes the pipe name. However, the pipe handler inadvertently uses the pipe class name instead of the actual pipe name to initialize the `PipeSymbol`, which breaks incremental compilation when pipe names change. There is a test which attempts to verify that this logic is working, but the test actually passes for a different reason. The test swaps the names of 2 pipes that are both used in a component, and asserts that the component is re-emitted, theoretically because the public APIs of the pipes is changed. However, the emit order of the references to the pipes depends on the order in which they match in the template, which changes when the names are swapped. This ordering dependency is picked up by the semantic dependency tracking system, and is what actually causes the component to be re-emitted and therefore the pipe test to pass in spite of the bug with name tracking. This commit fixes the `PipeSymbol` initialization to use the correct pipe name. The test is still flawed in that it's sensitive to the ordering of pipe emits, but this ordering is due to change soon as a result of the standalone components work, so this issue will be resolved in a future commit. PR Close #45672 20 April 2022, 12:45:56 UTC
989e840 fix(router): Remove unused string type for ActivatedRoute.component (#45625) BREAKING CHANGE: The type of `component` on `ActivatedRoute` and `ActivatedRouteSnapshot` includes `string`. In reality, this is not the case. The component cannot be anything other than a component class. PR Close #45625 20 April 2022, 03:21:35 UTC
4ad7c2e docs: Update aio/content/guide/setup-local.md (#45644) Co-authored-by: George Kalpakas <kalpakas.g@gmail.com> PR Close #45644 20 April 2022, 03:20:39 UTC
89f9d28 docs: correct the example command to install angular (#45644) PR Close #45644 20 April 2022, 03:20:39 UTC
0231a36 build: preparation for primary branch rename in the Angular repos (#45681) Preparation for the framework repo as outlined our planning document. PR Close #45681 20 April 2022, 03:19:46 UTC
6c4d9eb test(common): Fix flaky Location test (#45683) This test has proven to be flaky. This commit greatly simplifies the test and moves it to a more appropriate location (pun intended). PR Close #45683 20 April 2022, 03:17:56 UTC
5d15595 Fix typo (#45680) PR Close #45680 19 April 2022, 16:26:12 UTC
ceffded docs(common): fix links to locales in i18n guides (#45661) In PR #42230, the locale file generation process was modified so that generated locale files are no longer checked into the repository. Update a few links in the docs that pointed to the previously checked in files to point to other places where the files exist. PR Close #45661 19 April 2022, 16:17:33 UTC
c6feb0a build: don't assign jelbourn to most review categories (#45668) Configure pullapprove to not automatically assign jelbourn to most review categories. PR Close #45668 19 April 2022, 16:15:39 UTC
f5299a3 docs: update decorators proposal stage and link in glossary (#45669) PR Close #45669 19 April 2022, 16:14:36 UTC
63202b9 test: reset counters before running a styling test (#45670) This commit updates one of the styling tests to reset perf counters, making it order-independent and non-flaky (previously the test got random failures depending on whether there are other tests invoked before). PR Close #45670 19 April 2022, 16:14:09 UTC
ea8256f refactor(router): Move config loader tracking to the RouterConfigLoader (#45656) This wasn't exactly possible before because the `RouterConfigLoader` was not an Injectable so there wasn't a straightforward way to share information between `ApplyRedirects` and the preloader. They each had their own implementation so they needed to store the values on the `Route` so they both had access to them. I imagine this was the case because trying to inject `Router` (to get access to the events) into the preloader would have caused a circular dependency. This refactor co-locates the loading details with the loader itself rather than leaking implementation into the public route config and mutating the object in an awkward way. This also promotes `RouterConfigLoader` to a proper `Injectable` so data can be shared throughout the system. PR Close #45656 18 April 2022, 23:05:45 UTC
ec5cb0b docs: use language agnostic mdn urls (#45666) PR Close #45666 18 April 2022, 21:10:16 UTC
3477364 docs: fix mdn links (#45666) PR Close #45666 18 April 2022, 21:10:16 UTC
174ce7d feat(core): add `ApplicationRef.destroy` method (#45624) This commit implements the `destroy` method on the `ApplicationRef` class. This feature is a preparation for the new logic to bootstrap (and teardown) standalone components (without going through the `NgModuleRef` destroy), which would return an instance of the `ApplicationRef` (the current bootstrap APIs return an instance of the `NgModuleRef`). PR Close #45624 18 April 2022, 21:09:47 UTC
aa966fd refactor(router): Use `EnvironmentInjector` for lazy loading APIs (#45671) The `EnvironmentInjector` should be used instead of `Injector` for the lazy loading. A future refactor will further update `RouterOutlet` to use this injector to create the component rather the deprecated `ComponentFactoryResolver`. PR Close #45671 18 April 2022, 21:08:43 UTC
eb7661c refactor(router): unbundle the lazy loaded routes from the lazy loaded module injector (#45593) In the standalone world, these concepts will no longer be one and the same. You can load routes without them being inside an `NgModule` with `RouterModule.forChild`. In addition, routes will be able to define their own providers, which will be included in an injector that is not necessarily lazy loaded. PR Close #45593 18 April 2022, 16:52:56 UTC
d9f550c refactor(router): Refactor loaded config to track injectors rather than `NgModuleRef` (#45593) The `Injector` is really the piece of information that the `Router` is interested in keeping track of. Storing the `NgModuleRef` is somewhat confusing based on how it's used later on. `RouterOutlet` uses it for the `componentFactoryResolver`, but this is not needed anymore (and deprecated). In fact, we can get back to the `NgModuleRef` anyways using the injector. For now, that's what this change does. A different refactor will remove the use of the `componentFactoryResolver` altogether. Additionally, in the standalone world, we plan to implement a feature to allow defining `providers` directly on the `Route`. This means there won't be an associated `NgModuleRef` so this refactor prepares for that feature. PR Close #45593 18 April 2022, 16:52:56 UTC
3578e94 refactor(core): internally support `providedIn: environment` (#45626) This commit adds a new internal scope to `R3Injector` for `EnvironmentInjector`s specifically. This will allow us to scope services to the environment side of the injector hierarchy specifically, as opposed to the `'any'` scope which also includes view-side injectors created via `Injector.create`. For now, this functionality is not exposed publicly, but is available to use within `@angular/core` only. PR Close #45626 18 April 2022, 16:28:43 UTC
d5a6cd1 feat(core): implement EnvironmentInjector with adapter to NgModuleRef (#45626) This commit exposes a new `EnvironmentInjector` abstraction, which generalizes the "module injector" concept to injectors that are not based on NgModules. An EnvironmentInjector is a conceptual analogue of an `NgModuleRef` - it represents an injector on the former "module" DI hierarchy in Angular (now renamed to the "environment injector hierarchy"). Environment injectors are created via the `createEnvironmentInjector` function from a list of `Provider`s. For backwards compatibility with current code using `NgModuleRef`, `EnvironmentInjector`s are wrapped by an adapter `NgModuleRef` implementation, so injecting `NgModuleRef` always returns the latest `EnvironmentInjector`, even if that injector was not based on an NgModule. Conversely, NgModule-based `NgModuleRef`s created via `createNgModuleRef` are _also_ `EnvironmentInjector`s. PR Close #45626 18 April 2022, 16:28:42 UTC
b568a5e feat(core): implement `importProvidersFrom` function (#45626) This commit implements the `importProvidersFrom` function that allows extracting a list of `Provider`s from a list of NgModule types. The R3Injector which implements DI at the "module" level for Angular is refactored to use this functionality under the hood. This commit also implements `INJECTOR_INITIALIZER`, a DI multi-provider token which is used to run initialization logic when an injector is created. PR Close #45626 18 April 2022, 16:28:42 UTC
a5a7fbc test(core): fix a crosstalk issue with locale ids (#45626) Previously there was a test ordering issue with the application_module_spec tests where the value of `getLocaleId()` depended on the order in which tests ran. Specifically, `setLocaleId()` lower-cases the current locale ID, so the measured value in a test depended on whether a previous test had called `setLocaleId()` (the difference between 'en-US' and 'en-us'). PR Close #45626 18 April 2022, 16:28:42 UTC
1fe255c refactor(compiler): add `original_code` to `goog.getMsg()` options (#45606) This links back each placeholder in a message to the original Angular template span which defines its expression. This is useful for understanding where each placeholder comes from in the context of the full message. PR Close #45606 18 April 2022, 16:26:16 UTC
8c83f12 ci: add more reviewers to the `docs-packaging-and-releasing` group (#45652) Currently that group has just 2 reviewers, but we often update the files that belong to that group during the deprecation period. Adding more people would allow to balance the reviews better. PR Close #45652 18 April 2022, 16:24:57 UTC
57f8ab2 fix(core): better error message when directive extends a component (#45658) We throw an error when a directive is trying to extend a component, but we don't actually say which class is responsible which can be difficult to track down. These changes add the two class names to the error message. PR Close #45658 18 April 2022, 16:24:23 UTC
b29b95b fix(devtools): clean up menu layout (#45665) The menus weren't using the `mat-menu` component correctly which had led to some inconsistent spacing and the need for style overrides. These changes correctly wrap the menu content in `mat-menu-item` which has the added benefit of having keyboard support. I had to keep some of the overrides in order to preserve the dense layout of the menus. I've also cleaned up the component by: * Removing some unnecessary styles. * Switching single-class usages of `ngClass` to `class.` bindings. * Not using `br` tags for spacing. PR Close #45665 18 April 2022, 16:23:13 UTC
6835710 build: lock file maintenance (#45457) PR Close #45457 15 April 2022, 21:38:16 UTC
0b64072 fix(docs-infra): fix aio search-results issue with toolbar and notification (#45579) use border-top-width instead of padding-top as the strategy for moving the search-results panel down, this fixes the issue of the panel going behind the toolbar (which causes either overlapping text in the home page or the results scrollbar to be hidden behind the toolbar in other pages) PR Close #45579 15 April 2022, 21:22:14 UTC
9e69579 fix(docs-infra): amend notification close button aria-label (#45579) move the aria-label used inside the close-button to the button itself (since otherwise the button's aria-label overrides the childs) PR Close #45579 15 April 2022, 21:22:14 UTC
d2436bf feat(docs-infra): add close button to search-results aio panel (#45579) add a close button to the search-results aio panel so that the user can conveniently close it via keyboard this complements the focus trap implemented in PR #44989 (more here: https://github.com/angular/angular/pull/44989#issuecomment-1037287678) PR Close #45579 15 April 2022, 21:22:13 UTC
f57e46c fix(language-service): two-way binding completion should not remove the trailing quote (#45582) We allow the path to contain both the `t.BoundAttribute` and `t.BoundEvent` for two-way bindings but do not want the path to contain both the `t.BoundAttribute` with its children when the position is in the value span because we would then logically create a path that also contains the `PropertyWrite` from the `t.BoundEvent`. This early return condition ensures we target just `t.BoundAttribute` for this case and exclude `t.BoundEvent` children. Fixes https://github.com/angular/vscode-ng-language-service/issues/1626 PR Close #45582 15 April 2022, 20:53:48 UTC
c6e0e3f fix(core): improve multiple components match error (#45645) This commit improves the error message that is thrown at runtime when multiple components match the same element. Now the error message contains names of classes that represent those components. PR Close #45645 15 April 2022, 20:52:19 UTC
2e97312 test(core): add a test for multiple named interpolations with the same name (#45651) The test from this commit verifies that i18n logic can handle multiple named interpolations with the same name. PR Close #45651 15 April 2022, 20:51:55 UTC
96fd29c fix(router): validate lazy loaded configs (#45526) Lazy loaded configs are not validated at runtime like the initial set of routes are. This change also validates lazy loaded configs right after they're loaded. BREAKING CHANGE: Lazy loaded configs are now also validated once loaded like the initial set of routes are. Lazy loaded modules which have invalid Route configs will now error. Note that this is only done in dev mode so there is no production impact of this change. Fixes #25431 PR Close #45526 15 April 2022, 19:30:44 UTC
f13295f perf(router): cancel the navigation instantly if at least one resolver doesn't emit any value (#45621) Recently the navigation was on hold even at least one resolver didn't emit any value and completed, but another ones still are in progress to resolve any value. The changes cancel the navigation instantly if at least one resolver doesn't emit any value and completed. PR Close #45621 15 April 2022, 17:06:26 UTC
770ea92 build: update dependency @microsoft/api-extractor to v7.22.2 (#45641) PR Close #45641 15 April 2022, 16:27:39 UTC
b5b0a50 docs: fix typo (#45637) Replace wrong mention of 'heroService.delete()' with 'heroService.deleteHero()' because 'heroService.delete()' doesn't exist and 'heroService.deleteHero()' should be mentioned instead Resolves #45636 PR Close #45637 14 April 2022, 23:30:03 UTC
7d2a619 build: update all non-major dependencies (#45632) PR Close #45632 14 April 2022, 22:02:45 UTC
6444a02 docs: move old changelog entries to a separate file (#45638) This commit moves all release notes for everything before v11.0.0 to a separate file, so that the changelog can be rendered correctly via GitHub UI. Closes #45635. PR Close #45638 14 April 2022, 22:01:21 UTC
2f08b80 build(docs-infra): upgrade cli command docs sources to 5bd17a256 (#45630) 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/0e8f3c34b...5bd17a256): **Added** - help/completion.json PR Close #45630 14 April 2022, 22:00:40 UTC
94fba9b docs(core): fix typo in View Encapsulation code example (#45629) Fix closing tag name to match opening one (`</hero-detail>` --> `<hero-details>`). PR Close #45629 14 April 2022, 22:00:04 UTC
e0a2248 feat(forms): Add a FormRecord type. (#45607) As part of the typed forms RFC, we proposed the creation of a new FormRecord type, to support dynamic groups with homogenous values. This PR introduces FormRecord, as a subclass of FormGroup. PR Close #45607 14 April 2022, 21:59:10 UTC
f8a1ea0 fix(bazel): do not error if files part of `srcs` are outside of package (#45622) We recently refactored how the ng package rule deals with static files. As part of this refactoring, transitive files outside of the current Bazel package were flagged as errors, while previously this was just ignored. We need to revert back this behavior (even though code remains much simpler and predicable now) since sass library targets for example reference all transtive files in the default info and break packages then PR Close #45622 14 April 2022, 21:58:27 UTC
000363e refactor(router): combine functions for getting loaded config (#45613) There are two functions which do the same thing and are meant to search for the closest loaded config in the `ActivatedRouteSnapshot` parent tree. These can be combined to reduce code duplication. One difference in the current implementation is the early exit for the implementation in `activate_routes` when `route.component` is defined. This early exit takes advantage of the fact that the component must then also have a `RouterOutlet`, which injects `ComponentFactoryResolver`, which would end up being the same one as what would be found if we continued to look up the parent tree. This is only a tiny optimization that will actually break when we add `providers` as a feature to the `Route` config. In this scenario, we _must_ find the correct injector in the parent routes and cannot rely on a parent `RouterOutlet` since there may be some route with a providers list in between. PR Close #45613 14 April 2022, 00:29:42 UTC
e250db4 refactor(core): avoid referencing `PlatformRef` in bootstrap code (#45519) This commit updates an existing bootstrap logic to avoid referencing the `PlatformRef` instance to keep track of the platform status. Instead, we use platform injector, so that the `PlatformRef`can be tree-shaken away in the bootstrap logic for Standalone Components. The motivation for this change is that retaining the `PlatformRef` class also retains NgModule-based bootstrap code, which would not be needed in case of Standalone Components. PR Close #45519 13 April 2022, 22:34:46 UTC
fbbed3d release: cut the v14.0.0-next.13 release (#45616) 13 April 2022, 18:40:40 UTC
0f8e181 docs: release notes for the v13.3.3 release (#45615) 13 April 2022, 18:37:13 UTC
47e7a28 refactor(router): Add warning for `relativeLinkResolution: 'legacy'` (#45523) This change adds code to compute the corrected value for a link, regardless of the `relativeLinkResolution` value. Then, if the `relativeLinkResolution` is set to `legacy` and differs from the correct value, a warning is printed to the console in dev mode. This change is meant to assist in notifying developers that they have code which relies on the deprecated, broken behavior so they can fix and update the code before the `relativeLinkResolution` option is fully removed. PR Close #45523 13 April 2022, 17:19:08 UTC
598b759 fix(compiler): avoid errors with extremely long instruction chains (#45574) Our logic for generating code from an AST uses recursion which limits the number of expressions we can nest before we reach the call stack limit. These changes add a limit in order to avoid errors in some cases where the chains become extremely long. Fixes #45564. PR Close #45574 13 April 2022, 16:18:55 UTC
7bf1cf4 build: update all non-major dependencies (#45493) PR Close #45493 13 April 2022, 15:33:33 UTC
a6ab3f7 docs: fix grammar (#45455) PR Close #45455 12 April 2022, 23:55:32 UTC
9e86a31 docs: fix to comply with new codeblock guidelines (#45455) PR Close #45455 12 April 2022, 23:55:32 UTC
062fa76 docs: modified as per dylhunn suggestions (#45455) https://github.com/angular/angular/pull/45455#pullrequestreview-925369970 PR Close #45455 12 April 2022, 23:55:32 UTC
b9e7983 docs: update template reference variables (#45455) - Specify `NgForm` gets applied by default on `<form>` elements before the long example using it - Move the strange (and questioned in a commented line) snippet about undefined ref vars in a standalone paragraph and clarify its meanings (adding the part about directive just because there was something similar already there) - Extend and modify `*ngFor` example, since in the original that was misleading to think reference variable couldn't be used inside a loop - Remove two lines stating that with `*ngIf` and `*ngFor` the framework cannot know if a template is ever instantiated (can't see how this relate with the page) - Add an explanation of assignment of default `$implicit` value to undefined input variables - Modify template example for template input variable to be a complete ngForOf loop instead of the original poor intelligible truncated one - Replace last generic statements about variable namespaces with a more pragmatic and explanatory one concerning the resolution in case of homonymy PR Close #45455 12 April 2022, 23:55:32 UTC
9add714 refactor(core): remove deprecated `aotSummaries` fields in TestBed config (#45487) BREAKING CHANGE: Since Ivy, TestBed doesn't use AOT summaries. The `aotSummaries` fields in TestBed APIs were present, but unused. The fields were deprecated in previous major version and in v14 those fields are removed. The `aotSummaries` fields were completely unused, so you can just drop them from the TestBed APIs usage. PR Close #45487 12 April 2022, 23:29:38 UTC
89ed8d8 refactor(core): make ComponentFactoryResolver lazily instantiated in ApplicationRef (#45507) This commit removes the `ComponentFactoryResolver` as a constructor argument of the `ApplicationRef` class. This makes it lazily instantiated + simplifies further refactoring in a context of Standalone Components. PR Close #45507 12 April 2022, 22:29:17 UTC
f38c344 refactor(core): make platform core providers tree-shakable (#45506) This commit refactors the set of hardcoded platform core providers into tree-shakable providers. In addition to making them tree-shakable, this would also avoid the need to rely on the platform creation logic in an upcoming bootstrap logic for Standalone Components. PR Close #45506 12 April 2022, 22:28:23 UTC
3c1695e docs: make tutorial instructions consistent (#45372) When starting this tutorial, it's not clear to the user whether they should add routing right away, Etc. The other tutorials within the routing section do a better job of this. Also.. the suggested name of this sample app clashes with that of a previous tutorial, forcing the user to either delete the previous tutorial files, choose a different name for this tutorial's app, or place this app in a different parent directory. Conflicts: aio/content/guide/router-tutorial-toh.md PR Close #45372 12 April 2022, 22:27:37 UTC
8d7351d build: only allow renovate to run on Monday nights (#45605) By running renovate once a week, we can consolidate all the updates into a single weekly PR, before each Wednesday release. That will significantly reduce the burden on caretakers, and make patch ports less onerous. PR Close #45605 12 April 2022, 22:26:48 UTC
663d477 refactor(core): remove duplicated code in change_detection_util (#45599) Removes duplicated code in change_detection_util and reorganizes imports to use utils module. PR Close #45599 12 April 2022, 22:26:09 UTC
820077d build: update dependency glob to v8 (#45598) PR Close #45598 12 April 2022, 22:02:26 UTC
83920af docs: new Pipes custom data doc (#45505) PR Close #45505 12 April 2022, 21:29:06 UTC
0d6325b docs: pipes custom data transform (#45505) PR Close #45505 12 April 2022, 21:29:06 UTC
ee3cfc8 docs: fix path typo (#45604) PR Close #45604 12 April 2022, 21:27:49 UTC
0528b47 docs: fix final code review section codetabs path (#45604) Fix paths for codetabs in final review section messed up by this commit https://github.com/angular/angular/commit/42289f25c69ec7a36d2e3ef424d32f77bc7cd19a They were all pointing to `heroes-search.component` PR Close #45604 12 April 2022, 21:27:49 UTC
79de026 docs: add powershell execution policies note (#45576) Fixes #44598 PR Close #45576 12 April 2022, 21:13:59 UTC
6532328 release: cut the v14.0.0-next.12 release (#45603) PR Close #45603 12 April 2022, 20:00:50 UTC
c7bf75d fix(platform-browser): remove obsolete shim for Map comparison in Jasmine (#45521) Angular now uses Jasmine 2.8 as a minimum version (required by protractor; most of it is using ^3.5.0 which currently resolves to 3.99.0), which makes this shim obsolete - all versions of Jasmine used have Map comparison built in. This shim causes problems for custom equality checkers - when using a Map containing types needing a custom equality check, this fails because the call to `jasmine.matchersUtil.equals` from the shim does not use any of the custom equality matchers. PR Close #45521 12 April 2022, 18:43:37 UTC
b5f39c5 docs(devtools): updating firefox documentation (#44952) updating typo PR Close #44952 12 April 2022, 18:41:37 UTC
e589bc6 feat(devtools): added string flag for browser support (#44952) * Added `flag_browser` to toggle between different browser builds chrome and firefox * Updated build command to support new flag configuration PR Close #44952 12 April 2022, 18:41:37 UTC
bc0b6fe feat(devtools): adding firefox support (#44952) * Updating manifest.json to new build structure * Adding doctype to pages to remove warnings PR Close #44952 12 April 2022, 18:41:37 UTC
9f1bcc7 docs(devtools): updating firefox documentation (#44952) Updating dist path to load Firefox DevTools PR Close #44952 12 April 2022, 18:41:37 UTC
ceb19c0 feat(devtools): renaming shell-chrome (#44952) Renaming `shell-chrome` to `shell-browser` contains the build that supports both browsers. PR Close #44952 12 April 2022, 18:41:37 UTC
d54d1fd feat(devtools): dynamic build support for devtools (#44952) * Updating build to support both browsers firefox & chrome. * Added new `config_setting` to support build. * Added new genrule `copy_manifest` to `prodapp` pkg_web. PR Close #44952 12 April 2022, 18:41:37 UTC
47ceffc docs(devtools): updating firefox development documentation (#44952) Updating Firefox DevTools documentation to be more descriptive and removing images. PR Close #44952 12 April 2022, 18:41:37 UTC
back to top