yarn @angular/compiler-cli 14.0.0-next.1

latest releases: 14.1.2, 14.2.0-next.1, 14.2.0-next.0...
6 months ago

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



  • 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.


perf - 7a81481fb2Remove generic objects in favor of Maps (#44482)
perf - 6642e3c8fdremove no longer needed CssKeyframes classes (#44903)


feat - c89cf63059support NgModule as an input to the NgComponentOutlet (#44815)
fix - a2cbffc06finclude query parameters for open HTTP requests in verify (#44917)


fix - 73c97aea9eaccept nullish coalescing operator for any and unknown types (#44862)
fix - 366e424a73enable nullish coalescing check only with strictNullChecks (#44862)
fix - d82c957a26ensure casing of logical paths is preserved (#44798)


fix - 5686f68fdeAdd back support for namespace URIs in createElement of dom renderer (#44914)
fix - 39c614c438flush delayed scoping queue while setting up TestBed (#44814)


feat - ddeacebd7badd a demo pipe with ngOnDestroy
feat - 06c184aa48add animations in the bar chart
feat - 8f8268ff1eadd dark mode styling to flame graph rectangle strokes
feat - fd711e51d7add demo app which does not use zones
feat - 1cb3967670add detected application angular version to top right next to tabs (rangle/angular-devtools#4)
feat - 691e495b6badd duration field to the ProfilerFrame
feat - 7ea441719fadd extra information to popups
feat - ff99b9bb03add filtering functionality in the profiler
feat - f848ef8d1badd functionality for visualizing change detection
feat - 4b9031263fadd ivy check
feat - 38afb5c90bAdd margin to tree nodes so that they are not stacked on each other directly
feat - f91590a509add MIT license (rangle/angular-devtools#65)
feat - 25016b8810add multiple frame selection pointers
feat - a42eee68ccadd opening instructions
feat - b1d0f0a7d4add overflow-x auto to breadcrumbs tab
feat - a5a942b732add selection of multiple frames with shift
feat - becdcca64aadd support for Angular elements
feat - 8c68a645c2add tooltip in bar chart
feat - 016a1e54d7add top-level element to allow zoom out with multi roots
feat - dceb8d304cadd versioning to import/export functionality
feat - e4784bc3b0add view source button to properties view tab (rangle/angular-devtools#42)
feat - 059ef511d0added cypress to run e2e tests (rangle/angular-devtools#45)
feat - a20b4ea5c7added prettier for formatting code on pre-commit (rangle/angular-devtools#50)
feat - 75cb030a84adding bar chart for timeline
feat - 2b3acd6a06adding bar graph details section
feat - 556997ababadding bargraph formatter
feat - 637c6de204adding bargraph visualization to timeline
feat - 2b48785931adding bargraph visualizer
feat - f06aedc28cadding icon popups displaying app status (rangle/angular-devtools#70)
feat - 9872baa24fadding info popup (rangle/angular-devtools#739)
feat - 4add5238ddadding material toolbar
feat - 4320221815adding parent hierarchy list view
feat - c6fd1895c5adding parent hierarchy to bar graph formater
feat - aaae3c4796Adding parent nodes for selected component (rangle/angular-devtools#34)
feat - 0b991bdc0fadding piechart for profiler
feat - f28dae22ecadding router tree
feat - 15d43c787dadding theme service
feat - f6f06365c0adding theme toggle button
feat - ee7bc547d1adding tooltips for icons
feat - b552687298Allow ctrl/meta click to select/deselect multiple frames
feat - dbcf91bbe0allow user to click on component properties of type HTMLElement to inspect the element in the browser
feat - 67a89a02d6allow user to click on function properties to inspect that function in the chrome devtools (rangle/angular-devtools#234)
feat - 29db8d5a8ballow user to edit props
feat - 285b5dbe91allow user to view change detection strategy and view encapsulation of a component in the property explorer (rangle/angular-devtools#257)
feat - 60a4e56a95apply style to console reference keys displayed on nodes
feat - 6ddac7c051Applying consistent styling
feat - c1366d460dchange background colour to align with chrome devtools
feat - ffe86bb739change flamegraph component input to have it be responsive by default
feat - 6a6af6615achange trimComponents name; always include nativeElement in buildDirectiveForest
feat - 363f7954c4clicking on element with component inspector enabled will select that component in the directive explorer
feat - 74eb888efecreate ConsoleReferenceNode interface to fix typing issues in selected-component.ts
feat - 9500ec6617create copy to clipboard button for properties view wrapper (rangle/angular-devtools#38)
feat - 26fb1f4d4bcreate message bus event for component selection
feat - 2b1c7fb568create scroll buttons for breadcrumb feature
feat - 2d34a209a6create seperate property data sources for inputs/outputs/state
feat - 9bdaa57a74create shared-utils project library to house functions and classes that can be used by any other project
feat - 18214a9b99create webtree graph formatter and pass the formatted data through to the web tree graph visualizer
feat - 015d98e2c0decrease width of split pane to match the rest of the application
feat - dba943a4e2detect directives added to non-elements
feat - 73dff6f002disable devtools for production applications
feat - a7ea578507display latest commit SHA in application (rangle/angular-devtools#243)
feat - ecfc03a2d2don't show comment nodes by default
feat - b411ec64edexpand node ancestors on component inspection
feat - f46e9c9d76fix component styling for tooltip; add overflow to tree wrapper; truncate long tree labels
feat - 9344cb7dfcfocus search input when icon is clicked
feat - 8d00e44d9bhide router tree if router config isn't found
feat - a8a17df3afhighlight element when hovering the breadcrumbs
feat - 07344cd4b3implement "force refresh" when the user presses the refresh button
feat - dd71a52466Implement basic configuration UI and use it to toggle Timing API
feat - 1d55622f3aimplement component selection functionality for $ng0 - $ng4 similarly to how chrome devtools does with html elements
feat - da690ca84aImplement Component/Directive Search (rangle/angular-devtools#25)
feat - 3b0f52a131implement dark mode styling for loading screen
feat - 6f338f7066implement drag to scroll functionality to improve frame navigation (rangle/angular-devtools#716)
feat - 605214c59dimplement import/export json functionality for profiler
feat - 8ea84d5776implement input/output/state preview functionality with the reworked property explorer
feat - 21454e07a8implement invisible gutter technique from chrome devtools
feat - d0a1773175implement material expansion panel with drag functionality for each property tree
feat - 9d9518e67eimplement negation in the filtering query language
feat - ff45fbd075implement output profiling
feat - 534809cf85implement profiler with new framework APIs
feat - b7b99b8532implement proper diffing in the explorer
feat - 059da5d908implement reload message bus event that calls window.location.reload inside of the dev tools
feat - 9be250dd62Implement selected component shortcut similar to Augury to select the component host
feat - 78b3d39810implement split pane so that user can resize properties view tab (rangle/angular-devtools#60)
feat - 07cd82a10cimplement time travel player functionality (rangle/angular-devtools#46)
feat - 967bd3cf8eimprove output formatting
feat - 83f41800cfincrease gutter width to 2.5px
feat - b5e95ce468inform user that devtools has limited functionality in production mode
feat - 6c71658dc0install webtree graph library
feat - a00c19f101introduce directive records
feat - ac2cd3757bintroduce streamed visualization of the profiling data
feat - df5857ddc2introduce timing API support
feat - 0579e98a1cintroduce virtual scrolling in directive explorer
feat - 758d0a82fekeep unique index for all components and directives
feat - 8d319dd486make devtools fail elegantly for view engine apps
feat - a73f575d6dmake tab menu action button icons smaller
feat - ee7d8e58c6making small frames clickable
feat - 3d9ac47d12merge frames in the range
feat - 957034bf93migrate devtools and demo app to scss for styling
feat - 21eb190f74move highlighter placement - no more overlap (rangle/angular-devtools#451)
feat - 7b4e830d88new icon & active status
feat - 8b9181724bonly show console reference for the currently selected element to reduce noise
feat - a6148608c3open expansion panels by default; apply styling to expansion header
feat - 54c14c251aoptionally show change detection duration only when run
feat - 6d0c4093c2pass each datasource through to it's own material tree component
feat - f8bb080157pass input/output data through from application to devtools UI
feat - c44f00b78epatch life cycle hooks
feat - 502ab94003remove timeout and add new loading/error state message (rangle/angular-devtools#291)
feat - 07632cf7bcrenaming app component to app todo component (rangle/angular-devtools#195)
feat - b3a948eca3renaming timeline graph options
feat - 4ea0d91dc5reorient split pane when screen width goes under 500 px
feat - a5beefb477rerender tree on resize to keep tree within view
feat - 5b3ecb3ea2scroll profiler frame info tab independently of active visualizer
feat - 3e05c31979select dom element on double click of node (rangle/angular-devtools#51)
feat - be7a0c25cbset showNode option to show most nodes in the treegraph (rangle/angular-devtools#219)
feat - 2bfb96d5bbsetting bar graph as default option
feat - f2998980f3show frame drop in the timeline (rangle/angular-devtools#62)
feat - a25cd0ed15show the console reference key on each selected element
feat - 342ea4ebd7show timeline bars color dependant on the framerate
feat - 0b24fe08f5simplify component styling for tabs component
feat - 7dc1a35a62sort directive properties by name
feat - e7db0d3f78split apart visualizing views; create new components for each visualizer component
feat - a93cfdca81support trusted types for script injection
feat - a3ac38041fsynchronizing highlight between source application and component in presentation tree (rangle/angular-devtools#35)
feat - c29c041ec8themeing breadcrums
feat - d638f9b172update to latest flamegraph
feat - b4dc6f7beaupdating bargraph formatter
feat - 53da6bb0a8updating record formatter to get directive values
feat - b5d30d1c19updating to karma-coverage
feat - 8c9645849aupdating to karma-coverage and setting clear context to true
feat - 337be9bd63use flamechart with a better layout
feat - 86cb107feeuse flamegraph in timeline and aggregated view
feat - e23c81e2b5use flamegraph in timeline and aggregated view
feat - cff17715d4use tag names
feat - 57418c13f5use the user preferred color scheme
feat - 2749398650use window object instead of getWindow method for setting a console reference
feat - 86242b10bfwrap entire row in div and bind click event to the div (rangle/angular-devtools#2)
fix - 249d4cf237add back css that removed after a rebase
fix - 64942d3ed9add d3 and semver dsl umd modules to karma tests for ng-devtools and ng-devtools-backend
fix - 3d19ebf3a1added more padding to treegraph
fix - b305c85004adding coverage reportor to gitignore
fix - d28e601bd4align theme to other Chrome DevTools
fix - bcfd7b97d6align with latest changes and keep consistent frame tree
fix - 880d1d0ed4alignment issue in idle profiler
fix - a665e305eaallow arrow key events to fire when focusing on an input
fix - a20821be38allow deleting property when editing
fix - de5c669ebebreadcrumb algorithm when there is no parent available
fix - 5c0031d944broken virtual scroll layout on resize
fix - 774e662b11bump up the split pane gutter size for the profiler split pane and hide the icon
fix - b55c9c8786bump webpack version and fix breaking change
fix - cb4e86c016call change tab helper when tab changes as a result of the inspector being selected
fix - 4120c551e8catch selection edge cases for selecting the same node and selecting a node already in the array
fix - c87d30eca5change colors (rangle/angular-devtools#453)
fix - 2e8fe67864change the isIvy detection
fix - 87aaa4933ccheck if node.children is undefined before trying to convert it into an array (ex. node is a text node)
fix - 2025717a13check if node.nativeelement is an instance of an HTMLElement before calling ng.getComponent on it (rangle/angular-devtools#93)
fix - 8c92af6905color and font sizes and other visuals
fix - 5fe0d80d0ccompatibility issues with google3
fix - 288ecfd994consider change detection completed after a microtask
fix - 8c9336d1a2consistent console reference hint styles with chrome devtools
fix - 284300abdbconsistent styles across shell dev and chrome
fix - df680a9113contrast on labels and links (rangle/angular-devtools#708)
fix - 544d82fcc3debounce dirty notifications and ignore vendorChunk (rangle/angular-devtools#264)
fix - e19dc3efb4delayed angular detection with app_initializer (rangle/angular-devtools#827)
fix - 08af1134e9disable animations when running e2e testing to fix flaky tests
fix - 99125308a4disable critical css inlining because of csp
fix - e85d65d26adisable router tree tab
fix - 50488f9380distinguish between items with and without children
fix - 42ecb7a0d5do not attempt to initialize devtools if not ivy
fix - b010784b21do not expand HTML Comments and preserve state for selected nodes
fix - 23bc10cf7edo not highlight nodes during initial rendering
fix - 2a1f6e9464do not refresh the ui unless there are updates
fix - 8728f6f578doc links icon (rangle/angular-devtools#742)
fix - d60bdfc207don't access service prop unnecessarily
fix - 54533bc037don't collide with the default runtime function (rangle/angular-devtools#6)
fix - 63c86c100fdont leak once subscriptions
fix - 657c74151fdont leak flat and indexed nodes
fix - 97f88712e6drag and drop when selecting input; fix: console warning on update state error (rangle/angular-devtools#205)
fix - 7c0d6c06e4enable the profiler even without zone available
fix - d4fc65504bensure compatibility with angular v10.0.0+
fix - 50723bf1dbensure that the dark mode toggle button reflects the current theme on load
fix - a0ba7f7762fix all remaining component tab color issues (rangle/angular-devtools#458)
fix - 9c4c18b8effix bug in component tree observer that prevented nested added nodes from having their ids set properly
fix - 92679792e0fix case where the state of the change detection checkbox in the flamegraph is lost when the component is destroyed
fix - 2b5c40ee6dfix constrast on navigation tabs; make light mode icons the same colour as the text (rangle/angular-devtools#667)
fix - 0649cc485dfix edge case where only one item is profiled and where no items are profiled
fix - f5cad86902fix ExpressionChangedAfterItHasBeenCheckedError by manually triggering change detection when parents are set in directive explorer
fix - 8d81155052fix initialization of non-supported applications (rangle/angular-devtools#43)
fix - 1fc39d9332fix issue that prevented booleans from being parsed properly
fix - eb3a1c2971fix issue where last node would be hidden behind breadcrumbs
fix - 8a5fbf5963fix issues in message bus and watch
fix - dd977f4b26fix regression that broke assignment of selected node to $ng0 variable (rangle/angular-devtools#89)
fix - 5eba00abe5fix regression that broke node expansion (rangle/angular-devtools#88)
fix - a8ba83cd30fix tests and leave todo related to possible typing refactor
fix - 984dfc6db1fix typo in file names (rangle/angular-devtools#91)
fix - 2aaa03a50dfixed height for controls on flame graph and save button (rangle/angular-devtools#470)
fix - f7ade259fefixing code review comments
fix - 21a50b10befixing the bar graph height issue
fix - 5f5307e610flicker properties when update selected node
fix - 6dd50832a9frame colors indicate framerate good vs. bad
fix - a7f6562158get all the property names including getters
fix - 1871c34743get 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 - b46b296255get proper change detection trigger
fix - 6d86bbc11bget the lifecycle hook name using a more robust approach
fix - fc5801b225get the lview from the instance context
fix - 5eed92e91cgive 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 - 41cb658e10handle corner cases when a component aims to replace an existing one
fix - 199745fd6chandle lifecycle hooks of only components & directives
fix - ff78c66ae9handle ngFor and ngIf contexts in the profiler
fix - d41dedb85bhighlighter should only show the hovered component's name (#44863)
fix - ae6acce53ehighlighting of newly added nodes
fix - 3d3d67fd00implement shutdown event to prevent memory leak when reopening devtools (rangle/angular-devtools#53)
fix - 5d1e60dc9dimprove dark mode styles when no ivy detected
fix - df32c6e11eimprove the styles in the meta popup
fix - 0763305d0dincorrect input names
fix - 4eeaab5d5eincrease the width of the filter
fix - a30d2a5653index new nodes before firing callbacks to fix issue where some callbacks rely on the newly indexed nodes
fix - 4fc8a075c0initialization and popup logic
fix - 85e01af432layout when visualizing the profiling data
fix - 1665bda6cclinks to docs in property view tab
fix - 0169295122linting errors to prevent ci failing (rangle/angular-devtools#469)
fix - ffb46bdc3clview parsing when trying to get data from an option
fix - 9510a1c38emake edit functionality compatible with new getDirectiveForest api
fix - ec66218c28make flamegraph scrollable
fix - 36f5c2e0c0make sure we are not reference dependant
fix - e74dc9e70dmake sure we dont access position of an undefined parent
fix - f454498274make sure we dont fail on null elements
fix - b455eb158emake sure we invoke getComponent with an element
fix - dfc4437afdmake sure we update the property explorer on state change (rangle/angular-devtools#821)
fix - 23f8945f2fmake the bar chart scrollable
fix - 30978b3718names of the tiles in the profiler graph
fix - a5955930ddnode selection with collapsed nodes
fix - 212e4026f8nowrap for the material tree items
fix - e24b476624pass in root element ng context as an LView instead of as a context object
fix - 820ec85ea4pass property updates to the correct data sources
fix - f8bd3fccd7preserve proper nesting in flattened node lists
fix - 6422b60568preserve the expansion status of moved items
fix - 19ce8a6e9eprevent circular dependency between directive-property-resolver and property-data-source
fix - e1691b2ab5prevent default behaviour before calculating new scroll position to fix bug when traversing directive forest with arrow keys (rangle/angular-devtools#213)
fix - ded6796efbprevent directive forest hooks from being initiated in production applications
fix - e20347090aprevent link in property view body from closing panel header when clicked (rangle/angular-devtools#714)
fix - 509abcf39bprevent mat button css from leaking out of property view header (rangle/angular-devtools#856)
fix - b3fcc8b408prevent ng-deep component styling from leaking to child components
fix - 632a12579bprevent node overwriting
fix - b127cdc211prevent race condition between getting nested props and refresh
fix - f93b53bb89proper alignment of non-expandable props
fix - 570adcf2f5proper calculation of the lifecycle hook duration
fix - ee0c245b44proper dev mode detection when app compiled with closure
fix - b2a537a41bproper diffing and expansion of new items
fix - 79f145dc77proper diffing with unique ids
fix - a8088ac68fproper timing for operations
fix - 6154f8dfdfproper tracking without overwriting previous refs
fix - 60cc2d8fc0proper typings in shell-chrome for strictNullChecks
fix - a4b748de75properly emit shutdown event on cleanup and call change detector ref to update ui into loading state
fix - 681feff8d0recognize app after reopening devtools
fix - 48c140038brefresh & reinitialize on navigation
fix - 5c5345fdd4remove forgotten markers causing slowdown
fix - b350bfc838remove jumping when adding nodes
fix - 21ccdc1c62remove 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 - 9ad12dd3c6remove redundant scrollbar
fix - 8a8b911586remove relative positioning from profiler content; makes split pane gutter full height for profile details
fix - e55a24cf30remove runOutsideAngular wrapper on mouse move event
fix - 1181e4cadcremove tree node highlight when a component is selected from the highlighter
fix - 50fbbbcb8fremove tree wrapper height css to let the height default to how many nodes are being displayed (rangle/angular-devtools#244)
fix - db82118f66remove useless scrollbar from the demo app
fix - da0ce975f8rename state to properties (rangle/angular-devtools#682)
fix - 7575fc9167renaming master to main
fix - 0f4dd494f3reselect node if it changes position after change detection
fix - 6a87b79190reset the timeline component when discarding a recording
fix - ab221badb4resize dark mode and cursor
fix - 6727d7e229set a min width for the property view split tab to prevents styling issues when tab is too small
fix - 0e10241b5cset extension icon and popup only on DevTools background message
fix - 13af13cc5dset more accurate search label
fix - d40cefb5d2set production flag to false in dev environment
fix - 5ef4bca194set proper directive item and explorer height
fix - 7a59606aaaset proper height of the tree nodes
fix - cf682b59b5set proper icon sizes
fix - 5fa1c35579set proper types of the props in the clipboard copy feature
fix - e032e043cbsetting default page for extension
fix - b04649dacbsetting min width for input editor and allowing for rendering space
fix - 3f0a2d3120show date type property value in preview (#44864)
fix - 82a8d5c0aashow elements nested in app elements
fix - 17eea0549bshow new items using a class
fix - 815d697efeshow not-angular popup for non-angular apps
fix - 8a286f1a07show proper lifecycle hook names
fix - dc345956ceshow properly dynamically inserted content with DOM APIs (rangle/angular-devtools#828)
fix - 3340caf648show report for replaced nodes in the same tile and get lifecycle hook name
fix - 5bf180afb8skip node if there is no associated TViewData (rangle/angular-devtools#804)
fix - 67faf7710csmall improvements to Properties Details view (rangle/angular-devtools#455)
fix - 37dea7ccd7sort array indexes in ascending order
fix - edcaa8c89fstop filter input from scrolling with the component forest (rangle/angular-devtools#87)
fix - 3633be9875Style Changes to Profiler, general color scheme, controls & responsiveness (rangle/angular-devtools#468)
fix - db94717ecbstyle of editor input
fix - 0aa64aa490Support Electron (rangle/angular-devtools#849)
fix - f08eaabb25theming of profiler tab
fix - d66fe32c14time label on profiler
fix - be814408c8treemap hover colors highlight selection
fix - 4dec3fb3e6ui flicker bug (rangle/angular-devtools#49)
fix - db449b531dunsubscribe from file upload Subscription instead of Subject
fix - e6bec2430aupdate the prod mode detection to also consider VE apps
fix - 1b97432960update typing of differ objects to fit the new contract of TrackByFunction (rangle/angular-devtools#862)
fix - c5445440bfupdating page design
fix - 3b8833cfecuse cascading view child/children to fix regression caused by refactor (rangle/angular-devtools#92)
fix - 614919fd61use the aio docs link rather than github
fix - f9a5069e94use theming in chrome extension
fix - c3e8311298use visible gutter size in calculation for split area flex basis' (rangle/angular-devtools#857)
fix - e5d1fcbc96wait 500ms before checking the tree for a new node
fix - fcfc9ebdc1webtree sizing (rangle/angular-devtools#203)
fix - 85f2212796wrong label in the profiler
perf - d95806ef57cache timeline frames so that the timetraveler doesn't have to process the same frame multiple times
perf - 18457f02f5disable flame graph animations
perf - 7851fb2348do not index on mutation of inspector
perf - b3b0879053don't reformat the same record multiple times
perf - 20398cfa52faster bar chart formatting
perf - ca0910e59cprevent directive forest from building twice every time a node is selected in the directive explorer
perf - 1a00837b0cprevent highlighter from rebuilding the directive forest every time a node is hovered over in the directive forest
perf - a4a06eea18stream records incrementally so that they do not get sent all at once
perf - 8a90f5b8b4switch 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 - 29b9021113use WeakMap to reduce memory usage when memoizing

devtools tabs

fix - 6c284ef32estop scroll occuring at tabs level


feat - f490c2de4esupport negative indices in FormArray methods. (#44848)
fix - 889de8276densure OnPush ancestors are marked dirty when the promise resolves (#44886)
fix - deb9531a31Update the typed forms migration schematic to find all files. (#44881)
fix - cae1e44608Update the typed forms migration to use FormArray instead of FormArray<T[]>. (#44933)


feat - 910de8bc33Add 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

Don't miss a new compiler-cli release

NewReleases is sending notifications on new releases.