Angular: 14.0.0-next.1 Release

Release date:
February 2, 2022
Previous version:
14.0.0-next.0 (released April 6, 2023)
Magnitude:
0 Diff Delta
Contributors:
0 total committers
Data confidence:
Commits:

Top Contributors in 14.0.0-next.1

Could not determine top contributors for this release.

Directory Browser for 14.0.0-next.1

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

<a name="14.0.0-next.1"></a>

14.0.0-next.1 (2022-02-02)

Deprecations

common

  • The ngModuleFactory input of the NgComponentOutlet directive is deprecated in favor of a newly added ngModule input. The ngModule input accepts references to the NgModule class directly, without the need to resolve module factory first. ### animations | Commit | Description | | -- | -- | | perf - 7a81481fb2 | Remove generic objects in favor of Maps (#44482) | | perf - 6642e3c8fd | remove no longer needed CssKeyframes classes (#44903) | ### common | Commit | Description | | -- | -- | | feat - c89cf63059 | support NgModule as an input to the NgComponentOutlet (#44815) | | fix - a2cbffc06f | include query parameters for open HTTP requests in verify (#44917) | ### compiler-cli | Commit | Description | | -- | -- | | fix - 73c97aea9e | accept nullish coalescing operator for any and unknown types (#44862) | | fix - 366e424a73 | enable nullish coalescing check only with strictNullChecks (#44862) | | fix - d82c957a26 | ensure casing of logical paths is preserved (#44798) | ### core | Commit | Description | | -- | -- | | fix - 5686f68fde | Add back support for namespace URIs in createElement of dom renderer (#44914) | | fix - 39c614c438 | flush delayed scoping queue while setting up TestBed (#44814) | ### devtools | Commit | Description | | -- | -- | | feat - ddeacebd7b | add a demo pipe with ngOnDestroy | | feat - 06c184aa48 | add animations in the bar chart | | feat - 8f8268ff1e | add dark mode styling to flame graph rectangle strokes | | feat - fd711e51d7 | add demo app which does not use zones | | feat - 1cb3967670 | add detected application angular version to top right next to tabs (rangle/angular-devtools#4) | | feat - 691e495b6b | add duration field to the ProfilerFrame | | feat - 7ea441719f | add extra information to popups | | feat - ff99b9bb03 | add filtering functionality in the profiler | | feat - f848ef8d1b | add functionality for visualizing change detection | | feat - 4b9031263f | add ivy check | | feat - 38afb5c90b | Add margin to tree nodes so that they are not stacked on each other directly | | feat - f91590a509 | add MIT license (rangle/angular-devtools#65) | | feat - 25016b8810 | add multiple frame selection pointers | | feat - a42eee68cc | add opening instructions | | feat - b1d0f0a7d4 | add overflow-x auto to breadcrumbs tab | | feat - a5a942b732 | add selection of multiple frames with shift | | feat - becdcca64a | add support for Angular elements | | feat - 8c68a645c2 | add tooltip in bar chart | | feat - 016a1e54d7 | add top-level element to allow zoom out with multi roots | | feat - dceb8d304c | add versioning to import/export functionality | | feat - e4784bc3b0 | add view source button to properties view tab (rangle/angular-devtools#42) | | feat - 059ef511d0 | added cypress to run e2e tests (rangle/angular-devtools#45) | | feat - a20b4ea5c7 | added prettier for formatting code on pre-commit (rangle/angular-devtools#50) | | feat - 75cb030a84 | adding bar chart for timeline | | feat - 2b3acd6a06 | adding bar graph details section | | feat - 556997abab | adding bargraph formatter | | feat - 637c6de204 | adding bargraph visualization to timeline | | feat - 2b48785931 | adding bargraph visualizer | | feat - f06aedc28c | adding icon popups displaying app status (rangle/angular-devtools#70) | | feat - 9872baa24f | adding info popup (rangle/angular-devtools#739) | | feat - 4add5238dd | adding material toolbar | | feat - 4320221815 | adding parent hierarchy list view | | feat - c6fd1895c5 | adding parent hierarchy to bar graph formater | | feat - aaae3c4796 | Adding parent nodes for selected component (rangle/angular-devtools#34) | | feat - 0b991bdc0f | adding piechart for profiler | | feat - f28dae22ec | adding router tree | | feat - 15d43c787d | adding theme service | | feat - f6f06365c0 | adding theme toggle button | | feat - ee7bc547d1 | adding tooltips for icons | | feat - b552687298 | Allow ctrl/meta click to select/deselect multiple frames | | feat - dbcf91bbe0 | allow user to click on component properties of type HTMLElement to inspect the element in the browser | | feat - 67a89a02d6 | allow user to click on function properties to inspect that function in the chrome devtools (rangle/angular-devtools#234) | | feat - 29db8d5a8b | allow user to edit props | | feat - 285b5dbe91 | allow user to view change detection strategy and view encapsulation of a component in the property explorer (rangle/angular-devtools#257) | | feat - 60a4e56a95 | apply style to console reference keys displayed on nodes | | feat - 6ddac7c051 | Applying consistent styling | | feat - c1366d460d | change background colour to align with chrome devtools | | feat - ffe86bb739 | change flamegraph component input to have it be responsive by default | | feat - 6a6af6615a | change trimComponents name; always include nativeElement in buildDirectiveForest | | feat - 363f7954c4 | clicking on element with component inspector enabled will select that component in the directive explorer | | feat - 74eb888efe | create ConsoleReferenceNode interface to fix typing issues in selected-component.ts | | feat - 9500ec6617 | create copy to clipboard button for properties view wrapper (rangle/angular-devtools#38) | | feat - 26fb1f4d4b | create message bus event for component selection | | feat - 2b1c7fb568 | create scroll buttons for breadcrumb feature | | feat - 2d34a209a6 | create seperate property data sources for inputs/outputs/state | | feat - 9bdaa57a74 | create shared-utils project library to house functions and classes that can be used by any other project | | feat - 18214a9b99 | create webtree graph formatter and pass the formatted data through to the web tree graph visualizer | | feat - 015d98e2c0 | decrease width of split pane to match the rest of the application | | feat - dba943a4e2 | detect directives added to non-elements | | feat - 73dff6f002 | disable devtools for production applications | | feat - a7ea578507 | display latest commit SHA in application (rangle/angular-devtools#243) | | feat - ecfc03a2d2 | don't show comment nodes by default | | feat - b411ec64ed | expand node ancestors on component inspection | | feat - f46e9c9d76 | fix component styling for tooltip; add overflow to tree wrapper; truncate long tree labels | | feat - 9344cb7dfc | focus search input when icon is clicked | | feat - 8d00e44d9b | hide router tree if router config isn't found | | feat - a8a17df3af | highlight element when hovering the breadcrumbs | | feat - 07344cd4b3 | implement "force refresh" when the user presses the refresh button | | feat - dd71a52466 | Implement basic configuration UI and use it to toggle Timing API | | feat - 1d55622f3a | implement component selection functionality for $ng0 - $ng4 similarly to how chrome devtools does with html elements | | feat - da690ca84a | Implement Component/Directive Search (rangle/angular-devtools#25) | | feat - 3b0f52a131 | implement dark mode styling for loading screen | | feat - 6f338f7066 | implement drag to scroll functionality to improve frame navigation (rangle/angular-devtools#716) | | feat - 605214c59d | implement import/export json functionality for profiler | | feat - 8ea84d5776 | implement input/output/state preview functionality with the reworked property explorer | | feat - 21454e07a8 | implement invisible gutter technique from chrome devtools | | feat - d0a1773175 | implement material expansion panel with drag functionality for each property tree | | feat - 9d9518e67e | implement negation in the filtering query language | | feat - ff45fbd075 | implement output profiling | | feat - 534809cf85 | implement profiler with new framework APIs | | feat - b7b99b8532 | implement proper diffing in the explorer | | feat - 059da5d908 | implement reload message bus event that calls window.location.reload inside of the dev tools | | feat - 9be250dd62 | Implement selected component shortcut similar to Augury to select the component host | | feat - 78b3d39810 | implement split pane so that user can resize properties view tab (rangle/angular-devtools#60) | | feat - 07cd82a10c | implement time travel player functionality (rangle/angular-devtools#46) | | feat - 967bd3cf8e | improve output formatting | | feat - 83f41800cf | increase gutter width to 2.5px | | feat - b5e95ce468 | inform user that devtools has limited functionality in production mode | | feat - 6c71658dc0 | install webtree graph library | | feat - a00c19f101 | introduce directive records | | feat - ac2cd3757b | introduce streamed visualization of the profiling data | | feat - df5857ddc2 | introduce timing API support | | feat - 0579e98a1c | introduce virtual scrolling in directive explorer | | feat - 758d0a82fe | keep unique index for all components and directives | | feat - 8d319dd486 | make devtools fail elegantly for view engine apps | | feat - a73f575d6d | make tab menu action button icons smaller | | feat - ee7d8e58c6 | making small frames clickable | | feat - 3d9ac47d12 | merge frames in the range | | feat - 957034bf93 | migrate devtools and demo app to scss for styling | | feat - 21eb190f74 | move highlighter placement - no more overlap (rangle/angular-devtools#451) | | feat - 7b4e830d88 | new icon & active status | | feat - 8b9181724b | only show console reference for the currently selected element to reduce noise | | feat - a6148608c3 | open expansion panels by default; apply styling to expansion header | | feat - 54c14c251a | optionally show change detection duration only when run | | feat - 6d0c4093c2 | pass each datasource through to it's own material tree component | | feat - f8bb080157 | pass input/output data through from application to devtools UI | | feat - c44f00b78e | patch life cycle hooks | | feat - 502ab94003 | remove timeout and add new loading/error state message (rangle/angular-devtools#291) | | feat - 07632cf7bc | renaming app component to app todo component (rangle/angular-devtools#195) | | feat - b3a948eca3 | renaming timeline graph options | | feat - 4ea0d91dc5 | reorient split pane when screen width goes under 500 px | | feat - a5beefb477 | rerender tree on resize to keep tree within view | | feat - 5b3ecb3ea2 | scroll profiler frame info tab independently of active visualizer | | feat - 3e05c31979 | select dom element on double click of node (rangle/angular-devtools#51) | | feat - be7a0c25cb | set showNode option to show most nodes in the treegraph (rangle/angular-devtools#219) | | feat - 2bfb96d5bb | setting bar graph as default option | | feat - f2998980f3 | show frame drop in the timeline (rangle/angular-devtools#62) | | feat - a25cd0ed15 | show the console reference key on each selected element | | feat - 342ea4ebd7 | show timeline bars color dependant on the framerate | | feat - 0b24fe08f5 | simplify component styling for tabs component | | feat - 7dc1a35a62 | sort directive properties by name | | feat - e7db0d3f78 | split apart visualizing views; create new components for each visualizer component | | feat - a93cfdca81 | support trusted types for script injection | | feat - a3ac38041f | synchronizing highlight between source application and component in presentation tree (rangle/angular-devtools#35) | | feat - c29c041ec8 | themeing breadcrums | | feat - d638f9b172 | update to latest flamegraph | | feat - b4dc6f7bea | updating bargraph formatter | | feat - 53da6bb0a8 | updating record formatter to get directive values | | feat - b5d30d1c19 | updating to karma-coverage | | feat - 8c9645849a | updating to karma-coverage and setting clear context to true | | feat - 337be9bd63 | use flamechart with a better layout | | feat - 86cb107fee | use flamegraph in timeline and aggregated view | | feat - e23c81e2b5 | use flamegraph in timeline and aggregated view | | feat - cff17715d4 | use tag names | | feat - 57418c13f5 | use the user preferred color scheme | | feat - 2749398650 | use window object instead of getWindow method for setting a console reference | | feat - 86242b10bf | wrap entire row in div and bind click event to the div (rangle/angular-devtools#2) | | fix - 249d4cf237 | add back css that removed after a rebase | | fix - 64942d3ed9 | add d3 and semver dsl umd modules to karma tests for ng-devtools and ng-devtools-backend | | fix - 3d19ebf3a1 | added more padding to treegraph | | fix - b305c85004 | adding coverage reportor to gitignore | | fix - d28e601bd4 | align theme to other Chrome DevTools | | fix - bcfd7b97d6 | align with latest changes and keep consistent frame tree | | fix - 880d1d0ed4 | alignment issue in idle profiler | | fix - a665e305ea | allow arrow key events to fire when focusing on an input | | fix - a20821be38 | allow deleting property when editing | | fix - de5c669ebe | breadcrumb algorithm when there is no parent available | | fix - 5c0031d944 | broken virtual scroll layout on resize | | fix - 774e662b11 | bump up the split pane gutter size for the profiler split pane and hide the icon | | fix - b55c9c8786 | bump webpack version and fix breaking change | | fix - cb4e86c016 | call change tab helper when tab changes as a result of the inspector being selected | | fix - 4120c551e8 | catch selection edge cases for selecting the same node and selecting a node already in the array | | fix - c87d30eca5 | change colors (rangle/angular-devtools#453) | | fix - 2e8fe67864 | change the isIvy detection | | fix - 87aaa4933c | check if node.children is undefined before trying to convert it into an array (ex. node is a text node) | | fix - 2025717a13 | check if node.nativeelement is an instance of an HTMLElement before calling ng.getComponent on it (rangle/angular-devtools#93) | | fix - 8c92af6905 | color and font sizes and other visuals | | fix - 5fe0d80d0c | compatibility issues with google3 | | fix - 288ecfd994 | consider change detection completed after a microtask | | fix - 8c9336d1a2 | consistent console reference hint styles with chrome devtools | | fix - 284300abdb | consistent styles across shell dev and chrome | | fix - df680a9113 | contrast on labels and links (rangle/angular-devtools#708) | | fix - 544d82fcc3 | debounce dirty notifications and ignore vendorChunk (rangle/angular-devtools#264) | | fix - e19dc3efb4 | delayed angular detection with app_initializer (rangle/angular-devtools#827) | | fix - 08af1134e9 | disable animations when running e2e testing to fix flaky tests | | fix - 99125308a4 | disable critical css inlining because of csp | | fix - e85d65d26a | disable router tree tab | | fix - 50488f9380 | distinguish between items with and without children | | fix - 42ecb7a0d5 | do not attempt to initialize devtools if not ivy | | fix - b010784b21 | do not expand HTML Comments and preserve state for selected nodes | | fix - 23bc10cf7e | do not highlight nodes during initial rendering | | fix - 2a1f6e9464 | do not refresh the ui unless there are updates | | fix - 8728f6f578 | doc links icon (rangle/angular-devtools#742) | | fix - d60bdfc207 | don't access service prop unnecessarily | | fix - 54533bc037 | don't collide with the default runtime function (rangle/angular-devtools#6) | | fix - 63c86c100f | dont leak once subscriptions | | fix - 657c74151f | dont leak flat and indexed nodes | | fix - 97f88712e6 | drag and drop when selecting input; fix: console warning on update state error (rangle/angular-devtools#205) | | fix - 7c0d6c06e4 | enable the profiler even without zone available | | fix - d4fc65504b | ensure compatibility with angular v10.0.0+ | | fix - 50723bf1db | ensure that the dark mode toggle button reflects the current theme on load | | fix - a0ba7f7762 | fix all remaining component tab color issues (rangle/angular-devtools#458) | | fix - 9c4c18b8ef | fix bug in component tree observer that prevented nested added nodes from having their ids set properly | | fix - 92679792e0 | fix case where the state of the change detection checkbox in the flamegraph is lost when the component is destroyed | | fix - 2b5c40ee6d | fix constrast on navigation tabs; make light mode icons the same colour as the text (rangle/angular-devtools#667) | | fix - 0649cc485d | fix edge case where only one item is profiled and where no items are profiled | | fix - f5cad86902 | fix ExpressionChangedAfterItHasBeenCheckedError by manually triggering change detection when parents are set in directive explorer | | fix - 8d81155052 | fix initialization of non-supported applications (rangle/angular-devtools#43) | | fix - 1fc39d9332 | fix issue that prevented booleans from being parsed properly | | fix - eb3a1c2971 | fix issue where last node would be hidden behind breadcrumbs | | fix - 8a5fbf5963 | fix issues in message bus and watch | | fix - dd977f4b26 | fix regression that broke assignment of selected node to $ng0 variable (rangle/angular-devtools#89) | | fix - 5eba00abe5 | fix regression that broke node expansion (rangle/angular-devtools#88) | | fix - a8ba83cd30 | fix tests and leave todo related to possible typing refactor | | fix - 984dfc6db1 | fix typo in file names (rangle/angular-devtools#91) | | fix - 2aaa03a50d | fixed height for controls on flame graph and save button (rangle/angular-devtools#470) | | fix - f7ade259fe | fixing code review comments | | fix - 21a50b10be | fixing the bar graph height issue | | fix - 5f5307e610 | flicker properties when update selected node | | fix - 6dd50832a9 | frame colors indicate framerate good vs. bad | | fix - a7f6562158 | get all the property names including getters | | fix - 1871c34743 | get ng debug object whenever it is required through a function to prevent an issue where it would be set to undefined on page refresh | | fix - b46b296255 | get proper change detection trigger | | fix - 6d86bbc11b | get the lifecycle hook name using a more robust approach | | fix - fc5801b225 | get the lview from the instance context | | fix - 5eed92e91c | give breadcrumb container a z-index higher than 1 to prevent an issue where scrolling on the x-axis may inadvertently scroll the properties view tab | | fix - 41cb658e10 | handle corner cases when a component aims to replace an existing one | | fix - 199745fd6c | handle lifecycle hooks of only components & directives | | fix - ff78c66ae9 | handle ngFor and ngIf contexts in the profiler | | fix - d41dedb85b | highlighter should only show the hovered component's name (#44863) | | fix - ae6acce53e | highlighting of newly added nodes | | fix - 3d3d67fd00 | implement shutdown event to prevent memory leak when reopening devtools (rangle/angular-devtools#53) | | fix - 5d1e60dc9d | improve dark mode styles when no ivy detected | | fix - df32c6e11e | improve the styles in the meta popup | | fix - 0763305d0d | incorrect input names | | fix - 4eeaab5d5e | increase the width of the filter | | fix - a30d2a5653 | index new nodes before firing callbacks to fix issue where some callbacks rely on the newly indexed nodes | | fix - 4fc8a075c0 | initialization and popup logic | | fix - 85e01af432 | layout when visualizing the profiling data | | fix - 1665bda6cc | links to docs in property view tab | | fix - 0169295122 | linting errors to prevent ci failing (rangle/angular-devtools#469) | | fix - ffb46bdc3c | lview parsing when trying to get data from an option | | fix - 9510a1c38e | make edit functionality compatible with new getDirectiveForest api | | fix - ec66218c28 | make flamegraph scrollable | | fix - 36f5c2e0c0 | make sure we are not reference dependant | | fix - e74dc9e70d | make sure we dont access position of an undefined parent | | fix - f454498274 | make sure we dont fail on null elements | | fix - b455eb158e | make sure we invoke getComponent with an element | | fix - dfc4437afd | make sure we update the property explorer on state change (rangle/angular-devtools#821) | | fix - 23f8945f2f | make the bar chart scrollable | | fix - 30978b3718 | names of the tiles in the profiler graph | | fix - a5955930dd | node selection with collapsed nodes | | fix - 212e4026f8 | nowrap for the material tree items | | fix - e24b476624 | pass in root element ng context as an LView instead of as a context object | | fix - 820ec85ea4 | pass property updates to the correct data sources | | fix - f8bd3fccd7 | preserve proper nesting in flattened node lists | | fix - 6422b60568 | preserve the expansion status of moved items | | fix - 19ce8a6e9e | prevent circular dependency between directive-property-resolver and property-data-source | | fix - e1691b2ab5 | prevent default behaviour before calculating new scroll position to fix bug when traversing directive forest with arrow keys (rangle/angular-devtools#213) | | fix - ded6796efb | prevent directive forest hooks from being initiated in production applications | | fix - e20347090a | prevent link in property view body from closing panel header when clicked (rangle/angular-devtools#714) | | fix - 509abcf39b | prevent mat button css from leaking out of property view header (rangle/angular-devtools#856) | | fix - b3fcc8b408 | prevent ng-deep component styling from leaking to child components | | fix - 632a12579b | prevent node overwriting | | fix - b127cdc211 | prevent race condition between getting nested props and refresh | | fix - f93b53bb89 | proper alignment of non-expandable props | | fix - 570adcf2f5 | proper calculation of the lifecycle hook duration | | fix - ee0c245b44 | proper dev mode detection when app compiled with closure | | fix - b2a537a41b | proper diffing and expansion of new items | | fix - 79f145dc77 | proper diffing with unique ids | | fix - a8088ac68f | proper timing for operations | | fix - 6154f8dfdf | proper tracking without overwriting previous refs | | fix - 60cc2d8fc0 | proper typings in shell-chrome for strictNullChecks | | fix - a4b748de75 | properly emit shutdown event on cleanup and call change detector ref to update ui into loading state | | fix - 681feff8d0 | recognize app after reopening devtools | | fix - 48c140038b | refresh & reinitialize on navigation | | fix - 5c5345fdd4 | remove forgotten markers causing slowdown | | fix - b350bfc838 | remove jumping when adding nodes | | fix - 21ccdc1c62 | remove obsolete hover css that is causing contrast issues in dark mode and set the header height to match the new search filter height for consistency | | fix - 9ad12dd3c6 | remove redundant scrollbar | | fix - 8a8b911586 | remove relative positioning from profiler content; makes split pane gutter full height for profile details | | fix - e55a24cf30 | remove runOutsideAngular wrapper on mouse move event | | fix - 1181e4cadc | remove tree node highlight when a component is selected from the highlighter | | fix - 50fbbbcb8f | remove tree wrapper height css to let the height default to how many nodes are being displayed (rangle/angular-devtools#244) | | fix - db82118f66 | remove useless scrollbar from the demo app | | fix - da0ce975f8 | rename state to properties (rangle/angular-devtools#682) | | fix - 7575fc9167 | renaming master to main | | fix - 0f4dd494f3 | reselect node if it changes position after change detection | | fix - 6a87b79190 | reset the timeline component when discarding a recording | | fix - ab221badb4 | resize dark mode and cursor | | fix - 6727d7e229 | set a min width for the property view split tab to prevents styling issues when tab is too small | | fix - 0e10241b5c | set extension icon and popup only on DevTools background message | | fix - 13af13cc5d | set more accurate search label | | fix - d40cefb5d2 | set production flag to false in dev environment | | fix - 5ef4bca194 | set proper directive item and explorer height | | fix - 7a59606aaa | set proper height of the tree nodes | | fix - cf682b59b5 | set proper icon sizes | | fix - 5fa1c35579 | set proper types of the props in the clipboard copy feature | | fix - e032e043cb | setting default page for extension | | fix - b04649dacb | setting min width for input editor and allowing for rendering space | | fix - 3f0a2d3120 | show date type property value in preview (#44864) | | fix - 82a8d5c0aa | show elements nested in app elements | | fix - 17eea0549b | show new items using a class | | fix - 815d697efe | show not-angular popup for non-angular apps | | fix - 8a286f1a07 | show proper lifecycle hook names | | fix - dc345956ce | show properly dynamically inserted content with DOM APIs (rangle/angular-devtools#828) | | fix - 3340caf648 | show report for replaced nodes in the same tile and get lifecycle hook name | | fix - 5bf180afb8 | skip node if there is no associated TViewData (rangle/angular-devtools#804) | | fix - 67faf7710c | small improvements to Properties Details view (rangle/angular-devtools#455) | | fix - 37dea7ccd7 | sort array indexes in ascending order | | fix - edcaa8c89f | stop filter input from scrolling with the component forest (rangle/angular-devtools#87) | | fix - 3633be9875 | Style Changes to Profiler, general color scheme, controls & responsiveness (rangle/angular-devtools#468) | | fix - db94717ecb | style of editor input | | fix - 0aa64aa490 | Support Electron (rangle/angular-devtools#849) | | fix - f08eaabb25 | theming of profiler tab | | fix - d66fe32c14 | time label on profiler | | fix - be814408c8 | treemap hover colors highlight selection | | fix - 4dec3fb3e6 | ui flicker bug (rangle/angular-devtools#49) | | fix - db449b531d | unsubscribe from file upload Subscription instead of Subject | | fix - e6bec2430a | update the prod mode detection to also consider VE apps | | fix - 1b97432960 | update typing of differ objects to fit the new contract of TrackByFunction (rangle/angular-devtools#862) | | fix - c5445440bf | updating page design | | fix - 3b8833cfec | use cascading view child/children to fix regression caused by refactor (rangle/angular-devtools#92) | | fix - 614919fd61 | use the aio docs link rather than github | | fix - f9a5069e94 | use theming in chrome extension | | fix - c3e8311298 | use visible gutter size in calculation for split area flex basis' (rangle/angular-devtools#857) | | fix - e5d1fcbc96 | wait 500ms before checking the tree for a new node | | fix - fcfc9ebdc1 | webtree sizing (rangle/angular-devtools#203) | | fix - 85f2212796 | wrong label in the profiler | | perf - d95806ef57 | cache timeline frames so that the timetraveler doesn't have to process the same frame multiple times | | perf - 18457f02f5 | disable flame graph animations | | perf - 7851fb2348 | do not index on mutation of inspector | | perf - b3b0879053 | don't reformat the same record multiple times | | perf - 20398cfa52 | faster bar chart formatting | | perf - ca0910e59c | prevent directive forest from building twice every time a node is selected in the directive explorer | | perf - 1a00837b0c | prevent highlighter from rebuilding the directive forest every time a node is hovered over in the directive forest | | perf - a4a06eea18 | stream records incrementally so that they do not get sent all at once | | perf - 8a90f5b8b4 | switch to on push change detection to optimize profiler; rename variable for readability; null coalesce profileRecords to fix bug when profile profiles no changes (rangle/angular-devtools#3) | | perf - 29b9021113 | use WeakMap to reduce memory usage when memoizing | ### devtools tabs | Commit | Description | | -- | -- | | fix - 6c284ef32e | stop scroll occuring at tabs level | ### forms | Commit | Description | | -- | -- | | feat - f490c2de4e | support negative indices in FormArray methods. (#44848) | | fix - 889de8276d | ensure OnPush ancestors are marked dirty when the promise resolves (#44886) | | fix - deb9531a31 | Update the typed forms migration schematic to find all files. (#44881) | | fix - cae1e44608 | Update the typed forms migration to use FormArray<T> instead of FormArray<T[]>. (#44933) | ### router | Commit | Description | | -- | -- | | feat - 910de8bc33 | Add Route.title with a configurable TitleStrategy (#43307) | ## Special Thanks Alan, Alan Agius, AleksanderBodurri, Amir Rustamzadeh, Andrew Kushnir, Andrew Scott, Aristeidis Bampakos, Arjen, Daan De Smedt, Daniel DΓ­az, David Shevitz, Doug Parker, Dylan Hunn, Emma Twersky, Esteban Gehring, George Kalpakas, Jessica Janiuk, JimMorrison723, JoostK, Juri Strumpflohner, Lee Robinson, Maarten Tibau, Mark Whitfeld, Minko Gechev, Paul Gschwendtner, Ricardo Mattiazzi Baumgartner, Sumit Arora, Theodore Brown, arturovt, dario-piotrowicz, fru2, kamikopi, markostanimirovic, markwhitfeld, mgechev, renovate[bot] and twerske