https://github.com/angular/angular

sort by:
Revision Author Date Message Commit Date
edd060e release: cut the v17.0.0-rc.0 release 18 October 2023, 16:59:22 UTC
1091239 refactor(core): remove developer preview note from hydration stats note (#52197) This commit updates the message that we output in the console (once hydration is completed) to drop the reference to the developer preview. PR Close #52197 18 October 2023, 16:21:49 UTC
dc6ca34 docs: remove developer preview note from hydration feature in docs (#52197) PR Close #52197 18 October 2023, 16:21:49 UTC
33bd523 docs: promote `provideClientHydration` and related symbols to stable (#52197) This commit removes the `@developerPreview` annotation from the `provideClientHydration` function and related symbols, promoting them to stable. PR Close #52197 18 October 2023, 16:21:49 UTC
0855304 docs: promote `renderApplication` to stable (#52197) This commit removes the `@developerPreview` annotation from the `renderApplication`, promoting it to stable. PR Close #52197 18 October 2023, 16:21:49 UTC
603f30c docs: promote `withFetch` and `FetchBackend` to stable (#52197) This commit removes the `@developerPreview` annotation from the `withFetch` and `FetchBackend` APIs, promoting them to stable. PR Close #52197 18 October 2023, 16:21:49 UTC
eccbf36 docs: Update BAZEL.md with correct bazelrc documentation link (#52090) PR Close #52090 18 October 2023, 16:15:04 UTC
4198556 docs: fix typo (#52258) Fix typo in aio/content/errors/NG05104.md file PR Close #52258 18 October 2023, 16:13:44 UTC
37768da build: update all non-major dependencies (#51897) See associated pull request for more information. PR Close #51897 18 October 2023, 15:49:46 UTC
1e941f6 build: update scorecard action dependencies (#52126) See associated pull request for more information. PR Close #52126 18 October 2023, 15:45:31 UTC
920f072 build: update io_bazel_rules_sass digest to 425ecaf (#52173) See associated pull request for more information. PR Close #52173 18 October 2023, 15:37:09 UTC
37d627d perf(core): minimze trackBy calculations (#52227) Re-organize code to minimize number of calls to the trackBy function. PR Close #52227 18 October 2023, 12:04:24 UTC
1032c1e perf(core): cache LiveCollectionLContainerImpl (#52227) This change avoid re-creation of the LiveCollectionLContainerImpl instance every time the repeater runs (on every change detection). PR Close #52227 18 October 2023, 12:04:24 UTC
8e4a7ab perf(core): avoid repeated access to LContainer and trackBy calculation (#52227) Assuming that the trackBy function is a pure derivation from the collection object and its index, we can skip trackBy calculation if items in the live and new colelction have the same identity and index. Additionally this change minimizes access to the LContainer array. PR Close #52227 18 October 2023, 12:04:24 UTC
3fec271 refactor(core): move key calculation in list reconciler (#52227) We can speedup items comparision by having access to raw values and delay key calculation in certain conditions. PR Close #52227 18 October 2023, 12:04:24 UTC
f9ef762 refactor(core): remove the at method from the LiveCollection type (#52227) The at operation is private and doesn't have to be part of the public interface. PR Close #52227 18 October 2023, 12:04:24 UTC
e87ac24 docs(compiler): Clarify the purpose of i18n param resolution time (#52250) Adds some additional doc comments clarifying when the `Creation` resolution time is used vs the `Postprocessing` resolution time. PR Close #52250 18 October 2023, 12:00:04 UTC
39a6f62 refactor(compiler): Wrap bare ICUs in an i18n block (#52250) ICUs can be used outside of an i18n block. In this case the ICU should be automatically wrapped in a new i18n block. This commit adds a new phase to handle wrapping these bare ICUs. PR Close #52250 18 October 2023, 12:00:04 UTC
9626792 refactor(compiler): Resolve ICU params during i18n post-processing (#52250) ICU params in i18n messages are now resolved in the post-processing call rather than in the initial message creation. This matches the output generated by TemplateDefinitionBuilder. PR Close #52250 18 October 2023, 12:00:04 UTC
ba37440 refactor(compiler): Add support for ingesting ICUs (#52250) ICUs are now ingested by adding ops to both the creation and update IR. Both of these ops are ultimately removed before reification, but they are needed to coordinate and link data between the creation and update ops. This is done in a new ICU extraction phase that removes both ICU ops and adds an i18nExpr op to the update IR. PR Close #52250 18 October 2023, 12:00:04 UTC
5d3f66d Revert "perf(platform-browser): disable styles of removed components instead of removing (#51808)" (#52238) This reverts commit 65786b2b96ba198034ff23bb14571a659a491b50 due to an oberved perf regression in Pantheon. See: http://b/303667704 PR Close #52238 18 October 2023, 09:34:21 UTC
36993f3 docs: fix typo (#52247) Fix word: corresponding PR Close #52247 18 October 2023, 09:29:41 UTC
d811d82 build: update babel dependencies to v7.23.2 (#52236) See associated pull request for more information. PR Close #52236 17 October 2023, 16:11:09 UTC
c6e4cf1 docs: fix typo (#52232) Fix word: privileges PR Close #52232 17 October 2023, 16:10:05 UTC
a318e6a refactor(compiler): extract generic info for api reference (#52204) This commit extracts the API reference info for generic parameters for classes, methods, interfaces, and functions. It includes any constraints and the default type if present. PR Close #52204 17 October 2023, 10:29:24 UTC
c9cde3a perf(platform-browser): only append style element on creation (#52237) Prior to this change the style element was appended to host element multiple times. Whilst the actual element was not added multiple to the DOM multiple times. This causes a performance regression and it caused repainting. This can be observed in the below benchmark. ```js (() => { const time = (name, fn) => { const t = performance.now(); fn(); console.log(name, performance.now() - t); } const s = document.createElement("style"); s.textContent = "@layer x{} @font-face { font-family: foo; }"; time("append and enable", () => { document.head.append(s); s.disabled = false; }); time("compute body color", () => { getComputedStyle(document.body).color; }); time("compute body layout", () => { document.body.offsetTop; }); time("append and disable", () => { document.head.append(s); s.disabled = false; }); time("compute body color", () => { getComputedStyle(document.body).color; }); time("compute body layout", () => { document.body.offsetTop; }); })(); ``` Output ``` append and enable 0.20000000298023224 compute body color 0.7999999970197678 compute body layout 2.899999998509884 append and disable 0.10000000149011612 compute body color 0.7000000029802322 compute body layout 2.2999999970197678 ``` When commenting the 2nd `document.head.append(s);`, the results are slightly different and we can see that calling `getComputedStyle` does not incur any performance impact this is a result of no repainting. ``` append and enable 0.10000000149011612 compute body color 0.7999999970197678 compute body layout 3.1999999955296516 append and disable 0.10000000149011612 compute body color 0 compute body layout 0 ``` Pantheon benchmarks: http://docs/spreadsheets/d/1iLRLGCmVYZHuVRdI7dO_WM7wnQ1DvkS-tJzi-0-u1KY?resourcekey=0-kwtrf0nbAhcPqAGdqbdz4g#gid=0 PR Close #52237 17 October 2023, 09:18:02 UTC
35fd10a test(compiler): Update golden partial file (#52202) Updates the golden partial file to account for the newly added test PR Close #52202 17 October 2023, 08:13:23 UTC
e760fd7 refactor(compiler): Fix handling of structural directive on i18n element (#52202) Placing a structural directive on an element with an `i18n` attribute was generating too many i18n blocks. This was due to both the element and the template generating their own i18n block. To fix the issue, we no longer generate top-level i18n blocks for structural directive templates. PR Close #52202 17 October 2023, 08:13:23 UTC
4e13594 refactor(compiler): Fix handling of sturctural directive on ng-template (#52202) Structural directives on an ng-template (e.g. <ng-template *ngIf>) were being assigned the wrong tag name ('ng-template' instead of null). PR Close #52202 17 October 2023, 08:13:23 UTC
6fe4f44 refactor(compiler): Fix i18n placeholders for slef-closing elements (#52195) Fixes handling of placeholders for self-closing tags. Self-closing tags set a combined value for the start tag placeholder, rather than separate values for the start and close placeholders. This commit also enables a number of now passing tests. For some of these tests I had create a separate golden file due to the different ordering of the const array. In the template pipeline, i18n and attribute const collection happen in different pahses and we therefore get a different order than TemplateDefinitionBuilder, which collected everything in one pass. The order should not affect the overall behavior. PR Close #52195 16 October 2023, 17:25:05 UTC
920820a refactor(compiler): Add support for i18n post-processing (#52195) Runs post-processing on any i18n messages that have multiple values assigned to a single placeholder. PR Close #52195 16 October 2023, 17:25:05 UTC
6735f5f refactor(compiler): Fix propagation of child i18n params (#52195) The way we were propagating params up to parent i18n ops didn't account for the fact that a parent and child could both have a value for the same placeholder. In order to properly merge the value for these cases, we need to propagate the params up *before* serialization. Therefore I removed the standalone param propagation phase and folded the logic into the placeholder resolution phase. PR Close #52195 16 October 2023, 17:25:05 UTC
2d197f0 refactor(compiler): Remove unnecessary checks for empty container types (#52195) I added these in an earlier PR when we were considering moving the empty elements phase earlier. Since we decided not to do that, this commit cleans up unnecessary references to the empty versions of the element to simplify the code and types. PR Close #52195 16 October 2023, 17:25:05 UTC
e5720ed fix(core): handle if alias in control flow migration (#52181) This adds the support of `if ` conditions with `as` clause when migrating to the control flow syntax. It now adds the required semicolon before the `as` when migrating the template. Before: `@if (user$ | async as user) {` After: `@if (user$ | async; as user) {` PR Close #52181 16 October 2023, 16:35:19 UTC
eaf735d docs: fix typo (#52218) Fix word: adjustments PR Close #52218 16 October 2023, 16:33:22 UTC
bd1e78d docs: fix typo (#52219) Fix word: incompatibilities PR Close #52219 16 October 2023, 16:30:46 UTC
81a287a fix(compiler): avoid error in template parser for tag names that can occur in object prototype (#52225) Fixes that the compiler was throwing an error if an element tag name is the same as a built-in prototype property (e.g. `constructor` or `toString`). The problem was that we were storing the tag names in an object literal with the `Object` prototype. These changes resolve the issue by creating an object without a prototype. Fixes #52224. PR Close #52225 16 October 2023, 16:22:15 UTC
2fa5e70 docs(language-service): add neovim setup to angular language service docs (#52212) PR Close #52212 16 October 2023, 16:19:12 UTC
65c2f02 refactor(core): remove hack on render3 (#51238) Once useful, the hack to prevent circular dependency serves no purpose We can safely remove it. PR Close #51238 16 October 2023, 15:43:36 UTC
a6be2e2 docs: add missing next steps section (#52220) Added missing 'next steps' section in the tutorial. PR Close #52220 16 October 2023, 14:27:15 UTC
6ae68f3 refactor(core): run internal work outside of public afterRender phases (#52145) Public afterRender phases have specific API guarantees which can be invalidated if the internal framework is implemented using them. Instead, the framework should use dedicated internal functions. PR Close #52145 16 October 2023, 10:24:00 UTC
450f360 refactor(core): simplify hydration annotation key (#52207) This commit drops the `ɵ` symbol from hydration annotation key: `__ɵnghData__` -> `__nghData__`. This helps ensure that there are no UTF8 symbols that might be damaged in case a web server is misconfigured. Noticed while working on https://github.com/angular/angular/pull/52206. PR Close #52207 16 October 2023, 09:25:57 UTC
c1dc86d refactor(core): tree shake depepdency interceptor token (#52199) We have the `DEFER_BLOCK_DEPENDENCY_INTERCEPTOR` DI token that we use in tests to intercept the dependency loading function from deferred blocks, however we were referencing it in a way that caused it to be retained in production bundles as well. These changes guard the call site with `ngDevMode` since the token is only used for testing. PR Close #52199 16 October 2023, 09:17:24 UTC
a58301f refactor(core): minor fixes for the block entities migration (#52209) Contains the following minor improvements to the block entities migration: * The migration won't be stopped anymore if it can't read a template file. * The migration will exit early if a template doesn't contain the two characters we need to migrate. * Reduced the amount of code that is wrapped by a try/catch to avoid suppressing errors. PR Close #52209 16 October 2023, 09:15:31 UTC
b2ba678 docs: add thomas laforge to GDE resources and add angularchallenges to resources (#52075) PR Close #52075 16 October 2023, 09:13:01 UTC
2d98726 refactor(core): remove unused helper for setting `LView` for reactive consumer (#52192) This code path is never hit because the assignment of the lview happens in `commitLViewConsumerIfHasProducers`. PR Close #52192 13 October 2023, 12:08:35 UTC
030a68b refactor(router): Introduce `StateManager` interface (#52171) Move existing logic into `HistoryStateManager` PR Close #52171 13 October 2023, 11:48:17 UTC
6fd863d refactor(core): cleanup `DebugElement` (#50896) * `style` is never `null`. * adding some typing * Add 2 todos per #49777 PR Close #50896 13 October 2023, 10:24:17 UTC
ba9fc24 refactor(core): deprecate the `NgProbeToken` (#51396) DEPRECATED: NgProbeToken The `NgProbeToken` is not used internally since the transition from View Engine to Ivy. The token has no utility and can be removed from applications and libraries. PR Close #51396 13 October 2023, 10:19:05 UTC
e90f5e5 docs: Phase 2 Sample Code Conversions to Standalone (#51918) Phase 2 sample code conversions per instructions in doc: https://docs.google.com/document/d/1QqnVK8Mc0O1gU9ctPrs-JJ42V9_dHCuEttD_01pXh34/edit **Included** 1. ajs-quick-reference Minor changes to remove references to NgModule. Converted sample to standalone. 2. architecture Migrated the code sample. Made minor changes to remove references to NgModule. I explicitly deprecated the `architecture-module.md` page and removed it from the navigation. 4. deprecations / deprecations-guide Migrated the code sample which required pulling NgModule and Reactive Forms material into a new `deprecated` folder. Made minor changes to clarify when advice was specific to NgModule (see `loadChildren` in particular). 5. displaying-data Deleted this `displaying-data` sample entirely as there is no need for a sample app just to display a single, vanilla data binding in the deprecated `zone.md` page. Replaced reference in `zone.md` with an inline code snippet. 10. ngcontainer Converted the code sample. There is no guide page for this sample. It can be displayed in Stackblitz **Excluded** 3. cli-builder Code sample is not an app; nothing to convert. 6-9 - related to getting-started and setup. Waiting until Angular team is ready to proceed. 11. providers This is in its own commit and PR 51918 because it may not make sense to convert. See that PR for details. 12. routing-with-urlmatcher No work needed. Already Standalone. 13 schematics-for-libraries Non-trivial (see doc notes) and Angular may decide to leave as is. Should have own PR. 14 setup Non-trivial (see doc notes) and Angular may decide to leave as is. Should have own PR. PR Close #51918 13 October 2023, 09:20:09 UTC
8e5d54a refactor(core): clean up viewport trigger event tracking (#52156) When the `viewport` triggers were first introduced, we ended up having to use a service to keep track of them, because using the same global event handling as the other events led to some inconsistent test failures. It looks like the failures were caused by the same bug fixed #52115 so now we can switch back to the previous approach which is a bit more compact. PR Close #52156 13 October 2023, 09:16:26 UTC
54f7578 docs(router): add clarification for behavior of paramsInheritanceStrategy: 'emptyOnly' (#52170) Follows up to the https://github.com/angular/angular/issues/52108 which was opened due to the confusion surrounding paramsInheritanceStrategy: 'emptyOnly'. PR Close #52170 13 October 2023, 09:14:23 UTC
a6fcf75 test(core): verify directive order inside and outside of `@defer` blocks (#52194) This test verifies that the order does not change when a particular part of code is wrapped by the `@defer` block. PR Close #52194 13 October 2023, 09:10:20 UTC
99e7629 fix(core): do not remove used ng-template nodes in control flow migration (#52186) This fixes an issue where `ng-template` nodes were removed even when used in other places than control flow directives. Template to migrate: ```html <ng-template #blockUsedElsewhere><div>Block</div></ng-template> <ng-container *ngTemplateOutlet="blockUsedElsewhere"></ng-container> ``` Before: ```html <ng-container *ngTemplateOutlet="blockUsedElsewhere"></ng-container> ``` After: ```html <ng-template #blockUsedElsewhere><div>Block</div></ng-template> <ng-container *ngTemplateOutlet="blockUsedElsewhere"></ng-container> ``` PR Close #52186 12 October 2023, 17:28:23 UTC
6f19117 refactor(core): Add better error handling to control flow migration (#52189) This adds some clear error handling and messaging for when errors occur during the control flow migration. PR Close #52189 12 October 2023, 17:27:00 UTC
ffe9b1f fix(core): handle for alias with as in control flow migration (#52183) This adds the support of `let index as myIndex` in `*ngFor` for the control flow migration. Before: `@for (itm of items; track itm)` After: `@for (itm of items; track itm; let myIndex = $index)` PR Close #52183 12 October 2023, 17:15:20 UTC
0792424 refactor(animations): make `AnimationBuilder` tree-shakable (#52097) This commit allows also to use the `AnimationBuilder` when using `provideAnimationsAsync()` fixes #52096 PR Close #52097 12 October 2023, 16:13:22 UTC
5c70148 docs: add Nicolas Frizzarin to GDE resources (#52003) This PR add Nicolas Frizzarin to the GDE resources docs: fix typo on description PR Close #52003 12 October 2023, 15:44:49 UTC
65b4604 fix(common): missing space in ngSwitch equality warning (#52180) This adds a missing space between the sentences of the `===` vs `==` ngSwitch warning. PR Close #52180 12 October 2023, 13:44:47 UTC
4cd1b3d refactor(core): better organization of `@defer` runtime code (#52152) This commit splits the `render3/instructions/defer.ts` file (that contained most of the runtime code) into smalle r files that are easier to maintain. There are no functional changes in this PR, just organizing code. PR Close #52152 12 October 2023, 10:43:54 UTC
4e9d687 build: update cross-repo angular dependencies (#52159) See associated pull request for more information. PR Close #52159 12 October 2023, 10:42:24 UTC
2bf088e Revert "refactor(compiler-cli): remove `MethodIdentifier` type (#49611)" (#52174) This reverts commit c2b1a242e8db0ef8e03f7ee85ffa1f82562fd735. PR Close #52174 12 October 2023, 10:35:50 UTC
2e5ee1c refactor(compiler-cli): remove `MethodIdentifier` type (#49611) `MethodIdentifier` is unused as is `IdentifierKind.Method`. They both can be removed. PR Close #49611 11 October 2023, 19:34:51 UTC
371e26f docs: update Angular CLI help [main] (#52168) Updated Angular CLI help contents. PR Close #52168 11 October 2023, 19:19:22 UTC
d50d3b8 docs: update events (#52053) Generated `events.json` with the latest events retrieved from the Firebase DB. PR Close #52053 11 October 2023, 19:18:06 UTC
073ebfe fix(compiler): apply style on :host attributes in prod builds. (#49118) In prod builds, selectors are optimized and spaces a removed. #48558 introduced a regression on selectors without spaces. This commit fixes tihs. Fixes #49100 PR Close #49118 11 October 2023, 18:32:19 UTC
926db6d release: cut the v17.0.0-next.8 release 11 October 2023, 17:12:33 UTC
44a75aa docs: release notes for the v16.2.9 release 11 October 2023, 17:06:23 UTC
87340a4 build: update io_bazel_rules_sass digest to 9a327e5 (#52119) See associated pull request for more information. PR Close #52119 11 October 2023, 16:23:07 UTC
e906942 perf(core): build-in for should update indexes only when views were added / removed (#52051) This change adjust the built-in for algorithm of dealing with embedded views to update the repeater context (and more specifically - its index field) only when views were added / removed "in the middle of LContainer" (in places other than the LContainer end). This skip iteration over the entire LContainer in most cases - and most importantly in cases where no diff change was detected. " PR Close #52051 11 October 2023, 16:16:31 UTC
f66faca refactor(core): control flow migration cleanup (#52151) This adds a console warning to make it clear to users the migration is developer preview. It also shuffles around some code for better organization. PR Close #52151 11 October 2023, 16:16:04 UTC
3434359 docs(animations): fix typo in state name of keyframes example (#52155) PR Close #52155 11 October 2023, 16:15:03 UTC
449830f feat(language-service): Complete inside @switch (#52153) We now visit the unknown nodes inside a `@switch` block, enabling completions in that context. PR Close #52153 11 October 2023, 16:14:13 UTC
9d19c8e fix(compiler): don't allocate variable to for loop expression (#52158) Currently the compiler allocates a variable slot to the `@for` loop expression which ends up unused since we don't store the result on the `LView`. PR Close #52158 11 October 2023, 16:12:57 UTC
77284d9 ci: run bazel saucelabs job only on push builds As part of the CircleCI migration it looks like we started running the Bazel saucelabs job for all pull requests. This was not done before because we weren't confident with the stability of this job yet. This commit moves it back so that we don't block pull requests with a job that is not considered stable. 11 October 2023, 11:19:51 UTC
6c02c61 ci: remove circleci required status from angular robot The build job moved from CircleCI to GitHub actions, so we currently mark all PRs as pending unnnecessarily. In the future, this will be replaced by the unified status check. It's set up here but was disabled at some point. Needs more investigation. 11 October 2023, 11:19:51 UTC
fcc000e build: add targets for api doc generation (#52034) This adds `generate_api_docs` targets to all of the packages for which we publish api reference docs. One known issue here is that any type information that comes from another package (e.g. router depending on core) currently resolve to `any` because the other sources are not available in the program. This can be tackled in a follow-up commit. This commit also updates the install patch for `@angular/build-tools` to use the local version of compiler-cli. PR Close #52034 10 October 2023, 23:18:50 UTC
ddd7212 fix(forms): reset() call with null values on nested group (#48830) Non typed forms allow to pass null to nested groups when calling `formGroup.reset()`, this commit prevent an undefined access. fixes #20509 PR Close #48830 10 October 2023, 22:34:31 UTC
59ba2a6 feat(bazel): make `forbidOrphanComponents` option configurable (#52061) Now users can configure the option `forbidOrphanComponents` in the tsconfig's angularCompilerOptions part. PR Close #52061 10 October 2023, 22:30:26 UTC
1a4aee7 feat(core): show runtime error for orphan component rendering (#52061) A runtime error will be thrown if a non-standalone component is being rendered without its NgModule loaded in the browser. This error is thrown only in dev mode and only if the Angular option `forbidOrphanComponents` is set to true. The error contains useful info to find the orphan component in the source code. PR Close #52061 10 October 2023, 22:30:26 UTC
3047bdd refactor(core): add an API to deps tracker to check if a component is orphan (#52061) A new method `isOrphanComponent` is added to the deps tracker API to check if the NgModule declaring this component, if exists, is loaded into the browser. PR Close #52061 10 October 2023, 22:30:26 UTC
5fba890 refactor(core): add `forbidOrphanRendering` option to class debug info (#52061) The flag `forbidOrphanRendering` is only set for non-standalone components, and indicates that the dev mode runtime should through error if the component is rendered without its ngModule loaded in the browser. This runtime error can help with further debugging. PR Close #52061 10 October 2023, 22:30:26 UTC
1eefa0c refactor(compiler-cli): include `forbidOrphanComponents` option in component's debug info (#52061) A new flag added to the component's debug info to determine whether to throw runtime error (in dev mode) if component is being rendered without its NgModule. This flag is only set for non-standalone components. PR Close #52061 10 October 2023, 22:30:26 UTC
e8201a5 refactor(compiler-cli): add a compiler option to enable checking for orphan component (#52061) Orphan component is an anti-pattern in Angular where a component is rendered while the NgModule declaring it is not installed. It is not easy to capture this scenario, specially in compile time. But it is possible to capture a special case in runtime where the component is being rendered without its NgModule even loaded into the browser. This change adds a flag in cli compiler option to enable such checking, and throwing a runtime exception if it happens. Note that such check is only done in dev mode. Currently the check requires some generated code that is behind ngJitMode flag (i.e., call to ɵɵsetNgModuleScope), and the new flag can be set only if JIT mode is enabled (i.e., supportJitMode=true) otherwise an error will be thrown. The orphan component is a main blocker for rolling out local compilation in g3. This option is needed for identifying and isolating such cases. PR Close #52061 10 October 2023, 22:30:26 UTC
da056a1 fix(common): add missing types field for @angular/common/locales of exports in package.json (#52080) Add a types entry in the packages/common/package.json exports "./locales/*" section Fixes #52011 PR Close #52080 10 October 2023, 21:33:44 UTC
11588a1 build: update dependency @types/jasmine to v5 (#52060) See associated pull request for more information. PR Close #52060 10 October 2023, 21:08:02 UTC
5a969e0 build: remove Windows CI check (#52140) Based on recent discussions, these changes remove the Windows CI check because it has been too flaky for too long. Furthermore, we've concluded that the simulated file system in the compiler tests already catches the same set of bugs as running the tests on a real Windows system. PR Close #52140 10 October 2023, 21:07:03 UTC
3c4be44 docs(core): fix missing text in oversized image warning message (#52147) add text to fix warning message that trails ends mid-sentence PR Close #52147 10 October 2023, 21:01:23 UTC
496ee47 docs: add error guide for `assertNotInReactiveContext`. (#52138) Adds an error guide for `assertNotInReactiveContext` and provides some more context/ and guidance for fixing common errors. PR Close #52138 10 October 2023, 20:56:56 UTC
df58c0b fix(core): disallow `afterRender` in reactive contexts (#52138) Using `afterRender` schedules long-living lifecycle hooks. Scheduling such hooks inside reactive contexts could mean that many of the same hooks would be scheduled, quickly piling up every time a consumed signal changes. This is likely unintended and could degrade application performance or result in unexpected behavior. Additionally, scheduling `afterRender` inside a `computed` is considered a side effect. Computed expressions are expected to be pure/ i.e. free of side effects. We can avoid this caveat by detecting the reactive context in development. PR Close #52138 10 October 2023, 20:56:56 UTC
5d61221 fix(core): disallow using `effect` inside reactive contexts (#52138) Using an `effect` inside a `computed` is a clear violation of the conceptual idea of computed's being pure/ side-effect free. Additionally, scheduling new effects from an existing actively running effect is likely unintended as this could degrage application performance or result in unintentional behaviors. Multiple long-living effects would be scheduled every time the effect expressions runs. For these reasons, we are explicitly preventing this pitfal, by disallowing using `effect` inside reactive contexts. PR Close #52138 10 October 2023, 20:56:56 UTC
a49ee46 docs(docs-infra): add support for block syntax to dgeni (#52123) This adds the new block syntax to dgeni docs pipeline, mainly copying the way that elements (`<ng-content>` etc.) work. Actual doc content is just a placeholder for this PR. PR Close #52123 10 October 2023, 20:55:04 UTC
965ce5a feat(migrations): Schematics for `TransferState`, `StateKey` and `makeStateKey` migration. (#49594) These 3 classes have been moved from platform-browser to core by #49563 PR Close #49594 10 October 2023, 20:12:36 UTC
8b91864 test(devtools): create unit tests for injector tree transformation functions (#51719) Creates set of unit tests for each function in the data transformation pipeline that enables injector metadata to be visualized as d3 graphs. PR Close #51719 10 October 2023, 20:10:50 UTC
8bdbbf4 feat(devtools): Implement initial DI debugging features in devtools (#51719) This commit introduces 2 new features into DevTools. Directive level dependency inspection: Users can now view which dependencies their directives have injected in the property viewer tab. This view displays not only the dependency but also the resolution path that was used to service the injection. Injector graph inspection: Users can now view a visualization of the element and environment hierarchies in their application. These trees are displayed separately but on the same page in the Injector Tree tab. User can click on individual injectors to view a list of all the providers configured in that injector, as well as highlight the resolution path from that injector to the root (with the corresponding environment injector connection highlighted as well). PR Close #51719 10 October 2023, 20:10:50 UTC
50ad074 fix(core): framework debug APIs getDependenciesForTokenInInjector and getInjectorMetadata (#51719) Previously getDependenciesForTokenInInjector was unable to determine which node on a view serviced a specific injection. Now it is able to filter out those injections that did not come from the specific node for the NodeInjector passed into it. Previously getInjectorMetadata was incorrectly looking up DOM elements for some directives (for example NgForOf) where an LContainer was created. Now the LContainer case is handled, and the non LContainer case uses `getFirstNativeNode` to more accurately get the element we want. PR Close #51719 10 October 2023, 20:10:50 UTC
1934524 feat(compiler): add docs extraction for type aliases (#52118) This commit adds support for extracting type alises. It currently extracts the raw written type from the source without performing any resolution, such as for resolving `typeof` queries, as current Angular public APIs do not rely on this. PR Close #52118 10 October 2023, 19:40:10 UTC
75d610d fix(platform-browser): set animation properties when using async animations. (#52087) Animations properties set on the default renderer weren't set on the animation renderer once it was loaded. This commit fixes this. PR Close #52087 10 October 2023, 18:59:13 UTC
5b375d1 fix(platform-browser): Fire Animations events when using async animations. (#52087) Animations events registered against the default renderer weren't registered against the animation renderer once it was loaded. This commit fixes this. fixes #52076 PR Close #52087 10 October 2023, 18:59:13 UTC
28fc020 docs: update Angular CLI help [main] (#52144) Updated Angular CLI help contents. PR Close #52144 10 October 2023, 18:56:34 UTC
back to top